nakarte

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

commit 4a9d0a3bff0a37a8d53797f9acc1a856bc2be3d1
parent 2592b19905de050c74941feb3cf95b163db0828f
Author: myadzel <myadzel@gmail.com>
Date:   Tue, 26 Feb 2019 15:35:26 +0300

change new point naming logic #217

Diffstat:
Msrc/lib/leaflet.control.track-list/track-list.js | 18+++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/lib/leaflet.control.track-list/track-list.js b/src/lib/leaflet.control.track-list/track-list.js @@ -701,16 +701,18 @@ L.Control.TrackList = L.Control.extend({ this.stopPlacingPoint(); }, + getNewPointName: function () { + const maxNumber = Math.max.apply(Math, + this._markerLayer.getMarkers().map((marker) => parseInt(marker.label, 10) || 0)) | 0; + return String(maxNumber + 1).padStart(3, '0'); + }, + createNewPoint: function(e) { if (!this.isPlacingPoint) { return; } const parentTrack = this.trackAddingPoint(); - parentTrack._pointAutoInc += 1; - let name = parentTrack._pointAutoInc.toString(); - while (name.length < 3) { - name = '0' + name; - } + const name = this.getNewPointName(); const newLatLng = e.latlng.wrap(); const marker = this.addPoint(parentTrack, {name: name, lat: newLatLng.lat, lng: newLatLng.lng}); this._markerLayer.addMarker(marker); @@ -1004,7 +1006,6 @@ L.Control.TrackList = L.Control.extend({ length: ko.observable('empty'), measureTicksShown: ko.observable(geodata.measureTicksShown || false), feature: L.featureGroup([]), - _pointAutoInc: 0, markers: [], hover: ko.observable(false), isEdited: ko.observable(false) @@ -1063,11 +1064,6 @@ L.Control.TrackList = L.Control.extend({ }, setMarkerLabel: function(marker, label) { - if (label.match(/^\d{3,}/u)) { - var n = parseInt(label, 10); - marker._parentTrack._pointAutoInc = - Math.max(n, marker._parentTrack._pointAutoInc | 0); - } marker.label = label; },