nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit 25cc7c825db2d50c218220844b6c0093f5a91052
parent 4e9577fd4432a5c7c2892e0e9785088ada201e39
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Mon, 26 Nov 2018 23:56:21 +0100

[tracks] fixed loading tracks from localStorage, was broken after refactor

Diffstat:
Msrc/lib/leaflet.control.track-list/lib/parsers/nktk.js | 17+++++++++++++++--
Msrc/lib/leaflet.control.track-list/lib/services/nakarte.js | 20+++++---------------
Msrc/lib/leaflet.control.track-list/track-list.localstorage.js | 4++--
3 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/lib/parsers/nktk.js b/src/lib/leaflet.control.track-list/lib/parsers/nktk.js @@ -323,4 +323,17 @@ function parseNktkSequence(s) { return geodataArray; } -export {saveNktk, parseNktkSequence, parseTrackUrlData}; -\ No newline at end of file +function parseNktkParam(s) { + let i = s.indexOf('#'); + if (i === -1) { + return null; + } + i = s.indexOf('nktk=', i + 1); + if (i === -1) { + return null; + } + s = s.substring(i + 5); + return parseNktkSequence(s) +} + +export {saveNktk, parseNktkParam, parseTrackUrlData, parseNktkSequence}; +\ No newline at end of file diff --git a/src/lib/leaflet.control.track-list/lib/services/nakarte.js b/src/lib/leaflet.control.track-list/lib/services/nakarte.js @@ -1,5 +1,5 @@ import BaseService from './baseService'; -import {parseNktkSequence, parseTrackUrlData} from '../parsers/nktk'; +import {parseNktkParam, parseNktkSequence, parseTrackUrlData} from '../parsers/nktk'; import config from 'config'; class NakarteTrack extends BaseService { @@ -19,22 +19,12 @@ class NakarteTrack extends BaseService { class NakarteNktk extends BaseService { constructor(url) { - super(url); - this._data = null; - let i = url.indexOf('#'); - if (i === -1) { - return; - } - i = url.indexOf('nktk=', i + 1); - if (i === -1) { - return; - } - this._data = url.substring(i + 5); - + super(null); + this._geoData = parseNktkParam(url); } isOurUrl() { - return !!this._data; + return !!this._geoData; } requestOptions() { @@ -42,7 +32,7 @@ class NakarteNktk extends BaseService { } parseResponse() { - return parseNktkSequence(this._data); + return this._geoData; } } diff --git a/src/lib/leaflet.control.track-list/track-list.localstorage.js b/src/lib/leaflet.control.track-list/track-list.localstorage.js @@ -1,6 +1,6 @@ import './track-list' import L from 'leaflet'; -import parseGeoFile from './lib/parseGeoFile'; +import {parseNktkParam} from './lib/parsers/nktk'; import safeLocalStorage from 'lib/safe-localstorage'; import logging from 'lib/logging'; @@ -80,7 +80,7 @@ L.Control.TrackList.include({ safeLocalStorage.removeItem(key); if (s) { logging.captureBreadcrumb({message: 'load track from localStorage'}); - geodata = parseGeoFile('', s); + geodata = parseNktkParam(s); this.addTracksFromGeodataArray(geodata, {localStorage: {key, value: s}}); } }