- !function (t, e) {
- "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).mapboxgl1.MapboxDraw = e()
- }(this, (function () {
- "use strict";
- const css = `
- /* Override default control style */
- .mapbox-gl-draw_ctrl-bottom-left,
- .mapbox-gl-draw_ctrl-top-left {
- margin-left:0;
- border-radius:0 4px 4px 0;
- }
- .mapbox-gl-draw_ctrl-top-right,
- .mapbox-gl-draw_ctrl-bottom-right {
- margin-right:0;
- border-radius:4px 0 0 4px;
- }
-
- .mapbox-gl-draw_ctrl-draw-btn {
- border-color:rgba(0,0,0,0.9);
- color:rgba(255,255,255,0.5);
- width:30px;
- height:30px;
- }
-
- .mapbox-gl-draw_ctrl-draw-btn.active,
- .mapbox-gl-draw_ctrl-draw-btn.active:hover {
- background-color:rgb(0 0 0/5%);
- }
- .mapbox-gl-draw_ctrl-draw-btn {
- background-repeat: no-repeat;
- background-position: center;
- }
-
- .mapbox-gl-draw_point {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>');
- }
- .mapbox-gl-draw_polygon {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>');
- }
- .mapbox-gl-draw_line {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>');
- }
- .mapbox-gl-draw_trash {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>');
- }
- .mapbox-gl-draw_uncombine {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>');
- }
- .mapbox-gl-draw_combine {
- background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>');
- }
-
- .mapboxgl-map.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: pointer;
- }
- .mapboxgl-map.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: move;
- }
- .mapboxgl-map.mouse-add .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: crosshair;
- }
- .mapboxgl-map.mouse-move.mode-direct_select .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: grab;
- cursor: -moz-grab;
- cursor: -webkit-grab;
- }
- .mapboxgl-map.mode-direct_select.feature-vertex.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: move;
- }
- .mapboxgl-map.mode-direct_select.feature-midpoint.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: cell;
- }
- .mapboxgl-map.mode-direct_select.feature-feature.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: move;
- }
- .mapboxgl-map.mode-static.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive {
- cursor: grab;
- cursor: -moz-grab;
- cursor: -webkit-grab;
- }
-
- .mapbox-gl-draw_boxselect {
- pointer-events: none;
- position: absolute;
- top: 0;
- left: 0;
- width: 0;
- height: 0;
- background: rgba(0,0,0,.1);
- border: 2px dotted #fff;
- opacity: 0.5;
- }`;
- document.write(`<style type='text/css'>${css}</style>`);
- var t = function (t, e) {
- var n = {
- drag: [],
- click: [],
- mousemove: [],
- mousedown: [],
- mouseup: [],
- mouseout: [],
- keydown: [],
- keyup: [],
- touchstart: [],
- touchmove: [],
- touchend: [],
- tap: []
- }, o = {
- on: function (t, e, o) {
- if (void 0 === n[t]) throw new Error("Invalid event type: " + t);
- n[t].push({selector: e, fn: o})
- }, render: function (t) {
- e.store.featureChanged(t)
- }
- }, r = function (t, r) {
- for (var i = n[t], a = i.length; a--;) {
- var s = i[a];
- if (s.selector(r)) {
- s.fn.call(o, r) || e.store.render(), e.ui.updateMapClasses();
- break
- }
- }
- };
- return t.start.call(o), {
- render: t.render, stop: function () {
- t.stop && t.stop()
- }, trash: function () {
- t.trash && (t.trash(), e.store.render())
- }, combineFeatures: function () {
- t.combineFeatures && t.combineFeatures()
- }, uncombineFeatures: function () {
- t.uncombineFeatures && t.uncombineFeatures()
- }, drag: function (t) {
- r("drag", t)
- }, click: function (t) {
- r("click", t)
- }, mousemove: function (t) {
- r("mousemove", t)
- }, mousedown: function (t) {
- r("mousedown", t)
- }, mouseup: function (t) {
- r("mouseup", t)
- }, mouseout: function (t) {
- r("mouseout", t)
- }, keydown: function (t) {
- r("keydown", t)
- }, keyup: function (t) {
- r("keyup", t)
- }, touchstart: function (t) {
- r("touchstart", t)
- }, touchmove: function (t) {
- r("touchmove", t)
- }, touchend: function (t) {
- r("touchend", t)
- }, tap: function (t) {
- r("tap", t)
- }
- }
- };
-
- function e(t) {
- if (t.__esModule) return t;
- var e = t.default;
- if ("function" == typeof e) {
- var n = function t() {
- if (this instanceof t) {
- var n = [null];
- n.push.apply(n, arguments);
- var o = Function.bind.apply(e, n);
- return new o
- }
- return e.apply(this, arguments)
- };
- n.prototype = e.prototype
- } else n = {};
- return Object.defineProperty(n, "__esModule", {value: !0}), Object.keys(t).forEach((function (e) {
- var o = Object.getOwnPropertyDescriptor(t, e);
- Object.defineProperty(n, e, o.get ? o : {
- enumerable: !0, get: function () {
- return t[e]
- }
- })
- })), n
- }
-
- var n = {}, o = {RADIUS: 6378137, FLATTENING: 1 / 298.257223563, POLAR_RADIUS: 6356752.3142}, r = o;
-
- function i(t) {
- var e = 0;
- if (t && t.length > 0) {
- e += Math.abs(a(t[0]));
- for (var n = 1; n < t.length; n++) e -= Math.abs(a(t[n]))
- }
- return e
- }
-
- function a(t) {
- var e, n, o, i, a, u, c = 0, l = t.length;
- if (l > 2) {
- for (u = 0; u < l; u++) u === l - 2 ? (o = l - 2, i = l - 1, a = 0) : u === l - 1 ? (o = l - 1, i = 0, a = 1) : (o = u, i = u + 1, a = u + 2), e = t[o], n = t[i], c += (s(t[a][0]) - s(e[0])) * Math.sin(s(n[1]));
- c = c * r.RADIUS * r.RADIUS / 2
- }
- return c
- }
-
- function s(t) {
- return t * Math.PI / 180
- }
-
- n.geometry = function t(e) {
- var n, o = 0;
- switch (e.type) {
- case"Polygon":
- return i(e.coordinates);
- case"MultiPolygon":
- for (n = 0; n < e.coordinates.length; n++) o += i(e.coordinates[n]);
- return o;
- case"Point":
- case"MultiPoint":
- case"LineString":
- case"MultiLineString":
- return 0;
- case"GeometryCollection":
- for (n = 0; n < e.geometries.length; n++) o += t(e.geometries[n]);
- return o
- }
- }, n.ring = a;
- var u = {
- CONTROL_BASE: "mapboxgl-ctrl",
- CONTROL_PREFIX: "mapboxgl-ctrl-",
- CONTROL_BUTTON: "mapbox-gl-draw_ctrl-draw-btn",
- CONTROL_BUTTON_LINE: "mapbox-gl-draw_line",
- CONTROL_BUTTON_POLYGON: "mapbox-gl-draw_polygon",
- CONTROL_BUTTON_POINT: "mapbox-gl-draw_point",
- CONTROL_BUTTON_TRASH: "mapbox-gl-draw_trash",
- CONTROL_BUTTON_COMBINE_FEATURES: "mapbox-gl-draw_combine",
- CONTROL_BUTTON_UNCOMBINE_FEATURES: "mapbox-gl-draw_uncombine",
- CONTROL_GROUP: "mapboxgl-ctrl-group",
- ATTRIBUTION: "mapboxgl-ctrl-attrib",
- ACTIVE_BUTTON: "active",
- BOX_SELECT: "mapbox-gl-draw_boxselect"
- }, c = {HOT: "mapbox-gl-draw-hot", COLD: "mapbox-gl-draw-cold"},
- l = {ADD: "add", MOVE: "move", DRAG: "drag", POINTER: "pointer", NONE: "none"},
- d = {POLYGON: "polygon", LINE: "line_string", POINT: "point"}, p = {
- FEATURE: "Feature",
- POLYGON: "Polygon",
- LINE_STRING: "LineString",
- POINT: "Point",
- FEATURE_COLLECTION: "FeatureCollection",
- MULTI_PREFIX: "Multi",
- MULTI_POINT: "MultiPoint",
- MULTI_LINE_STRING: "MultiLineString",
- MULTI_POLYGON: "MultiPolygon"
- }, f = {
- DRAW_LINE_STRING: "draw_line_string",
- DRAW_POLYGON: "draw_polygon",
- DRAW_POINT: "draw_point",
- SIMPLE_SELECT: "simple_select",
- DIRECT_SELECT: "direct_select",
- STATIC: "static"
- }, h = {
- CREATE: "draw.create",
- DELETE: "draw.delete",
- UPDATE: "draw.update",
- SELECTION_CHANGE: "draw.selectionchange",
- MODE_CHANGE: "draw.modechange",
- ACTIONABLE: "draw.actionable",
- RENDER: "draw.render",
- COMBINE_FEATURES: "draw.combine",
- UNCOMBINE_FEATURES: "draw.uncombine"
- }, g = {MOVE: "move", CHANGE_COORDINATES: "change_coordinates"},
- y = {FEATURE: "feature", MIDPOINT: "midpoint", VERTEX: "vertex"}, v = {ACTIVE: "true", INACTIVE: "false"},
- m = ["scrollZoom", "boxZoom", "dragRotate", "dragPan", "keyboard", "doubleClickZoom", "touchZoomRotate"],
- _ = -85, b = Object.freeze({
- __proto__: null,
- classes: u,
- sources: c,
- cursors: l,
- types: d,
- geojsonTypes: p,
- modes: f,
- events: h,
- updateActions: g,
- meta: y,
- activeStates: v,
- interactions: m,
- LAT_MIN: -90,
- LAT_RENDERED_MIN: _,
- LAT_MAX: 90,
- LAT_RENDERED_MAX: 85,
- LNG_MIN: -270,
- LNG_MAX: 270
- }), E = {Point: 0, LineString: 1, MultiLineString: 1, Polygon: 2};
-
- function T(t, e) {
- var n = E[t.geometry.type] - E[e.geometry.type];
- return 0 === n && t.geometry.type === p.POLYGON ? t.area - e.area : n
- }
-
- function C(t) {
- return t.map((function (t) {
- return t.geometry.type === p.POLYGON && (t.area = n.geometry({
- type: p.FEATURE,
- property: {},
- geometry: t.geometry
- })), t
- })).sort(T).map((function (t) {
- return delete t.area, t
- }))
- }
-
- function O(t, e) {
- return void 0 === e && (e = 0), [[t.point.x - e, t.point.y - e], [t.point.x + e, t.point.y + e]]
- }
-
- function S(t) {
- if (this._items = {}, this._nums = {}, this._length = t ? t.length : 0, t) for (var e = 0, n = t.length; e < n; e++) this.add(t[e]), void 0 !== t[e] && ("string" == typeof t[e] ? this._items[t[e]] = e : this._nums[t[e]] = e)
- }
-
- S.prototype.add = function (t) {
- return this.has(t) || (this._length++, "string" == typeof t ? this._items[t] = this._length : this._nums[t] = this._length), this
- }, S.prototype.delete = function (t) {
- return !1 === this.has(t) || (this._length--, delete this._items[t], delete this._nums[t]), this
- }, S.prototype.has = function (t) {
- return ("string" == typeof t || "number" == typeof t) && (void 0 !== this._items[t] || void 0 !== this._nums[t])
- }, S.prototype.values = function () {
- var t = this, e = [];
- return Object.keys(this._items).forEach((function (n) {
- e.push({k: n, v: t._items[n]})
- })), Object.keys(this._nums).forEach((function (n) {
- e.push({k: JSON.parse(n), v: t._nums[n]})
- })), e.sort((function (t, e) {
- return t.v - e.v
- })).map((function (t) {
- return t.k
- }))
- }, S.prototype.clear = function () {
- return this._length = 0, this._items = {}, this._nums = {}, this
- };
- var I = [y.FEATURE, y.MIDPOINT, y.VERTEX], x = {
- click: function (t, e, n) {
- return M(t, e, n, n.options.clickBuffer)
- }, touch: function (t, e, n) {
- return M(t, e, n, n.options.touchBuffer)
- }
- };
-
- function M(t, e, n, o) {
- if (null === n.map) return [];
- var r = t ? O(t, o) : e, i = {};
- n.options.styles && (i.layers = n.options.styles.map((function (t) {
- return t.id
- })));
- var a = n.map.queryRenderedFeatures(r, i).filter((function (t) {
- return -1 !== I.indexOf(t.properties.meta)
- })), s = new S, u = [];
- return a.forEach((function (t) {
- var e = t.properties.id;
- s.has(e) || (s.add(e), u.push(t))
- })), C(u)
- }
-
- function L(t, e) {
- var n = x.click(t, null, e), o = {mouse: l.NONE};
- return n[0] && (o.mouse = n[0].properties.active === v.ACTIVE ? l.MOVE : l.POINTER, o.feature = n[0].properties.meta), -1 !== e.events.currentModeName().indexOf("draw") && (o.mouse = l.ADD), e.ui.queueMapClasses(o), e.ui.updateMapClasses(), n[0]
- }
-
- function N(t, e) {
- var n = t.x - e.x, o = t.y - e.y;
- return Math.sqrt(n * n + o * o)
- }
-
- function A(t, e, n) {
- void 0 === n && (n = {});
- var o = null != n.fineTolerance ? n.fineTolerance : 4, r = null != n.grossTolerance ? n.grossTolerance : 12,
- i = null != n.interval ? n.interval : 500;
- t.point = t.point || e.point, t.time = t.time || e.time;
- var a = N(t.point, e.point);
- return a < o || a < r && e.time - t.time < i
- }
-
- function P(t, e, n) {
- void 0 === n && (n = {});
- var o = null != n.tolerance ? n.tolerance : 25, r = null != n.interval ? n.interval : 250;
- return t.point = t.point || e.point, t.time = t.time || e.time, N(t.point, e.point) < o && e.time - t.time < r
- }
-
- var F = {}, w = {
- get exports() {
- return F
- }, set exports(t) {
- F = t
- }
- }.exports = function (t, e) {
- if (e || (e = 16), void 0 === t && (t = 128), t <= 0) return "0";
- for (var n = Math.log(Math.pow(2, t)) / Math.log(e), o = 2; n === 1 / 0; o *= 2) n = Math.log(Math.pow(2, t / o)) / Math.log(e) * o;
- var r = n - Math.floor(n), i = "";
- for (o = 0; o < Math.floor(n); o++) {
- i = Math.floor(Math.random() * e).toString(e) + i
- }
- if (r) {
- var a = Math.pow(e, r);
- i = Math.floor(Math.random() * a).toString(e) + i
- }
- var s = parseInt(i, e);
- return s !== 1 / 0 && s >= Math.pow(2, t) ? w(t, e) : i
- };
- w.rack = function (t, e, n) {
- var o = function (o) {
- var i = 0;
- do {
- if (i++ > 10) {
- if (!n) throw new Error("too many ID collisions, use more bits");
- t += n
- }
- var a = w(t, e)
- } while (Object.hasOwnProperty.call(r, a));
- return r[a] = o, a
- }, r = o.hats = {};
- return o.get = function (t) {
- return o.hats[t]
- }, o.set = function (t, e) {
- return o.hats[t] = e, o
- }, o.bits = t || 128, o.base = e || 16, o
- };
- var R = function (t, e) {
- this.ctx = t, this.properties = e.properties || {}, this.coordinates = e.geometry.coordinates, this.id = e.id || F(), this.type = e.geometry.type
- };
- R.prototype.changed = function () {
- this.ctx.store.featureChanged(this.id)
- }, R.prototype.incomingCoords = function (t) {
- this.setCoordinates(t)
- }, R.prototype.setCoordinates = function (t) {
- this.coordinates = t, this.changed()
- }, R.prototype.getCoordinates = function () {
- return JSON.parse(JSON.stringify(this.coordinates))
- }, R.prototype.setProperty = function (t, e) {
- this.properties[t] = e
- }, R.prototype.toGeoJSON = function () {
- return JSON.parse(JSON.stringify({
- id: this.id,
- type: p.FEATURE,
- properties: this.properties,
- geometry: {coordinates: this.getCoordinates(), type: this.type}
- }))
- }, R.prototype.internal = function (t) {
- var e = {id: this.id, meta: y.FEATURE, "meta:type": this.type, active: v.INACTIVE, mode: t};
- if (this.ctx.options.userProperties) for (var n in this.properties) e["user_" + n] = this.properties[n];
- return {type: p.FEATURE, properties: e, geometry: {coordinates: this.getCoordinates(), type: this.type}}
- };
- var k = function (t, e) {
- R.call(this, t, e)
- };
- (k.prototype = Object.create(R.prototype)).isValid = function () {
- return "number" == typeof this.coordinates[0] && "number" == typeof this.coordinates[1]
- }, k.prototype.updateCoordinate = function (t, e, n) {
- this.coordinates = 3 === arguments.length ? [e, n] : [t, e], this.changed()
- }, k.prototype.getCoordinate = function () {
- return this.getCoordinates()
- };
- var D = function (t, e) {
- R.call(this, t, e)
- };
- (D.prototype = Object.create(R.prototype)).isValid = function () {
- return this.coordinates.length > 1
- }, D.prototype.addCoordinate = function (t, e, n) {
- this.changed();
- var o = parseInt(t, 10);
- this.coordinates.splice(o, 0, [e, n])
- }, D.prototype.getCoordinate = function (t) {
- var e = parseInt(t, 10);
- return JSON.parse(JSON.stringify(this.coordinates[e]))
- }, D.prototype.removeCoordinate = function (t) {
- this.changed(), this.coordinates.splice(parseInt(t, 10), 1)
- }, D.prototype.updateCoordinate = function (t, e, n) {
- var o = parseInt(t, 10);
- this.coordinates[o] = [e, n], this.changed()
- };
- var U = function (t, e) {
- R.call(this, t, e), this.coordinates = this.coordinates.map((function (t) {
- return t.slice(0, -1)
- }))
- };
- (U.prototype = Object.create(R.prototype)).isValid = function () {
- return 0 !== this.coordinates.length && this.coordinates.every((function (t) {
- return t.length > 2
- }))
- }, U.prototype.incomingCoords = function (t) {
- this.coordinates = t.map((function (t) {
- return t.slice(0, -1)
- })), this.changed()
- }, U.prototype.setCoordinates = function (t) {
- this.coordinates = t, this.changed()
- }, U.prototype.addCoordinate = function (t, e, n) {
- this.changed();
- var o = t.split(".").map((function (t) {
- return parseInt(t, 10)
- }));
- this.coordinates[o[0]].splice(o[1], 0, [e, n])
- }, U.prototype.removeCoordinate = function (t) {
- this.changed();
- var e = t.split(".").map((function (t) {
- return parseInt(t, 10)
- })), n = this.coordinates[e[0]];
- n && (n.splice(e[1], 1), n.length < 3 && this.coordinates.splice(e[0], 1))
- }, U.prototype.getCoordinate = function (t) {
- var e = t.split(".").map((function (t) {
- return parseInt(t, 10)
- })), n = this.coordinates[e[0]];
- return JSON.parse(JSON.stringify(n[e[1]]))
- }, U.prototype.getCoordinates = function () {
- return this.coordinates.map((function (t) {
- return t.concat([t[0]])
- }))
- }, U.prototype.updateCoordinate = function (t, e, n) {
- this.changed();
- var o = t.split("."), r = parseInt(o[0], 10), i = parseInt(o[1], 10);
- void 0 === this.coordinates[r] && (this.coordinates[r] = []), this.coordinates[r][i] = [e, n]
- };
- var j = {MultiPoint: k, MultiLineString: D, MultiPolygon: U}, V = function (t, e, n, o, r) {
- var i = n.split("."), a = parseInt(i[0], 10), s = i[1] ? i.slice(1).join(".") : null;
- return t[a][e](s, o, r)
- }, B = function (t, e) {
- if (R.call(this, t, e), delete this.coordinates, this.model = j[e.geometry.type], void 0 === this.model) throw new TypeError(e.geometry.type + " is not a valid type");
- this.features = this._coordinatesToFeatures(e.geometry.coordinates)
- };
-
- function G(t) {
- this.map = t.map, this.drawConfig = JSON.parse(JSON.stringify(t.options || {})), this._ctx = t
- }
-
- (B.prototype = Object.create(R.prototype))._coordinatesToFeatures = function (t) {
- var e = this, n = this.model.bind(this);
- return t.map((function (t) {
- return new n(e.ctx, {
- id: F(),
- type: p.FEATURE,
- properties: {},
- geometry: {coordinates: t, type: e.type.replace("Multi", "")}
- })
- }))
- }, B.prototype.isValid = function () {
- return this.features.every((function (t) {
- return t.isValid()
- }))
- }, B.prototype.setCoordinates = function (t) {
- this.features = this._coordinatesToFeatures(t), this.changed()
- }, B.prototype.getCoordinate = function (t) {
- return V(this.features, "getCoordinate", t)
- }, B.prototype.getCoordinates = function () {
- return JSON.parse(JSON.stringify(this.features.map((function (t) {
- return t.type === p.POLYGON ? t.getCoordinates() : t.coordinates
- }))))
- }, B.prototype.updateCoordinate = function (t, e, n) {
- V(this.features, "updateCoordinate", t, e, n), this.changed()
- }, B.prototype.addCoordinate = function (t, e, n) {
- V(this.features, "addCoordinate", t, e, n), this.changed()
- }, B.prototype.removeCoordinate = function (t) {
- V(this.features, "removeCoordinate", t), this.changed()
- }, B.prototype.getFeatures = function () {
- return this.features
- }, G.prototype.setSelected = function (t) {
- return this._ctx.store.setSelected(t)
- }, G.prototype.setSelectedCoordinates = function (t) {
- var e = this;
- this._ctx.store.setSelectedCoordinates(t), t.reduce((function (t, n) {
- return void 0 === t[n.feature_id] && (t[n.feature_id] = !0, e._ctx.store.get(n.feature_id).changed()), t
- }), {})
- }, G.prototype.getSelected = function () {
- return this._ctx.store.getSelected()
- }, G.prototype.getSelectedIds = function () {
- return this._ctx.store.getSelectedIds()
- }, G.prototype.isSelected = function (t) {
- return this._ctx.store.isSelected(t)
- }, G.prototype.getFeature = function (t) {
- return this._ctx.store.get(t)
- }, G.prototype.select = function (t) {
- return this._ctx.store.select(t)
- }, G.prototype.deselect = function (t) {
- return this._ctx.store.deselect(t)
- }, G.prototype.deleteFeature = function (t, e) {
- return void 0 === e && (e = {}), this._ctx.store.delete(t, e)
- }, G.prototype.addFeature = function (t) {
- return this._ctx.store.add(t)
- }, G.prototype.clearSelectedFeatures = function () {
- return this._ctx.store.clearSelected()
- }, G.prototype.clearSelectedCoordinates = function () {
- return this._ctx.store.clearSelectedCoordinates()
- }, G.prototype.setActionableState = function (t) {
- void 0 === t && (t = {});
- var e = {
- trash: t.trash || !1,
- combineFeatures: t.combineFeatures || !1,
- uncombineFeatures: t.uncombineFeatures || !1
- };
- return this._ctx.events.actionable(e)
- }, G.prototype.changeMode = function (t, e, n) {
- return void 0 === e && (e = {}), void 0 === n && (n = {}), this._ctx.events.changeMode(t, e, n)
- }, G.prototype.updateUIClasses = function (t) {
- return this._ctx.ui.queueMapClasses(t)
- }, G.prototype.activateUIButton = function (t) {
- return this._ctx.ui.setActiveButton(t)
- }, G.prototype.featuresAt = function (t, e, n) {
- if (void 0 === n && (n = "click"), "click" !== n && "touch" !== n) throw new Error("invalid buffer type");
- return x[n](t, e, this._ctx)
- }, G.prototype.newFeature = function (t) {
- var e = t.geometry.type;
- return e === p.POINT ? new k(this._ctx, t) : e === p.LINE_STRING ? new D(this._ctx, t) : e === p.POLYGON ? new U(this._ctx, t) : new B(this._ctx, t)
- }, G.prototype.isInstanceOf = function (t, e) {
- if (t === p.POINT) return e instanceof k;
- if (t === p.LINE_STRING) return e instanceof D;
- if (t === p.POLYGON) return e instanceof U;
- if ("MultiFeature" === t) return e instanceof B;
- throw new Error("Unknown feature class: " + t)
- }, G.prototype.doRender = function (t) {
- return this._ctx.store.featureChanged(t)
- }, G.prototype.onSetup = function () {
- }, G.prototype.onDrag = function () {
- }, G.prototype.onClick = function () {
- }, G.prototype.onMouseMove = function () {
- }, G.prototype.onMouseDown = function () {
- }, G.prototype.onMouseUp = function () {
- }, G.prototype.onMouseOut = function () {
- }, G.prototype.onKeyUp = function () {
- }, G.prototype.onKeyDown = function () {
- }, G.prototype.onTouchStart = function () {
- }, G.prototype.onTouchMove = function () {
- }, G.prototype.onTouchEnd = function () {
- }, G.prototype.onTap = function () {
- }, G.prototype.onStop = function () {
- }, G.prototype.onTrash = function () {
- }, G.prototype.onCombineFeature = function () {
- }, G.prototype.onUncombineFeature = function () {
- }, G.prototype.toDisplayFeatures = function () {
- throw new Error("You must overwrite toDisplayFeatures")
- };
- var J = {
- drag: "onDrag",
- click: "onClick",
- mousemove: "onMouseMove",
- mousedown: "onMouseDown",
- mouseup: "onMouseUp",
- mouseout: "onMouseOut",
- keyup: "onKeyUp",
- keydown: "onKeyDown",
- touchstart: "onTouchStart",
- touchmove: "onTouchMove",
- touchend: "onTouchEnd",
- tap: "onTap"
- }, z = Object.keys(J);
-
- function Y(t) {
- var e = Object.keys(t);
- return function (n, o) {
- void 0 === o && (o = {});
- var r = {}, i = e.reduce((function (e, n) {
- return e[n] = t[n], e
- }), new G(n));
- return {
- start: function () {
- var e = this;
- r = i.onSetup(o), z.forEach((function (n) {
- var o, a = J[n], s = function () {
- return !1
- };
- t[a] && (s = function () {
- return !0
- }), e.on(n, s, (o = a, function (t) {
- return i[o](r, t)
- }))
- }))
- }, stop: function () {
- i.onStop(r)
- }, trash: function () {
- i.onTrash(r)
- }, combineFeatures: function () {
- i.onCombineFeatures(r)
- }, uncombineFeatures: function () {
- i.onUncombineFeatures(r)
- }, render: function (t, e) {
- i.toDisplayFeatures(r, t, e)
- }
- }
- }
- }
-
- function $(t) {
- return [].concat(t).filter((function (t) {
- return void 0 !== t
- }))
- }
-
- function q() {
- var t = this;
- if (!(t.ctx.map && void 0 !== t.ctx.map.getSource(c.HOT))) return u();
- var e = t.ctx.events.currentModeName();
- t.ctx.ui.queueMapClasses({mode: e});
- var n = [], o = [];
- t.isDirty ? o = t.getAllIds() : (n = t.getChangedIds().filter((function (e) {
- return void 0 !== t.get(e)
- })), o = t.sources.hot.filter((function (e) {
- return e.properties.id && -1 === n.indexOf(e.properties.id) && void 0 !== t.get(e.properties.id)
- })).map((function (t) {
- return t.properties.id
- }))), t.sources.hot = [];
- var r = t.sources.cold.length;
- t.sources.cold = t.isDirty ? [] : t.sources.cold.filter((function (t) {
- var e = t.properties.id || t.properties.parent;
- return -1 === n.indexOf(e)
- }));
- var i = r !== t.sources.cold.length || o.length > 0;
-
- function a(n, o) {
- var r = t.get(n).internal(e);
- t.ctx.events.currentModeRender(r, (function (e) {
- t.sources[o].push(e)
- }))
- }
-
- if (n.forEach((function (t) {
- return a(t, "hot")
- })), o.forEach((function (t) {
- return a(t, "cold")
- })), i && t.ctx.map.getSource(c.COLD).setData({
- type: p.FEATURE_COLLECTION,
- features: t.sources.cold
- }), t.ctx.map.getSource(c.HOT).setData({
- type: p.FEATURE_COLLECTION,
- features: t.sources.hot
- }), t._emitSelectionChange && (t.ctx.map.fire(h.SELECTION_CHANGE, {
- features: t.getSelected().map((function (t) {
- return t.toGeoJSON()
- })), points: t.getSelectedCoordinates().map((function (t) {
- return {type: p.FEATURE, properties: {}, geometry: {type: p.POINT, coordinates: t.coordinates}}
- }))
- }), t._emitSelectionChange = !1), t._deletedFeaturesToEmit.length) {
- var s = t._deletedFeaturesToEmit.map((function (t) {
- return t.toGeoJSON()
- }));
- t._deletedFeaturesToEmit = [], t.ctx.map.fire(h.DELETE, {features: s})
- }
-
- function u() {
- t.isDirty = !1, t.clearChangedIds()
- }
-
- u(), t.ctx.map.fire(h.RENDER, {})
- }
-
- function H(t) {
- var e, n = this;
- this._features = {}, this._featureIds = new S, this._selectedFeatureIds = new S, this._selectedCoordinates = [], this._changedFeatureIds = new S, this._deletedFeaturesToEmit = [], this._emitSelectionChange = !1, this._mapInitialConfig = {}, this.ctx = t, this.sources = {
- hot: [],
- cold: []
- }, this.render = function () {
- e || (e = requestAnimationFrame((function () {
- e = null, q.call(n)
- })))
- }, this.isDirty = !1
- }
-
- function X(t, e) {
- var n = t._selectedCoordinates.filter((function (e) {
- return t._selectedFeatureIds.has(e.feature_id)
- }));
- t._selectedCoordinates.length === n.length || e.silent || (t._emitSelectionChange = !0), t._selectedCoordinates = n
- }
-
- H.prototype.createRenderBatch = function () {
- var t = this, e = this.render, n = 0;
- return this.render = function () {
- n++
- }, function () {
- t.render = e, n > 0 && t.render()
- }
- }, H.prototype.setDirty = function () {
- return this.isDirty = !0, this
- }, H.prototype.featureChanged = function (t) {
- return this._changedFeatureIds.add(t), this
- }, H.prototype.getChangedIds = function () {
- return this._changedFeatureIds.values()
- }, H.prototype.clearChangedIds = function () {
- return this._changedFeatureIds.clear(), this
- }, H.prototype.getAllIds = function () {
- return this._featureIds.values()
- }, H.prototype.add = function (t) {
- return this.featureChanged(t.id), this._features[t.id] = t, this._featureIds.add(t.id), this
- }, H.prototype.delete = function (t, e) {
- var n = this;
- return void 0 === e && (e = {}), $(t).forEach((function (t) {
- n._featureIds.has(t) && (n._featureIds.delete(t), n._selectedFeatureIds.delete(t), e.silent || -1 === n._deletedFeaturesToEmit.indexOf(n._features[t]) && n._deletedFeaturesToEmit.push(n._features[t]), delete n._features[t], n.isDirty = !0)
- })), X(this, e), this
- }, H.prototype.get = function (t) {
- return this._features[t]
- }, H.prototype.getAll = function () {
- var t = this;
- return Object.keys(this._features).map((function (e) {
- return t._features[e]
- }))
- }, H.prototype.select = function (t, e) {
- var n = this;
- return void 0 === e && (e = {}), $(t).forEach((function (t) {
- n._selectedFeatureIds.has(t) || (n._selectedFeatureIds.add(t), n._changedFeatureIds.add(t), e.silent || (n._emitSelectionChange = !0))
- })), this
- }, H.prototype.deselect = function (t, e) {
- var n = this;
- return void 0 === e && (e = {}), $(t).forEach((function (t) {
- n._selectedFeatureIds.has(t) && (n._selectedFeatureIds.delete(t), n._changedFeatureIds.add(t), e.silent || (n._emitSelectionChange = !0))
- })), X(this, e), this
- }, H.prototype.clearSelected = function (t) {
- return void 0 === t && (t = {}), this.deselect(this._selectedFeatureIds.values(), {silent: t.silent}), this
- }, H.prototype.setSelected = function (t, e) {
- var n = this;
- return void 0 === e && (e = {}), t = $(t), this.deselect(this._selectedFeatureIds.values().filter((function (e) {
- return -1 === t.indexOf(e)
- })), {silent: e.silent}), this.select(t.filter((function (t) {
- return !n._selectedFeatureIds.has(t)
- })), {silent: e.silent}), this
- }, H.prototype.setSelectedCoordinates = function (t) {
- return this._selectedCoordinates = t, this._emitSelectionChange = !0, this
- }, H.prototype.clearSelectedCoordinates = function () {
- return this._selectedCoordinates = [], this._emitSelectionChange = !0, this
- }, H.prototype.getSelectedIds = function () {
- return this._selectedFeatureIds.values()
- }, H.prototype.getSelected = function () {
- var t = this;
- return this._selectedFeatureIds.values().map((function (e) {
- return t.get(e)
- }))
- }, H.prototype.getSelectedCoordinates = function () {
- var t = this;
- return this._selectedCoordinates.map((function (e) {
- return {coordinates: t.get(e.feature_id).getCoordinate(e.coord_path)}
- }))
- }, H.prototype.isSelected = function (t) {
- return this._selectedFeatureIds.has(t)
- }, H.prototype.setFeatureProperty = function (t, e, n) {
- this.get(t).setProperty(e, n), this.featureChanged(t)
- }, H.prototype.storeMapConfig = function () {
- var t = this;
- m.forEach((function (e) {
- t.ctx.map[e] && (t._mapInitialConfig[e] = t.ctx.map[e].isEnabled())
- }))
- }, H.prototype.restoreMapConfig = function () {
- var t = this;
- Object.keys(this._mapInitialConfig).forEach((function (e) {
- t._mapInitialConfig[e] ? t.ctx.map[e].enable() : t.ctx.map[e].disable()
- }))
- }, H.prototype.getInitialConfigValue = function (t) {
- return void 0 === this._mapInitialConfig[t] || this._mapInitialConfig[t]
- };
- var W = function () {
- for (var t = arguments, e = {}, n = 0; n < arguments.length; n++) {
- var o = t[n];
- for (var r in o) Z.call(o, r) && (e[r] = o[r])
- }
- return e
- }, Z = Object.prototype.hasOwnProperty;
- var K = ["mode", "feature", "mouse"];
-
- function Q(e) {
- var n = null, o = null, r = {
- onRemove: function () {
- return e.map.off("load", r.connect), clearInterval(o), r.removeLayers(), e.store.restoreMapConfig(), e.ui.removeButtons(), e.events.removeEventListeners(), e.ui.clearMapClasses(), e.map = null, e.container = null, e.store = null, n && n.parentNode && n.parentNode.removeChild(n), n = null, this
- }, connect: function () {
- e.map.off("load", r.connect), clearInterval(o), r.addLayers(), e.store.storeMapConfig(), e.events.addEventListeners()
- }, onAdd: function (i) {
- var a = i.fire;
- return i.fire = function (t, e) {
- var n = arguments;
- return 1 === a.length && 1 !== arguments.length && (n = [W({}, {type: t}, e)]), a.apply(i, n)
- }, e.map = i, e.events = function (e) {
- var n = Object.keys(e.options.modes).reduce((function (t, n) {
- return t[n] = Y(e.options.modes[n]), t
- }), {}), o = {}, r = {}, i = {}, a = null, s = null;
- i.drag = function (t, n) {
- n({
- point: t.point,
- time: (new Date).getTime()
- }) ? (e.ui.queueMapClasses({mouse: l.DRAG}), s.drag(t)) : t.originalEvent.stopPropagation()
- }, i.mousedrag = function (t) {
- i.drag(t, (function (t) {
- return !A(o, t)
- }))
- }, i.touchdrag = function (t) {
- i.drag(t, (function (t) {
- return !P(r, t)
- }))
- }, i.mousemove = function (t) {
- if (1 === (void 0 !== t.originalEvent.buttons ? t.originalEvent.buttons : t.originalEvent.which)) return i.mousedrag(t);
- var n = L(t, e);
- t.featureTarget = n, s.mousemove(t)
- }, i.mousedown = function (t) {
- o = {time: (new Date).getTime(), point: t.point};
- var n = L(t, e);
- t.featureTarget = n, s.mousedown(t)
- }, i.mouseup = function (t) {
- var n = L(t, e);
- t.featureTarget = n, A(o, {
- point: t.point,
- time: (new Date).getTime()
- }) ? s.click(t) : s.mouseup(t)
- }, i.mouseout = function (t) {
- s.mouseout(t)
- }, i.touchstart = function (t) {
- if (e.options.touchEnabled) {
- r = {time: (new Date).getTime(), point: t.point};
- var n = x.touch(t, null, e)[0];
- t.featureTarget = n, s.touchstart(t)
- }
- }, i.touchmove = function (t) {
- if (e.options.touchEnabled) return s.touchmove(t), i.touchdrag(t)
- }, i.touchend = function (t) {
- if (e.options.touchEnabled) {
- var n = x.touch(t, null, e)[0];
- t.featureTarget = n, P(r, {
- time: (new Date).getTime(),
- point: t.point
- }) ? s.tap(t) : s.touchend(t)
- }
- };
- var u = function (t) {
- return !(8 === t || 46 === t || t >= 48 && t <= 57)
- };
-
- function c(o, r, i) {
- void 0 === i && (i = {}), s.stop();
- var u = n[o];
- if (void 0 === u) throw new Error(o + " is not valid");
- a = o;
- var c = u(e, r);
- s = t(c, e), i.silent || e.map.fire(h.MODE_CHANGE, {mode: o}), e.store.setDirty(), e.store.render()
- }
-
- i.keydown = function (t) {
- "mapboxgl-canvas" === (t.srcElement || t.target).classList[0] && (8 !== t.keyCode && 46 !== t.keyCode || !e.options.controls.trash ? u(t.keyCode) ? s.keydown(t) : 49 === t.keyCode && e.options.controls.point ? c(f.DRAW_POINT) : 50 === t.keyCode && e.options.controls.line_string ? c(f.DRAW_LINE_STRING) : 51 === t.keyCode && e.options.controls.polygon && c(f.DRAW_POLYGON) : (t.preventDefault(), s.trash()))
- }, i.keyup = function (t) {
- u(t.keyCode) && s.keyup(t)
- }, i.zoomend = function () {
- e.store.changeZoom()
- }, i.data = function (t) {
- if ("style" === t.dataType) {
- var n = e.setup, o = e.map, r = e.options, i = e.store;
- r.styles.some((function (t) {
- return o.getLayer(t.id)
- })) || (n.addLayers(), i.setDirty(), i.render())
- }
- };
- var d = {trash: !1, combineFeatures: !1, uncombineFeatures: !1};
- return {
- start: function () {
- a = e.options.defaultMode, s = t(n[a](e), e)
- }, changeMode: c, actionable: function (t) {
- var n = !1;
- Object.keys(t).forEach((function (e) {
- if (void 0 === d[e]) throw new Error("Invalid action type");
- d[e] !== t[e] && (n = !0), d[e] = t[e]
- })), n && e.map.fire(h.ACTIONABLE, {actions: d})
- }, currentModeName: function () {
- return a
- }, currentModeRender: function (t, e) {
- return s.render(t, e)
- }, fire: function (t, e) {
- i[t] && i[t](e)
- }, addEventListeners: function () {
- e.map.on("mousemove", i.mousemove), e.map.on("mousedown", i.mousedown), e.map.on("mouseup", i.mouseup), e.map.on("data", i.data), e.map.on("touchmove", i.touchmove, {passive: !0}), e.map.on("touchstart", i.touchstart, {passive: !0}), e.map.on("touchend", i.touchend, {passive: !0}), e.container.addEventListener("mouseout", i.mouseout), e.options.keybindings && (e.container.addEventListener("keydown", i.keydown), e.container.addEventListener("keyup", i.keyup))
- }, removeEventListeners: function () {
- e.map.off("mousemove", i.mousemove), e.map.off("mousedown", i.mousedown), e.map.off("mouseup", i.mouseup), e.map.off("data", i.data), e.map.off("touchmove", i.touchmove), e.map.off("touchstart", i.touchstart), e.map.off("touchend", i.touchend), e.container.removeEventListener("mouseout", i.mouseout), e.options.keybindings && (e.container.removeEventListener("keydown", i.keydown), e.container.removeEventListener("keyup", i.keyup))
- }, trash: function (t) {
- s.trash(t)
- }, combineFeatures: function () {
- s.combineFeatures()
- }, uncombineFeatures: function () {
- s.uncombineFeatures()
- }, getMode: function () {
- return a
- }
- }
- }(e), e.ui = function (t) {
- var e = {}, n = null, o = {mode: null, feature: null, mouse: null},
- r = {mode: null, feature: null, mouse: null};
-
- function i(t) {
- r = W(r, t)
- }
-
- function a() {
- var e, n;
- if (t.container) {
- var i = [], a = [];
- K.forEach((function (t) {
- r[t] !== o[t] && (i.push(t + "-" + o[t]), null !== r[t] && a.push(t + "-" + r[t]))
- })), i.length > 0 && (e = t.container.classList).remove.apply(e, i), a.length > 0 && (n = t.container.classList).add.apply(n, a), o = W(o, r)
- }
- }
-
- function s(t, e) {
- void 0 === e && (e = {});
- var o = document.createElement("button");
- return o.className = u.CONTROL_BUTTON + " " + e.className, o.setAttribute("title", e.title), e.container.appendChild(o), o.addEventListener("click", (function (o) {
- if (o.preventDefault(), o.stopPropagation(), o.target === n) return c(), void e.onDeactivate();
- l(t), e.onActivate()
- }), !0), o
- }
-
- function c() {
- n && (n.classList.remove(u.ACTIVE_BUTTON), n = null)
- }
-
- function l(t) {
- c();
- var o = e[t];
- o && o && "trash" !== t && (o.classList.add(u.ACTIVE_BUTTON), n = o)
- }
-
- return {
- setActiveButton: l, queueMapClasses: i, updateMapClasses: a, clearMapClasses: function () {
- i({mode: null, feature: null, mouse: null}), a()
- }, addButtons: function () {
- var n = t.options.controls, o = document.createElement("div");
- return o.className = u.CONTROL_GROUP + " " + u.CONTROL_BASE, n ? (n[d.LINE] && (e[d.LINE] = s(d.LINE, {
- container: o,
- className: u.CONTROL_BUTTON_LINE,
- title: "LineString tool " + (t.options.keybindings ? "(l)" : ""),
- onActivate: function () {
- return t.events.changeMode(f.DRAW_LINE_STRING)
- },
- onDeactivate: function () {
- return t.events.trash()
- }
- })), n[d.POLYGON] && (e[d.POLYGON] = s(d.POLYGON, {
- container: o,
- className: u.CONTROL_BUTTON_POLYGON,
- title: "Polygon tool " + (t.options.keybindings ? "(p)" : ""),
- onActivate: function () {
- return t.events.changeMode(f.DRAW_POLYGON)
- },
- onDeactivate: function () {
- return t.events.trash()
- }
- })), n[d.POINT] && (e[d.POINT] = s(d.POINT, {
- container: o,
- className: u.CONTROL_BUTTON_POINT,
- title: "Marker tool " + (t.options.keybindings ? "(m)" : ""),
- onActivate: function () {
- return t.events.changeMode(f.DRAW_POINT)
- },
- onDeactivate: function () {
- return t.events.trash()
- }
- })), n.trash && (e.trash = s("trash", {
- container: o,
- className: u.CONTROL_BUTTON_TRASH,
- title: "Delete",
- onActivate: function () {
- t.events.trash()
- }
- })), n.combine_features && (e.combine_features = s("combineFeatures", {
- container: o,
- className: u.CONTROL_BUTTON_COMBINE_FEATURES,
- title: "Combine",
- onActivate: function () {
- t.events.combineFeatures()
- }
- })), n.uncombine_features && (e.uncombine_features = s("uncombineFeatures", {
- container: o,
- className: u.CONTROL_BUTTON_UNCOMBINE_FEATURES,
- title: "Uncombine",
- onActivate: function () {
- t.events.uncombineFeatures()
- }
- })), o) : o
- }, removeButtons: function () {
- Object.keys(e).forEach((function (t) {
- var n = e[t];
- n.parentNode && n.parentNode.removeChild(n), delete e[t]
- }))
- }
- }
- }(e), e.container = i.getContainer(), e.store = new H(e), n = e.ui.addButtons(), e.options.boxSelect && (i.boxZoom.disable(), i.dragPan.disable(), i.dragPan.enable()), i.loaded() ? r.connect() : (i.on("load", r.connect), o = setInterval((function () {
- i.loaded() && r.connect()
- }), 16)), e.events.start(), n
- }, addLayers: function () {
- e.map.addSource(c.COLD, {
- data: {type: p.FEATURE_COLLECTION, features: []},
- type: "geojson"
- }), e.map.addSource(c.HOT, {
- data: {type: p.FEATURE_COLLECTION, features: []},
- type: "geojson"
- }), e.options.styles.forEach((function (t) {
- e.map.addLayer(t)
- })), e.store.setDirty(!0), e.store.render()
- }, removeLayers: function () {
- e.options.styles.forEach((function (t) {
- e.map.getLayer(t.id) && e.map.removeLayer(t.id)
- })), e.map.getSource(c.COLD) && e.map.removeSource(c.COLD), e.map.getSource(c.HOT) && e.map.removeSource(c.HOT)
- }
- };
- return e.setup = r, r
- }
-
- var tt = [{
- id: "gl-draw-polygon-fill-inactive",
- type: "fill",
- filter: ["all", ["==", "active", "false"], ["==", "$type", "Polygon"], ["!=", "mode", "static"]],
- paint: {"fill-color": "#3bb2d0", "fill-outline-color": "#3bb2d0", "fill-opacity": .1}
- }, {
- id: "gl-draw-polygon-fill-active",
- type: "fill",
- filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
- paint: {"fill-color": "#fbb03b", "fill-outline-color": "#fbb03b", "fill-opacity": .1}
- }, {
- id: "gl-draw-polygon-midpoint",
- type: "circle",
- filter: ["all", ["==", "$type", "Point"], ["==", "meta", "midpoint"]],
- paint: {"circle-radius": 3, "circle-color": "#fbb03b"}
- }, {
- id: "gl-draw-polygon-stroke-inactive",
- type: "line",
- filter: ["all", ["==", "active", "false"], ["==", "$type", "Polygon"], ["!=", "mode", "static"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#3bb2d0", "line-width": 2}
- }, {
- id: "gl-draw-polygon-stroke-active",
- type: "line",
- filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#fbb03b", "line-dasharray": [.2, 2], "line-width": 2}
- }, {
- id: "gl-draw-line-inactive",
- type: "line",
- filter: ["all", ["==", "active", "false"], ["==", "$type", "LineString"], ["!=", "mode", "static"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#3bb2d0", "line-width": 2}
- }, {
- id: "gl-draw-line-active",
- type: "line",
- filter: ["all", ["==", "$type", "LineString"], ["==", "active", "true"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#fbb03b", "line-dasharray": [.2, 2], "line-width": 2}
- }, {
- id: "gl-draw-polygon-and-line-vertex-stroke-inactive",
- type: "circle",
- filter: ["all", ["==", "meta", "vertex"], ["==", "$type", "Point"], ["!=", "mode", "static"]],
- paint: {"circle-radius": 5, "circle-color": "#fff"}
- }, {
- id: "gl-draw-polygon-and-line-vertex-inactive",
- type: "circle",
- filter: ["all", ["==", "meta", "vertex"], ["==", "$type", "Point"], ["!=", "mode", "static"]],
- paint: {"circle-radius": 3, "circle-color": "#fbb03b"}
- }, {
- id: "gl-draw-point-point-stroke-inactive",
- type: "circle",
- filter: ["all", ["==", "active", "false"], ["==", "$type", "Point"], ["==", "meta", "feature"], ["!=", "mode", "static"]],
- paint: {"circle-radius": 5, "circle-opacity": 1, "circle-color": "#fff"}
- }, {
- id: "gl-draw-point-inactive",
- type: "circle",
- filter: ["all", ["==", "active", "false"], ["==", "$type", "Point"], ["==", "meta", "feature"], ["!=", "mode", "static"]],
- paint: {"circle-radius": 3, "circle-color": "#3bb2d0"}
- }, {
- id: "gl-draw-point-stroke-active",
- type: "circle",
- filter: ["all", ["==", "$type", "Point"], ["==", "active", "true"], ["!=", "meta", "midpoint"]],
- paint: {"circle-radius": 7, "circle-color": "#fff"}
- }, {
- id: "gl-draw-point-active",
- type: "circle",
- filter: ["all", ["==", "$type", "Point"], ["!=", "meta", "midpoint"], ["==", "active", "true"]],
- paint: {"circle-radius": 5, "circle-color": "#fbb03b"}
- }, {
- id: "gl-draw-polygon-fill-static",
- type: "fill",
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
- paint: {"fill-color": "#404040", "fill-outline-color": "#404040", "fill-opacity": .1}
- }, {
- id: "gl-draw-polygon-stroke-static",
- type: "line",
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#404040", "line-width": 2}
- }, {
- id: "gl-draw-line-static",
- type: "line",
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "LineString"]],
- layout: {"line-cap": "round", "line-join": "round"},
- paint: {"line-color": "#404040", "line-width": 2}
- }, {
- id: "gl-draw-point-static",
- type: "circle",
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Point"]],
- paint: {"circle-radius": 5, "circle-color": "#404040"}
- }];
-
- function et(t) {
- return function (e) {
- var n = e.featureTarget;
- return !!n && (!!n.properties && n.properties.meta === t)
- }
- }
-
- function nt(t) {
- return !!t.originalEvent && (!!t.originalEvent.shiftKey && 0 === t.originalEvent.button)
- }
-
- function ot(t) {
- return !!t.featureTarget && (!!t.featureTarget.properties && (t.featureTarget.properties.active === v.ACTIVE && t.featureTarget.properties.meta === y.FEATURE))
- }
-
- function rt(t) {
- return !!t.featureTarget && (!!t.featureTarget.properties && (t.featureTarget.properties.active === v.INACTIVE && t.featureTarget.properties.meta === y.FEATURE))
- }
-
- function it(t) {
- return void 0 === t.featureTarget
- }
-
- function at(t) {
- return !!t.featureTarget && (!!t.featureTarget.properties && t.featureTarget.properties.meta === y.FEATURE)
- }
-
- function st(t) {
- var e = t.featureTarget;
- return !!e && (!!e.properties && e.properties.meta === y.VERTEX)
- }
-
- function ut(t) {
- return !!t.originalEvent && !0 === t.originalEvent.shiftKey
- }
-
- function ct(t) {
- return 27 === t.keyCode
- }
-
- function lt(t) {
- return 13 === t.keyCode
- }
-
- var dt = Object.freeze({
- __proto__: null,
- isOfMetaType: et,
- isShiftMousedown: nt,
- isActiveFeature: ot,
- isInactiveFeature: rt,
- noTarget: it,
- isFeature: at,
- isVertex: st,
- isShiftDown: ut,
- isEscapeKey: ct,
- isEnterKey: lt,
- isTrue: function () {
- return !0
- }
- }), pt = ft;
-
- function ft(t, e) {
- this.x = t, this.y = e
- }
-
- function ht(t, e) {
- var n = e.getBoundingClientRect();
- return new pt(t.clientX - n.left - (e.clientLeft || 0), t.clientY - n.top - (e.clientTop || 0))
- }
-
- function gt(t, e, n, o) {
- return {
- type: p.FEATURE,
- properties: {meta: y.VERTEX, parent: t, coord_path: n, active: o ? v.ACTIVE : v.INACTIVE},
- geometry: {type: p.POINT, coordinates: e}
- }
- }
-
- function yt(t, e, n) {
- var o = e.geometry.coordinates, r = n.geometry.coordinates;
- if (o[1] > 85 || o[1] < _ || r[1] > 85 || r[1] < _) return null;
- var i = {lng: (o[0] + r[0]) / 2, lat: (o[1] + r[1]) / 2};
- return {
- type: p.FEATURE,
- properties: {meta: y.MIDPOINT, parent: t, lng: i.lng, lat: i.lat, coord_path: n.properties.coord_path},
- geometry: {type: p.POINT, coordinates: [i.lng, i.lat]}
- }
- }
-
- function vt(t, e, n) {
- void 0 === e && (e = {}), void 0 === n && (n = null);
- var o, r = t.geometry, i = r.type, a = r.coordinates, s = t.properties && t.properties.id, u = [];
-
- function c(t, n) {
- var o = "", r = null;
- t.forEach((function (t, i) {
- var a = null != n ? n + "." + i : String(i), c = gt(s, t, a, l(a));
- if (e.midpoints && r) {
- var d = yt(s, r, c);
- d && u.push(d)
- }
- r = c;
- var p = JSON.stringify(t);
- o !== p && u.push(c), 0 === i && (o = p)
- }))
- }
-
- function l(t) {
- return !!e.selectedPaths && -1 !== e.selectedPaths.indexOf(t)
- }
-
- return i === p.POINT ? u.push(gt(s, a, n, l(n))) : i === p.POLYGON ? a.forEach((function (t, e) {
- c(t, null !== n ? n + "." + e : String(e))
- })) : i === p.LINE_STRING ? c(a, n) : 0 === i.indexOf(p.MULTI_PREFIX) && (o = i.replace(p.MULTI_PREFIX, ""), a.forEach((function (n, r) {
- var i = {type: p.FEATURE, properties: t.properties, geometry: {type: o, coordinates: n}};
- u = u.concat(vt(i, e, r))
- }))), u
- }
-
- ft.prototype = {
- clone: function () {
- return new ft(this.x, this.y)
- }, add: function (t) {
- return this.clone()._add(t)
- }, sub: function (t) {
- return this.clone()._sub(t)
- }, multByPoint: function (t) {
- return this.clone()._multByPoint(t)
- }, divByPoint: function (t) {
- return this.clone()._divByPoint(t)
- }, mult: function (t) {
- return this.clone()._mult(t)
- }, div: function (t) {
- return this.clone()._div(t)
- }, rotate: function (t) {
- return this.clone()._rotate(t)
- }, rotateAround: function (t, e) {
- return this.clone()._rotateAround(t, e)
- }, matMult: function (t) {
- return this.clone()._matMult(t)
- }, unit: function () {
- return this.clone()._unit()
- }, perp: function () {
- return this.clone()._perp()
- }, round: function () {
- return this.clone()._round()
- }, mag: function () {
- return Math.sqrt(this.x * this.x + this.y * this.y)
- }, equals: function (t) {
- return this.x === t.x && this.y === t.y
- }, dist: function (t) {
- return Math.sqrt(this.distSqr(t))
- }, distSqr: function (t) {
- var e = t.x - this.x, n = t.y - this.y;
- return e * e + n * n
- }, angle: function () {
- return Math.atan2(this.y, this.x)
- }, angleTo: function (t) {
- return Math.atan2(this.y - t.y, this.x - t.x)
- }, angleWith: function (t) {
- return this.angleWithSep(t.x, t.y)
- }, angleWithSep: function (t, e) {
- return Math.atan2(this.x * e - this.y * t, this.x * t + this.y * e)
- }, _matMult: function (t) {
- var e = t[0] * this.x + t[1] * this.y, n = t[2] * this.x + t[3] * this.y;
- return this.x = e, this.y = n, this
- }, _add: function (t) {
- return this.x += t.x, this.y += t.y, this
- }, _sub: function (t) {
- return this.x -= t.x, this.y -= t.y, this
- }, _mult: function (t) {
- return this.x *= t, this.y *= t, this
- }, _div: function (t) {
- return this.x /= t, this.y /= t, this
- }, _multByPoint: function (t) {
- return this.x *= t.x, this.y *= t.y, this
- }, _divByPoint: function (t) {
- return this.x /= t.x, this.y /= t.y, this
- }, _unit: function () {
- return this._div(this.mag()), this
- }, _perp: function () {
- var t = this.y;
- return this.y = this.x, this.x = -t, this
- }, _rotate: function (t) {
- var e = Math.cos(t), n = Math.sin(t), o = e * this.x - n * this.y, r = n * this.x + e * this.y;
- return this.x = o, this.y = r, this
- }, _rotateAround: function (t, e) {
- var n = Math.cos(t), o = Math.sin(t), r = e.x + n * (this.x - e.x) - o * (this.y - e.y),
- i = e.y + o * (this.x - e.x) + n * (this.y - e.y);
- return this.x = r, this.y = i, this
- }, _round: function () {
- return this.x = Math.round(this.x), this.y = Math.round(this.y), this
- }
- }, ft.convert = function (t) {
- return t instanceof ft ? t : Array.isArray(t) ? new ft(t[0], t[1]) : t
- };
- var mt = {
- enable: function (t) {
- setTimeout((function () {
- t.map && t.map.doubleClickZoom && t._ctx && t._ctx.store && t._ctx.store.getInitialConfigValue && t._ctx.store.getInitialConfigValue("doubleClickZoom") && t.map.doubleClickZoom.enable()
- }), 0)
- }, disable: function (t) {
- setTimeout((function () {
- t.map && t.map.doubleClickZoom && t.map.doubleClickZoom.disable()
- }), 0)
- }
- }, _t = {}, bt = {
- get exports() {
- return _t
- }, set exports(t) {
- _t = t
- }
- }, Et = function (t) {
- if (!t || !t.type) return null;
- var e = Tt[t.type];
- if (!e) return null;
- if ("geometry" === e) return {
- type: "FeatureCollection",
- features: [{type: "Feature", properties: {}, geometry: t}]
- };
- if ("feature" === e) return {type: "FeatureCollection", features: [t]};
- if ("featurecollection" === e) return t
- }, Tt = {
- Point: "geometry",
- MultiPoint: "geometry",
- LineString: "geometry",
- MultiLineString: "geometry",
- Polygon: "geometry",
- MultiPolygon: "geometry",
- GeometryCollection: "geometry",
- Feature: "feature",
- FeatureCollection: "featurecollection"
- };
- var Ct = Object.freeze({
- __proto__: null, default: function t(e) {
- switch (e && e.type || null) {
- case"FeatureCollection":
- return e.features = e.features.reduce((function (e, n) {
- return e.concat(t(n))
- }), []), e;
- case"Feature":
- return e.geometry ? t(e.geometry).map((function (t) {
- var n = {type: "Feature", properties: JSON.parse(JSON.stringify(e.properties)), geometry: t};
- return void 0 !== e.id && (n.id = e.id), n
- })) : [e];
- case"MultiPoint":
- return e.coordinates.map((function (t) {
- return {type: "Point", coordinates: t}
- }));
- case"MultiPolygon":
- return e.coordinates.map((function (t) {
- return {type: "Polygon", coordinates: t}
- }));
- case"MultiLineString":
- return e.coordinates.map((function (t) {
- return {type: "LineString", coordinates: t}
- }));
- case"GeometryCollection":
- return e.geometries.map(t).reduce((function (t, e) {
- return t.concat(e)
- }), []);
- case"Point":
- case"Polygon":
- case"LineString":
- return [e]
- }
- }
- }), Ot = Et, St = e(Ct), It = function (t) {
- return function t(e) {
- if (Array.isArray(e) && e.length && "number" == typeof e[0]) return [e];
- return e.reduce((function (e, n) {
- return Array.isArray(n) && Array.isArray(n[0]) ? e.concat(t(n)) : (e.push(n), e)
- }), [])
- }(t)
- };
- St instanceof Function || (St = St.default);
- var xt = {}, Mt = {
- get exports() {
- return xt
- }, set exports(t) {
- xt = t
- }
- }.exports = function (t) {
- return new Lt(t)
- };
-
- function Lt(t) {
- this.value = t
- }
-
- function Nt(t, e, n) {
- var o = [], r = [], i = !0;
- return function t(a) {
- var s = n ? At(a) : a, u = {}, c = !0, l = {
- node: s,
- node_: a,
- path: [].concat(o),
- parent: r[r.length - 1],
- parents: r,
- key: o.slice(-1)[0],
- isRoot: 0 === o.length,
- level: o.length,
- circular: null,
- update: function (t, e) {
- l.isRoot || (l.parent.node[l.key] = t), l.node = t, e && (c = !1)
- },
- delete: function (t) {
- delete l.parent.node[l.key], t && (c = !1)
- },
- remove: function (t) {
- wt(l.parent.node) ? l.parent.node.splice(l.key, 1) : delete l.parent.node[l.key], t && (c = !1)
- },
- keys: null,
- before: function (t) {
- u.before = t
- },
- after: function (t) {
- u.after = t
- },
- pre: function (t) {
- u.pre = t
- },
- post: function (t) {
- u.post = t
- },
- stop: function () {
- i = !1
- },
- block: function () {
- c = !1
- }
- };
- if (!i) return l;
-
- function d() {
- if ("object" == typeof l.node && null !== l.node) {
- l.keys && l.node_ === l.node || (l.keys = Pt(l.node)), l.isLeaf = 0 == l.keys.length;
- for (var t = 0; t < r.length; t++) if (r[t].node_ === a) {
- l.circular = r[t];
- break
- }
- } else l.isLeaf = !0, l.keys = null;
- l.notLeaf = !l.isLeaf, l.notRoot = !l.isRoot
- }
-
- d();
- var p = e.call(l, l.node);
- return void 0 !== p && l.update && l.update(p), u.before && u.before.call(l, l.node), c ? ("object" != typeof l.node || null === l.node || l.circular || (r.push(l), d(), Rt(l.keys, (function (e, r) {
- o.push(e), u.pre && u.pre.call(l, l.node[e], e);
- var i = t(l.node[e]);
- n && kt.call(l.node, e) && (l.node[e] = i.node), i.isLast = r == l.keys.length - 1, i.isFirst = 0 == r, u.post && u.post.call(l, i), o.pop()
- })), r.pop()), u.after && u.after.call(l, l.node), l) : l
- }(t).node
- }
-
- function At(t) {
- if ("object" == typeof t && null !== t) {
- var e;
- if (wt(t)) e = []; else if ("[object Date]" === Ft(t)) e = new Date(t.getTime ? t.getTime() : t); else if (function (t) {
- return "[object RegExp]" === Ft(t)
- }(t)) e = new RegExp(t); else if (function (t) {
- return "[object Error]" === Ft(t)
- }(t)) e = {message: t.message}; else if (function (t) {
- return "[object Boolean]" === Ft(t)
- }(t)) e = new Boolean(t); else if (function (t) {
- return "[object Number]" === Ft(t)
- }(t)) e = new Number(t); else if (function (t) {
- return "[object String]" === Ft(t)
- }(t)) e = new String(t); else if (Object.create && Object.getPrototypeOf) e = Object.create(Object.getPrototypeOf(t)); else if (t.constructor === Object) e = {}; else {
- var n = t.constructor && t.constructor.prototype || t.__proto__ || {}, o = function () {
- };
- o.prototype = n, e = new o
- }
- return Rt(Pt(t), (function (n) {
- e[n] = t[n]
- })), e
- }
- return t
- }
-
- Lt.prototype.get = function (t) {
- for (var e = this.value, n = 0; n < t.length; n++) {
- var o = t[n];
- if (!e || !kt.call(e, o)) {
- e = void 0;
- break
- }
- e = e[o]
- }
- return e
- }, Lt.prototype.has = function (t) {
- for (var e = this.value, n = 0; n < t.length; n++) {
- var o = t[n];
- if (!e || !kt.call(e, o)) return !1;
- e = e[o]
- }
- return !0
- }, Lt.prototype.set = function (t, e) {
- for (var n = this.value, o = 0; o < t.length - 1; o++) {
- var r = t[o];
- kt.call(n, r) || (n[r] = {}), n = n[r]
- }
- return n[t[o]] = e, e
- }, Lt.prototype.map = function (t) {
- return Nt(this.value, t, !0)
- }, Lt.prototype.forEach = function (t) {
- return this.value = Nt(this.value, t, !1), this.value
- }, Lt.prototype.reduce = function (t, e) {
- var n = 1 === arguments.length, o = n ? this.value : e;
- return this.forEach((function (e) {
- this.isRoot && n || (o = t.call(this, o, e))
- })), o
- }, Lt.prototype.paths = function () {
- var t = [];
- return this.forEach((function (e) {
- t.push(this.path)
- })), t
- }, Lt.prototype.nodes = function () {
- var t = [];
- return this.forEach((function (e) {
- t.push(this.node)
- })), t
- }, Lt.prototype.clone = function () {
- var t = [], e = [];
- return function n(o) {
- for (var r = 0; r < t.length; r++) if (t[r] === o) return e[r];
- if ("object" == typeof o && null !== o) {
- var i = At(o);
- return t.push(o), e.push(i), Rt(Pt(o), (function (t) {
- i[t] = n(o[t])
- })), t.pop(), e.pop(), i
- }
- return o
- }(this.value)
- };
- var Pt = Object.keys || function (t) {
- var e = [];
- for (var n in t) e.push(n);
- return e
- };
-
- function Ft(t) {
- return Object.prototype.toString.call(t)
- }
-
- var wt = Array.isArray || function (t) {
- return "[object Array]" === Object.prototype.toString.call(t)
- }, Rt = function (t, e) {
- if (t.forEach) return t.forEach(e);
- for (var n = 0; n < t.length; n++) e(t[n], n, t)
- };
- Rt(Pt(Lt.prototype), (function (t) {
- Mt[t] = function (e) {
- var n = [].slice.call(arguments, 1), o = new Lt(e);
- return o[t].apply(o, n)
- }
- }));
- var kt = Object.hasOwnProperty || function (t, e) {
- return e in t
- }, Dt = Ut;
-
- function Ut(t) {
- if (!(this instanceof Ut)) return new Ut(t);
- this._bbox = t || [1 / 0, 1 / 0, -1 / 0, -1 / 0], this._valid = !!t
- }
-
- Ut.prototype.include = function (t) {
- return this._valid = !0, this._bbox[0] = Math.min(this._bbox[0], t[0]), this._bbox[1] = Math.min(this._bbox[1], t[1]), this._bbox[2] = Math.max(this._bbox[2], t[0]), this._bbox[3] = Math.max(this._bbox[3], t[1]), this
- }, Ut.prototype.equals = function (t) {
- var e;
- return e = t instanceof Ut ? t.bbox() : t, this._bbox[0] == e[0] && this._bbox[1] == e[1] && this._bbox[2] == e[2] && this._bbox[3] == e[3]
- }, Ut.prototype.center = function (t) {
- return this._valid ? [(this._bbox[0] + this._bbox[2]) / 2, (this._bbox[1] + this._bbox[3]) / 2] : null
- }, Ut.prototype.union = function (t) {
- var e;
- return this._valid = !0, e = t instanceof Ut ? t.bbox() : t, this._bbox[0] = Math.min(this._bbox[0], e[0]), this._bbox[1] = Math.min(this._bbox[1], e[1]), this._bbox[2] = Math.max(this._bbox[2], e[2]), this._bbox[3] = Math.max(this._bbox[3], e[3]), this
- }, Ut.prototype.bbox = function () {
- return this._valid ? this._bbox : null
- }, Ut.prototype.contains = function (t) {
- if (!t) return this._fastContains();
- if (!this._valid) return null;
- var e = t[0], n = t[1];
- return this._bbox[0] <= e && this._bbox[1] <= n && this._bbox[2] >= e && this._bbox[3] >= n
- }, Ut.prototype.intersect = function (t) {
- return this._valid ? (e = t instanceof Ut ? t.bbox() : t, !(this._bbox[0] > e[2] || this._bbox[2] < e[0] || this._bbox[3] < e[1] || this._bbox[1] > e[3])) : null;
- var e
- }, Ut.prototype._fastContains = function () {
- if (!this._valid) return new Function("return null;");
- var t = "return " + this._bbox[0] + "<= ll[0] &&" + this._bbox[1] + "<= ll[1] &&" + this._bbox[2] + ">= ll[0] &&" + this._bbox[3] + ">= ll[1]";
- return new Function("ll", t)
- }, Ut.prototype.polygon = function () {
- return this._valid ? {
- type: "Polygon",
- coordinates: [[[this._bbox[0], this._bbox[1]], [this._bbox[2], this._bbox[1]], [this._bbox[2], this._bbox[3]], [this._bbox[0], this._bbox[3]], [this._bbox[0], this._bbox[1]]]]
- } : null
- };
- var jt = function (t) {
- if (!t) return [];
- var e = St(Ot(t)), n = [];
- return e.features.forEach((function (t) {
- t.geometry && (n = n.concat(It(t.geometry.coordinates)))
- })), n
- }, Vt = xt, Bt = Dt, Gt = {
- features: ["FeatureCollection"],
- coordinates: ["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon"],
- geometry: ["Feature"],
- geometries: ["GeometryCollection"]
- }, Jt = Object.keys(Gt);
-
- function zt(t) {
- for (var e = Bt(), n = jt(t), o = 0; o < n.length; o++) e.include(n[o]);
- return e
- }
-
- bt.exports = function (t) {
- return zt(t).bbox()
- }, _t.polygon = function (t) {
- return zt(t).polygon()
- }, _t.bboxify = function (t) {
- return Vt(t).map((function (t) {
- t && (Jt.some((function (e) {
- return !!t[e] && -1 !== Gt[e].indexOf(t.type)
- })) && (t.bbox = zt(t).bbox(), this.update(t)))
- }))
- };
- var Yt = -90;
-
- function $t(t, e) {
- var n = Yt, o = 90, r = Yt, i = 90, a = 270, s = -270;
- t.forEach((function (t) {
- var e = _t(t), u = e[1], c = e[3], l = e[0], d = e[2];
- u > n && (n = u), c < o && (o = c), c > r && (r = c), u < i && (i = u), l < a && (a = l), d > s && (s = d)
- }));
- var u = e;
- return n + u.lat > 85 && (u.lat = 85 - n), r + u.lat > 90 && (u.lat = 90 - r), o + u.lat < -85 && (u.lat = -85 - o), i + u.lat < Yt && (u.lat = Yt - i), a + u.lng <= -270 && (u.lng += 360 * Math.ceil(Math.abs(u.lng) / 360)), s + u.lng >= 270 && (u.lng -= 360 * Math.ceil(Math.abs(u.lng) / 360)), u
- }
-
- function qt(t, e) {
- var n = $t(t.map((function (t) {
- return t.toGeoJSON()
- })), e);
- t.forEach((function (t) {
- var e, o = t.getCoordinates(), r = function (t) {
- var e = {lng: t[0] + n.lng, lat: t[1] + n.lat};
- return [e.lng, e.lat]
- }, i = function (t) {
- return t.map((function (t) {
- return r(t)
- }))
- };
- t.type === p.POINT ? e = r(o) : t.type === p.LINE_STRING || t.type === p.MULTI_POINT ? e = o.map(r) : t.type === p.POLYGON || t.type === p.MULTI_LINE_STRING ? e = o.map(i) : t.type === p.MULTI_POLYGON && (e = o.map((function (t) {
- return t.map((function (t) {
- return i(t)
- }))
- }))), t.incomingCoords(e)
- }))
- }
-
- var Ht = {
- onSetup: function (t) {
- var e = this, n = {
- dragMoveLocation: null,
- boxSelectStartLocation: null,
- boxSelectElement: void 0,
- boxSelecting: !1,
- canBoxSelect: !1,
- dragMoving: !1,
- canDragMove: !1,
- initiallySelectedFeatureIds: t.featureIds || []
- };
- return this.setSelected(n.initiallySelectedFeatureIds.filter((function (t) {
- return void 0 !== e.getFeature(t)
- }))), this.fireActionable(), this.setActionableState({
- combineFeatures: !0,
- uncombineFeatures: !0,
- trash: !0
- }), n
- }, fireUpdate: function () {
- this.map.fire(h.UPDATE, {
- action: g.MOVE, features: this.getSelected().map((function (t) {
- return t.toGeoJSON()
- }))
- })
- }, fireActionable: function () {
- var t = this, e = this.getSelected(), n = e.filter((function (e) {
- return t.isInstanceOf("MultiFeature", e)
- })), o = !1;
- if (e.length > 1) {
- o = !0;
- var r = e[0].type.replace("Multi", "");
- e.forEach((function (t) {
- t.type.replace("Multi", "") !== r && (o = !1)
- }))
- }
- var i = n.length > 0, a = e.length > 0;
- this.setActionableState({combineFeatures: o, uncombineFeatures: i, trash: a})
- }, getUniqueIds: function (t) {
- return t.length ? t.map((function (t) {
- return t.properties.id
- })).filter((function (t) {
- return void 0 !== t
- })).reduce((function (t, e) {
- return t.add(e), t
- }), new S).values() : []
- }, stopExtendedInteractions: function (t) {
- t.boxSelectElement && (t.boxSelectElement.parentNode && t.boxSelectElement.parentNode.removeChild(t.boxSelectElement), t.boxSelectElement = null), this.map.dragPan.enable(), t.boxSelecting = !1, t.canBoxSelect = !1, t.dragMoving = !1, t.canDragMove = !1
- }, onStop: function () {
- mt.enable(this)
- }, onMouseMove: function (t) {
- return this.stopExtendedInteractions(t), !0
- }, onMouseOut: function (t) {
- return !t.dragMoving || this.fireUpdate()
- }
- };
- Ht.onTap = Ht.onClick = function (t, e) {
- return it(e) ? this.clickAnywhere(t, e) : et(y.VERTEX)(e) ? this.clickOnVertex(t, e) : at(e) ? this.clickOnFeature(t, e) : void 0
- }, Ht.clickAnywhere = function (t) {
- var e = this, n = this.getSelectedIds();
- n.length && (this.clearSelectedFeatures(), n.forEach((function (t) {
- return e.doRender(t)
- }))), mt.enable(this), this.stopExtendedInteractions(t)
- }, Ht.clickOnVertex = function (t, e) {
- this.changeMode(f.DIRECT_SELECT, {
- featureId: e.featureTarget.properties.parent,
- coordPath: e.featureTarget.properties.coord_path,
- startPos: e.lngLat
- }), this.updateUIClasses({mouse: l.MOVE})
- }, Ht.startOnActiveFeature = function (t, e) {
- this.stopExtendedInteractions(t), this.map.dragPan.disable(), this.doRender(e.featureTarget.properties.id), t.canDragMove = !0, t.dragMoveLocation = e.lngLat
- }, Ht.clickOnFeature = function (t, e) {
- var n = this;
- mt.disable(this), this.stopExtendedInteractions(t);
- var o = ut(e), r = this.getSelectedIds(), i = e.featureTarget.properties.id, a = this.isSelected(i);
- if (!o && a && this.getFeature(i).type !== p.POINT) return this.changeMode(f.DIRECT_SELECT, {featureId: i});
- a && o ? (this.deselect(i), this.updateUIClasses({mouse: l.POINTER}), 1 === r.length && mt.enable(this)) : !a && o ? (this.select(i), this.updateUIClasses({mouse: l.MOVE})) : a || o || (r.forEach((function (t) {
- return n.doRender(t)
- })), this.setSelected(i), this.updateUIClasses({mouse: l.MOVE})), this.doRender(i)
- }, Ht.onMouseDown = function (t, e) {
- return ot(e) ? this.startOnActiveFeature(t, e) : this.drawConfig.boxSelect && nt(e) ? this.startBoxSelect(t, e) : void 0
- }, Ht.startBoxSelect = function (t, e) {
- this.stopExtendedInteractions(t), this.map.dragPan.disable(), t.boxSelectStartLocation = ht(e.originalEvent, this.map.getContainer()), t.canBoxSelect = !0
- }, Ht.onTouchStart = function (t, e) {
- if (ot(e)) return this.startOnActiveFeature(t, e)
- }, Ht.onDrag = function (t, e) {
- return t.canDragMove ? this.dragMove(t, e) : this.drawConfig.boxSelect && t.canBoxSelect ? this.whileBoxSelect(t, e) : void 0
- }, Ht.whileBoxSelect = function (t, e) {
- t.boxSelecting = !0, this.updateUIClasses({mouse: l.ADD}), t.boxSelectElement || (t.boxSelectElement = document.createElement("div"), t.boxSelectElement.classList.add(u.BOX_SELECT), this.map.getContainer().appendChild(t.boxSelectElement));
- var n = ht(e.originalEvent, this.map.getContainer()), o = Math.min(t.boxSelectStartLocation.x, n.x),
- r = Math.max(t.boxSelectStartLocation.x, n.x), i = Math.min(t.boxSelectStartLocation.y, n.y),
- a = Math.max(t.boxSelectStartLocation.y, n.y), s = "translate(" + o + "px, " + i + "px)";
- t.boxSelectElement.style.transform = s, t.boxSelectElement.style.WebkitTransform = s, t.boxSelectElement.style.width = r - o + "px", t.boxSelectElement.style.height = a - i + "px"
- }, Ht.dragMove = function (t, e) {
- t.dragMoving = !0, e.originalEvent.stopPropagation();
- var n = {lng: e.lngLat.lng - t.dragMoveLocation.lng, lat: e.lngLat.lat - t.dragMoveLocation.lat};
- qt(this.getSelected(), n), t.dragMoveLocation = e.lngLat
- }, Ht.onTouchEnd = Ht.onMouseUp = function (t, e) {
- var n = this;
- if (t.dragMoving) this.fireUpdate(); else if (t.boxSelecting) {
- var o = [t.boxSelectStartLocation, ht(e.originalEvent, this.map.getContainer())],
- r = this.featuresAt(null, o, "click"), i = this.getUniqueIds(r).filter((function (t) {
- return !n.isSelected(t)
- }));
- i.length && (this.select(i), i.forEach((function (t) {
- return n.doRender(t)
- })), this.updateUIClasses({mouse: l.MOVE}))
- }
- this.stopExtendedInteractions(t)
- }, Ht.toDisplayFeatures = function (t, e, n) {
- e.properties.active = this.isSelected(e.properties.id) ? v.ACTIVE : v.INACTIVE, n(e), this.fireActionable(), e.properties.active === v.ACTIVE && e.geometry.type !== p.POINT && vt(e).forEach(n)
- }, Ht.onTrash = function () {
- this.deleteFeature(this.getSelectedIds()), this.fireActionable()
- }, Ht.onCombineFeatures = function () {
- var t = this.getSelected();
- if (!(0 === t.length || t.length < 2)) {
- for (var e = [], n = [], o = t[0].type.replace("Multi", ""), r = 0; r < t.length; r++) {
- var i = t[r];
- if (i.type.replace("Multi", "") !== o) return;
- i.type.includes("Multi") ? i.getCoordinates().forEach((function (t) {
- e.push(t)
- })) : e.push(i.getCoordinates()), n.push(i.toGeoJSON())
- }
- if (n.length > 1) {
- var a = this.newFeature({
- type: p.FEATURE,
- properties: n[0].properties,
- geometry: {type: "Multi" + o, coordinates: e}
- });
- this.addFeature(a), this.deleteFeature(this.getSelectedIds(), {silent: !0}), this.setSelected([a.id]), this.map.fire(h.COMBINE_FEATURES, {
- createdFeatures: [a.toGeoJSON()],
- deletedFeatures: n
- })
- }
- this.fireActionable()
- }
- }, Ht.onUncombineFeatures = function () {
- var t = this, e = this.getSelected();
- if (0 !== e.length) {
- for (var n = [], o = [], r = function (r) {
- var i = e[r];
- t.isInstanceOf("MultiFeature", i) && (i.getFeatures().forEach((function (e) {
- t.addFeature(e), e.properties = i.properties, n.push(e.toGeoJSON()), t.select([e.id])
- })), t.deleteFeature(i.id, {silent: !0}), o.push(i.toGeoJSON()))
- }, i = 0; i < e.length; i++) r(i);
- n.length > 1 && this.map.fire(h.UNCOMBINE_FEATURES, {
- createdFeatures: n,
- deletedFeatures: o
- }), this.fireActionable()
- }
- };
- var Xt = et(y.VERTEX), Wt = et(y.MIDPOINT), Zt = {
- fireUpdate: function () {
- this.map.fire(h.UPDATE, {
- action: g.CHANGE_COORDINATES, features: this.getSelected().map((function (t) {
- return t.toGeoJSON()
- }))
- })
- }, fireActionable: function (t) {
- this.setActionableState({
- combineFeatures: !1,
- uncombineFeatures: !1,
- trash: t.selectedCoordPaths.length > 0
- })
- }, startDragging: function (t, e) {
- this.map.dragPan.disable(), t.canDragMove = !0, t.dragMoveLocation = e.lngLat
- }, stopDragging: function (t) {
- this.map.dragPan.enable(), t.dragMoving = !1, t.canDragMove = !1, t.dragMoveLocation = null
- }, onVertex: function (t, e) {
- this.startDragging(t, e);
- var n = e.featureTarget.properties, o = t.selectedCoordPaths.indexOf(n.coord_path);
- ut(e) || -1 !== o ? ut(e) && -1 === o && t.selectedCoordPaths.push(n.coord_path) : t.selectedCoordPaths = [n.coord_path];
- var r = this.pathsToCoordinates(t.featureId, t.selectedCoordPaths);
- this.setSelectedCoordinates(r)
- }, onMidpoint: function (t, e) {
- this.startDragging(t, e);
- var n = e.featureTarget.properties;
- t.feature.addCoordinate(n.coord_path, n.lng, n.lat), this.fireUpdate(), t.selectedCoordPaths = [n.coord_path]
- }, pathsToCoordinates: function (t, e) {
- return e.map((function (e) {
- return {feature_id: t, coord_path: e}
- }))
- }, onFeature: function (t, e) {
- 0 === t.selectedCoordPaths.length ? this.startDragging(t, e) : this.stopDragging(t)
- }, dragFeature: function (t, e, n) {
- qt(this.getSelected(), n), t.dragMoveLocation = e.lngLat
- }, dragVertex: function (t, e, n) {
- for (var o = t.selectedCoordPaths.map((function (e) {
- return t.feature.getCoordinate(e)
- })), r = $t(o.map((function (t) {
- return {type: p.FEATURE, properties: {}, geometry: {type: p.POINT, coordinates: t}}
- })), n), i = 0; i < o.length; i++) {
- var a = o[i];
- t.feature.updateCoordinate(t.selectedCoordPaths[i], a[0] + r.lng, a[1] + r.lat)
- }
- }, clickNoTarget: function () {
- this.changeMode(f.SIMPLE_SELECT)
- }, clickInactive: function () {
- this.changeMode(f.SIMPLE_SELECT)
- }, clickActiveFeature: function (t) {
- t.selectedCoordPaths = [], this.clearSelectedCoordinates(), t.feature.changed()
- }, onSetup: function (t) {
- var e = t.featureId, n = this.getFeature(e);
- if (!n) throw new Error("You must provide a featureId to enter direct_select mode");
- if (n.type === p.POINT) throw new TypeError("direct_select mode doesn't handle point features");
- var o = {
- featureId: e,
- feature: n,
- dragMoveLocation: t.startPos || null,
- dragMoving: !1,
- canDragMove: !1,
- selectedCoordPaths: t.coordPath ? [t.coordPath] : []
- };
- return this.setSelectedCoordinates(this.pathsToCoordinates(e, o.selectedCoordPaths)), this.setSelected(e), mt.disable(this), this.setActionableState({trash: !0}), o
- }, onStop: function () {
- mt.enable(this), this.clearSelectedCoordinates()
- }, toDisplayFeatures: function (t, e, n) {
- t.featureId === e.properties.id ? (e.properties.active = v.ACTIVE, n(e), vt(e, {
- map: this.map,
- midpoints: !0,
- selectedPaths: t.selectedCoordPaths
- }).forEach(n)) : (e.properties.active = v.INACTIVE, n(e)), this.fireActionable(t)
- }, onTrash: function (t) {
- t.selectedCoordPaths.sort((function (t, e) {
- return e.localeCompare(t, "en", {numeric: !0})
- })).forEach((function (e) {
- return t.feature.removeCoordinate(e)
- })), this.fireUpdate(), t.selectedCoordPaths = [], this.clearSelectedCoordinates(), this.fireActionable(t), !1 === t.feature.isValid() && (this.deleteFeature([t.featureId]), this.changeMode(f.SIMPLE_SELECT, {}))
- }, onMouseMove: function (t, e) {
- var n = ot(e), o = Xt(e), r = 0 === t.selectedCoordPaths.length;
- return n && r || o && !r ? this.updateUIClasses({mouse: l.MOVE}) : this.updateUIClasses({mouse: l.NONE}), this.stopDragging(t), !0
- }, onMouseOut: function (t) {
- return t.dragMoving && this.fireUpdate(), !0
- }
- };
- Zt.onTouchStart = Zt.onMouseDown = function (t, e) {
- return Xt(e) ? this.onVertex(t, e) : ot(e) ? this.onFeature(t, e) : Wt(e) ? this.onMidpoint(t, e) : void 0
- }, Zt.onDrag = function (t, e) {
- if (!0 === t.canDragMove) {
- t.dragMoving = !0, e.originalEvent.stopPropagation();
- var n = {lng: e.lngLat.lng - t.dragMoveLocation.lng, lat: e.lngLat.lat - t.dragMoveLocation.lat};
- t.selectedCoordPaths.length > 0 ? this.dragVertex(t, e, n) : this.dragFeature(t, e, n), t.dragMoveLocation = e.lngLat
- }
- }, Zt.onClick = function (t, e) {
- return it(e) ? this.clickNoTarget(t, e) : ot(e) ? this.clickActiveFeature(t, e) : rt(e) ? this.clickInactive(t, e) : void this.stopDragging(t)
- }, Zt.onTap = function (t, e) {
- return it(e) ? this.clickNoTarget(t, e) : ot(e) ? this.clickActiveFeature(t, e) : rt(e) ? this.clickInactive(t, e) : void 0
- }, Zt.onTouchEnd = Zt.onMouseUp = function (t) {
- t.dragMoving && this.fireUpdate(), this.stopDragging(t)
- };
- var Kt = {};
-
- function Qt(t, e) {
- return !!t.lngLat && (t.lngLat.lng === e[0] && t.lngLat.lat === e[1])
- }
-
- Kt.onSetup = function () {
- var t = this.newFeature({type: p.FEATURE, properties: {}, geometry: {type: p.POINT, coordinates: []}});
- return this.addFeature(t), this.clearSelectedFeatures(), this.updateUIClasses({mouse: l.ADD}), this.activateUIButton(d.POINT), this.setActionableState({trash: !0}), {point: t}
- }, Kt.stopDrawingAndRemove = function (t) {
- this.deleteFeature([t.point.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT)
- }, Kt.onTap = Kt.onClick = function (t, e) {
- this.updateUIClasses({mouse: l.MOVE}), t.point.updateCoordinate("", e.lngLat.lng, e.lngLat.lat), this.map.fire(h.CREATE, {features: [t.point.toGeoJSON()]}), this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.point.id]})
- }, Kt.onStop = function (t) {
- this.activateUIButton(), t.point.getCoordinate().length || this.deleteFeature([t.point.id], {silent: !0})
- }, Kt.toDisplayFeatures = function (t, e, n) {
- var o = e.properties.id === t.point.id;
- if (e.properties.active = o ? v.ACTIVE : v.INACTIVE, !o) return n(e)
- }, Kt.onTrash = Kt.stopDrawingAndRemove, Kt.onKeyUp = function (t, e) {
- if (ct(e) || lt(e)) return this.stopDrawingAndRemove(t, e)
- };
- var te = {
- onSetup: function () {
- var t = this.newFeature({type: p.FEATURE, properties: {}, geometry: {type: p.POLYGON, coordinates: [[]]}});
- return this.addFeature(t), this.clearSelectedFeatures(), mt.disable(this), this.updateUIClasses({mouse: l.ADD}), this.activateUIButton(d.POLYGON), this.setActionableState({trash: !0}), {
- polygon: t,
- currentVertexPosition: 0
- }
- }, clickAnywhere: function (t, e) {
- if (t.currentVertexPosition > 0 && Qt(e, t.polygon.coordinates[0][t.currentVertexPosition - 1])) return this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.polygon.id]});
- this.updateUIClasses({mouse: l.ADD}), t.polygon.updateCoordinate("0." + t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat), t.currentVertexPosition++, t.polygon.updateCoordinate("0." + t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat)
- }, clickOnVertex: function (t) {
- return this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.polygon.id]})
- }, onMouseMove: function (t, e) {
- t.polygon.updateCoordinate("0." + t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat), st(e) && this.updateUIClasses({mouse: l.POINTER})
- }
- };
- te.onTap = te.onClick = function (t, e) {
- return st(e) ? this.clickOnVertex(t, e) : this.clickAnywhere(t, e)
- }, te.onKeyUp = function (t, e) {
- ct(e) ? (this.deleteFeature([t.polygon.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT)) : lt(e) && this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.polygon.id]})
- }, te.onStop = function (t) {
- this.updateUIClasses({mouse: l.NONE}), mt.enable(this), this.activateUIButton(), void 0 !== this.getFeature(t.polygon.id) && (t.polygon.removeCoordinate("0." + t.currentVertexPosition), t.polygon.isValid() ? this.map.fire(h.CREATE, {features: [t.polygon.toGeoJSON()]}) : (this.deleteFeature([t.polygon.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT, {}, {silent: !0})))
- }, te.toDisplayFeatures = function (t, e, n) {
- var o = e.properties.id === t.polygon.id;
- if (e.properties.active = o ? v.ACTIVE : v.INACTIVE, !o) return n(e);
- if (0 !== e.geometry.coordinates.length) {
- var r = e.geometry.coordinates[0].length;
- if (!(r < 3)) {
- if (e.properties.meta = y.FEATURE, n(gt(t.polygon.id, e.geometry.coordinates[0][0], "0.0", !1)), r > 3) {
- var i = e.geometry.coordinates[0].length - 3;
- n(gt(t.polygon.id, e.geometry.coordinates[0][i], "0." + i, !1))
- }
- if (r <= 4) {
- var a = [[e.geometry.coordinates[0][0][0], e.geometry.coordinates[0][0][1]], [e.geometry.coordinates[0][1][0], e.geometry.coordinates[0][1][1]]];
- if (n({
- type: p.FEATURE,
- properties: e.properties,
- geometry: {coordinates: a, type: p.LINE_STRING}
- }), 3 === r) return
- }
- return n(e)
- }
- }
- }, te.onTrash = function (t) {
- this.deleteFeature([t.polygon.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT)
- };
- var ee = {
- onSetup: function (t) {
- var e, n, o = (t = t || {}).featureId, r = "forward";
- if (o) {
- if (!(e = this.getFeature(o))) throw new Error("Could not find a feature with the provided featureId");
- var i = t.from;
- if (i && "Feature" === i.type && i.geometry && "Point" === i.geometry.type && (i = i.geometry), i && "Point" === i.type && i.coordinates && 2 === i.coordinates.length && (i = i.coordinates), !i || !Array.isArray(i)) throw new Error("Please use the `from` property to indicate which point to continue the line from");
- var a = e.coordinates.length - 1;
- if (e.coordinates[a][0] === i[0] && e.coordinates[a][1] === i[1]) n = a + 1, e.addCoordinate.apply(e, [n].concat(e.coordinates[a])); else {
- if (e.coordinates[0][0] !== i[0] || e.coordinates[0][1] !== i[1]) throw new Error("`from` should match the point at either the start or the end of the provided LineString");
- r = "backwards", n = 0, e.addCoordinate.apply(e, [n].concat(e.coordinates[0]))
- }
- } else e = this.newFeature({
- type: p.FEATURE,
- properties: {},
- geometry: {type: p.LINE_STRING, coordinates: []}
- }), n = 0, this.addFeature(e);
- return this.clearSelectedFeatures(), mt.disable(this), this.updateUIClasses({mouse: l.ADD}), this.activateUIButton(d.LINE), this.setActionableState({trash: !0}), {
- line: e,
- currentVertexPosition: n,
- direction: r
- }
- }, clickAnywhere: function (t, e) {
- if (t.currentVertexPosition > 0 && Qt(e, t.line.coordinates[t.currentVertexPosition - 1]) || "backwards" === t.direction && Qt(e, t.line.coordinates[t.currentVertexPosition + 1])) return this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.line.id]});
- this.updateUIClasses({mouse: l.ADD}), t.line.updateCoordinate(t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat), "forward" === t.direction ? (t.currentVertexPosition++, t.line.updateCoordinate(t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat)) : t.line.addCoordinate(0, e.lngLat.lng, e.lngLat.lat)
- }, clickOnVertex: function (t) {
- return this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.line.id]})
- }, onMouseMove: function (t, e) {
- t.line.updateCoordinate(t.currentVertexPosition, e.lngLat.lng, e.lngLat.lat), st(e) && this.updateUIClasses({mouse: l.POINTER})
- }
- };
- ee.onTap = ee.onClick = function (t, e) {
- if (st(e)) return this.clickOnVertex(t, e);
- this.clickAnywhere(t, e)
- }, ee.onKeyUp = function (t, e) {
- lt(e) ? this.changeMode(f.SIMPLE_SELECT, {featureIds: [t.line.id]}) : ct(e) && (this.deleteFeature([t.line.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT))
- }, ee.onStop = function (t) {
- mt.enable(this), this.activateUIButton(), void 0 !== this.getFeature(t.line.id) && (t.line.removeCoordinate("" + t.currentVertexPosition), t.line.isValid() ? this.map.fire(h.CREATE, {features: [t.line.toGeoJSON()]}) : (this.deleteFeature([t.line.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT, {}, {silent: !0})))
- }, ee.onTrash = function (t) {
- this.deleteFeature([t.line.id], {silent: !0}), this.changeMode(f.SIMPLE_SELECT)
- }, ee.toDisplayFeatures = function (t, e, n) {
- var o = e.properties.id === t.line.id;
- if (e.properties.active = o ? v.ACTIVE : v.INACTIVE, !o) return n(e);
- e.geometry.coordinates.length < 2 || (e.properties.meta = y.FEATURE, n(gt(t.line.id, e.geometry.coordinates["forward" === t.direction ? e.geometry.coordinates.length - 2 : 1], "" + ("forward" === t.direction ? e.geometry.coordinates.length - 2 : 1), !1)), n(e))
- };
- var ne = {simple_select: Ht, direct_select: Zt, draw_point: Kt, draw_polygon: te, draw_line_string: ee}, oe = {
- defaultMode: f.SIMPLE_SELECT,
- keybindings: !0,
- touchEnabled: !0,
- clickBuffer: 2,
- touchBuffer: 25,
- boxSelect: !0,
- displayControlsDefault: !0,
- styles: tt,
- modes: ne,
- controls: {},
- userProperties: !1
- }, re = {point: !0, line_string: !0, polygon: !0, trash: !0, combine_features: !0, uncombine_features: !0},
- ie = {point: !1, line_string: !1, polygon: !1, trash: !1, combine_features: !1, uncombine_features: !1};
-
- function ae(t, e) {
- return t.map((function (t) {
- return t.source ? t : W(t, {id: t.id + "." + e, source: "hot" === e ? c.HOT : c.COLD})
- }))
- }
-
- var se = {};
- !function (t, e) {
- var n = "__lodash_hash_undefined__", o = 9007199254740991, r = "[object Arguments]", i = "[object Array]",
- a = "[object Boolean]", s = "[object Date]", u = "[object Error]", c = "[object Function]",
- l = "[object Map]", d = "[object Number]", p = "[object Object]", f = "[object Promise]",
- h = "[object RegExp]", g = "[object Set]", y = "[object String]", v = "[object Symbol]",
- m = "[object WeakMap]", _ = "[object ArrayBuffer]", b = "[object DataView]",
- E = /^\[object .+?Constructor\]$/, T = /^(?:0|[1-9]\d*)$/, C = {};
- C["[object Float32Array]"] = C["[object Float64Array]"] = C["[object Int8Array]"] = C["[object Int16Array]"] = C["[object Int32Array]"] = C["[object Uint8Array]"] = C["[object Uint8ClampedArray]"] = C["[object Uint16Array]"] = C["[object Uint32Array]"] = !0, C[r] = C[i] = C[_] = C[a] = C[b] = C[s] = C[u] = C[c] = C[l] = C[d] = C[p] = C[h] = C[g] = C[y] = C[m] = !1;
- var O = "object" == typeof global && global && global.Object === Object && global,
- S = "object" == typeof self && self && self.Object === Object && self,
- I = O || S || Function("return this")(), x = e && !e.nodeType && e, M = x && t && !t.nodeType && t,
- L = M && M.exports === x, N = L && O.process, A = function () {
- try {
- return N && N.binding && N.binding("util")
- } catch (t) {
- }
- }(), P = A && A.isTypedArray;
-
- function F(t, e) {
- for (var n = -1, o = null == t ? 0 : t.length; ++n < o;) if (e(t[n], n, t)) return !0;
- return !1
- }
-
- function w(t) {
- var e = -1, n = Array(t.size);
- return t.forEach((function (t, o) {
- n[++e] = [o, t]
- })), n
- }
-
- function R(t) {
- var e = -1, n = Array(t.size);
- return t.forEach((function (t) {
- n[++e] = t
- })), n
- }
-
- var k, D, U, j = Array.prototype, V = Function.prototype, B = Object.prototype, G = I["__core-js_shared__"],
- J = V.toString, z = B.hasOwnProperty,
- Y = (k = /[^.]+$/.exec(G && G.keys && G.keys.IE_PROTO || "")) ? "Symbol(src)_1." + k : "", $ = B.toString,
- q = RegExp("^" + J.call(z).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
- H = L ? I.Buffer : void 0, X = I.Symbol, W = I.Uint8Array, Z = B.propertyIsEnumerable, K = j.splice,
- Q = X ? X.toStringTag : void 0, tt = Object.getOwnPropertySymbols, et = H ? H.isBuffer : void 0,
- nt = (D = Object.keys, U = Object, function (t) {
- return D(U(t))
- }), ot = At(I, "DataView"), rt = At(I, "Map"), it = At(I, "Promise"), at = At(I, "Set"),
- st = At(I, "WeakMap"), ut = At(Object, "create"), ct = Rt(ot), lt = Rt(rt), dt = Rt(it), pt = Rt(at),
- ft = Rt(st), ht = X ? X.prototype : void 0, gt = ht ? ht.valueOf : void 0;
-
- function yt(t) {
- var e = -1, n = null == t ? 0 : t.length;
- for (this.clear(); ++e < n;) {
- var o = t[e];
- this.set(o[0], o[1])
- }
- }
-
- function vt(t) {
- var e = -1, n = null == t ? 0 : t.length;
- for (this.clear(); ++e < n;) {
- var o = t[e];
- this.set(o[0], o[1])
- }
- }
-
- function mt(t) {
- var e = -1, n = null == t ? 0 : t.length;
- for (this.clear(); ++e < n;) {
- var o = t[e];
- this.set(o[0], o[1])
- }
- }
-
- function _t(t) {
- var e = -1, n = null == t ? 0 : t.length;
- for (this.__data__ = new mt; ++e < n;) this.add(t[e])
- }
-
- function bt(t) {
- var e = this.__data__ = new vt(t);
- this.size = e.size
- }
-
- function Et(t, e) {
- var n = Ut(t), o = !n && Dt(t), r = !n && !o && jt(t), i = !n && !o && !r && zt(t), a = n || o || r || i,
- s = a ? function (t, e) {
- for (var n = -1, o = Array(t); ++n < t;) o[n] = e(n);
- return o
- }(t.length, String) : [], u = s.length;
- for (var c in t) !e && !z.call(t, c) || a && ("length" == c || r && ("offset" == c || "parent" == c) || i && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || wt(c, u)) || s.push(c);
- return s
- }
-
- function Tt(t, e) {
- for (var n = t.length; n--;) if (kt(t[n][0], e)) return n;
- return -1
- }
-
- function Ct(t) {
- return null == t ? void 0 === t ? "[object Undefined]" : "[object Null]" : Q && Q in Object(t) ? function (t) {
- var e = z.call(t, Q), n = t[Q];
- try {
- t[Q] = void 0;
- var o = !0
- } catch (t) {
- }
- var r = $.call(t);
- o && (e ? t[Q] = n : delete t[Q]);
- return r
- }(t) : function (t) {
- return $.call(t)
- }(t)
- }
-
- function Ot(t) {
- return Jt(t) && Ct(t) == r
- }
-
- function St(t, e, n, o, c) {
- return t === e || (null == t || null == e || !Jt(t) && !Jt(e) ? t != t && e != e : function (t, e, n, o, c, f) {
- var m = Ut(t), E = Ut(e), T = m ? i : Ft(t), C = E ? i : Ft(e), O = (T = T == r ? p : T) == p,
- S = (C = C == r ? p : C) == p, I = T == C;
- if (I && jt(t)) {
- if (!jt(e)) return !1;
- m = !0, O = !1
- }
- if (I && !O) return f || (f = new bt), m || zt(t) ? Mt(t, e, n, o, c, f) : function (t, e, n, o, r, i, c) {
- switch (n) {
- case b:
- if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1;
- t = t.buffer, e = e.buffer;
- case _:
- return !(t.byteLength != e.byteLength || !i(new W(t), new W(e)));
- case a:
- case s:
- case d:
- return kt(+t, +e);
- case u:
- return t.name == e.name && t.message == e.message;
- case h:
- case y:
- return t == e + "";
- case l:
- var p = w;
- case g:
- var f = 1 & o;
- if (p || (p = R), t.size != e.size && !f) return !1;
- var m = c.get(t);
- if (m) return m == e;
- o |= 2, c.set(t, e);
- var E = Mt(p(t), p(e), o, r, i, c);
- return c.delete(t), E;
- case v:
- if (gt) return gt.call(t) == gt.call(e)
- }
- return !1
- }(t, e, T, n, o, c, f);
- if (!(1 & n)) {
- var x = O && z.call(t, "__wrapped__"), M = S && z.call(e, "__wrapped__");
- if (x || M) {
- var L = x ? t.value() : t, N = M ? e.value() : e;
- return f || (f = new bt), c(L, N, n, o, f)
- }
- }
- if (!I) return !1;
- return f || (f = new bt), function (t, e, n, o, r, i) {
- var a = 1 & n, s = Lt(t), u = s.length, c = Lt(e).length;
- if (u != c && !a) return !1;
- var l = u;
- for (; l--;) {
- var d = s[l];
- if (!(a ? d in e : z.call(e, d))) return !1
- }
- var p = i.get(t);
- if (p && i.get(e)) return p == e;
- var f = !0;
- i.set(t, e), i.set(e, t);
- var h = a;
- for (; ++l < u;) {
- var g = t[d = s[l]], y = e[d];
- if (o) var v = a ? o(y, g, d, e, t, i) : o(g, y, d, t, e, i);
- if (!(void 0 === v ? g === y || r(g, y, n, o, i) : v)) {
- f = !1;
- break
- }
- h || (h = "constructor" == d)
- }
- if (f && !h) {
- var m = t.constructor, _ = e.constructor;
- m == _ || !("constructor" in t) || !("constructor" in e) || "function" == typeof m && m instanceof m && "function" == typeof _ && _ instanceof _ || (f = !1)
- }
- return i.delete(t), i.delete(e), f
- }(t, e, n, o, c, f)
- }(t, e, n, o, St, c))
- }
-
- function It(t) {
- return !(!Gt(t) || function (t) {
- return !!Y && Y in t
- }(t)) && (Vt(t) ? q : E).test(Rt(t))
- }
-
- function xt(t) {
- if (n = (e = t) && e.constructor, o = "function" == typeof n && n.prototype || B, e !== o) return nt(t);
- var e, n, o, r = [];
- for (var i in Object(t)) z.call(t, i) && "constructor" != i && r.push(i);
- return r
- }
-
- function Mt(t, e, n, o, r, i) {
- var a = 1 & n, s = t.length, u = e.length;
- if (s != u && !(a && u > s)) return !1;
- var c = i.get(t);
- if (c && i.get(e)) return c == e;
- var l = -1, d = !0, p = 2 & n ? new _t : void 0;
- for (i.set(t, e), i.set(e, t); ++l < s;) {
- var f = t[l], h = e[l];
- if (o) var g = a ? o(h, f, l, e, t, i) : o(f, h, l, t, e, i);
- if (void 0 !== g) {
- if (g) continue;
- d = !1;
- break
- }
- if (p) {
- if (!F(e, (function (t, e) {
- if (a = e, !p.has(a) && (f === t || r(f, t, n, o, i))) return p.push(e);
- var a
- }))) {
- d = !1;
- break
- }
- } else if (f !== h && !r(f, h, n, o, i)) {
- d = !1;
- break
- }
- }
- return i.delete(t), i.delete(e), d
- }
-
- function Lt(t) {
- return function (t, e, n) {
- var o = e(t);
- return Ut(t) ? o : function (t, e) {
- for (var n = -1, o = e.length, r = t.length; ++n < o;) t[r + n] = e[n];
- return t
- }(o, n(t))
- }(t, Yt, Pt)
- }
-
- function Nt(t, e) {
- var n, o, r = t.__data__;
- return ("string" == (o = typeof (n = e)) || "number" == o || "symbol" == o || "boolean" == o ? "__proto__" !== n : null === n) ? r["string" == typeof e ? "string" : "hash"] : r.map
- }
-
- function At(t, e) {
- var n = function (t, e) {
- return null == t ? void 0 : t[e]
- }(t, e);
- return It(n) ? n : void 0
- }
-
- yt.prototype.clear = function () {
- this.__data__ = ut ? ut(null) : {}, this.size = 0
- }, yt.prototype.delete = function (t) {
- var e = this.has(t) && delete this.__data__[t];
- return this.size -= e ? 1 : 0, e
- }, yt.prototype.get = function (t) {
- var e = this.__data__;
- if (ut) {
- var o = e[t];
- return o === n ? void 0 : o
- }
- return z.call(e, t) ? e[t] : void 0
- }, yt.prototype.has = function (t) {
- var e = this.__data__;
- return ut ? void 0 !== e[t] : z.call(e, t)
- }, yt.prototype.set = function (t, e) {
- var o = this.__data__;
- return this.size += this.has(t) ? 0 : 1, o[t] = ut && void 0 === e ? n : e, this
- }, vt.prototype.clear = function () {
- this.__data__ = [], this.size = 0
- }, vt.prototype.delete = function (t) {
- var e = this.__data__, n = Tt(e, t);
- return !(n < 0) && (n == e.length - 1 ? e.pop() : K.call(e, n, 1), --this.size, !0)
- }, vt.prototype.get = function (t) {
- var e = this.__data__, n = Tt(e, t);
- return n < 0 ? void 0 : e[n][1]
- }, vt.prototype.has = function (t) {
- return Tt(this.__data__, t) > -1
- }, vt.prototype.set = function (t, e) {
- var n = this.__data__, o = Tt(n, t);
- return o < 0 ? (++this.size, n.push([t, e])) : n[o][1] = e, this
- }, mt.prototype.clear = function () {
- this.size = 0, this.__data__ = {hash: new yt, map: new (rt || vt), string: new yt}
- }, mt.prototype.delete = function (t) {
- var e = Nt(this, t).delete(t);
- return this.size -= e ? 1 : 0, e
- }, mt.prototype.get = function (t) {
- return Nt(this, t).get(t)
- }, mt.prototype.has = function (t) {
- return Nt(this, t).has(t)
- }, mt.prototype.set = function (t, e) {
- var n = Nt(this, t), o = n.size;
- return n.set(t, e), this.size += n.size == o ? 0 : 1, this
- }, _t.prototype.add = _t.prototype.push = function (t) {
- return this.__data__.set(t, n), this
- }, _t.prototype.has = function (t) {
- return this.__data__.has(t)
- }, bt.prototype.clear = function () {
- this.__data__ = new vt, this.size = 0
- }, bt.prototype.delete = function (t) {
- var e = this.__data__, n = e.delete(t);
- return this.size = e.size, n
- }, bt.prototype.get = function (t) {
- return this.__data__.get(t)
- }, bt.prototype.has = function (t) {
- return this.__data__.has(t)
- }, bt.prototype.set = function (t, e) {
- var n = this.__data__;
- if (n instanceof vt) {
- var o = n.__data__;
- if (!rt || o.length < 199) return o.push([t, e]), this.size = ++n.size, this;
- n = this.__data__ = new mt(o)
- }
- return n.set(t, e), this.size = n.size, this
- };
- var Pt = tt ? function (t) {
- return null == t ? [] : (t = Object(t), function (t, e) {
- for (var n = -1, o = null == t ? 0 : t.length, r = 0, i = []; ++n < o;) {
- var a = t[n];
- e(a, n, t) && (i[r++] = a)
- }
- return i
- }(tt(t), (function (e) {
- return Z.call(t, e)
- })))
- } : function () {
- return []
- }, Ft = Ct;
-
- function wt(t, e) {
- return !!(e = null == e ? o : e) && ("number" == typeof t || T.test(t)) && t > -1 && t % 1 == 0 && t < e
- }
-
- function Rt(t) {
- if (null != t) {
- try {
- return J.call(t)
- } catch (t) {
- }
- try {
- return t + ""
- } catch (t) {
- }
- }
- return ""
- }
-
- function kt(t, e) {
- return t === e || t != t && e != e
- }
-
- (ot && Ft(new ot(new ArrayBuffer(1))) != b || rt && Ft(new rt) != l || it && Ft(it.resolve()) != f || at && Ft(new at) != g || st && Ft(new st) != m) && (Ft = function (t) {
- var e = Ct(t), n = e == p ? t.constructor : void 0, o = n ? Rt(n) : "";
- if (o) switch (o) {
- case ct:
- return b;
- case lt:
- return l;
- case dt:
- return f;
- case pt:
- return g;
- case ft:
- return m
- }
- return e
- });
- var Dt = Ot(function () {
- return arguments
- }()) ? Ot : function (t) {
- return Jt(t) && z.call(t, "callee") && !Z.call(t, "callee")
- }, Ut = Array.isArray;
- var jt = et || function () {
- return !1
- };
-
- function Vt(t) {
- if (!Gt(t)) return !1;
- var e = Ct(t);
- return e == c || "[object GeneratorFunction]" == e || "[object AsyncFunction]" == e || "[object Proxy]" == e
- }
-
- function Bt(t) {
- return "number" == typeof t && t > -1 && t % 1 == 0 && t <= o
- }
-
- function Gt(t) {
- var e = typeof t;
- return null != t && ("object" == e || "function" == e)
- }
-
- function Jt(t) {
- return null != t && "object" == typeof t
- }
-
- var zt = P ? function (t) {
- return function (e) {
- return t(e)
- }
- }(P) : function (t) {
- return Jt(t) && Bt(t.length) && !!C[Ct(t)]
- };
-
- function Yt(t) {
- return null != (e = t) && Bt(e.length) && !Vt(e) ? Et(t) : xt(t);
- var e
- }
-
- t.exports = function (t, e) {
- return St(t, e)
- }
- }({
- get exports() {
- return se
- }, set exports(t) {
- se = t
- }
- }, se);
- var ue = se;
-
- function ce(t, e) {
- return t.length === e.length && JSON.stringify(t.map((function (t) {
- return t
- })).sort()) === JSON.stringify(e.map((function (t) {
- return t
- })).sort())
- }
-
- var le = {Polygon: U, LineString: D, Point: k, MultiPolygon: B, MultiLineString: B, MultiPoint: B};
- var de = Object.freeze({
- __proto__: null,
- CommonSelectors: dt,
- constrainFeatureMovement: $t,
- createMidPoint: yt,
- createSupplementaryPoints: vt,
- createVertex: gt,
- doubleClickZoom: mt,
- euclideanDistance: N,
- featuresAt: x,
- getFeatureAtAndSetCursors: L,
- isClick: A,
- isEventAtCoordinates: Qt,
- isTap: P,
- mapEventToBoundingBox: O,
- ModeHandler: t,
- moveFeatures: qt,
- sortFeatures: C,
- stringSetsAreEqual: ce,
- StringSet: S,
- theme: tt,
- toDenseArray: $
- }), pe = function (t, e) {
- var n = {
- options: t = function (t) {
- void 0 === t && (t = {});
- var e = W(t);
- return t.controls || (e.controls = {}), !1 === t.displayControlsDefault ? e.controls = W(ie, t.controls) : e.controls = W(re, t.controls), (e = W(oe, e)).styles = ae(e.styles, "cold").concat(ae(e.styles, "hot")), e
- }(t)
- };
- e = function (t, e) {
- return e.modes = f, e.getFeatureIdsAt = function (e) {
- return x.click({point: e}, null, t).map((function (t) {
- return t.properties.id
- }))
- }, e.getSelectedIds = function () {
- return t.store.getSelectedIds()
- }, e.getSelected = function () {
- return {
- type: p.FEATURE_COLLECTION, features: t.store.getSelectedIds().map((function (e) {
- return t.store.get(e)
- })).map((function (t) {
- return t.toGeoJSON()
- }))
- }
- }, e.getSelectedPoints = function () {
- return {
- type: p.FEATURE_COLLECTION, features: t.store.getSelectedCoordinates().map((function (t) {
- return {type: p.FEATURE, properties: {}, geometry: {type: p.POINT, coordinates: t.coordinates}}
- }))
- }
- }, e.set = function (n) {
- if (void 0 === n.type || n.type !== p.FEATURE_COLLECTION || !Array.isArray(n.features)) throw new Error("Invalid FeatureCollection");
- var o = t.store.createRenderBatch(), r = t.store.getAllIds().slice(), i = e.add(n), a = new S(i);
- return (r = r.filter((function (t) {
- return !a.has(t)
- }))).length && e.delete(r), o(), i
- }, e.add = function (e) {
- var n = JSON.parse(JSON.stringify(Et(e))).features.map((function (e) {
- if (e.id = e.id || F(), null === e.geometry) throw new Error("Invalid geometry: null");
- if (void 0 === t.store.get(e.id) || t.store.get(e.id).type !== e.geometry.type) {
- var n = le[e.geometry.type];
- if (void 0 === n) throw new Error("Invalid geometry type: " + e.geometry.type + ".");
- var o = new n(t, e);
- t.store.add(o)
- } else {
- var r = t.store.get(e.id);
- r.properties = e.properties, ue(r.getCoordinates(), e.geometry.coordinates) || r.incomingCoords(e.geometry.coordinates)
- }
- return e.id
- }));
- return t.store.render(), n
- }, e.get = function (e) {
- var n = t.store.get(e);
- if (n) return n.toGeoJSON()
- }, e.getAll = function () {
- return {
- type: p.FEATURE_COLLECTION, features: t.store.getAll().map((function (t) {
- return t.toGeoJSON()
- }))
- }
- }, e.delete = function (n) {
- return t.store.delete(n, {silent: !0}), e.getMode() !== f.DIRECT_SELECT || t.store.getSelectedIds().length ? t.store.render() : t.events.changeMode(f.SIMPLE_SELECT, void 0, {silent: !0}), e
- }, e.deleteAll = function () {
- return t.store.delete(t.store.getAllIds(), {silent: !0}), e.getMode() === f.DIRECT_SELECT ? t.events.changeMode(f.SIMPLE_SELECT, void 0, {silent: !0}) : t.store.render(), e
- }, e.changeMode = function (n, o) {
- return void 0 === o && (o = {}), n === f.SIMPLE_SELECT && e.getMode() === f.SIMPLE_SELECT ? (ce(o.featureIds || [], t.store.getSelectedIds()) || (t.store.setSelected(o.featureIds, {silent: !0}), t.store.render()), e) : (n === f.DIRECT_SELECT && e.getMode() === f.DIRECT_SELECT && o.featureId === t.store.getSelectedIds()[0] || t.events.changeMode(n, o, {silent: !0}), e)
- }, e.getMode = function () {
- return t.events.getMode()
- }, e.trash = function () {
- return t.events.trash({silent: !0}), e
- }, e.combineFeatures = function () {
- return t.events.combineFeatures({silent: !0}), e
- }, e.uncombineFeatures = function () {
- return t.events.uncombineFeatures({silent: !0}), e
- }, e.setFeatureProperty = function (n, o, r) {
- return t.store.setFeatureProperty(n, o, r), e
- }, e
- }(n, e), n.api = e;
- var o = Q(n);
- return e.onAdd = o.onAdd, e.onRemove = o.onRemove, e.types = d, e.options = t, e
- };
-
- function fe(t) {
- pe(t, this)
- }
-
- return fe.modes = ne, fe.constants = b, fe.lib = de, fe
- }));
- //# sourceMappingURL=mapbox-gl-draw.js.map