nakarte

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

commit bff8e3077b0020074ed2c0787a5afd42c2b6e56d
parent 519a424eb10613eedd80322d2da390c45837a4a5
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Mon, 16 May 2022 22:50:28 +0200

Add hash state parameter to show elevation profile

Diffstat:
Msrc/App.js | 17+++++++++++++++++
Msrc/lib/leaflet.control.track-list/track-list.hash-state.js | 2+-
2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/App.js b/src/App.js @@ -204,6 +204,23 @@ function setUp() { // eslint-disable-line complexity } startInfo.tracksAfterLoadFromStorage = trackNames(); + if (hashState.hasKey('autoprofile') && hasTrackParamsInHash) { + tracklist.once('loadedTracksFromParam', () => { + const track = tracklist.tracks()[0]; + if (track) { + tracklist.showElevationProfileForTrack(track); + } + }); + } + + // This is not quite correct: minimizeControls should have effect only during loading, but the way it is + // implemented, it will affect expanding when loading track from hash param during session. + // But as parameter is expected to be found only when site is embedded using iframe, + // the latter scenario is not very probable. + if (minimizeControls.tracks !== minimizeStateMinimized) { + tracklist.on('loadedTracksFromParam', () => tracklist.setExpanded()); + } + for (let param of tracksHashParams) { bindHashStateReadOnly(param, tracklist.loadTrackFromParam.bind(tracklist, param)); } diff --git a/src/lib/leaflet.control.track-list/track-list.hash-state.js b/src/lib/leaflet.control.track-list/track-list.hash-state.js @@ -15,7 +15,7 @@ L.Control.TrackList.include({ const notEmpty = this.addTracksFromGeodataArray(geodata); this.readingFiles(this.readingFiles() - 1); if (notEmpty) { - this.setExpanded(); + this.fire('loadedTracksFromParam'); } }, }