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:
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;
},