Refactor StravaSegments init into plugin wrapper

This commit is contained in:
Norbert Renner 2019-04-04 12:03:28 +02:00
parent eaba5a0821
commit 430ec1cd38
2 changed files with 24 additions and 19 deletions

View file

@ -244,25 +244,7 @@
nogos.preventRoutePointOnCreate(routing); nogos.preventRoutePointOnCreate(routing);
if (BR.keys.strava) { if (BR.keys.strava) {
const stravaControl = L.control.stravaSegments({ BR.stravaSegments(map, layersControl);
runningTitle: i18next.t('map.strava-running'),
bikingTitle: i18next.t('map.strava-biking'),
loadingTitle: i18next.t('map.loading'),
stravaToken: BR.keys.strava
})
.addTo(map);
layersControl.addOverlay(stravaControl.stravaLayer, i18next.t('map.layer.strava-segments'));
stravaControl.onError = function(err) {
BR.message.showError(i18next.t('warning.strava-error', {error: err && err.message ? err.message : err}));
}
// hide strava buttons when layer is inactive
var toggleStravaControl = function () {
var stravaBar = stravaControl.runningButton.button.parentElement;
stravaBar.hidden = !stravaBar.hidden;
};
toggleStravaControl();
stravaControl.stravaLayer.on('add remove', toggleStravaControl);
} }
map.addControl(new BR.OpacitySlider({ map.addControl(new BR.OpacitySlider({

View file

@ -0,0 +1,23 @@
BR.stravaSegments = function (map, layersControl) {
const stravaControl = L.control.stravaSegments({
runningTitle: i18next.t('map.strava-running'),
bikingTitle: i18next.t('map.strava-biking'),
loadingTitle: i18next.t('map.loading'),
stravaToken: BR.keys.strava
})
.addTo(map);
layersControl.addOverlay(stravaControl.stravaLayer, i18next.t('map.layer.strava-segments'));
stravaControl.onError = function(err) {
BR.message.showError(i18next.t('warning.strava-error', {error: err && err.message ? err.message : err}));
}
// hide strava buttons when layer is inactive
var toggleStravaControl = function () {
var stravaBar = stravaControl.runningButton.button.parentElement;
stravaBar.hidden = !stravaBar.hidden;
};
toggleStravaControl();
stravaControl.stravaLayer.on('add remove', toggleStravaControl);
return stravaControl;
};