mapboxgl-tools 2.0.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -0
- package/dist/ui.es.js +1870 -1268
- package/dist/ui.umd.js +1 -1
- package/package.json +3 -3
package/dist/ui.es.js
CHANGED
|
@@ -1,1421 +1,2025 @@
|
|
|
1
|
-
|
|
1
|
+
import "@wbiokr/css-class";
|
|
2
2
|
import { coordListByStr } from "@wbiokr/geo";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var style$2 = "";
|
|
4
|
+
class CommonCtrol {
|
|
5
|
+
_onOpen() {
|
|
6
|
+
this._container.className += " wbiokr-ctrl-active";
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return uuid;
|
|
10
|
-
} else {
|
|
11
|
-
return uuid.substr(0, num);
|
|
8
|
+
_onClose() {
|
|
9
|
+
this._container.className = this._container.className.replaceAll("wbiokr-ctrl-active", "");
|
|
12
10
|
}
|
|
13
11
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
var xhtml = "http://www.w3.org/1999/xhtml";
|
|
13
|
+
var namespaces = {
|
|
14
|
+
svg: "http://www.w3.org/2000/svg",
|
|
15
|
+
xhtml,
|
|
16
|
+
xlink: "http://www.w3.org/1999/xlink",
|
|
17
|
+
xml: "http://www.w3.org/XML/1998/namespace",
|
|
18
|
+
xmlns: "http://www.w3.org/2000/xmlns/"
|
|
19
|
+
};
|
|
20
|
+
function namespace(name) {
|
|
21
|
+
var prefix = name += "", i2 = prefix.indexOf(":");
|
|
22
|
+
if (i2 >= 0 && (prefix = name.slice(0, i2)) !== "xmlns")
|
|
23
|
+
name = name.slice(i2 + 1);
|
|
24
|
+
return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name;
|
|
19
25
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
let leftLngLat = mercatorToLnglat(points[0], points[1]);
|
|
25
|
-
let rightLngLat = mercatorToLnglat(points[2], points[3]);
|
|
26
|
-
return `${$1}${leftLngLat[0]},${leftLngLat[1]},${rightLngLat[0]},${rightLngLat[1]}`;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return {
|
|
30
|
-
url
|
|
26
|
+
function creatorInherit(name) {
|
|
27
|
+
return function() {
|
|
28
|
+
var document2 = this.ownerDocument, uri = this.namespaceURI;
|
|
29
|
+
return uri === xhtml && document2.documentElement.namespaceURI === xhtml ? document2.createElement(name) : document2.createElementNS(uri, name);
|
|
31
30
|
};
|
|
32
31
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
input.select();
|
|
38
|
-
document.execCommand("copy");
|
|
39
|
-
document.body.removeChild(input);
|
|
32
|
+
function creatorFixed(fullname) {
|
|
33
|
+
return function() {
|
|
34
|
+
return this.ownerDocument.createElementNS(fullname.space, fullname.local);
|
|
35
|
+
};
|
|
40
36
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
checked: false,
|
|
45
|
-
disabled: false,
|
|
46
|
-
indeterminate: false,
|
|
47
|
-
onChange: () => {
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
class Checkbox {
|
|
51
|
-
constructor(container, e2) {
|
|
52
|
-
this.options = {
|
|
53
|
-
...options$6,
|
|
54
|
-
...e2
|
|
55
|
-
};
|
|
56
|
-
this._container = container;
|
|
57
|
-
this._wrapper = null;
|
|
58
|
-
this._content = null;
|
|
59
|
-
this._render();
|
|
60
|
-
}
|
|
61
|
-
_render() {
|
|
62
|
-
const dom = document.createElement("div");
|
|
63
|
-
dom.className = this._wrapperClass();
|
|
64
|
-
const span = document.createElement("span");
|
|
65
|
-
span.className = this._contentClass();
|
|
66
|
-
dom.append(span);
|
|
67
|
-
this._wrapper = dom;
|
|
68
|
-
this._content = span;
|
|
69
|
-
dom.onclick = () => {
|
|
70
|
-
if (this.options.disabled)
|
|
71
|
-
return;
|
|
72
|
-
this.options.indeterminate = false;
|
|
73
|
-
this.options.checked = !this.options.checked;
|
|
74
|
-
dom.className = this._wrapperClass();
|
|
75
|
-
span.className = this._contentClass();
|
|
76
|
-
this.options.onChange && this.options.onChange(this.options);
|
|
77
|
-
};
|
|
78
|
-
this._container.append(dom);
|
|
79
|
-
}
|
|
80
|
-
_updateStatus(args) {
|
|
81
|
-
this.options = {
|
|
82
|
-
...this.options,
|
|
83
|
-
...args
|
|
84
|
-
};
|
|
85
|
-
this._wrapper.className = this._wrapperClass();
|
|
86
|
-
this._content.className = this._contentClass();
|
|
87
|
-
}
|
|
88
|
-
_wrapperClass() {
|
|
89
|
-
let classname = `wbiokr-com-checkbox w-15 h-15 b-r-2 b-ccc ease-200 border-hover-app f-c c-p`;
|
|
90
|
-
classname += !this.options.indeterminate && this.options.checked ? " bg-color-app b-c-app p-r wbiokr-com-checked " : " bg-color-fff b-c-ccc ";
|
|
91
|
-
classname += this.options.className;
|
|
92
|
-
return classname;
|
|
93
|
-
}
|
|
94
|
-
_contentClass() {
|
|
95
|
-
let classname = `wbiokr-com-checkbox-content ease-300 `;
|
|
96
|
-
classname += !this.options.indeterminate && this.options.checked ? " top-5 w-5 h-10 b-fff b-w-2 rotate-45 b-no-t b-no-l o-100 " : this.options.indeterminate ? " w-5 h-5 bg-color-app o-100 " : " rotate-reverse-45 b-fff b-w-2 ";
|
|
97
|
-
return classname;
|
|
98
|
-
}
|
|
37
|
+
function creator(name) {
|
|
38
|
+
var fullname = namespace(name);
|
|
39
|
+
return (fullname.local ? creatorFixed : creatorInherit)(fullname);
|
|
99
40
|
}
|
|
100
|
-
|
|
101
|
-
var factors = {
|
|
102
|
-
centimeters: earthRadius * 100,
|
|
103
|
-
centimetres: earthRadius * 100,
|
|
104
|
-
degrees: earthRadius / 111325,
|
|
105
|
-
feet: earthRadius * 3.28084,
|
|
106
|
-
inches: earthRadius * 39.37,
|
|
107
|
-
kilometers: earthRadius / 1e3,
|
|
108
|
-
kilometres: earthRadius / 1e3,
|
|
109
|
-
meters: earthRadius,
|
|
110
|
-
metres: earthRadius,
|
|
111
|
-
miles: earthRadius / 1609.344,
|
|
112
|
-
millimeters: earthRadius * 1e3,
|
|
113
|
-
millimetres: earthRadius * 1e3,
|
|
114
|
-
nauticalmiles: earthRadius / 1852,
|
|
115
|
-
radians: 1,
|
|
116
|
-
yards: earthRadius * 1.0936
|
|
117
|
-
};
|
|
118
|
-
function feature(geom, properties, options2) {
|
|
119
|
-
if (options2 === void 0) {
|
|
120
|
-
options2 = {};
|
|
121
|
-
}
|
|
122
|
-
var feat = { type: "Feature" };
|
|
123
|
-
if (options2.id === 0 || options2.id) {
|
|
124
|
-
feat.id = options2.id;
|
|
125
|
-
}
|
|
126
|
-
if (options2.bbox) {
|
|
127
|
-
feat.bbox = options2.bbox;
|
|
128
|
-
}
|
|
129
|
-
feat.properties = properties || {};
|
|
130
|
-
feat.geometry = geom;
|
|
131
|
-
return feat;
|
|
41
|
+
function none() {
|
|
132
42
|
}
|
|
133
|
-
function
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
for (var
|
|
143
|
-
if (
|
|
144
|
-
|
|
43
|
+
function selector(selector2) {
|
|
44
|
+
return selector2 == null ? none : function() {
|
|
45
|
+
return this.querySelector(selector2);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function selection_select(select) {
|
|
49
|
+
if (typeof select !== "function")
|
|
50
|
+
select = selector(select);
|
|
51
|
+
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
52
|
+
for (var group = groups[j], n2 = group.length, subgroup = subgroups[j] = new Array(n2), node, subnode, i2 = 0; i2 < n2; ++i2) {
|
|
53
|
+
if ((node = group[i2]) && (subnode = select.call(node, node.__data__, i2, group))) {
|
|
54
|
+
if ("__data__" in node)
|
|
55
|
+
subnode.__data__ = node.__data__;
|
|
56
|
+
subgroup[i2] = subnode;
|
|
145
57
|
}
|
|
146
58
|
}
|
|
147
59
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
60
|
+
return new Selection(subgroups, this._parents);
|
|
61
|
+
}
|
|
62
|
+
function array(x) {
|
|
63
|
+
return x == null ? [] : Array.isArray(x) ? x : Array.from(x);
|
|
64
|
+
}
|
|
65
|
+
function empty() {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
function selectorAll(selector2) {
|
|
69
|
+
return selector2 == null ? empty : function() {
|
|
70
|
+
return this.querySelectorAll(selector2);
|
|
151
71
|
};
|
|
152
|
-
return feature(geom, properties, options2);
|
|
153
72
|
}
|
|
154
|
-
function
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
if (coordinates.length < 2) {
|
|
159
|
-
throw new Error("coordinates must be an array of two or more positions");
|
|
160
|
-
}
|
|
161
|
-
var geom = {
|
|
162
|
-
type: "LineString",
|
|
163
|
-
coordinates
|
|
73
|
+
function arrayAll(select) {
|
|
74
|
+
return function() {
|
|
75
|
+
return array(select.apply(this, arguments));
|
|
164
76
|
};
|
|
165
|
-
return feature(geom, properties, options2);
|
|
166
77
|
}
|
|
167
|
-
function
|
|
168
|
-
if (
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
78
|
+
function selection_selectAll(select) {
|
|
79
|
+
if (typeof select === "function")
|
|
80
|
+
select = arrayAll(select);
|
|
81
|
+
else
|
|
82
|
+
select = selectorAll(select);
|
|
83
|
+
for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
|
|
84
|
+
for (var group = groups[j], n2 = group.length, node, i2 = 0; i2 < n2; ++i2) {
|
|
85
|
+
if (node = group[i2]) {
|
|
86
|
+
subgroups.push(select.call(node, node.__data__, i2, group));
|
|
87
|
+
parents.push(node);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
174
90
|
}
|
|
175
|
-
return
|
|
91
|
+
return new Selection(subgroups, parents);
|
|
176
92
|
}
|
|
177
|
-
function
|
|
178
|
-
|
|
179
|
-
|
|
93
|
+
function matcher(selector2) {
|
|
94
|
+
return function() {
|
|
95
|
+
return this.matches(selector2);
|
|
96
|
+
};
|
|
180
97
|
}
|
|
181
|
-
function
|
|
182
|
-
|
|
183
|
-
return;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
coords[j],
|
|
218
|
-
coordIndex,
|
|
219
|
-
featureIndex,
|
|
220
|
-
multiFeatureIndex,
|
|
221
|
-
geometryIndex
|
|
222
|
-
) === false)
|
|
223
|
-
return false;
|
|
224
|
-
coordIndex++;
|
|
225
|
-
if (geomType === "MultiPoint")
|
|
226
|
-
multiFeatureIndex++;
|
|
227
|
-
}
|
|
228
|
-
if (geomType === "LineString")
|
|
229
|
-
multiFeatureIndex++;
|
|
230
|
-
break;
|
|
231
|
-
case "Polygon":
|
|
232
|
-
case "MultiLineString":
|
|
233
|
-
for (j = 0; j < coords.length; j++) {
|
|
234
|
-
for (k = 0; k < coords[j].length - wrapShrink; k++) {
|
|
235
|
-
if (callback(
|
|
236
|
-
coords[j][k],
|
|
237
|
-
coordIndex,
|
|
238
|
-
featureIndex,
|
|
239
|
-
multiFeatureIndex,
|
|
240
|
-
geometryIndex
|
|
241
|
-
) === false)
|
|
242
|
-
return false;
|
|
243
|
-
coordIndex++;
|
|
244
|
-
}
|
|
245
|
-
if (geomType === "MultiLineString")
|
|
246
|
-
multiFeatureIndex++;
|
|
247
|
-
if (geomType === "Polygon")
|
|
248
|
-
geometryIndex++;
|
|
249
|
-
}
|
|
250
|
-
if (geomType === "Polygon")
|
|
251
|
-
multiFeatureIndex++;
|
|
252
|
-
break;
|
|
253
|
-
case "MultiPolygon":
|
|
254
|
-
for (j = 0; j < coords.length; j++) {
|
|
255
|
-
geometryIndex = 0;
|
|
256
|
-
for (k = 0; k < coords[j].length; k++) {
|
|
257
|
-
for (l = 0; l < coords[j][k].length - wrapShrink; l++) {
|
|
258
|
-
if (callback(
|
|
259
|
-
coords[j][k][l],
|
|
260
|
-
coordIndex,
|
|
261
|
-
featureIndex,
|
|
262
|
-
multiFeatureIndex,
|
|
263
|
-
geometryIndex
|
|
264
|
-
) === false)
|
|
265
|
-
return false;
|
|
266
|
-
coordIndex++;
|
|
267
|
-
}
|
|
268
|
-
geometryIndex++;
|
|
269
|
-
}
|
|
270
|
-
multiFeatureIndex++;
|
|
271
|
-
}
|
|
272
|
-
break;
|
|
273
|
-
case "GeometryCollection":
|
|
274
|
-
for (j = 0; j < geometry.geometries.length; j++)
|
|
275
|
-
if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)
|
|
276
|
-
return false;
|
|
277
|
-
break;
|
|
278
|
-
default:
|
|
279
|
-
throw new Error("Unknown Geometry Type");
|
|
98
|
+
function childMatcher(selector2) {
|
|
99
|
+
return function(node) {
|
|
100
|
+
return node.matches(selector2);
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
var find = Array.prototype.find;
|
|
104
|
+
function childFind(match) {
|
|
105
|
+
return function() {
|
|
106
|
+
return find.call(this.children, match);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function childFirst() {
|
|
110
|
+
return this.firstElementChild;
|
|
111
|
+
}
|
|
112
|
+
function selection_selectChild(match) {
|
|
113
|
+
return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match)));
|
|
114
|
+
}
|
|
115
|
+
var filter = Array.prototype.filter;
|
|
116
|
+
function children() {
|
|
117
|
+
return Array.from(this.children);
|
|
118
|
+
}
|
|
119
|
+
function childrenFilter(match) {
|
|
120
|
+
return function() {
|
|
121
|
+
return filter.call(this.children, match);
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function selection_selectChildren(match) {
|
|
125
|
+
return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match)));
|
|
126
|
+
}
|
|
127
|
+
function selection_filter(match) {
|
|
128
|
+
if (typeof match !== "function")
|
|
129
|
+
match = matcher(match);
|
|
130
|
+
for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
|
|
131
|
+
for (var group = groups[j], n2 = group.length, subgroup = subgroups[j] = [], node, i2 = 0; i2 < n2; ++i2) {
|
|
132
|
+
if ((node = group[i2]) && match.call(node, node.__data__, i2, group)) {
|
|
133
|
+
subgroup.push(node);
|
|
280
134
|
}
|
|
281
135
|
}
|
|
282
136
|
}
|
|
137
|
+
return new Selection(subgroups, this._parents);
|
|
283
138
|
}
|
|
284
|
-
function
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
139
|
+
function sparse(update) {
|
|
140
|
+
return new Array(update.length);
|
|
141
|
+
}
|
|
142
|
+
function selection_enter() {
|
|
143
|
+
return new Selection(this._enter || this._groups.map(sparse), this._parents);
|
|
144
|
+
}
|
|
145
|
+
function EnterNode(parent, datum2) {
|
|
146
|
+
this.ownerDocument = parent.ownerDocument;
|
|
147
|
+
this.namespaceURI = parent.namespaceURI;
|
|
148
|
+
this._next = null;
|
|
149
|
+
this._parent = parent;
|
|
150
|
+
this.__data__ = datum2;
|
|
151
|
+
}
|
|
152
|
+
EnterNode.prototype = {
|
|
153
|
+
constructor: EnterNode,
|
|
154
|
+
appendChild: function(child) {
|
|
155
|
+
return this._parent.insertBefore(child, this._next);
|
|
156
|
+
},
|
|
157
|
+
insertBefore: function(child, next) {
|
|
158
|
+
return this._parent.insertBefore(child, next);
|
|
159
|
+
},
|
|
160
|
+
querySelector: function(selector2) {
|
|
161
|
+
return this._parent.querySelector(selector2);
|
|
162
|
+
},
|
|
163
|
+
querySelectorAll: function(selector2) {
|
|
164
|
+
return this._parent.querySelectorAll(selector2);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
function constant(x) {
|
|
168
|
+
return function() {
|
|
169
|
+
return x;
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function bindIndex(parent, group, enter, update, exit, data) {
|
|
173
|
+
var i2 = 0, node, groupLength = group.length, dataLength = data.length;
|
|
174
|
+
for (; i2 < dataLength; ++i2) {
|
|
175
|
+
if (node = group[i2]) {
|
|
176
|
+
node.__data__ = data[i2];
|
|
177
|
+
update[i2] = node;
|
|
178
|
+
} else {
|
|
179
|
+
enter[i2] = new EnterNode(parent, data[i2]);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
for (; i2 < groupLength; ++i2) {
|
|
183
|
+
if (node = group[i2]) {
|
|
184
|
+
exit[i2] = node;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function bindKey(parent, group, enter, update, exit, data, key) {
|
|
189
|
+
var i2, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
|
|
190
|
+
for (i2 = 0; i2 < groupLength; ++i2) {
|
|
191
|
+
if (node = group[i2]) {
|
|
192
|
+
keyValues[i2] = keyValue = key.call(node, node.__data__, i2, group) + "";
|
|
193
|
+
if (nodeByKeyValue.has(keyValue)) {
|
|
194
|
+
exit[i2] = node;
|
|
195
|
+
} else {
|
|
196
|
+
nodeByKeyValue.set(keyValue, node);
|
|
305
197
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
for (i2 = 0; i2 < dataLength; ++i2) {
|
|
201
|
+
keyValue = key.call(parent, data[i2], i2, data) + "";
|
|
202
|
+
if (node = nodeByKeyValue.get(keyValue)) {
|
|
203
|
+
update[i2] = node;
|
|
204
|
+
node.__data__ = data[i2];
|
|
205
|
+
nodeByKeyValue.delete(keyValue);
|
|
206
|
+
} else {
|
|
207
|
+
enter[i2] = new EnterNode(parent, data[i2]);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
for (i2 = 0; i2 < groupLength; ++i2) {
|
|
211
|
+
if ((node = group[i2]) && nodeByKeyValue.get(keyValues[i2]) === node) {
|
|
212
|
+
exit[i2] = node;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function datum(node) {
|
|
217
|
+
return node.__data__;
|
|
218
|
+
}
|
|
219
|
+
function selection_data(value, key) {
|
|
220
|
+
if (!arguments.length)
|
|
221
|
+
return Array.from(this, datum);
|
|
222
|
+
var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;
|
|
223
|
+
if (typeof value !== "function")
|
|
224
|
+
value = constant(value);
|
|
225
|
+
for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
|
|
226
|
+
var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
|
|
227
|
+
bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
|
|
228
|
+
for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
|
|
229
|
+
if (previous = enterGroup[i0]) {
|
|
230
|
+
if (i0 >= i1)
|
|
231
|
+
i1 = i0 + 1;
|
|
232
|
+
while (!(next = updateGroup[i1]) && ++i1 < dataLength)
|
|
233
|
+
;
|
|
234
|
+
previous._next = next || null;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
update = new Selection(update, parents);
|
|
239
|
+
update._enter = enter;
|
|
240
|
+
update._exit = exit;
|
|
241
|
+
return update;
|
|
242
|
+
}
|
|
243
|
+
function arraylike(data) {
|
|
244
|
+
return typeof data === "object" && "length" in data ? data : Array.from(data);
|
|
245
|
+
}
|
|
246
|
+
function selection_exit() {
|
|
247
|
+
return new Selection(this._exit || this._groups.map(sparse), this._parents);
|
|
248
|
+
}
|
|
249
|
+
function selection_join(onenter, onupdate, onexit) {
|
|
250
|
+
var enter = this.enter(), update = this, exit = this.exit();
|
|
251
|
+
if (typeof onenter === "function") {
|
|
252
|
+
enter = onenter(enter);
|
|
253
|
+
if (enter)
|
|
254
|
+
enter = enter.selection();
|
|
255
|
+
} else {
|
|
256
|
+
enter = enter.append(onenter + "");
|
|
257
|
+
}
|
|
258
|
+
if (onupdate != null) {
|
|
259
|
+
update = onupdate(update);
|
|
260
|
+
if (update)
|
|
261
|
+
update = update.selection();
|
|
262
|
+
}
|
|
263
|
+
if (onexit == null)
|
|
264
|
+
exit.remove();
|
|
265
|
+
else
|
|
266
|
+
onexit(exit);
|
|
267
|
+
return enter && update ? enter.merge(update).order() : update;
|
|
268
|
+
}
|
|
269
|
+
function selection_merge(context) {
|
|
270
|
+
var selection = context.selection ? context.selection() : context;
|
|
271
|
+
for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
|
|
272
|
+
for (var group0 = groups0[j], group1 = groups1[j], n2 = group0.length, merge = merges[j] = new Array(n2), node, i2 = 0; i2 < n2; ++i2) {
|
|
273
|
+
if (node = group0[i2] || group1[i2]) {
|
|
274
|
+
merge[i2] = node;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
for (; j < m0; ++j) {
|
|
279
|
+
merges[j] = groups0[j];
|
|
280
|
+
}
|
|
281
|
+
return new Selection(merges, this._parents);
|
|
282
|
+
}
|
|
283
|
+
function selection_order() {
|
|
284
|
+
for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
|
|
285
|
+
for (var group = groups[j], i2 = group.length - 1, next = group[i2], node; --i2 >= 0; ) {
|
|
286
|
+
if (node = group[i2]) {
|
|
287
|
+
if (next && node.compareDocumentPosition(next) ^ 4)
|
|
288
|
+
next.parentNode.insertBefore(node, next);
|
|
289
|
+
next = node;
|
|
338
290
|
}
|
|
339
291
|
}
|
|
340
|
-
featureIndex++;
|
|
341
292
|
}
|
|
293
|
+
return this;
|
|
342
294
|
}
|
|
343
|
-
function
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
featureIndex,
|
|
355
|
-
featureProperties,
|
|
356
|
-
featureBBox,
|
|
357
|
-
featureId
|
|
358
|
-
);
|
|
295
|
+
function selection_sort(compare) {
|
|
296
|
+
if (!compare)
|
|
297
|
+
compare = ascending;
|
|
298
|
+
function compareNode(a2, b) {
|
|
299
|
+
return a2 && b ? compare(a2.__data__, b.__data__) : !a2 - !b;
|
|
300
|
+
}
|
|
301
|
+
for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
|
|
302
|
+
for (var group = groups[j], n2 = group.length, sortgroup = sortgroups[j] = new Array(n2), node, i2 = 0; i2 < n2; ++i2) {
|
|
303
|
+
if (node = group[i2]) {
|
|
304
|
+
sortgroup[i2] = node;
|
|
305
|
+
}
|
|
359
306
|
}
|
|
360
|
-
|
|
361
|
-
|
|
307
|
+
sortgroup.sort(compareNode);
|
|
308
|
+
}
|
|
309
|
+
return new Selection(sortgroups, this._parents).order();
|
|
362
310
|
}
|
|
363
|
-
function
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
case "MultiPoint":
|
|
382
|
-
geomType = "Point";
|
|
383
|
-
break;
|
|
384
|
-
case "MultiLineString":
|
|
385
|
-
geomType = "LineString";
|
|
386
|
-
break;
|
|
387
|
-
case "MultiPolygon":
|
|
388
|
-
geomType = "Polygon";
|
|
389
|
-
break;
|
|
390
|
-
}
|
|
391
|
-
for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {
|
|
392
|
-
var coordinate = geometry.coordinates[multiFeatureIndex];
|
|
393
|
-
var geom = {
|
|
394
|
-
type: geomType,
|
|
395
|
-
coordinates: coordinate
|
|
396
|
-
};
|
|
397
|
-
if (callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false)
|
|
398
|
-
return false;
|
|
311
|
+
function ascending(a2, b) {
|
|
312
|
+
return a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
|
|
313
|
+
}
|
|
314
|
+
function selection_call() {
|
|
315
|
+
var callback = arguments[0];
|
|
316
|
+
arguments[0] = this;
|
|
317
|
+
callback.apply(null, arguments);
|
|
318
|
+
return this;
|
|
319
|
+
}
|
|
320
|
+
function selection_nodes() {
|
|
321
|
+
return Array.from(this);
|
|
322
|
+
}
|
|
323
|
+
function selection_node() {
|
|
324
|
+
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
325
|
+
for (var group = groups[j], i2 = 0, n2 = group.length; i2 < n2; ++i2) {
|
|
326
|
+
var node = group[i2];
|
|
327
|
+
if (node)
|
|
328
|
+
return node;
|
|
399
329
|
}
|
|
400
|
-
}
|
|
330
|
+
}
|
|
331
|
+
return null;
|
|
401
332
|
}
|
|
402
|
-
function
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
var type = feature2.geometry.type;
|
|
408
|
-
if (type === "Point" || type === "MultiPoint")
|
|
409
|
-
return;
|
|
410
|
-
var previousCoords;
|
|
411
|
-
var previousFeatureIndex = 0;
|
|
412
|
-
var previousMultiIndex = 0;
|
|
413
|
-
var prevGeomIndex = 0;
|
|
414
|
-
if (coordEach(
|
|
415
|
-
feature2,
|
|
416
|
-
function(currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {
|
|
417
|
-
if (previousCoords === void 0 || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {
|
|
418
|
-
previousCoords = currentCoord;
|
|
419
|
-
previousFeatureIndex = featureIndex;
|
|
420
|
-
previousMultiIndex = multiPartIndexCoord;
|
|
421
|
-
prevGeomIndex = geometryIndex;
|
|
422
|
-
segmentIndex = 0;
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
|
-
var currentSegment = lineString(
|
|
426
|
-
[previousCoords, currentCoord],
|
|
427
|
-
feature2.properties
|
|
428
|
-
);
|
|
429
|
-
if (callback(
|
|
430
|
-
currentSegment,
|
|
431
|
-
featureIndex,
|
|
432
|
-
multiFeatureIndex,
|
|
433
|
-
geometryIndex,
|
|
434
|
-
segmentIndex
|
|
435
|
-
) === false)
|
|
436
|
-
return false;
|
|
437
|
-
segmentIndex++;
|
|
438
|
-
previousCoords = currentCoord;
|
|
439
|
-
}
|
|
440
|
-
) === false)
|
|
441
|
-
return false;
|
|
442
|
-
});
|
|
333
|
+
function selection_size() {
|
|
334
|
+
let size = 0;
|
|
335
|
+
for (const node of this)
|
|
336
|
+
++size;
|
|
337
|
+
return size;
|
|
443
338
|
}
|
|
444
|
-
function
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
if (
|
|
451
|
-
|
|
452
|
-
else
|
|
453
|
-
previousValue = callback(
|
|
454
|
-
previousValue,
|
|
455
|
-
currentSegment,
|
|
456
|
-
featureIndex,
|
|
457
|
-
multiFeatureIndex,
|
|
458
|
-
geometryIndex,
|
|
459
|
-
segmentIndex
|
|
460
|
-
);
|
|
461
|
-
started = true;
|
|
339
|
+
function selection_empty() {
|
|
340
|
+
return !this.node();
|
|
341
|
+
}
|
|
342
|
+
function selection_each(callback) {
|
|
343
|
+
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
344
|
+
for (var group = groups[j], i2 = 0, n2 = group.length, node; i2 < n2; ++i2) {
|
|
345
|
+
if (node = group[i2])
|
|
346
|
+
callback.call(node, node.__data__, i2, group);
|
|
462
347
|
}
|
|
463
|
-
|
|
464
|
-
return
|
|
348
|
+
}
|
|
349
|
+
return this;
|
|
350
|
+
}
|
|
351
|
+
function attrRemove(name) {
|
|
352
|
+
return function() {
|
|
353
|
+
this.removeAttribute(name);
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
function attrRemoveNS(fullname) {
|
|
357
|
+
return function() {
|
|
358
|
+
this.removeAttributeNS(fullname.space, fullname.local);
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
function attrConstant(name, value) {
|
|
362
|
+
return function() {
|
|
363
|
+
this.setAttribute(name, value);
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
function attrConstantNS(fullname, value) {
|
|
367
|
+
return function() {
|
|
368
|
+
this.setAttributeNS(fullname.space, fullname.local, value);
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
function attrFunction(name, value) {
|
|
372
|
+
return function() {
|
|
373
|
+
var v = value.apply(this, arguments);
|
|
374
|
+
if (v == null)
|
|
375
|
+
this.removeAttribute(name);
|
|
376
|
+
else
|
|
377
|
+
this.setAttribute(name, v);
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
function attrFunctionNS(fullname, value) {
|
|
381
|
+
return function() {
|
|
382
|
+
var v = value.apply(this, arguments);
|
|
383
|
+
if (v == null)
|
|
384
|
+
this.removeAttributeNS(fullname.space, fullname.local);
|
|
385
|
+
else
|
|
386
|
+
this.setAttributeNS(fullname.space, fullname.local, v);
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
function selection_attr(name, value) {
|
|
390
|
+
var fullname = namespace(name);
|
|
391
|
+
if (arguments.length < 2) {
|
|
392
|
+
var node = this.node();
|
|
393
|
+
return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname);
|
|
394
|
+
}
|
|
395
|
+
return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value));
|
|
396
|
+
}
|
|
397
|
+
function defaultView(node) {
|
|
398
|
+
return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView;
|
|
399
|
+
}
|
|
400
|
+
function styleRemove(name) {
|
|
401
|
+
return function() {
|
|
402
|
+
this.style.removeProperty(name);
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
function styleConstant(name, value, priority) {
|
|
406
|
+
return function() {
|
|
407
|
+
this.style.setProperty(name, value, priority);
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
function styleFunction(name, value, priority) {
|
|
411
|
+
return function() {
|
|
412
|
+
var v = value.apply(this, arguments);
|
|
413
|
+
if (v == null)
|
|
414
|
+
this.style.removeProperty(name);
|
|
415
|
+
else
|
|
416
|
+
this.style.setProperty(name, v, priority);
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
function selection_style(name, value, priority) {
|
|
420
|
+
return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name);
|
|
421
|
+
}
|
|
422
|
+
function styleValue(node, name) {
|
|
423
|
+
return node.style.getPropertyValue(name) || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);
|
|
424
|
+
}
|
|
425
|
+
function propertyRemove(name) {
|
|
426
|
+
return function() {
|
|
427
|
+
delete this[name];
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
function propertyConstant(name, value) {
|
|
431
|
+
return function() {
|
|
432
|
+
this[name] = value;
|
|
433
|
+
};
|
|
465
434
|
}
|
|
466
|
-
function
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
435
|
+
function propertyFunction(name, value) {
|
|
436
|
+
return function() {
|
|
437
|
+
var v = value.apply(this, arguments);
|
|
438
|
+
if (v == null)
|
|
439
|
+
delete this[name];
|
|
440
|
+
else
|
|
441
|
+
this[name] = v;
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
function selection_property(name, value) {
|
|
445
|
+
return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];
|
|
446
|
+
}
|
|
447
|
+
function classArray(string) {
|
|
448
|
+
return string.trim().split(/^|\s+/);
|
|
449
|
+
}
|
|
450
|
+
function classList(node) {
|
|
451
|
+
return node.classList || new ClassList(node);
|
|
452
|
+
}
|
|
453
|
+
function ClassList(node) {
|
|
454
|
+
this._node = node;
|
|
455
|
+
this._names = classArray(node.getAttribute("class") || "");
|
|
456
|
+
}
|
|
457
|
+
ClassList.prototype = {
|
|
458
|
+
add: function(name) {
|
|
459
|
+
var i2 = this._names.indexOf(name);
|
|
460
|
+
if (i2 < 0) {
|
|
461
|
+
this._names.push(name);
|
|
462
|
+
this._node.setAttribute("class", this._names.join(" "));
|
|
473
463
|
}
|
|
474
|
-
|
|
475
|
-
|
|
464
|
+
},
|
|
465
|
+
remove: function(name) {
|
|
466
|
+
var i2 = this._names.indexOf(name);
|
|
467
|
+
if (i2 >= 0) {
|
|
468
|
+
this._names.splice(i2, 1);
|
|
469
|
+
this._node.setAttribute("class", this._names.join(" "));
|
|
476
470
|
}
|
|
471
|
+
},
|
|
472
|
+
contains: function(name) {
|
|
473
|
+
return this._names.indexOf(name) >= 0;
|
|
477
474
|
}
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
475
|
+
};
|
|
476
|
+
function classedAdd(node, names) {
|
|
477
|
+
var list = classList(node), i2 = -1, n2 = names.length;
|
|
478
|
+
while (++i2 < n2)
|
|
479
|
+
list.add(names[i2]);
|
|
482
480
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
}
|
|
488
|
-
var coordinates1 = getCoord(from);
|
|
489
|
-
var coordinates2 = getCoord(to);
|
|
490
|
-
var dLat = degreesToRadians(coordinates2[1] - coordinates1[1]);
|
|
491
|
-
var dLon = degreesToRadians(coordinates2[0] - coordinates1[0]);
|
|
492
|
-
var lat1 = degreesToRadians(coordinates1[1]);
|
|
493
|
-
var lat2 = degreesToRadians(coordinates2[1]);
|
|
494
|
-
var a2 = Math.pow(Math.sin(dLat / 2), 2) + Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
495
|
-
return radiansToLength(2 * Math.atan2(Math.sqrt(a2), Math.sqrt(1 - a2)), options2.units);
|
|
481
|
+
function classedRemove(node, names) {
|
|
482
|
+
var list = classList(node), i2 = -1, n2 = names.length;
|
|
483
|
+
while (++i2 < n2)
|
|
484
|
+
list.remove(names[i2]);
|
|
496
485
|
}
|
|
497
|
-
|
|
498
|
-
function
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
}, 0);
|
|
486
|
+
function classedTrue(names) {
|
|
487
|
+
return function() {
|
|
488
|
+
classedAdd(this, names);
|
|
489
|
+
};
|
|
502
490
|
}
|
|
503
|
-
function
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
case "Polygon":
|
|
508
|
-
return polygonArea(geom.coordinates);
|
|
509
|
-
case "MultiPolygon":
|
|
510
|
-
for (i2 = 0; i2 < geom.coordinates.length; i2++) {
|
|
511
|
-
total += polygonArea(geom.coordinates[i2]);
|
|
512
|
-
}
|
|
513
|
-
return total;
|
|
514
|
-
case "Point":
|
|
515
|
-
case "MultiPoint":
|
|
516
|
-
case "LineString":
|
|
517
|
-
case "MultiLineString":
|
|
518
|
-
return 0;
|
|
519
|
-
}
|
|
520
|
-
return 0;
|
|
491
|
+
function classedFalse(names) {
|
|
492
|
+
return function() {
|
|
493
|
+
classedRemove(this, names);
|
|
494
|
+
};
|
|
521
495
|
}
|
|
522
|
-
function
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
for (var i2 = 1; i2 < coords.length; i2++) {
|
|
527
|
-
total -= Math.abs(ringArea(coords[i2]));
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
return total;
|
|
496
|
+
function classedFunction(names, value) {
|
|
497
|
+
return function() {
|
|
498
|
+
(value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
|
|
499
|
+
};
|
|
531
500
|
}
|
|
532
|
-
function
|
|
533
|
-
var
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
var total = 0;
|
|
541
|
-
var coordsLength = coords.length;
|
|
542
|
-
if (coordsLength > 2) {
|
|
543
|
-
for (i2 = 0; i2 < coordsLength; i2++) {
|
|
544
|
-
if (i2 === coordsLength - 2) {
|
|
545
|
-
lowerIndex = coordsLength - 2;
|
|
546
|
-
middleIndex = coordsLength - 1;
|
|
547
|
-
upperIndex = 0;
|
|
548
|
-
} else if (i2 === coordsLength - 1) {
|
|
549
|
-
lowerIndex = coordsLength - 1;
|
|
550
|
-
middleIndex = 0;
|
|
551
|
-
upperIndex = 1;
|
|
552
|
-
} else {
|
|
553
|
-
lowerIndex = i2;
|
|
554
|
-
middleIndex = i2 + 1;
|
|
555
|
-
upperIndex = i2 + 2;
|
|
556
|
-
}
|
|
557
|
-
p1 = coords[lowerIndex];
|
|
558
|
-
p2 = coords[middleIndex];
|
|
559
|
-
p3 = coords[upperIndex];
|
|
560
|
-
total += (rad(p3[0]) - rad(p1[0])) * Math.sin(rad(p2[1]));
|
|
561
|
-
}
|
|
562
|
-
total = total * RADIUS * RADIUS / 2;
|
|
501
|
+
function selection_classed(name, value) {
|
|
502
|
+
var names = classArray(name + "");
|
|
503
|
+
if (arguments.length < 2) {
|
|
504
|
+
var list = classList(this.node()), i2 = -1, n2 = names.length;
|
|
505
|
+
while (++i2 < n2)
|
|
506
|
+
if (!list.contains(names[i2]))
|
|
507
|
+
return false;
|
|
508
|
+
return true;
|
|
563
509
|
}
|
|
564
|
-
return
|
|
510
|
+
return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value));
|
|
565
511
|
}
|
|
566
|
-
function
|
|
567
|
-
|
|
512
|
+
function textRemove() {
|
|
513
|
+
this.textContent = "";
|
|
568
514
|
}
|
|
569
|
-
function
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
}
|
|
573
|
-
return segmentReduce(geojson, function(previousValue, segment) {
|
|
574
|
-
var coords = segment.geometry.coordinates;
|
|
575
|
-
return previousValue + distance(coords[0], coords[1], options2);
|
|
576
|
-
}, 0);
|
|
515
|
+
function textConstant(value) {
|
|
516
|
+
return function() {
|
|
517
|
+
this.textContent = value;
|
|
518
|
+
};
|
|
577
519
|
}
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
}
|
|
584
|
-
_onClose() {
|
|
585
|
-
this._container.className = this._container.className.replaceAll("wbiokr-ctrl-active", "");
|
|
586
|
-
}
|
|
520
|
+
function textFunction(value) {
|
|
521
|
+
return function() {
|
|
522
|
+
var v = value.apply(this, arguments);
|
|
523
|
+
this.textContent = v == null ? "" : v;
|
|
524
|
+
};
|
|
587
525
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
return
|
|
526
|
+
function selection_text(value) {
|
|
527
|
+
return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent;
|
|
528
|
+
}
|
|
529
|
+
function htmlRemove() {
|
|
530
|
+
this.innerHTML = "";
|
|
531
|
+
}
|
|
532
|
+
function htmlConstant(value) {
|
|
533
|
+
return function() {
|
|
534
|
+
this.innerHTML = value;
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
function htmlFunction(value) {
|
|
538
|
+
return function() {
|
|
539
|
+
var v = value.apply(this, arguments);
|
|
540
|
+
this.innerHTML = v == null ? "" : v;
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
function selection_html(value) {
|
|
544
|
+
return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;
|
|
545
|
+
}
|
|
546
|
+
function raise() {
|
|
547
|
+
if (this.nextSibling)
|
|
548
|
+
this.parentNode.appendChild(this);
|
|
549
|
+
}
|
|
550
|
+
function selection_raise() {
|
|
551
|
+
return this.each(raise);
|
|
552
|
+
}
|
|
553
|
+
function lower() {
|
|
554
|
+
if (this.previousSibling)
|
|
555
|
+
this.parentNode.insertBefore(this, this.parentNode.firstChild);
|
|
556
|
+
}
|
|
557
|
+
function selection_lower() {
|
|
558
|
+
return this.each(lower);
|
|
559
|
+
}
|
|
560
|
+
function selection_append(name) {
|
|
561
|
+
var create = typeof name === "function" ? name : creator(name);
|
|
562
|
+
return this.select(function() {
|
|
563
|
+
return this.appendChild(create.apply(this, arguments));
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
function constantNull() {
|
|
567
|
+
return null;
|
|
568
|
+
}
|
|
569
|
+
function selection_insert(name, before) {
|
|
570
|
+
var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
|
|
571
|
+
return this.select(function() {
|
|
572
|
+
return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
function remove() {
|
|
576
|
+
var parent = this.parentNode;
|
|
577
|
+
if (parent)
|
|
578
|
+
parent.removeChild(this);
|
|
579
|
+
}
|
|
580
|
+
function selection_remove() {
|
|
581
|
+
return this.each(remove);
|
|
601
582
|
}
|
|
602
|
-
function
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
return uri === xhtml && document2.documentElement.namespaceURI === xhtml ? document2.createElement(name) : document2.createElementNS(uri, name);
|
|
606
|
-
};
|
|
583
|
+
function selection_cloneShallow() {
|
|
584
|
+
var clone = this.cloneNode(false), parent = this.parentNode;
|
|
585
|
+
return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
|
|
607
586
|
}
|
|
608
|
-
function
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
};
|
|
587
|
+
function selection_cloneDeep() {
|
|
588
|
+
var clone = this.cloneNode(true), parent = this.parentNode;
|
|
589
|
+
return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
|
|
612
590
|
}
|
|
613
|
-
function
|
|
614
|
-
|
|
615
|
-
return (fullname.local ? creatorFixed : creatorInherit)(fullname);
|
|
591
|
+
function selection_clone(deep) {
|
|
592
|
+
return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
|
|
616
593
|
}
|
|
617
|
-
function
|
|
594
|
+
function selection_datum(value) {
|
|
595
|
+
return arguments.length ? this.property("__data__", value) : this.node().__data__;
|
|
618
596
|
}
|
|
619
|
-
function
|
|
620
|
-
return
|
|
621
|
-
|
|
597
|
+
function contextListener(listener) {
|
|
598
|
+
return function(event) {
|
|
599
|
+
listener.call(this, event, this.__data__);
|
|
622
600
|
};
|
|
623
601
|
}
|
|
624
|
-
function
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
602
|
+
function parseTypenames(typenames) {
|
|
603
|
+
return typenames.trim().split(/^|\s+/).map(function(t2) {
|
|
604
|
+
var name = "", i2 = t2.indexOf(".");
|
|
605
|
+
if (i2 >= 0)
|
|
606
|
+
name = t2.slice(i2 + 1), t2 = t2.slice(0, i2);
|
|
607
|
+
return { type: t2, name };
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
function onRemove(typename) {
|
|
611
|
+
return function() {
|
|
612
|
+
var on = this.__on;
|
|
613
|
+
if (!on)
|
|
614
|
+
return;
|
|
615
|
+
for (var j = 0, i2 = -1, m = on.length, o; j < m; ++j) {
|
|
616
|
+
if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
|
|
617
|
+
this.removeEventListener(o.type, o.listener, o.options);
|
|
618
|
+
} else {
|
|
619
|
+
on[++i2] = o;
|
|
633
620
|
}
|
|
634
621
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
return x == null ? [] : Array.isArray(x) ? x : Array.from(x);
|
|
640
|
-
}
|
|
641
|
-
function empty() {
|
|
642
|
-
return [];
|
|
643
|
-
}
|
|
644
|
-
function selectorAll(selector2) {
|
|
645
|
-
return selector2 == null ? empty : function() {
|
|
646
|
-
return this.querySelectorAll(selector2);
|
|
622
|
+
if (++i2)
|
|
623
|
+
on.length = i2;
|
|
624
|
+
else
|
|
625
|
+
delete this.__on;
|
|
647
626
|
};
|
|
648
627
|
}
|
|
649
|
-
function
|
|
628
|
+
function onAdd(typename, value, options2) {
|
|
650
629
|
return function() {
|
|
651
|
-
|
|
630
|
+
var on = this.__on, o, listener = contextListener(value);
|
|
631
|
+
if (on)
|
|
632
|
+
for (var j = 0, m = on.length; j < m; ++j) {
|
|
633
|
+
if ((o = on[j]).type === typename.type && o.name === typename.name) {
|
|
634
|
+
this.removeEventListener(o.type, o.listener, o.options);
|
|
635
|
+
this.addEventListener(o.type, o.listener = listener, o.options = options2);
|
|
636
|
+
o.value = value;
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
this.addEventListener(typename.type, listener, options2);
|
|
641
|
+
o = { type: typename.type, name: typename.name, value, listener, options: options2 };
|
|
642
|
+
if (!on)
|
|
643
|
+
this.__on = [o];
|
|
644
|
+
else
|
|
645
|
+
on.push(o);
|
|
652
646
|
};
|
|
653
647
|
}
|
|
654
|
-
function
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
648
|
+
function selection_on(typename, value, options2) {
|
|
649
|
+
var typenames = parseTypenames(typename + ""), i2, n2 = typenames.length, t2;
|
|
650
|
+
if (arguments.length < 2) {
|
|
651
|
+
var on = this.node().__on;
|
|
652
|
+
if (on)
|
|
653
|
+
for (var j = 0, m = on.length, o; j < m; ++j) {
|
|
654
|
+
for (i2 = 0, o = on[j]; i2 < n2; ++i2) {
|
|
655
|
+
if ((t2 = typenames[i2]).type === o.type && t2.name === o.name) {
|
|
656
|
+
return o.value;
|
|
657
|
+
}
|
|
658
|
+
}
|
|
664
659
|
}
|
|
665
|
-
|
|
660
|
+
return;
|
|
666
661
|
}
|
|
667
|
-
|
|
662
|
+
on = value ? onAdd : onRemove;
|
|
663
|
+
for (i2 = 0; i2 < n2; ++i2)
|
|
664
|
+
this.each(on(typenames[i2], value, options2));
|
|
665
|
+
return this;
|
|
668
666
|
}
|
|
669
|
-
function
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
667
|
+
function dispatchEvent(node, type, params) {
|
|
668
|
+
var window2 = defaultView(node), event = window2.CustomEvent;
|
|
669
|
+
if (typeof event === "function") {
|
|
670
|
+
event = new event(type, params);
|
|
671
|
+
} else {
|
|
672
|
+
event = window2.document.createEvent("Event");
|
|
673
|
+
if (params)
|
|
674
|
+
event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
|
|
675
|
+
else
|
|
676
|
+
event.initEvent(type, false, false);
|
|
677
|
+
}
|
|
678
|
+
node.dispatchEvent(event);
|
|
673
679
|
}
|
|
674
|
-
function
|
|
675
|
-
return function(
|
|
676
|
-
return
|
|
680
|
+
function dispatchConstant(type, params) {
|
|
681
|
+
return function() {
|
|
682
|
+
return dispatchEvent(this, type, params);
|
|
677
683
|
};
|
|
678
684
|
}
|
|
679
|
-
|
|
680
|
-
function childFind(match) {
|
|
685
|
+
function dispatchFunction(type, params) {
|
|
681
686
|
return function() {
|
|
682
|
-
return
|
|
687
|
+
return dispatchEvent(this, type, params.apply(this, arguments));
|
|
683
688
|
};
|
|
684
689
|
}
|
|
685
|
-
function
|
|
686
|
-
return this.
|
|
690
|
+
function selection_dispatch(type, params) {
|
|
691
|
+
return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params));
|
|
687
692
|
}
|
|
688
|
-
function
|
|
689
|
-
|
|
693
|
+
function* selection_iterator() {
|
|
694
|
+
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
695
|
+
for (var group = groups[j], i2 = 0, n2 = group.length, node; i2 < n2; ++i2) {
|
|
696
|
+
if (node = group[i2])
|
|
697
|
+
yield node;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
690
700
|
}
|
|
691
|
-
var
|
|
692
|
-
function
|
|
693
|
-
|
|
701
|
+
var root$1 = [null];
|
|
702
|
+
function Selection(groups, parents) {
|
|
703
|
+
this._groups = groups;
|
|
704
|
+
this._parents = parents;
|
|
694
705
|
}
|
|
695
|
-
function
|
|
696
|
-
return
|
|
697
|
-
return filter.call(this.children, match);
|
|
698
|
-
};
|
|
706
|
+
function selection_selection() {
|
|
707
|
+
return this;
|
|
699
708
|
}
|
|
700
|
-
|
|
701
|
-
|
|
709
|
+
Selection.prototype = {
|
|
710
|
+
constructor: Selection,
|
|
711
|
+
select: selection_select,
|
|
712
|
+
selectAll: selection_selectAll,
|
|
713
|
+
selectChild: selection_selectChild,
|
|
714
|
+
selectChildren: selection_selectChildren,
|
|
715
|
+
filter: selection_filter,
|
|
716
|
+
data: selection_data,
|
|
717
|
+
enter: selection_enter,
|
|
718
|
+
exit: selection_exit,
|
|
719
|
+
join: selection_join,
|
|
720
|
+
merge: selection_merge,
|
|
721
|
+
selection: selection_selection,
|
|
722
|
+
order: selection_order,
|
|
723
|
+
sort: selection_sort,
|
|
724
|
+
call: selection_call,
|
|
725
|
+
nodes: selection_nodes,
|
|
726
|
+
node: selection_node,
|
|
727
|
+
size: selection_size,
|
|
728
|
+
empty: selection_empty,
|
|
729
|
+
each: selection_each,
|
|
730
|
+
attr: selection_attr,
|
|
731
|
+
style: selection_style,
|
|
732
|
+
property: selection_property,
|
|
733
|
+
classed: selection_classed,
|
|
734
|
+
text: selection_text,
|
|
735
|
+
html: selection_html,
|
|
736
|
+
raise: selection_raise,
|
|
737
|
+
lower: selection_lower,
|
|
738
|
+
append: selection_append,
|
|
739
|
+
insert: selection_insert,
|
|
740
|
+
remove: selection_remove,
|
|
741
|
+
clone: selection_clone,
|
|
742
|
+
datum: selection_datum,
|
|
743
|
+
on: selection_on,
|
|
744
|
+
dispatch: selection_dispatch,
|
|
745
|
+
[Symbol.iterator]: selection_iterator
|
|
746
|
+
};
|
|
747
|
+
function e$1(selector2) {
|
|
748
|
+
return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root$1);
|
|
702
749
|
}
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
750
|
+
const t = { "\u21E7": 16, shift: 16, "\u2303": 17, ctrl: 17, "\u2325": 18, alt: 18, option: 18, "\u2318": 91, meta: 91, cmd: 91, super: 91, win: 91 }, r = { 16: "shiftKey", 17: "ctrlKey", 18: "altKey", 91: "metaKey" }, n = { "\u232B": "Backspace", backspace: "Backspace", "\u21E5": "Tab", "\u21C6": "Tab", tab: "Tab", "\u21A9": "Enter", "\u21B5": "Enter", "\u23CE": "Enter", return: "Enter", enter: "Enter", "\u2305": "Enter", pause: "Pause", "pause-break": "Pause", "\u21EA": "CapsLock", caps: "CapsLock", "caps-lock": "CapsLock", "\u238B": ["Escape", "Esc"], escape: ["Escape", "Esc"], esc: ["Escape", "Esc"], space: [" ", "Spacebar"], "": "PageUp", pgup: "PageUp", "page-up": "PageUp", "": "PageDown", pgdown: "PageDown", "page-down": "PageDown", "\u21DF": "End", end: "End", "\u21DE": "Home", home: "Home", ins: "Insert", insert: "Insert", "\u2326": ["Delete", "Del"], del: ["Delete", "Del"], delete: ["Delete", "Del"], "\u2190": ["ArrowLeft", "Left"], left: ["ArrowLeft", "Left"], "arrow-left": ["ArrowLeft", "Left"], "\u2191": ["ArrowUp", "Up"], up: ["ArrowUp", "Up"], "arrow-up": ["ArrowUp", "Up"], "\u2192": ["ArrowRight", "Right"], right: ["ArrowRight", "Right"], "arrow-right": ["ArrowRight", "Right"], "\u2193": ["ArrowDown", "Down"], down: ["ArrowDown", "Down"], "arrow-down": ["ArrowDown", "Down"], "*": ["*", "Multiply"], star: ["*", "Multiply"], asterisk: ["*", "Multiply"], multiply: ["*", "Multiply"], "+": ["+", "Add"], plus: ["+", "Add"], "-": ["-", "Subtract"], subtract: ["-", "Subtract"], dash: ["-", "Subtract"], semicolon: ";", equals: "=", comma: ",", period: ".", "full-stop": ".", slash: "/", "forward-slash": "/", tick: "`", "back-quote": "`", "open-bracket": "[", "back-slash": "\\", "close-bracket": "]", quote: "'", apostrophe: "'", "num-0": "0", "num-1": "1", "num-2": "2", "num-3": "3", "num-4": "4", "num-5": "5", "num-6": "6", "num-7": "7", "num-8": "8", "num-9": "9", f1: "F1", f2: "F2", f3: "F3", f4: "F4", f5: "F5", f6: "F6", f7: "F7", f8: "F8", f9: "F9", f10: "F10", f11: "F11", f12: "F12", f13: "F13", f14: "F14", f15: "F15", f16: "F16", f17: "F17", f18: "F18", f19: "F19", f20: "F20", f21: "F21", f22: "F22", f23: "F23", f24: "F24", f25: "F25" }, s = { "\u232B": 8, backspace: 8, "\u21E5": 9, "\u21C6": 9, tab: 9, "\u21A9": 13, "\u21B5": 13, "\u23CE": 13, return: 13, enter: 13, "\u2305": 13, pause: 19, "pause-break": 19, "\u21EA": 20, caps: 20, "caps-lock": 20, "\u238B": 27, escape: 27, esc: 27, space: 32, "": 33, pgup: 33, "page-up": 33, "": 34, pgdown: 34, "page-down": 34, "\u21DF": 35, end: 35, "\u21DE": 36, home: 36, ins: 45, insert: 45, "\u2326": 46, del: 46, delete: 46, "\u2190": 37, left: 37, "arrow-left": 37, "\u2191": 38, up: 38, "arrow-up": 38, "\u2192": 39, right: 39, "arrow-right": 39, "\u2193": 40, down: 40, "arrow-down": 40, ffequals: 61, "*": 106, star: 106, asterisk: 106, multiply: 106, "+": 107, plus: 107, "-": 109, subtract: 109, "|": 124, ffplus: 171, ffminus: 173, ";": 186, semicolon: 186, "=": 187, equals: 187, ",": 188, comma: 188, dash: 189, ".": 190, period: 190, "full-stop": 190, "/": 191, slash: 191, "forward-slash": 191, "`": 192, tick: 192, "back-quote": 192, "[": 219, "open-bracket": 219, "\\": 220, "back-slash": 220, "]": 221, "close-bracket": 221, "'": 222, quote: 222, apostrophe: 222 };
|
|
751
|
+
function a(e2) {
|
|
752
|
+
return Array.from(new Set(e2));
|
|
753
|
+
}
|
|
754
|
+
class i {
|
|
755
|
+
constructor(t2 = "global", r2 = document, n2 = "keydown") {
|
|
756
|
+
if ("keydown" !== n2 && "keyup" !== n2)
|
|
757
|
+
throw new Error(n2, "\u4E8B\u4EF6\u7C7B\u578B\u4EC5\u652F\u6301keydown\u3001keyup");
|
|
758
|
+
this.eventType = n2, this.namespace = t2, this.selection = e$1(r2), this.bindedKeys = [], this.bindings = this.bindings.bind(this), this.capture = this.capture.bind(this), this.bubble = this.bubble.bind(this), this.init();
|
|
759
|
+
}
|
|
760
|
+
init() {
|
|
761
|
+
return this.selection.on(`${this.eventType}.capture.${this.namespace}`, this.capture, true), this.selection.on(`${this.eventType}.bubble.${this.namespace}`, this.bubble, false), this;
|
|
762
|
+
}
|
|
763
|
+
bindings(e2, t2) {
|
|
764
|
+
var r2, n2, s2 = false, a2 = Object.keys(this.bindedKeys).map(function(e3) {
|
|
765
|
+
return this.bindedKeys[e3];
|
|
766
|
+
}.bind(this));
|
|
767
|
+
for (r2 = 0; r2 < a2.length; r2++)
|
|
768
|
+
if ((n2 = a2[r2]).event.modifiers.shiftKey && !!n2.capture === t2 && i2(e2, n2, true)) {
|
|
769
|
+
n2.callback(e2), s2 = true, e2.preventDefault();
|
|
770
|
+
break;
|
|
771
|
+
}
|
|
772
|
+
if (!s2) {
|
|
773
|
+
for (r2 = 0; r2 < a2.length; r2++)
|
|
774
|
+
if (!(n2 = a2[r2]).event.modifiers.shiftKey && !!n2.capture === t2 && i2(e2, n2, false)) {
|
|
775
|
+
n2.callback(e2), e2.preventDefault();
|
|
776
|
+
break;
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
function i2(e3, t3, r3) {
|
|
780
|
+
var n3 = e3, s3 = false, a3 = true;
|
|
781
|
+
if (void 0 !== n3.key && (a3 = n3.key.charCodeAt(0) > 255, s3 = true, void 0 === t3.event.key ? s3 = false : Array.isArray(t3.event.key) ? -1 === t3.event.key.map(function(e4) {
|
|
782
|
+
return e4.toLowerCase();
|
|
783
|
+
}).indexOf(n3.key.toLowerCase()) && (s3 = false) : n3.key.toLowerCase() !== t3.event.key.toLowerCase() && (s3 = false)), s3 || !a3 && !t3.event.modifiers.shiftKey || (s3 = n3.keyCode === t3.event.keyCode), !s3)
|
|
784
|
+
return false;
|
|
785
|
+
if (!n3.ctrlKey || !n3.altKey) {
|
|
786
|
+
if (n3.ctrlKey !== t3.event.modifiers.ctrlKey)
|
|
787
|
+
return false;
|
|
788
|
+
if (n3.altKey !== t3.event.modifiers.altKey)
|
|
789
|
+
return false;
|
|
710
790
|
}
|
|
791
|
+
return n3.metaKey === t3.event.modifiers.metaKey && (!r3 || n3.shiftKey === t3.event.modifiers.shiftKey);
|
|
711
792
|
}
|
|
712
793
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
function sparse(update) {
|
|
716
|
-
return new Array(update.length);
|
|
717
|
-
}
|
|
718
|
-
function selection_enter() {
|
|
719
|
-
return new Selection(this._enter || this._groups.map(sparse), this._parents);
|
|
720
|
-
}
|
|
721
|
-
function EnterNode(parent, datum2) {
|
|
722
|
-
this.ownerDocument = parent.ownerDocument;
|
|
723
|
-
this.namespaceURI = parent.namespaceURI;
|
|
724
|
-
this._next = null;
|
|
725
|
-
this._parent = parent;
|
|
726
|
-
this.__data__ = datum2;
|
|
727
|
-
}
|
|
728
|
-
EnterNode.prototype = {
|
|
729
|
-
constructor: EnterNode,
|
|
730
|
-
appendChild: function(child) {
|
|
731
|
-
return this._parent.insertBefore(child, this._next);
|
|
732
|
-
},
|
|
733
|
-
insertBefore: function(child, next) {
|
|
734
|
-
return this._parent.insertBefore(child, next);
|
|
735
|
-
},
|
|
736
|
-
querySelector: function(selector2) {
|
|
737
|
-
return this._parent.querySelector(selector2);
|
|
738
|
-
},
|
|
739
|
-
querySelectorAll: function(selector2) {
|
|
740
|
-
return this._parent.querySelectorAll(selector2);
|
|
794
|
+
capture(e2) {
|
|
795
|
+
this.bindings(e2, true);
|
|
741
796
|
}
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
797
|
+
bubble(t2) {
|
|
798
|
+
var r2 = e$1(t2.target).node().tagName;
|
|
799
|
+
"INPUT" !== r2 && "SELECT" !== r2 && "TEXTAREA" !== r2 && "true" !== String(t2.target.getAttribute("contenteditable")) && this.bindings(t2, false);
|
|
800
|
+
}
|
|
801
|
+
on(e2, i2, o2) {
|
|
802
|
+
if ("function" != typeof i2)
|
|
803
|
+
return this.off(e2, o2);
|
|
804
|
+
for (var c2 = a([].concat(e2)), l = 0; l < c2.length; l++) {
|
|
805
|
+
var u = c2[l] + (o2 ? "-capture" : "-bubble"), p = { id: u, capture: o2, callback: i2, event: { key: void 0, keyCode: 0, modifiers: { shiftKey: false, ctrlKey: false, altKey: false, metaKey: false } } };
|
|
806
|
+
this.bindedKeys[u] && console.warn('warning: duplicate keybinding for "' + u + '"'), this.bindedKeys[u] = p;
|
|
807
|
+
for (var f = c2[l].toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g), d = 0; d < f.length; d++)
|
|
808
|
+
if ("++" === f[d] && (f[d] = "+"), f[d] in t) {
|
|
809
|
+
var h = r[t[f[d]]];
|
|
810
|
+
p.event.modifiers[h] = true;
|
|
811
|
+
} else
|
|
812
|
+
p.event.key = n[f[d]] || f[d], f[d] in s && (p.event.keyCode = s[f[d]]);
|
|
756
813
|
}
|
|
814
|
+
return this;
|
|
757
815
|
}
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
816
|
+
unbind() {
|
|
817
|
+
return this.selection.on(`${this.eventType}.capture.${this.namespace}`, null), this.selection.on(`${this.eventType}.bubble.${this.namespace}`, null), this;
|
|
818
|
+
}
|
|
819
|
+
clear() {
|
|
820
|
+
return this.bindedKeys = {}, this;
|
|
821
|
+
}
|
|
822
|
+
off(e2, t2) {
|
|
823
|
+
for (var r2 = a([].concat(e2)), n2 = 0; n2 < r2.length; n2++) {
|
|
824
|
+
var s2 = r2[n2] + (true === t2 ? "-capture" : "-bubble");
|
|
825
|
+
delete this.bindedKeys[s2];
|
|
761
826
|
}
|
|
827
|
+
return this;
|
|
762
828
|
}
|
|
763
829
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
nodeByKeyValue.set(keyValue, node);
|
|
773
|
-
}
|
|
774
|
-
}
|
|
830
|
+
new i("global", document, "keydown");
|
|
831
|
+
new i("global", document, "keyup");
|
|
832
|
+
class KeyboardControl extends CommonCtrol {
|
|
833
|
+
_onBindKeyboards(actions, namespace2) {
|
|
834
|
+
this.keybinding = new i(namespace2);
|
|
835
|
+
actions.forEach((o) => {
|
|
836
|
+
this.keybinding.on(o.code, o.action);
|
|
837
|
+
});
|
|
775
838
|
}
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
839
|
+
_onUnbindKeyboards() {
|
|
840
|
+
this.keybinding.clear();
|
|
841
|
+
}
|
|
842
|
+
}
|
|
843
|
+
function getChildNodes(menus) {
|
|
844
|
+
let subNodes = [];
|
|
845
|
+
menus.forEach((menu) => {
|
|
846
|
+
if (menu.children && menu.children.length > 0) {
|
|
847
|
+
menu.children.forEach((subMenu) => {
|
|
848
|
+
subMenu.code && subNodes.push(subMenu);
|
|
849
|
+
});
|
|
782
850
|
} else {
|
|
783
|
-
|
|
851
|
+
menu.code && subNodes.push(menu);
|
|
784
852
|
}
|
|
853
|
+
});
|
|
854
|
+
return subNodes;
|
|
855
|
+
}
|
|
856
|
+
class ContextMenu extends KeyboardControl {
|
|
857
|
+
constructor(container, props) {
|
|
858
|
+
super();
|
|
859
|
+
this.container = container;
|
|
860
|
+
this.props = props;
|
|
861
|
+
this.tempMenuElement = null;
|
|
862
|
+
this.onEvents();
|
|
863
|
+
}
|
|
864
|
+
onEvents() {
|
|
865
|
+
document.addEventListener("mouseup", () => {
|
|
866
|
+
this.onEmpty();
|
|
867
|
+
});
|
|
868
|
+
const menus = getChildNodes(this.props.menus);
|
|
869
|
+
this._onBindKeyboards([
|
|
870
|
+
...menus.map((o) => ({
|
|
871
|
+
code: o.code,
|
|
872
|
+
action: () => {
|
|
873
|
+
o.click();
|
|
874
|
+
this.onEmpty();
|
|
875
|
+
}
|
|
876
|
+
})),
|
|
877
|
+
{
|
|
878
|
+
code: "Escape",
|
|
879
|
+
action: () => {
|
|
880
|
+
this.onEmpty();
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
]);
|
|
884
|
+
this.container.addEventListener("contextmenu", (e2) => {
|
|
885
|
+
e2.preventDefault();
|
|
886
|
+
this.props.left = e2.clientX;
|
|
887
|
+
this.props.top = e2.clientY;
|
|
888
|
+
this.render({ left: e2.clientX, top: e2.clientY });
|
|
889
|
+
});
|
|
785
890
|
}
|
|
786
|
-
|
|
787
|
-
if (
|
|
788
|
-
|
|
891
|
+
onEmpty() {
|
|
892
|
+
if (this.tempMenuElement) {
|
|
893
|
+
this.tempMenuElement.remove();
|
|
894
|
+
this.tempMenuElement = null;
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
renderChild(fatherEle, record) {
|
|
898
|
+
const menuItem = document.createElement("div");
|
|
899
|
+
menuItem.classList.add("wbk-menu-item", "w-per-100", "f-s-c");
|
|
900
|
+
menuItem.addEventListener("click", () => record.click());
|
|
901
|
+
if (record.icons) {
|
|
902
|
+
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
903
|
+
svg.classList.add("icon");
|
|
904
|
+
svg.setAttribute("viewBox", "0 0 1024 1024");
|
|
905
|
+
svg.setAttribute("version", "1.1");
|
|
906
|
+
svg.setAttribute("width", "13");
|
|
907
|
+
svg.setAttribute("height", "13");
|
|
908
|
+
record.icons.forEach((d) => {
|
|
909
|
+
const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
910
|
+
path.setAttribute("d", d);
|
|
911
|
+
svg.appendChild(path);
|
|
912
|
+
});
|
|
913
|
+
menuItem.appendChild(svg);
|
|
914
|
+
}
|
|
915
|
+
const span = document.createElement("span");
|
|
916
|
+
span.textContent = record.name;
|
|
917
|
+
menuItem.appendChild(span);
|
|
918
|
+
fatherEle.appendChild(menuItem);
|
|
919
|
+
}
|
|
920
|
+
render({ left, top }) {
|
|
921
|
+
this.onEmpty();
|
|
922
|
+
if (this.props.menus.length > 0) {
|
|
923
|
+
const { x, y } = this.container.getBoundingClientRect();
|
|
924
|
+
const menuElement = document.createElement("aside");
|
|
925
|
+
menuElement.classList.add(
|
|
926
|
+
"wbk-contextmenus",
|
|
927
|
+
"z-1000",
|
|
928
|
+
"o-v",
|
|
929
|
+
"p-tb-5",
|
|
930
|
+
"p-lr-0",
|
|
931
|
+
"bg-color-fff",
|
|
932
|
+
"p-a",
|
|
933
|
+
"d-b",
|
|
934
|
+
"c-auto"
|
|
935
|
+
);
|
|
936
|
+
menuElement.style.left = `${left - x}px`;
|
|
937
|
+
menuElement.style.top = `${top - y}px`;
|
|
938
|
+
menuElement.style.display = "block";
|
|
939
|
+
this.props.menus.forEach((item) => {
|
|
940
|
+
const itemElement = document.createElement("div");
|
|
941
|
+
itemElement.classList.add("wbk-contextmenus-item", "p-r", "o-v");
|
|
942
|
+
itemElement.dataset.id = item.id;
|
|
943
|
+
if (!item.children || item.children.length === 0) {
|
|
944
|
+
this.renderChild(itemElement, item);
|
|
945
|
+
} else {
|
|
946
|
+
const section = document.createElement("section");
|
|
947
|
+
section.classList.add("wbk-menu-item", "f-s-c", "w-per-100", "h-30", "f-s-c", "c-p", "ease-400");
|
|
948
|
+
section.addEventListener("click", (e2) => e2.stopPropagation());
|
|
949
|
+
if (item.icons) {
|
|
950
|
+
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
951
|
+
svg.classList.add("icon");
|
|
952
|
+
svg.setAttribute("viewBox", "0 0 1024 1024");
|
|
953
|
+
svg.setAttribute("version", "1.1");
|
|
954
|
+
svg.setAttribute("width", "13");
|
|
955
|
+
svg.setAttribute("height", "13");
|
|
956
|
+
item.icons.forEach((d) => {
|
|
957
|
+
const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
958
|
+
path.setAttribute("d", d);
|
|
959
|
+
svg.appendChild(path);
|
|
960
|
+
});
|
|
961
|
+
section.appendChild(svg);
|
|
962
|
+
}
|
|
963
|
+
const span = document.createElement("span");
|
|
964
|
+
span.textContent = item.name;
|
|
965
|
+
section.appendChild(span);
|
|
966
|
+
itemElement.appendChild(section);
|
|
967
|
+
const subMenuElement = document.createElement("aside");
|
|
968
|
+
subMenuElement.setAttribute(
|
|
969
|
+
"class",
|
|
970
|
+
"wbk-contextmenus-submenu p-a-xr-yt translateX-100 bg-color-fff shadow-gray animate fadeIn ease-400 p-tb-5 p-lr-0"
|
|
971
|
+
);
|
|
972
|
+
subMenuElement.style.display = "none";
|
|
973
|
+
item.children.forEach((subItem) => {
|
|
974
|
+
const itemElement2 = document.createElement("div");
|
|
975
|
+
itemElement2.classList.add("wbk-contextmenus-item", "p-r", "o-v");
|
|
976
|
+
subMenuElement.appendChild(itemElement2);
|
|
977
|
+
this.renderChild(itemElement2, subItem);
|
|
978
|
+
});
|
|
979
|
+
itemElement.appendChild(subMenuElement);
|
|
980
|
+
}
|
|
981
|
+
menuElement.appendChild(itemElement);
|
|
982
|
+
});
|
|
983
|
+
this.container.appendChild(menuElement);
|
|
984
|
+
this.tempMenuElement = menuElement;
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
var style$1 = "";
|
|
989
|
+
var style = "";
|
|
990
|
+
function e(e2 = "WBIOKR-DB", t2 = 1, n2 = "WBIOKR-STORE", r2 = "id") {
|
|
991
|
+
let o;
|
|
992
|
+
const s2 = window.indexedDB || window.webikitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
|
|
993
|
+
if (!s2)
|
|
994
|
+
return u;
|
|
995
|
+
const c = s2 == null ? void 0 : s2.open(e2, t2);
|
|
996
|
+
function u(e3, t3) {
|
|
997
|
+
try {
|
|
998
|
+
return 0 === arguments.length ? new Promise((e4, t4) => {
|
|
999
|
+
const r3 = o.transaction([n2]).objectStore(n2).getAll();
|
|
1000
|
+
r3.onsuccess = () => {
|
|
1001
|
+
r3.result ? e4(r3.result) : t4("\u83B7\u53D6\u5931\u8D25");
|
|
1002
|
+
}, r3.onerror = (e5) => {
|
|
1003
|
+
t4(e5);
|
|
1004
|
+
};
|
|
1005
|
+
}) : 1 === arguments.length ? function(e4) {
|
|
1006
|
+
return new Promise((t4, r3) => {
|
|
1007
|
+
const s3 = o.transaction([n2]).objectStore(n2).get(e4);
|
|
1008
|
+
s3.onsuccess = (e5) => {
|
|
1009
|
+
s3.result ? t4(s3.result) : r3(null);
|
|
1010
|
+
}, s3.onerror = (e5) => {
|
|
1011
|
+
r3(e5);
|
|
1012
|
+
};
|
|
1013
|
+
});
|
|
1014
|
+
}(e3) : 2 === arguments.length ? function(e4, t4) {
|
|
1015
|
+
return new Promise((e5, r3) => {
|
|
1016
|
+
const s3 = o.transaction([n2], "readwrite").objectStore(n2).put(t4);
|
|
1017
|
+
s3.onsuccess = (t5) => {
|
|
1018
|
+
e5(t5);
|
|
1019
|
+
}, s3.onerror = (e6) => {
|
|
1020
|
+
r3(e6);
|
|
1021
|
+
};
|
|
1022
|
+
});
|
|
1023
|
+
}(0, t3) : Promise.reject("\u53C2\u6570\u6709\u95EE\u9898");
|
|
1024
|
+
} catch (e4) {
|
|
1025
|
+
return Promise.reject(e4);
|
|
789
1026
|
}
|
|
790
1027
|
}
|
|
1028
|
+
return c.onsuccess = function(e3) {
|
|
1029
|
+
o = e3.target.result;
|
|
1030
|
+
}, c.onerror = function(e3) {
|
|
1031
|
+
console.error(e3);
|
|
1032
|
+
}, c.onupgradeneeded = function(e3) {
|
|
1033
|
+
o = e3.target.result, o.objectStoreNames.contains(n2) || o.createObjectStore(n2, { keyPath: r2 });
|
|
1034
|
+
}, u;
|
|
791
1035
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
|
|
803
|
-
bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
|
|
804
|
-
for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
|
|
805
|
-
if (previous = enterGroup[i0]) {
|
|
806
|
-
if (i0 >= i1)
|
|
807
|
-
i1 = i0 + 1;
|
|
808
|
-
while (!(next = updateGroup[i1]) && ++i1 < dataLength)
|
|
809
|
-
;
|
|
810
|
-
previous._next = next || null;
|
|
811
|
-
}
|
|
812
|
-
}
|
|
1036
|
+
const myDb = new e("WBIOKR-MAPBOX-TOOLS", 1, "WBIOKR-STORE", "id");
|
|
1037
|
+
function createUuid(num) {
|
|
1038
|
+
function S4() {
|
|
1039
|
+
return ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
|
|
1040
|
+
}
|
|
1041
|
+
var uuid = S4() + S4() + S4() + S4() + S4() + S4() + S4() + S4();
|
|
1042
|
+
if (!num) {
|
|
1043
|
+
return uuid;
|
|
1044
|
+
} else {
|
|
1045
|
+
return uuid.substr(0, num);
|
|
813
1046
|
}
|
|
814
|
-
update = new Selection(update, parents);
|
|
815
|
-
update._enter = enter;
|
|
816
|
-
update._exit = exit;
|
|
817
|
-
return update;
|
|
818
1047
|
}
|
|
819
|
-
function
|
|
820
|
-
|
|
1048
|
+
function mercatorToLnglat(mercatorX, mercatorY) {
|
|
1049
|
+
let x = mercatorX / 2003750834e-2 * 180;
|
|
1050
|
+
let y = mercatorY / 2003750834e-2 * 180;
|
|
1051
|
+
y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
|
|
1052
|
+
return [x, y];
|
|
821
1053
|
}
|
|
822
|
-
function
|
|
823
|
-
|
|
1054
|
+
function transformRequest4326(url) {
|
|
1055
|
+
if (url.includes("4326")) {
|
|
1056
|
+
url = url.toLowerCase().replace(/(bbox=)([^&]+)/, ($0, $1, $2) => {
|
|
1057
|
+
let points = $2.split(",");
|
|
1058
|
+
let leftLngLat = mercatorToLnglat(points[0], points[1]);
|
|
1059
|
+
let rightLngLat = mercatorToLnglat(points[2], points[3]);
|
|
1060
|
+
return `${$1}${leftLngLat[0]},${leftLngLat[1]},${rightLngLat[0]},${rightLngLat[1]}`;
|
|
1061
|
+
});
|
|
1062
|
+
}
|
|
1063
|
+
return {
|
|
1064
|
+
url
|
|
1065
|
+
};
|
|
824
1066
|
}
|
|
825
|
-
function
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
1067
|
+
function copyContent(text) {
|
|
1068
|
+
const input = document.createElement("input");
|
|
1069
|
+
input.value = text;
|
|
1070
|
+
document.body.appendChild(input);
|
|
1071
|
+
input.select();
|
|
1072
|
+
document.execCommand("copy");
|
|
1073
|
+
document.body.removeChild(input);
|
|
1074
|
+
}
|
|
1075
|
+
const initForm = {
|
|
1076
|
+
id: "",
|
|
1077
|
+
name: "",
|
|
1078
|
+
url: "",
|
|
1079
|
+
checked: false
|
|
1080
|
+
};
|
|
1081
|
+
class Tile extends KeyboardControl {
|
|
1082
|
+
constructor(container, props) {
|
|
1083
|
+
super();
|
|
1084
|
+
this.container = container;
|
|
1085
|
+
this.type = "";
|
|
1086
|
+
this.tempDom = null;
|
|
1087
|
+
this.cacheUrls = [];
|
|
1088
|
+
this.form = { ...initForm };
|
|
1089
|
+
this.props = {
|
|
1090
|
+
confirm() {
|
|
1091
|
+
},
|
|
1092
|
+
...props
|
|
1093
|
+
};
|
|
1094
|
+
this._onBindKeyboards([{ code: "esc", action: this.onClose.bind(this) }], "geoservers");
|
|
1095
|
+
}
|
|
1096
|
+
render() {
|
|
1097
|
+
const html = `
|
|
1098
|
+
<div class="wbiokr-geoserver-modal-wrappper w-700 bg-color-fff b-r-6 ">
|
|
1099
|
+
<div class="modal-content">
|
|
1100
|
+
<div class="modal-header h-50 f-b-c b-eee b-no-lr b-no-t p-lr-20">
|
|
1101
|
+
<span class='f-s-16 f-w-600'>${this.type === "add" ? "\u65B0\u589E" : "\u8BBE\u7F6E"}\u81EA\u5B9A\u4E49\u56FE\u5C42\u5730\u5740</span>
|
|
1102
|
+
<svg class="close-btn c-red o-hover-70 c-p ease-400" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2011" width="14" height="14"><path d="M585.412525 512.594747L973.601616 124.418586c19.600808-19.600808 19.600808-51.898182 0-71.49899l-2.120404-2.120404c-19.600808-19.600808-51.898182-19.600808-71.49899 0L511.793131 439.518384 123.61697 50.799192c-19.600808-19.600808-51.898182-19.600808-71.49899 0l-2.120404 2.120404c-20.11798 19.600808-20.11798 51.898182 0 71.49899l388.189091 388.189091L49.997576 900.783838c-19.587879 19.600808-19.587879 51.898182 0 71.49899l2.120404 2.120404c19.600808 19.600808 51.898182 19.600808 71.49899 0L511.793131 586.214141l388.189091 388.176162c19.600808 19.600808 51.898182 19.600808 71.49899 0l2.120404-2.120404c19.600808-19.600808 19.600808-51.898182 0-71.49899L585.412525 512.594747z m0 0"></path></svg>
|
|
1103
|
+
</div>
|
|
1104
|
+
<div class="modal-body p-20">
|
|
1105
|
+
<section class='p-b-20 b-eee b-no-lr b-no-t'>
|
|
1106
|
+
<div class='f-b-c'>
|
|
1107
|
+
<span class='f-s-c f-s-14 c-999'>\u56FE\u5C42\u4FE1\u606F\uFF1A</span>
|
|
1108
|
+
<div>
|
|
1109
|
+
<button class="template-btn h-30 p-lr-10 b-r-4 o-hover-70 ease-300 c-app b-eee b-c-app f-s-14 c-p m-l-10">\u6A21\u677F</button>
|
|
1110
|
+
<button class="confirm-btn h-30 p-lr-40 b-r-4 o-hover-70 ease-300 c-fff bg-color-app f-s-14 c-p m-l-10">\u786E\u5B9A</button>
|
|
1111
|
+
<button class="clear-btn h-30 p-lr-40 b-r-4 o-hover-70 ease-300 c-fff bg-color-danger f-s-14 c-p m-l-10">\u6E05\u7A7A</button>
|
|
1112
|
+
</div>
|
|
1113
|
+
</div>
|
|
1114
|
+
<div class='p-t-15 f-column'>
|
|
1115
|
+
<input type="text" class="name-input w-per-100 h-30 b-eee b-r-4 p-lr-15 border-focus-app border-hover-app shadow-focus-app ease-300" placeholder="\u8BF7\u8F93\u5165\u540D\u79F0" value="${this.form.name}">
|
|
1116
|
+
<textarea class="url-input w-per-100 h-120 b-eee b-r-4 p-lr-15 border-focus-app border-hover-app shadow-focus-app ease-300 l-h-25 m-t-10" placeholder="\u8BF7\u8F93\u5165\u5730\u5740" rows="3">${this.form.url}</textarea>
|
|
1117
|
+
<div class="warning c-aaa f-s-14 m-t-5">\u6CE8\u610F\uFF1A\u8BF7\u52A1\u5FC5\u8F93\u5165\u5408\u6CD5URL\uFF0C\u5426\u5219\u53EF\u80FD\u5F15\u53D1\u9875\u9762\u5D29\u6E83\uFF01</div>
|
|
1118
|
+
</div>
|
|
1119
|
+
</section>
|
|
1120
|
+
<section class="modal-main p-tb-20">
|
|
1121
|
+
${this.cacheUrls.length === 0 ? '<div class="empty h-100 w-per-100 f-c c-ccc f-s-16">\u6682\u65E0\u6570\u636E</div>' : ""}
|
|
1122
|
+
<ul>
|
|
1123
|
+
${this.cacheUrls.map(
|
|
1124
|
+
(item) => `
|
|
1125
|
+
<li class="custom-url-item f-b-c p-lr-10 p-tb-5 m-b-5 ease-300 ${this.form.url === item.url ? "bg-color-f6f6f6" : ""}" title="${item.url}" >
|
|
1126
|
+
<div class='f-1 f-s-c white-1 o-h'>
|
|
1127
|
+
<h5 class='c-333 f-w-600'>${item.name}</h5>
|
|
1128
|
+
<div class='white-1 f-s-12 c-666 m-l-5'>${item.url}</div>
|
|
1129
|
+
</div>
|
|
1130
|
+
<div class='p-l-10'>
|
|
1131
|
+
<button class="select-btn c-app c-p">\u9009\u62E9</button>
|
|
1132
|
+
<button class="remove-btn c-danger c-p m-l-5">\u79FB\u9664</button>
|
|
1133
|
+
</div>
|
|
1134
|
+
</li>
|
|
1135
|
+
`
|
|
1136
|
+
).join("")}
|
|
1137
|
+
</ul>
|
|
1138
|
+
</section>
|
|
1139
|
+
</div>
|
|
1140
|
+
</div>
|
|
1141
|
+
</div>
|
|
1142
|
+
`;
|
|
1143
|
+
const dom = document.createElement("div");
|
|
1144
|
+
dom.innerHTML = html;
|
|
1145
|
+
dom.className = "wbiokr-geoserver-modal p-f-xl-yt z-1000 w-per-100 h-per-100 animated fadeIn f-c";
|
|
1146
|
+
this.tempDom = dom;
|
|
1147
|
+
this.container.appendChild(dom);
|
|
1148
|
+
this.bindEvents();
|
|
1149
|
+
}
|
|
1150
|
+
bindEvents() {
|
|
1151
|
+
this.tempDom.querySelector(".close-btn").onclick = () => this.onClose();
|
|
1152
|
+
this.tempDom.querySelector(".template-btn").onclick = () => this.onCase();
|
|
1153
|
+
this.tempDom.querySelector(".confirm-btn").onclick = () => this.onConfirm();
|
|
1154
|
+
this.tempDom.querySelector(".clear-btn").onclick = () => this.onClearCustom();
|
|
1155
|
+
this.tempDom.querySelector(".name-input").onblur = (e2) => {
|
|
1156
|
+
this.form.name = e2.target.value;
|
|
1157
|
+
};
|
|
1158
|
+
this.tempDom.querySelector(".url-input").onblur = (e2) => {
|
|
1159
|
+
this.form.url = e2.target.value;
|
|
1160
|
+
};
|
|
1161
|
+
this.tempDom.querySelectorAll(".select-btn").forEach((btn, index2) => {
|
|
1162
|
+
btn.onclick = () => this.onSelect(index2);
|
|
1163
|
+
});
|
|
1164
|
+
this.tempDom.querySelectorAll(".remove-btn").forEach((btn, index2) => {
|
|
1165
|
+
btn.onclick = () => this.onRemoveUrl(index2);
|
|
1166
|
+
});
|
|
833
1167
|
}
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
1168
|
+
onAddModal() {
|
|
1169
|
+
this.onReset();
|
|
1170
|
+
this.type = "add";
|
|
1171
|
+
this.form = {
|
|
1172
|
+
...initForm,
|
|
1173
|
+
id: createUuid()
|
|
1174
|
+
};
|
|
1175
|
+
this.render();
|
|
1176
|
+
}
|
|
1177
|
+
async onEditModal(item) {
|
|
1178
|
+
this.type = "edit";
|
|
1179
|
+
this.form = { ...item };
|
|
1180
|
+
try {
|
|
1181
|
+
const data = await myDb(this.id);
|
|
1182
|
+
this.cacheUrls = data.data || [];
|
|
1183
|
+
} catch (error) {
|
|
1184
|
+
this.cacheUrls = [];
|
|
1185
|
+
}
|
|
1186
|
+
this.render();
|
|
1187
|
+
}
|
|
1188
|
+
onCase() {
|
|
1189
|
+
this.form.url = "http://xx.com/?tiled=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=xx&SRS=EPSG:4326&bbox={bbox-epsg-3857}&WIDTH=256&HEIGHT=256";
|
|
1190
|
+
this.tempDom.querySelector(".url-input").value = this.form.url;
|
|
1191
|
+
}
|
|
1192
|
+
onReset() {
|
|
1193
|
+
this.type = "";
|
|
1194
|
+
this.cacheUrls = [];
|
|
1195
|
+
this.form = {
|
|
1196
|
+
id: "",
|
|
1197
|
+
name: "",
|
|
1198
|
+
url: "",
|
|
1199
|
+
checked: false
|
|
1200
|
+
};
|
|
1201
|
+
}
|
|
1202
|
+
onClose() {
|
|
1203
|
+
this.tempDom.remove();
|
|
1204
|
+
this.onReset();
|
|
1205
|
+
}
|
|
1206
|
+
onConfirm() {
|
|
1207
|
+
const url = this.form.url;
|
|
1208
|
+
const lowerUrl = url.toLowerCase();
|
|
1209
|
+
if (!lowerUrl.startsWith("http") || !((lowerUrl.includes("x={-x}") || lowerUrl.includes("x={x}")) && lowerUrl.includes("y=") && lowerUrl.includes("z=") || lowerUrl.includes("bbox={") && lowerUrl.includes("service=") && lowerUrl.includes("width=256") && lowerUrl.includes("height=256") || lowerUrl.includes("{x}") && lowerUrl.includes("{y}") && lowerUrl.includes("{z}"))) {
|
|
1210
|
+
alert("\u8BF7\u8F93\u5165\u5408\u6CD5URL");
|
|
1211
|
+
return false;
|
|
1212
|
+
}
|
|
1213
|
+
const historyItem = this.cacheUrls.find((o) => o.url === url);
|
|
1214
|
+
if (!historyItem) {
|
|
1215
|
+
this.cacheUrls.push({ ...this.form });
|
|
1216
|
+
myDb(this.id, {
|
|
1217
|
+
id: this.id,
|
|
1218
|
+
data: this.cacheUrls
|
|
1219
|
+
});
|
|
1220
|
+
}
|
|
1221
|
+
this.props.confirm({ ...this.form }, historyItem, this.type);
|
|
1222
|
+
this.onClose();
|
|
1223
|
+
}
|
|
1224
|
+
onClearCustom() {
|
|
1225
|
+
this.form.url = "";
|
|
1226
|
+
this.form.name = "";
|
|
1227
|
+
this.tempDom.querySelector(".url-input").value = this.form.url;
|
|
1228
|
+
this.tempDom.querySelector(".name-input").value = this.form.name;
|
|
1229
|
+
}
|
|
1230
|
+
onSelect(index2) {
|
|
1231
|
+
this.form = this.cacheUrls[index2];
|
|
1232
|
+
this.tempDom.querySelector(".url-input").value = this.form.url;
|
|
1233
|
+
this.tempDom.querySelector(".name-input").value = this.form.name;
|
|
1234
|
+
this.tempDom.querySelectorAll(".custom-url-item").forEach((item, i2) => {
|
|
1235
|
+
item.className = `custom-url-item f-b-c p-lr-10 p-tb-5 m-b-5 ease-300 ${i2 === index2 ? "bg-color-f6f6f6" : ""}`;
|
|
1236
|
+
});
|
|
1237
|
+
}
|
|
1238
|
+
onRemoveUrl(idx) {
|
|
1239
|
+
this.cacheUrls.splice(idx, 1);
|
|
1240
|
+
myDb(this.id, {
|
|
1241
|
+
id: this.id,
|
|
1242
|
+
data: this.cacheUrls
|
|
1243
|
+
});
|
|
1244
|
+
}
|
|
1245
|
+
get id() {
|
|
1246
|
+
return `WBIOKR_ML_GEO_HIS_${this.form.id}`;
|
|
838
1247
|
}
|
|
839
|
-
if (onexit == null)
|
|
840
|
-
exit.remove();
|
|
841
|
-
else
|
|
842
|
-
onexit(exit);
|
|
843
|
-
return enter && update ? enter.merge(update).order() : update;
|
|
844
1248
|
}
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
1249
|
+
class Geoservers {
|
|
1250
|
+
constructor(container, map, itemClass = "", addClass = "", addBtnProps = {}) {
|
|
1251
|
+
this.container = container;
|
|
1252
|
+
this.map = map;
|
|
1253
|
+
this.tempDom = null;
|
|
1254
|
+
this.itemClass = itemClass;
|
|
1255
|
+
this.addClass = addClass;
|
|
1256
|
+
this.addBtnProps = addBtnProps;
|
|
1257
|
+
this.tiles = [];
|
|
1258
|
+
}
|
|
1259
|
+
async init() {
|
|
1260
|
+
if (this.tempDom) {
|
|
1261
|
+
this.tempDom.remove();
|
|
1262
|
+
}
|
|
1263
|
+
await this.loadTiles();
|
|
1264
|
+
this.render();
|
|
1265
|
+
this.refTile = new Tile(document.body, {
|
|
1266
|
+
confirm: this.onConfirm.bind(this)
|
|
1267
|
+
});
|
|
1268
|
+
this.initializeCheckedTiles();
|
|
1269
|
+
}
|
|
1270
|
+
async loadTiles() {
|
|
1271
|
+
try {
|
|
1272
|
+
const allTiles = await myDb("WBIOKR_GEOSERVERS_LIST_ALL");
|
|
1273
|
+
this.tiles = allTiles.data || [];
|
|
1274
|
+
} catch (error) {
|
|
1275
|
+
this.tiles = [];
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
render() {
|
|
1279
|
+
const html = `
|
|
1280
|
+
<div>
|
|
1281
|
+
${this.tiles.map(
|
|
1282
|
+
(item, index2) => `
|
|
1283
|
+
<section class="w-per-100 f-b-c p-tb-5 ${this.itemClass}">
|
|
1284
|
+
<label class="d-f-t white-1 f-s-c">
|
|
1285
|
+
<input type="checkbox" ${item.checked ? "checked" : ""} data-id="${item.id}" />
|
|
1286
|
+
<div class="white-1 h-15 m-l-5" style="max-width: 150px" title="${item.name || `\u81EA\u5B9A\u4E49\u56FE\u5C42${index2 + 1}`}">
|
|
1287
|
+
${item.name || `\u81EA\u5B9A\u4E49\u56FE\u5C42${index2 + 1}`}
|
|
1288
|
+
</div>
|
|
1289
|
+
</label>
|
|
1290
|
+
<div class="f-s-c p-l-10">
|
|
1291
|
+
<a class="m-l-10 w-nowrap c-app c-p f-s-12" data-id="${item.id}">Edit</a>
|
|
1292
|
+
<span class="c-red c-p o-hover-70 m-l-10 w-nowrap f-s-12" data-id="${item.id}">Delete</span>
|
|
1293
|
+
</div>
|
|
1294
|
+
</section>
|
|
1295
|
+
`
|
|
1296
|
+
).join("")}
|
|
1297
|
+
<section class="m-t-10 ${this.addClass}">
|
|
1298
|
+
<button
|
|
1299
|
+
class="bg-color-app f-c f-s-12 c-fff b-r-4 ease-400 o-hover-70 w-nowrap p-lr-10 h-20"
|
|
1300
|
+
>
|
|
1301
|
+
${this.addBtnProps.text || "\u65B0\u589E\u56FE\u5C42"}
|
|
1302
|
+
</button>
|
|
1303
|
+
</section>
|
|
1304
|
+
</div>
|
|
1305
|
+
`;
|
|
1306
|
+
const dom = document.createElement("div");
|
|
1307
|
+
dom.innerHTML = html;
|
|
1308
|
+
this.tempDom = dom;
|
|
1309
|
+
this.container.appendChild(dom);
|
|
1310
|
+
this.bindEvents();
|
|
1311
|
+
}
|
|
1312
|
+
bindEvents() {
|
|
1313
|
+
this.container.querySelectorAll('input[type="checkbox"]').forEach((checkbox) => {
|
|
1314
|
+
checkbox.onchange = (e2) => {
|
|
1315
|
+
this.onChangeGeo(checkbox);
|
|
1316
|
+
};
|
|
1317
|
+
});
|
|
1318
|
+
this.tempDom.querySelectorAll("a[data-id]").forEach((link) => {
|
|
1319
|
+
link.onclick = () => this.onEdit(link);
|
|
1320
|
+
});
|
|
1321
|
+
this.tempDom.querySelectorAll("span[data-id]").forEach((span) => {
|
|
1322
|
+
span.onclick = () => this.onDelete(span);
|
|
1323
|
+
});
|
|
1324
|
+
this.tempDom.querySelector("button").onclick = () => this.onAdd();
|
|
1325
|
+
}
|
|
1326
|
+
onAdd() {
|
|
1327
|
+
this.refTile.onAddModal();
|
|
1328
|
+
}
|
|
1329
|
+
onEdit(element) {
|
|
1330
|
+
const id = element.getAttribute("data-id");
|
|
1331
|
+
const item = this.tiles.find((o) => o.id === id);
|
|
1332
|
+
if (item) {
|
|
1333
|
+
this.refTile.onEditModal(item);
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
onDelete(element) {
|
|
1337
|
+
const id = element.getAttribute("data-id");
|
|
1338
|
+
const index2 = this.tiles.findIndex((o) => o.id === id);
|
|
1339
|
+
if (index2 > -1) {
|
|
1340
|
+
const item = this.tiles[index2];
|
|
1341
|
+
this.onRemoveGeoserver(item);
|
|
1342
|
+
this.tiles.splice(index2, 1);
|
|
1343
|
+
this.onSyncLocal();
|
|
1344
|
+
this.tempDom.remove();
|
|
1345
|
+
this.render();
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
initializeCheckedTiles() {
|
|
1349
|
+
const initTiles = () => {
|
|
1350
|
+
this.tiles.forEach((o) => {
|
|
1351
|
+
if (o.checked) {
|
|
1352
|
+
this.onChangeGeo(o, true);
|
|
1353
|
+
}
|
|
1354
|
+
});
|
|
1355
|
+
};
|
|
1356
|
+
try {
|
|
1357
|
+
initTiles();
|
|
1358
|
+
} catch (error) {
|
|
1359
|
+
this.map.on("style.load", () => {
|
|
1360
|
+
initTiles();
|
|
1361
|
+
});
|
|
852
1362
|
}
|
|
853
1363
|
}
|
|
854
|
-
|
|
855
|
-
|
|
1364
|
+
onRemoveGeoserver(tileItem) {
|
|
1365
|
+
if (this.map.getLayer(tileItem.id)) {
|
|
1366
|
+
this.map.removeLayer(tileItem.id);
|
|
1367
|
+
}
|
|
1368
|
+
if (this.map.getSource(tileItem.id)) {
|
|
1369
|
+
this.map.removeSource(tileItem.id);
|
|
1370
|
+
}
|
|
856
1371
|
}
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
if (
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
1372
|
+
onChangeGeo(element, isObject2) {
|
|
1373
|
+
const id = isObject2 ? element.id : element.getAttribute("data-id");
|
|
1374
|
+
const tileItem = this.tiles.find((o) => o.id === id);
|
|
1375
|
+
if (tileItem) {
|
|
1376
|
+
tileItem.checked = typeof element === "object" ? element.checked : element.checked;
|
|
1377
|
+
if (!tileItem.checked) {
|
|
1378
|
+
this.onRemoveGeoserver(tileItem);
|
|
1379
|
+
} else {
|
|
1380
|
+
const layers = this.map.getStyle().layers.filter((o) => ["fill", "raster", "background", "sky"].includes(o.type));
|
|
1381
|
+
layers.length > 0 ? layers[layers.length - 1].id : null;
|
|
1382
|
+
if (!this.map.getSource(tileItem.id)) {
|
|
1383
|
+
this.map.addSource(tileItem.id, {
|
|
1384
|
+
type: "raster",
|
|
1385
|
+
tiles: [tileItem.url.replace(/bbox={bbox}|BBOX={bbox}|BBOX={BBOX}/, "bbox={bbox-epsg-3857}")],
|
|
1386
|
+
tileSize: 256
|
|
1387
|
+
});
|
|
1388
|
+
}
|
|
1389
|
+
if (!this.map.getLayer(tileItem.id)) {
|
|
1390
|
+
this.map.addLayer({
|
|
1391
|
+
id: tileItem.id,
|
|
1392
|
+
type: "raster",
|
|
1393
|
+
source: tileItem.id,
|
|
1394
|
+
paint: {},
|
|
1395
|
+
minZoom: 15
|
|
1396
|
+
});
|
|
1397
|
+
}
|
|
866
1398
|
}
|
|
1399
|
+
this.onSyncLocal();
|
|
867
1400
|
}
|
|
868
1401
|
}
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
|
|
878
|
-
for (var group = groups[j], n2 = group.length, sortgroup = sortgroups[j] = new Array(n2), node, i2 = 0; i2 < n2; ++i2) {
|
|
879
|
-
if (node = group[i2]) {
|
|
880
|
-
sortgroup[i2] = node;
|
|
1402
|
+
onConfirm(form, historyList, type) {
|
|
1403
|
+
const index2 = this.tiles.findIndex((o) => o.id === form.id);
|
|
1404
|
+
if (index2 > -1) {
|
|
1405
|
+
this.tiles.splice(index2, 1, form);
|
|
1406
|
+
if (form.checked) {
|
|
1407
|
+
form.checked = false;
|
|
1408
|
+
this.onChangeGeo(form, true);
|
|
1409
|
+
setTimeout(() => this.onChangeGeo(form, true), 0);
|
|
881
1410
|
}
|
|
1411
|
+
} else {
|
|
1412
|
+
this.tiles.push(form);
|
|
882
1413
|
}
|
|
883
|
-
|
|
1414
|
+
this.onSyncLocal();
|
|
1415
|
+
this.tempDom && this.tempDom.remove();
|
|
1416
|
+
this.render();
|
|
884
1417
|
}
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
}
|
|
890
|
-
function selection_call() {
|
|
891
|
-
var callback = arguments[0];
|
|
892
|
-
arguments[0] = this;
|
|
893
|
-
callback.apply(null, arguments);
|
|
894
|
-
return this;
|
|
895
|
-
}
|
|
896
|
-
function selection_nodes() {
|
|
897
|
-
return Array.from(this);
|
|
898
|
-
}
|
|
899
|
-
function selection_node() {
|
|
900
|
-
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
901
|
-
for (var group = groups[j], i2 = 0, n2 = group.length; i2 < n2; ++i2) {
|
|
902
|
-
var node = group[i2];
|
|
903
|
-
if (node)
|
|
904
|
-
return node;
|
|
905
|
-
}
|
|
1418
|
+
onSyncLocal() {
|
|
1419
|
+
myDb("WBIOKR_GEOSERVERS_LIST_ALL", {
|
|
1420
|
+
id: "WBIOKR_GEOSERVERS_LIST_ALL",
|
|
1421
|
+
data: this.tiles
|
|
1422
|
+
});
|
|
906
1423
|
}
|
|
907
|
-
return null;
|
|
908
|
-
}
|
|
909
|
-
function selection_size() {
|
|
910
|
-
let size = 0;
|
|
911
|
-
for (const node of this)
|
|
912
|
-
++size;
|
|
913
|
-
return size;
|
|
914
|
-
}
|
|
915
|
-
function selection_empty() {
|
|
916
|
-
return !this.node();
|
|
917
1424
|
}
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
1425
|
+
class GeoserverAside {
|
|
1426
|
+
constructor(container, map, itemClass = "", addClass = "", addBtnProps = {}, top = 100, right = 20) {
|
|
1427
|
+
this.container = container;
|
|
1428
|
+
this.top = top;
|
|
1429
|
+
this.right = right;
|
|
1430
|
+
this.visible = false;
|
|
1431
|
+
this.tempDom = null;
|
|
1432
|
+
this.render();
|
|
1433
|
+
this.bindEvents();
|
|
1434
|
+
this.geoserverObj = new Geoservers(
|
|
1435
|
+
this.tempDom.querySelector(".aside-content"),
|
|
1436
|
+
map,
|
|
1437
|
+
itemClass,
|
|
1438
|
+
addClass,
|
|
1439
|
+
addBtnProps
|
|
1440
|
+
);
|
|
1441
|
+
setTimeout(() => {
|
|
1442
|
+
this.geoserverObj.init();
|
|
1443
|
+
}, 300);
|
|
1444
|
+
}
|
|
1445
|
+
render() {
|
|
1446
|
+
const html = `
|
|
1447
|
+
<aside class="com- p-a-xr-yt d-i z-100" style="right: ${this.right}px; top: ${this.top}px;">
|
|
1448
|
+
<button class="btn-entry ease-400 btn-visible h-30 w-30 b-r-4 c-p hover-70 bg-color-fff d-i-c b-ccc animate fadeIn ease-400 o-hover-70">
|
|
1449
|
+
<svg class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
|
1450
|
+
<path d="M901.547833 843.270597c1.499414-1.699336 2.998829-3.498633 4.398282-5.197969 1.199531-1.399453 2.299102-2.798907 3.498633-4.19836 1.299492-1.599375 2.598985-3.19875 3.898477-4.898087 1.199531-1.499414 2.299102-2.998829 3.498634-4.498243 1.199531-1.599375 2.499024-3.19875 3.698555-4.798125 1.199531-1.499414 2.299102-3.09879 3.398672-4.598204 1.199531-1.599375 2.399063-3.19875 3.598595-4.898087 1.09957-1.599375 2.199141-3.09879 3.298711-4.698165 1.199531-1.699336 2.299102-3.298711 3.498633-4.998047 1.09957-1.599375 2.09918-3.09879 3.198751-4.698165 1.09957-1.699336 2.299102-3.398672 3.398672-5.098009 0.99961-1.599375 2.09918-3.19875 3.09879-4.798125 1.09957-1.699336 2.199141-3.498633 3.298711-5.297931 0.99961-1.599375 1.999219-3.19875 2.898868-4.798126 1.09957-1.799297 2.199141-3.698555 3.298711-5.597813 0.899649-1.499414 1.799297-3.09879 2.698946-4.598204 1.199531-2.09918 2.399063-4.19836 3.598594-6.397501 0.699727-1.299492 1.499414-2.598985 2.199141-3.998438l5.397892-10.196017c0.699727-1.299492 1.299492-2.598985 1.999219-3.998438 1.09957-2.199141 2.199141-4.398282 3.298711-6.697384 0.699727-1.499414 1.499414-3.09879 2.199141-4.598204 0.99961-1.999219 1.899258-4.098399 2.898868-6.097618 0.699727-1.599375 1.499414-3.298711 2.199141-4.898087 0.899649-1.999219 1.799297-3.998438 2.598985-5.997657 0.699727-1.699336 1.399453-3.398672 2.09918-4.998048 0.799688-1.999219 1.699336-3.998438 2.499023-5.997657 0.699727-1.699336 1.299492-3.398672 1.999219-5.098008 0.799688-1.999219 1.599375-4.098399 2.299102-6.097618 0.599766-1.699336 1.299492-3.398672 1.899258-5.098009 0.799688-2.09918 1.499414-4.19836 2.199141-6.29754 0.599766-1.699336 1.199531-3.398672 1.699337-5.098009l2.09918-6.597422c0.499805-1.599375 0.99961-3.19875 1.599375-4.898087 0.699727-2.399063 1.399453-4.698165 2.09918-7.097228 0.399844-1.499414 0.899649-2.898868 1.299492-4.398282 0.899649-3.09879 1.699336-6.097618 2.499024-9.196407 0.199922-0.799688 0.399844-1.599375 0.699727-2.399063 0.99961-3.898477 1.999219-7.796954 2.898867-11.695432 0.299883-1.299492 0.599766-2.499024 0.799688-3.798516l1.799297-8.096837c0.299883-1.599375 0.599766-3.19875 0.899649-4.698165 0.499805-2.399063 0.99961-4.798126 1.399453-7.297149l0.899649-5.098009c0.399844-2.299102 0.799688-4.698165 1.199531-6.997267 0.299883-1.699336 0.499805-3.498633 0.799688-5.197969 0.299883-2.299102 0.699727-4.698165 0.999609-6.997267 0.199922-1.799297 0.499805-3.498633 0.699727-5.29793 0.299883-2.299102 0.599766-4.698165 0.799688-6.997267 0.199922-1.799297 0.399844-3.498633 0.599765-5.297931l0.599766-7.197188c0.099961-1.699336 0.299883-3.498633 0.399844-5.19797 0.199922-2.499024 0.299883-4.998048 0.499805-7.497071 0.099961-1.599375 0.199922-3.298711 0.299882-4.898087l0.299883-8.39672c0-1.399453 0.099961-2.798907 0.099961-4.098399 0.099961-4.19836 0.199922-8.39672 0.199922-12.59508 0-148.841859-63.875049-282.989457-165.635299-376.552909l-0.399843-0.399844c-2.698946-2.499024-5.497852-4.898087-8.196799-7.39711-0.299883-0.199922-0.499805-0.499805-0.799687-0.699727L840.671613 120.153065c-0.399844-0.299883-0.799688-0.699727-1.199532-0.999609-2.598985-2.199141-5.29793-4.398282-7.996876-6.497462-0.499805-0.399844-0.99961-0.799688-1.399453-1.199532-2.598985-2.09918-5.19797-4.098399-7.896916-6.097618-0.599766-0.399844-1.09957-0.899649-1.699336-1.299492-2.598985-1.899258-5.19797-3.898477-7.796954-5.797735-0.699727-0.499805-1.299492-0.99961-1.999219-1.499415-2.499024-1.799297-5.098009-3.598594-7.696994-5.397891-0.799688-0.499805-1.499414-1.09957-2.299101-1.599375-2.499024-1.699336-5.098009-3.398672-7.597033-5.098009-0.799688-0.599766-1.699336-1.09957-2.499024-1.699336-2.499024-1.599375-4.998048-3.19875-7.597032-4.798126-0.899649-0.599766-1.799297-1.09957-2.698946-1.699336-2.499024-1.499414-4.998048-3.09879-7.497071-4.598204l-2.998829-1.799297c-2.499024-1.399453-4.898087-2.898868-7.39711-4.298321-1.09957-0.599766-2.09918-1.199531-3.198751-1.799297-2.399063-1.399453-4.898087-2.698946-7.39711-3.998438-1.09957-0.599766-2.299102-1.199531-3.398673-1.799297-2.399063-1.299492-4.898087-2.499024-7.297149-3.698556-1.199531-0.599766-2.399063-1.199531-3.698556-1.799297-2.399063-1.199531-4.798126-2.399063-7.197188-3.498633l-3.898477-1.799297-7.197189-3.298712c-1.399453-0.599766-2.698946-1.199531-4.098399-1.799297-2.399063-0.99961-4.698165-1.999219-7.097228-2.998829-1.399453-0.599766-2.898868-1.199531-4.298321-1.799297-2.299102-0.99961-4.698165-1.899258-6.997266-2.798906-1.499414-0.599766-2.998829-1.09957-4.498243-1.699337-2.299102-0.899649-4.698165-1.699336-6.997267-2.598984-1.599375-0.599766-3.09879-1.09957-4.698165-1.699337l-6.897305-2.399062c-1.599375-0.499805-3.298711-1.09957-4.898087-1.599376-2.299102-0.699727-4.598204-1.499414-6.797345-2.199141l-5.098008-1.499414c-2.299102-0.699727-4.498243-1.299492-6.797345-1.999219-1.799297-0.499805-3.498633-0.99961-5.297931-1.399453-2.199141-0.599766-4.498243-1.199531-6.697384-1.799297-1.799297-0.499805-3.698555-0.899649-5.497852-1.399454-2.199141-0.499805-4.398282-1.09957-6.597423-1.599375-1.899258-0.399844-3.798516-0.799688-5.697774-1.299492-2.199141-0.499805-4.298321-0.899649-6.497462-1.399454-1.999219-0.399844-3.998438-0.799688-5.997657-1.09957-2.09918-0.399844-4.298321-0.799688-6.397501-1.199532-1.999219-0.399844-4.098399-0.699727-6.197579-0.999609-2.09918-0.299883-4.19836-0.699727-6.29754-0.99961-2.09918-0.299883-4.298321-0.599766-6.397501-0.899648-2.09918-0.299883-4.098399-0.599766-6.197579-0.799688-2.199141-0.299883-4.398282-0.499805-6.697384-0.799688-1.999219-0.199922-3.998438-0.499805-5.997657-0.699726l-6.897306-0.599766c-1.899258-0.199922-3.898477-0.399844-5.797735-0.499805-2.499024-0.199922-4.998048-0.299883-7.397111-0.499804l-5.397891-0.299883c-2.898868-0.099961-5.697774-0.199922-8.596642-0.299883-1.499414 0-2.898868-0.099961-4.398282-0.199922-4.298321-0.099961-8.696603-0.199922-12.994924-0.199922-4.398282 0-8.696603 0.099961-12.994924 0.199922-1.499414 0-2.898868 0.099961-4.398282 0.199922-2.898868 0.099961-5.697774 0.199922-8.596642 0.299883l-5.397891 0.299883c-2.499024 0.199922-4.998048 0.299883-7.397111 0.499804-1.999219 0.099961-3.898477 0.299883-5.797735 0.499805l-6.897306 0.599766c-1.999219 0.199922-3.998438 0.399844-5.997657 0.699726-2.199141 0.299883-4.398282 0.499805-6.697384 0.799688-2.09918 0.299883-4.098399 0.599766-6.197579 0.799688-2.09918 0.299883-4.298321 0.599766-6.397501 0.899648-2.09918 0.299883-4.19836 0.699727-6.29754 0.99961-2.09918 0.299883-4.098399 0.699727-6.197579 0.999609-2.09918 0.399844-4.298321 0.799688-6.397501 1.199532-1.999219 0.399844-3.998438 0.699727-5.997657 1.09957-2.199141 0.399844-4.298321 0.899649-6.497462 1.399454-1.899258 0.399844-3.798516 0.799688-5.697774 1.299492-2.199141 0.499805-4.398282 0.99961-6.597423 1.599375-1.799297 0.399844-3.698555 0.899649-5.497852 1.399454-2.199141 0.599766-4.498243 1.199531-6.697384 1.799297-1.799297 0.499805-3.498633 0.899649-5.297931 1.399453-2.299102 0.599766-4.498243 1.299492-6.797345 1.999219l-5.098008 1.499414c-2.299102 0.699727-4.598204 1.399453-6.797345 2.199141-1.599375 0.499805-3.298711 1.09957-4.898087 1.599376l-6.897305 2.399062c-1.599375 0.499805-3.09879 1.09957-4.698165 1.699337-2.299102 0.799688-4.698165 1.699336-6.997267 2.598984-1.499414 0.599766-2.998829 1.09957-4.498243 1.699337-2.399063 0.899649-4.698165 1.899258-6.997266 2.798906-1.399453 0.599766-2.898868 1.199531-4.298321 1.799297-2.399063 0.99961-4.698165 1.999219-7.097228 2.998829-1.399453 0.599766-2.698946 1.199531-4.098399 1.799297l-7.197189 3.298712-3.898477 1.799297c-2.399063 1.09957-4.798126 2.299102-7.197188 3.498633-1.199531 0.599766-2.399063 1.199531-3.698556 1.799297-2.399063 1.199531-4.898087 2.499024-7.297149 3.698556-1.199531 0.599766-2.299102 1.199531-3.398673 1.799297-2.499024 1.299492-4.898087 2.698946-7.39711 3.998438-1.09957 0.599766-2.09918 1.199531-3.198751 1.799297-2.499024 1.399453-4.998048 2.798907-7.497071 4.298321-0.99961 0.599766-1.999219 1.199531-2.998829 1.699336-2.499024 1.499414-4.998048 2.998829-7.497071 4.598204-0.899649 0.599766-1.799297 1.09957-2.698946 1.699336-2.499024 1.599375-5.098009 3.19875-7.597032 4.798126-0.799688 0.499805-1.699336 1.09957-2.499024 1.699336-2.598985 1.699336-5.098009 3.398672-7.597033 5.098009-0.799688 0.499805-1.499414 0.99961-2.299101 1.599375-2.598985 1.799297-5.098009 3.598594-7.696994 5.397891-0.699727 0.499805-1.299492 0.99961-1.999219 1.499415-2.598985 1.899258-5.19797 3.798516-7.796954 5.797735-0.599766 0.399844-1.09957 0.899649-1.699336 1.299492-2.598985 1.999219-5.29793 4.098399-7.896916 6.097618-0.499805 0.399844-0.99961 0.799688-1.399453 1.199532-2.698946 2.09918-5.29793 4.298321-7.996876 6.497462-0.399844 0.299883-0.799688 0.699727-1.199532 0.999609l-8.096837 6.897306c-0.299883 0.199922-0.499805 0.499805-0.799687 0.699727-2.798907 2.399063-5.497852 4.898087-8.196799 7.39711l-0.399843 0.399844C63.875049 229.010543 0 363.158141 0 512c0 4.19836 0.099961 8.39672 0.199922 12.59508 0 1.399453 0.099961 2.798907 0.099961 4.098399l0.299883 8.39672c0.099961 1.599375 0.199922 3.298711 0.299883 4.898087 0.099961 2.499024 0.299883 4.998048 0.499804 7.497071 0.099961 1.699336 0.299883 3.498633 0.399844 5.19797l0.599766 7.197188c0.199922 1.799297 0.399844 3.498633 0.599766 5.297931 0.299883 2.399063 0.499805 4.698165 0.799687 6.997267 0.199922 1.799297 0.399844 3.498633 0.699727 5.29793 0.299883 2.299102 0.599766 4.698165 0.999609 6.997267 0.299883 1.699336 0.499805 3.498633 0.799688 5.197969 0.399844 2.399063 0.799688 4.698165 1.199531 7.097228l0.899649 5.098009c0.399844 2.399063 0.899649 4.798126 1.399453 7.297149 0.299883 1.599375 0.599766 3.19875 0.899649 4.698165l1.799297 8.096837c0.299883 1.299492 0.499805 2.499024 0.799688 3.798516 0.899649 3.898477 1.899258 7.796954 2.898867 11.695432 0.199922 0.799688 0.399844 1.599375 0.699727 2.399063 0.799688 3.09879 1.599375 6.197579 2.499024 9.196407 0.399844 1.499414 0.899649 2.898868 1.299492 4.398282 0.699727 2.399063 1.399453 4.798126 2.09918 7.097228 0.499805 1.599375 0.99961 3.19875 1.499415 4.898087l2.09918 6.597422c0.599766 1.699336 1.199531 3.398672 1.699336 4.998048 0.699727 2.09918 1.499414 4.19836 2.199141 6.29754 0.599766 1.699336 1.199531 3.398672 1.899258 5.098009 0.799688 1.999219 1.499414 4.098399 2.299102 6.097618 0.699727 1.699336 1.299492 3.398672 1.999219 5.098008 0.799688 1.999219 1.599375 3.998438 2.499024 5.997658 0.699727 1.699336 1.399453 3.398672 2.09918 4.998047 0.899649 1.999219 1.699336 3.998438 2.598984 5.997657 0.699727 1.599375 1.499414 3.298711 2.199141 4.898087 0.899649 1.999219 1.899258 4.098399 2.798907 6.097618 0.699727 1.599375 1.499414 3.09879 2.199141 4.698165 1.09957 2.199141 2.199141 4.398282 3.298711 6.697384 0.699727 1.299492 1.299492 2.598985 1.999219 3.998438l5.397892 10.196017c0.699727 1.299492 1.499414 2.598985 2.199141 3.998438 1.199531 2.09918 2.299102 4.19836 3.598594 6.29754 0.899649 1.499414 1.799297 3.09879 2.698946 4.598204 1.09957 1.899258 2.199141 3.698555 3.298711 5.597813 0.99961 1.599375 1.999219 3.19875 2.898868 4.798126 1.09957 1.799297 2.199141 3.498633 3.298711 5.297931 0.99961 1.599375 2.09918 3.19875 3.09879 4.798125 1.09957 1.699336 2.199141 3.398672 3.398672 5.098009 1.09957 1.599375 2.09918 3.19875 3.198751 4.698165 1.09957 1.699336 2.299102 3.298711 3.498633 4.998047 1.09957 1.599375 2.199141 3.09879 3.298712 4.698165 1.199531 1.599375 2.399063 3.298711 3.598594 4.898087 1.09957 1.499414 2.299102 3.09879 3.398672 4.598204 1.199531 1.599375 2.499024 3.19875 3.698556 4.798125 1.199531 1.499414 2.299102 2.998829 3.498633 4.498243 1.299492 1.599375 2.598985 3.298711 3.898477 4.898087 1.199531 1.399453 2.299102 2.798907 3.498633 4.298321 1.499414 1.799297 2.898868 3.498633 4.398282 5.197969 11.095666 12.994924 22.791097 25.490043 35.186256 37.385397 2.798907 2.598985 5.497852 5.29793 8.39672 7.896915 0.199922 0.099961 0.299883 0.299883 0.499804 0.399844 2.698946 2.499024 5.397891 4.898087 8.196799 7.39711 0.299883 0.199922 0.499805 0.499805 0.799687 0.699727 2.698946 2.299102 5.29793 4.598204 7.996876 6.897306 0.399844 0.299883 0.799688 0.699727 1.199532 0.999609 2.598985 2.199141 5.29793 4.298321 7.896915 6.497462 0.499805 0.399844 0.99961 0.799688 1.399453 1.199532 2.598985 2.09918 5.19797 4.098399 7.796955 6.097618 0.599766 0.399844 1.199531 0.899649 1.799297 1.299492 2.598985 1.899258 5.19797 3.898477 7.796954 5.797735 0.699727 0.499805 1.299492 0.99961 1.999219 1.499415 2.499024 1.799297 5.098009 3.598594 7.696994 5.397891 0.799688 0.499805 1.499414 1.09957 2.299102 1.599375 2.499024 1.699336 5.098009 3.398672 7.597032 5.098009 0.799688 0.599766 1.699336 1.09957 2.499024 1.699336l7.497071 4.798126c0.899649 0.599766 1.799297 1.199531 2.798907 1.699336l7.497071 4.498243 2.998829 1.799297c2.499024 1.399453 4.898087 2.898868 7.39711 4.298321 1.09957 0.599766 2.09918 1.199531 3.198751 1.799297 2.399063 1.399453 4.898087 2.698946 7.39711 3.998438 1.199531 0.599766 2.299102 1.199531 3.498634 1.799297 2.399063 1.299492 4.798126 2.499024 7.297149 3.698556 1.199531 0.599766 2.399063 1.199531 3.698556 1.799297 2.399063 1.199531 4.798126 2.299102 7.197188 3.498633l3.898477 1.799297 7.197189 3.298712c1.399453 0.599766 2.698946 1.199531 4.098399 1.799297 2.399063 0.99961 4.698165 1.999219 7.097228 2.998829 1.399453 0.599766 2.898868 1.199531 4.298321 1.799297 2.299102 0.99961 4.698165 1.899258 7.097227 2.798906 1.499414 0.599766 2.998829 1.09957 4.498243 1.699337 2.299102 0.899649 4.698165 1.799297 6.997267 2.598984 1.599375 0.599766 3.09879 1.09957 4.698165 1.699337l6.897305 2.399062c1.599375 0.499805 3.298711 1.09957 4.898087 1.599376 2.299102 0.699727 4.498243 1.499414 6.797345 2.199141l5.098008 1.499414c2.199141 0.699727 4.498243 1.299492 6.797345 1.999219 1.799297 0.499805 3.498633 0.99961 5.297931 1.399453 2.199141 0.599766 4.498243 1.199531 6.697384 1.799297 1.799297 0.499805 3.698555 0.899649 5.497852 1.399454 2.199141 0.499805 4.398282 1.09957 6.597423 1.599375 1.899258 0.399844 3.798516 0.799688 5.697774 1.299492 2.199141 0.499805 4.298321 0.899649 6.497462 1.399454 1.999219 0.399844 3.998438 0.799688 5.897696 1.09957 2.09918 0.399844 4.298321 0.799688 6.397501 1.199532 1.999219 0.399844 4.098399 0.699727 6.197579 0.999609 2.09918 0.299883 4.19836 0.699727 6.29754 0.99961 2.09918 0.299883 4.298321 0.599766 6.397501 0.899648 2.09918 0.299883 4.098399 0.599766 6.197579 0.799688 2.199141 0.299883 4.398282 0.499805 6.697384 0.799688 1.999219 0.199922 3.998438 0.499805 5.997657 0.699726l6.897306 0.599766c1.899258 0.199922 3.898477 0.399844 5.797735 0.499805 2.499024 0.199922 4.998048 0.299883 7.397111 0.499804l5.397891 0.299883c2.898868 0.099961 5.697774 0.199922 8.596642 0.299883 1.499414 0 2.898868 0.099961 4.398282 0.199922 4.298321 0.099961 8.696603 0.199922 12.994924 0.199922 4.398282 0 8.696603-0.099961 12.994924-0.199922 1.499414 0 2.898868-0.099961 4.398282-0.199922 2.898868-0.099961 5.697774-0.199922 8.596642-0.299883l5.397891-0.299883c2.499024-0.199922 4.998048-0.299883 7.397111-0.499804 1.999219-0.099961 3.898477-0.299883 5.797735-0.499805l6.897306-0.599766c1.999219-0.199922 3.998438-0.399844 5.997657-0.699726 2.199141-0.299883 4.398282-0.499805 6.697384-0.799688 2.09918-0.299883 4.098399-0.599766 6.197579-0.799688 2.09918-0.299883 4.298321-0.599766 6.397501-0.899648 2.09918-0.299883 4.19836-0.699727 6.29754-0.99961 2.09918-0.299883 4.098399-0.699727 6.197579-0.999609 2.09918-0.399844 4.298321-0.799688 6.397501-1.199532 1.999219-0.399844 3.998438-0.699727 5.897696-1.09957 2.199141-0.399844 4.298321-0.899649 6.497462-1.399454 1.899258-0.399844 3.798516-0.799688 5.697774-1.299492 2.199141-0.499805 4.398282-0.99961 6.597423-1.599375 1.799297-0.399844 3.698555-0.899649 5.497853-1.399454 2.199141-0.599766 4.498243-1.199531 6.697383-1.799297 1.799297-0.499805 3.498633-0.899649 5.297931-1.399453 2.299102-0.599766 4.498243-1.299492 6.797345-1.999219l5.098008-1.499414c2.299102-0.699727 4.598204-1.399453 6.797345-2.199141 1.599375-0.499805 3.298711-1.09957 4.898087-1.599376l6.897306-2.399062c1.599375-0.499805 3.09879-1.09957 4.698164-1.699337 2.299102-0.799688 4.698165-1.699336 6.997267-2.598984 1.499414-0.599766 2.998829-1.09957 4.498243-1.699337 2.399063-0.899649 4.698165-1.899258 7.097228-2.798906 1.399453-0.599766 2.898868-1.199531 4.29832-1.799297 2.399063-0.99961 4.798126-1.999219 7.097228-2.998829 1.399453-0.599766 2.698946-1.199531 4.098399-1.799297l7.197189-3.298712 3.898477-1.799297c2.399063-1.09957 4.798126-2.299102 7.197189-3.498633 1.199531-0.599766 2.499024-1.199531 3.698555-1.799297 2.399063-1.199531 4.898087-2.499024 7.297149-3.698556 1.199531-0.599766 2.299102-1.199531 3.498634-1.799297 2.499024-1.299492 4.898087-2.598985 7.39711-3.998438 1.09957-0.599766 2.09918-1.199531 3.198751-1.799297 2.499024-1.399453 4.998048-2.798907 7.39711-4.298321l2.998829-1.799297 7.497071-4.498243c0.899649-0.599766 1.799297-1.199531 2.798907-1.699336l7.497071-4.798126c0.799688-0.499805 1.699336-1.09957 2.499024-1.699336 2.499024-1.699336 5.098009-3.398672 7.597033-5.098009 0.799688-0.499805 1.499414-1.09957 2.299102-1.599375 2.598985-1.799297 5.098009-3.598594 7.696993-5.397891 0.699727-0.499805 1.299492-0.99961 1.999219-1.499415 2.598985-1.899258 5.19797-3.798516 7.796954-5.797735 0.599766-0.399844 1.199531-0.899649 1.799297-1.299492 2.598985-1.999219 5.29793-3.998438 7.796955-6.097618 0.499805-0.399844 0.99961-0.799688 1.399453-1.199532 2.698946-2.09918 5.29793-4.298321 7.896915-6.497462 0.399844-0.299883 0.799688-0.699727 1.199532-0.999609 2.698946-2.299102 5.397891-4.598204 7.996876-6.897306 0.299883-0.199922 0.499805-0.499805 0.799688-0.699727 2.798907-2.399063 5.497852-4.898087 8.196798-7.39711 0.199922-0.099961 0.299883-0.299883 0.499804-0.399844 2.798907-2.598985 5.597813-5.19797 8.396721-7.896915 12.395158-11.795392 24.09059-24.290512 35.186255-37.385397z m76.270207-296.484185c-0.099961 1.599375-0.299883 3.298711-0.399844 4.898086l-0.599766 6.597423c-0.199922 1.699336-0.399844 3.398672-0.499804 5.098009-0.199922 2.09918-0.499805 4.19836-0.699727 6.29754-0.199922 1.699336-0.399844 3.398672-0.699727 5.098008-0.299883 2.09918-0.599766 4.098399-0.899648 6.097618-0.299883 1.699336-0.499805 3.498633-0.799688 5.19797-0.299883 1.999219-0.699727 3.998438-0.99961 5.997657-0.299883 1.699336-0.599766 3.498633-0.899648 5.19797-0.399844 1.999219-0.699727 3.998438-1.099571 5.897696-0.299883 1.699336-0.699727 3.498633-1.09957 5.197969-0.399844 1.999219-0.799688 3.898477-1.299492 5.797736-0.399844 1.699336-0.799688 3.398672-1.199532 5.197969-0.499805 1.899258-0.899649 3.898477-1.399453 5.797736-0.399844 1.699336-0.799688 3.398672-1.299493 5.098008-0.499805 1.899258-0.99961 3.798516-1.599375 5.797735-0.499805 1.699336-0.899649 3.398672-1.399453 4.998048-0.599766 1.899258-1.09957 3.798516-1.699336 5.697774-0.499805 1.699336-0.99961 3.298711-1.499415 4.998048-0.599766 1.899258-1.199531 3.798516-1.899258 5.697774-0.499805 1.599375-0.99961 3.19875-1.599375 4.898087-0.699727 1.999219-1.399453 3.998438-2.09918 5.897696-0.499805 1.499414-1.09957 2.998829-1.599375 4.498243-1.199531 3.398672-2.499024 6.697384-3.798516 10.096056-0.599766 1.599375-1.299492 3.298711-1.99922 4.898087-0.699727 1.799297-1.399453 3.498633-2.19914 5.29793-0.699727 1.699336-1.499414 3.398672-2.199141 5.098009-0.699727 1.599375-1.399453 3.298711-2.199141 4.898087-0.799688 1.699336-1.599375 3.498633-2.399063 5.197969-0.699727 1.599375-1.499414 3.19875-2.199141 4.798126-0.799688 1.699336-1.699336 3.498633-2.499024 5.19797-0.799688 1.499414-1.499414 3.09879-2.299102 4.598203-0.899649 1.699336-1.799297 3.398672-2.698946 5.19797l-2.399063 4.498243c-0.899649 1.699336-1.899258 3.398672-2.798906 5.197969-0.799688 1.499414-1.599375 2.898868-2.499024 4.398282l-2.998829 5.098009c-0.799688 1.399453-1.699336 2.898868-2.499023 4.298321-0.99961 1.699336-1.999219 3.398672-3.09879 5.098008-0.899649 1.399453-1.699336 2.798907-2.598985 4.19836-1.09957 1.699336-2.09918 3.398672-3.19875 5.098009-0.899649 1.399453-1.799297 2.698946-2.698946 3.998438-1.09957 1.699336-2.199141 3.398672-3.398672 4.998048l-2.698946 3.898477-3.598594 5.098008c-0.899649 1.199531-1.799297 2.399063-2.698946 3.698556-1.199531 1.699336-2.499024 3.398672-3.798516 5.098008-0.899649 1.09957-1.799297 2.299102-2.598985 3.398673-1.299492 1.699336-2.698946 3.498633-3.998438 5.197969-0.799688 0.99961-1.599375 1.999219-2.399063 2.898868-1.499414 1.799297-2.998829 3.698555-4.498243 5.497852-0.299883 0.399844-0.599766 0.799688-0.999609 1.099571-4.19836 4.998048-8.496681 9.896134-12.795002 14.794221-35.286216-16.693479-75.170636-30.787973-118.753612-41.783678 23.09098-71.871925 37.085513-156.139008 39.284654-247.203437h199.921906c-0.099961 1.09957-0.099961 2.299102-0.199922 3.398673 0.099961 2.199141 0 4.498243-0.199922 6.797345zM765.600937 904.146818c-2.598985 1.699336-5.19797 3.298711-7.796954 4.898086-0.499805 0.299883-0.899649 0.599766-1.399454 0.899649-2.399063 1.499414-4.898087 2.998829-7.39711 4.398282-0.599766 0.399844-1.299492 0.799688-1.899258 1.09957-2.399063 1.399453-4.698165 2.698946-7.097228 4.098399-0.799688 0.399844-1.499414 0.899649-2.299102 1.299493-2.299102 1.299492-4.698165 2.598985-6.997266 3.798516-0.799688 0.499805-1.699336 0.899649-2.499024 1.299492l-6.897306 3.598595c-0.899649 0.499805-1.799297 0.899649-2.698946 1.399453-2.299102 1.09957-4.598204 2.299102-6.897305 3.398672-0.899649 0.399844-1.899258 0.899649-2.798907 1.299493-2.299102 1.09957-4.598204 2.199141-6.997267 3.19875-0.899649 0.399844-1.899258 0.799688-2.798906 1.199532-2.399063 0.99961-4.698165 2.09918-7.097228 3.098789-0.899649 0.399844-1.699336 0.699727-2.598985 1.099571l-7.497071 2.998828c-0.599766 0.199922-1.199531 0.499805-1.799297 0.699727-8.796564 3.398672-17.693089 6.497462-26.789536 9.39633l-1.799297 0.599765c-2.199141 0.699727-4.398282 1.299492-6.497462 1.999219-0.899649 0.299883-1.899258 0.599766-2.798907 0.799688 31.987505-33.58688 59.77665-79.368996 81.868021-134.347521 36.085904 8.996486 69.672784 20.192112 99.761031 33.187037-17.992971 16.193674-37.285435 30.987895-57.67747 44.182741-0.299883 0.199922-0.499805 0.299883-0.599766 0.399844z m-393.346349 53.878953l-1.799297-0.599766c-9.096447-2.898868-17.992971-5.997657-26.789535-9.396329-0.599766-0.199922-1.199531-0.399844-1.699337-0.699727l-7.497071-2.998828c-0.899649-0.399844-1.699336-0.699727-2.598985-0.99961-2.399063-0.99961-4.798126-1.999219-7.097228-3.098789-0.899649-0.399844-1.899258-0.799688-2.798906-1.199532-2.299102-0.99961-4.698165-2.09918-6.997267-3.19875-0.899649-0.399844-1.899258-0.899649-2.798907-1.299493-2.299102-1.09957-4.598204-2.199141-6.897305-3.398672-0.899649-0.499805-1.799297-0.899649-2.698946-1.399453l-6.897306-3.598595c-0.799688-0.399844-1.699336-0.899649-2.499024-1.299492-2.399063-1.299492-4.698165-2.499024-6.997266-3.798516-0.799688-0.399844-1.499414-0.799688-2.299102-1.299493-2.399063-1.299492-4.798126-2.698946-7.097228-4.098399-0.599766-0.399844-1.299492-0.799688-1.899258-1.09957-2.499024-1.499414-4.898087-2.898868-7.39711-4.398282-0.499805-0.299883-0.899649-0.599766-1.399454-0.799688-2.598985-1.599375-5.19797-3.298711-7.796954-4.898086-0.099961-0.099961-0.299883-0.199922-0.399844-0.299883-20.392034-13.294807-39.584537-27.989067-57.577509-44.182741 30.088247-12.994924 63.675127-24.190551 99.761031-33.187037 21.99141 54.978524 49.880515 100.76064 81.86802 134.347521-0.899649-0.299883-1.899258-0.599766-2.798906-0.799688-2.598985-0.99961-4.798126-1.699336-6.897306-2.299102zM151.840687 809.583756c-1.499414-1.799297-2.998829-3.698555-4.498243-5.497852-0.799688-0.99961-1.599375-1.899258-2.299102-2.898868-1.399453-1.699336-2.698946-3.498633-3.998438-5.197969-0.899649-1.09957-1.699336-2.199141-2.598984-3.398673-1.299492-1.699336-2.499024-3.398672-3.798517-5.098008-0.899649-1.199531-1.799297-2.399063-2.698945-3.698555l-3.598595-5.098009-2.698945-3.898477c-1.09957-1.699336-2.299102-3.398672-3.398673-5.098009-0.899649-1.299492-1.799297-2.698946-2.598985-3.998438-1.09957-1.699336-2.199141-3.398672-3.19875-5.098009-0.899649-1.399453-1.699336-2.798907-2.598985-4.19836-0.99961-1.699336-2.09918-3.398672-3.098789-5.098008-0.899649-1.399453-1.699336-2.898868-2.499024-4.298321-0.99961-1.699336-1.999219-3.398672-2.898868-5.098009-0.799688-1.499414-1.599375-2.898868-2.499024-4.398282-0.899649-1.699336-1.899258-3.398672-2.798906-5.098008l-2.399063-4.498243c-0.899649-1.699336-1.799297-3.398672-2.698946-5.19797-0.799688-1.499414-1.499414-3.09879-2.299102-4.598203-0.899649-1.699336-1.699336-3.498633-2.499024-5.19797-0.799688-1.599375-1.499414-3.19875-2.199141-4.798126-0.799688-1.699336-1.599375-3.398672-2.399062-5.197969-0.699727-1.599375-1.399453-3.298711-2.199141-4.898087-0.699727-1.699336-1.499414-3.398672-2.199141-5.098009-0.699727-1.799297-1.499414-3.598594-2.199141-5.397891-0.699727-1.599375-1.299492-3.19875-1.999219-4.798126-1.299492-3.298711-2.598985-6.697384-3.798517-10.096056-0.499805-1.499414-1.09957-2.998829-1.599375-4.498243l-2.09918-5.997657c-0.499805-1.599375-1.09957-3.19875-1.599375-4.898087-0.599766-1.899258-1.299492-3.798516-1.899258-5.697774-0.499805-1.699336-0.99961-3.298711-1.499414-4.998048-0.599766-1.899258-1.199531-3.798516-1.699337-5.697774-0.499805-1.699336-0.899649-3.398672-1.399453-5.098008-0.499805-1.899258-1.09957-3.798516-1.599375-5.797736-0.399844-1.699336-0.899649-3.398672-1.299493-5.098008-0.499805-1.899258-0.99961-3.898477-1.399453-5.797736l-1.199531-5.098008c-0.399844-1.999219-0.899649-3.898477-1.299493-5.897696-0.399844-1.699336-0.699727-3.398672-1.09957-5.19797-0.399844-1.999219-0.799688-3.998438-1.099571-5.897696-0.299883-1.699336-0.599766-3.498633-0.899648-5.19797-0.299883-1.999219-0.699727-3.998438-0.99961-5.997657-0.299883-1.699336-0.499805-3.498633-0.799687-5.197969-0.299883-1.999219-0.599766-4.098399-0.899649-6.097619-0.199922-1.699336-0.499805-3.398672-0.699727-5.098008-0.299883-2.09918-0.499805-4.19836-0.699726-6.29754-0.199922-1.699336-0.399844-3.398672-0.499805-5.098009l-0.599766-6.597423c-0.099961-1.599375-0.299883-3.298711-0.399844-4.898086-0.199922-2.299102-0.299883-4.598204-0.399843-6.897306-0.099961-1.09957-0.099961-2.299102-0.199922-3.398672h199.921905c2.09918 91.164389 16.193674 175.331511 39.284655 247.203436-43.483014 10.995705-83.467396 25.090199-118.753612 41.783678-4.398282-4.898087-8.696603-9.896134-12.994924-14.894182-0.399844 0-0.699727-0.299883-0.899649-0.699727z m106.158532-689.730574c2.598985-1.699336 5.19797-3.298711 7.796954-4.898086 0.499805-0.299883 0.899649-0.599766 1.399454-0.899649 2.399063-1.499414 4.898087-2.998829 7.39711-4.398282 0.599766-0.399844 1.299492-0.799688 1.899258-1.09957 2.399063-1.399453 4.798126-2.698946 7.097228-4.098399 0.799688-0.399844 1.499414-0.899649 2.299102-1.299493 2.299102-1.299492 4.698165-2.598985 6.997267-3.798516 0.799688-0.499805 1.699336-0.899649 2.499023-1.299492l6.897306-3.598595c0.899649-0.499805 1.799297-0.899649 2.698946-1.399453 2.299102-1.09957 4.598204-2.299102 6.897306-3.398672 0.899649-0.399844 1.899258-0.899649 2.798906-1.299493 2.299102-1.09957 4.598204-2.199141 6.997267-3.19875 0.899649-0.399844 1.899258-0.799688 2.798907-1.199532 2.399063-0.99961 4.798126-2.09918 7.097227-3.098789 0.899649-0.399844 1.699336-0.699727 2.598985-1.099571 2.499024-0.99961 4.998048-2.09918 7.497072-2.998828 0.599766-0.199922 1.199531-0.499805 1.799297-0.699727 8.796564-3.398672 17.693089-6.497462 26.689574-9.39633l1.799297-0.599765c2.199141-0.699727 4.398282-1.299492 6.597423-1.999219 0.899649-0.299883 1.799297-0.599766 2.798907-0.799688-31.987505 33.58688-59.77665 79.368996-81.868021 134.347521-36.085904-8.996486-69.672784-20.192112-99.76103-33.187037 17.992971-16.193674 37.285435-30.987895 57.577508-44.182741 0.399844-0.199922 0.599766-0.299883 0.699727-0.399844z m393.44631-53.878953l1.799297 0.599766c8.996486 2.898868 17.992971 5.997657 26.789536 9.396329 0.599766 0.199922 1.199531 0.499805 1.799297 0.699727l7.497071 2.998828c0.899649 0.399844 1.799297 0.699727 2.598985 1.099571 2.399063 0.99961 4.798126 1.999219 7.097228 3.098789 0.899649 0.399844 1.899258 0.799688 2.798906 1.199532 2.299102 0.99961 4.698165 2.09918 6.997267 3.19875 0.899649 0.399844 1.899258 0.899649 2.798907 1.299493 2.299102 1.09957 4.598204 2.199141 6.997266 3.398672 0.899649 0.399844 1.799297 0.899649 2.698946 1.299492 2.299102 1.199531 4.698165 2.399063 6.997267 3.598595 0.799688 0.399844 1.699336 0.899649 2.499024 1.299492 2.299102 1.299492 4.698165 2.499024 6.997266 3.798516 0.799688 0.399844 1.499414 0.899649 2.299102 1.299493 2.399063 1.299492 4.798126 2.698946 7.097228 4.098399 0.599766 0.399844 1.299492 0.799688 1.899258 1.09957 2.499024 1.499414 4.898087 2.898868 7.39711 4.398282 0.499805 0.299883 0.899649 0.599766 1.399454 0.899649 2.598985 1.599375 5.19797 3.298711 7.796954 4.898086 0.099961 0.099961 0.299883 0.199922 0.399844 0.299883 20.392034 13.294807 39.584537 28.089028 57.67747 44.182741-30.088247 12.994924-63.675127 24.190551-99.761031 33.187037-21.99141-54.978524-49.880515-100.76064-81.868021-134.347521 0.899649 0.299883 1.799297 0.499805 2.698946 0.799688 2.199141 0.899649 4.398282 1.499414 6.597423 2.199141z m127.050371 421.535338c-2.09918-91.164389-16.193674-175.331511-39.284654-247.203437 43.483014-10.995705 83.467396-25.090199 118.753611-41.783678 70.072628 77.269816 114.655213 178.130418 120.452949 289.087076h-199.921906zM487.309645 222.41312c-49.780554-1.299492-97.861773-6.497462-142.744241-14.994143 35.985943-86.566185 86.566185-146.142913 142.744241-159.737603v174.731746z m0 44.482624v220.613823H289.58688c2.299102-86.966029 16.493557-168.534166 39.184694-237.307302 49.380711 9.596251 102.659898 15.393987 158.538071 16.693479z m0 269.594689v220.613823c-55.878173 1.299492-109.15736 7.097228-158.538071 16.693479-22.691136-68.873096-36.885592-150.341273-39.184694-237.307302h197.722765z m0 265.096447v174.731746c-56.178055-13.59469-106.758298-73.171417-142.744241-159.737603 44.982429-8.496681 92.963686-13.694651 142.744241-14.994143z m48.980867 0c49.780554 1.299492 97.861773 6.497462 142.74424 14.994143-35.985943 86.566185-86.566185 146.142913-142.74424 159.737603V801.58688z m0-44.482624V536.490433h197.722764c-2.299102 86.966029-16.493557 168.534166-39.184693 237.307302-49.380711-9.596251-102.659898-15.393987-158.538071-16.693479z m0-269.594689V266.895744c55.878173-1.299492 109.15736-7.097228 158.538071-16.693479 22.691136 68.873096 36.885592 150.341273 39.184693 237.307302H536.290512z m0-265.096447V47.681374c56.178055 13.59469 106.758298 73.171417 142.74424 159.737603-44.982429 8.496681-92.963686 13.694651-142.74424 14.994143z m-370.655213-23.990629c35.286216 16.693479 75.170636 30.787973 118.753612 41.783678-23.09098 71.871925-37.085513 156.139008-39.284655 247.203437h-199.921905c5.697774-110.856697 50.280359-211.617337 120.452948-288.987115z" fill=""></path>
|
|
1451
|
+
</svg>
|
|
1452
|
+
</button>
|
|
1453
|
+
<div
|
|
1454
|
+
class="aside-content p-a-xr-yt ease-300 p-lr-20 p-tb-15 bg-color-fff b-r-4 aside-hidden"
|
|
1455
|
+
>
|
|
1456
|
+
<svg class="btn-close c-red c-p p-a-xr-yt m-t-5 m-r-5 o-hover-70 ease-400" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="14" height="14">
|
|
1457
|
+
<path d="M567.719936 491.383467l400.315733-400.315734a52.4288 52.4288 0 0 0 0-73.728l-2.184533-2.184533a52.4288 52.4288 0 0 0-73.728 0L491.807403 416.017067 91.491669 15.1552a52.4288 52.4288 0 0 0-73.728 0L15.579136 17.339733a51.4048 51.4048 0 0 0 0 73.728l400.315733 400.315734-400.315733 400.315733a52.4288 52.4288 0 0 0 0 73.728l2.184533 2.184533a52.4288 52.4288 0 0 0 73.728 0L491.807403 567.296l400.315733 400.315733a52.4288 52.4288 0 0 0 73.728 0l2.184533-2.184533a52.4288 52.4288 0 0 0 0-73.728L567.719936 491.383467z" fill="#ff6300""></path>
|
|
1458
|
+
</svg>
|
|
1459
|
+
</div>
|
|
1460
|
+
</aside>
|
|
1461
|
+
`;
|
|
1462
|
+
const dom = document.createElement("div");
|
|
1463
|
+
dom.innerHTML = html;
|
|
1464
|
+
this.tempDom = dom;
|
|
1465
|
+
this.container.appendChild(dom);
|
|
1466
|
+
}
|
|
1467
|
+
bindEvents() {
|
|
1468
|
+
this.container.querySelector(".btn-entry").addEventListener("click", () => this.toggleVisibility());
|
|
1469
|
+
this.container.querySelector(".btn-close").addEventListener("click", () => this.toggleVisibility());
|
|
1470
|
+
}
|
|
1471
|
+
toggleVisibility() {
|
|
1472
|
+
const btn = this.container.querySelector(".btn-entry");
|
|
1473
|
+
const aside = this.container.querySelector(".aside-content");
|
|
1474
|
+
if (btn.className.includes("btn-visible")) {
|
|
1475
|
+
btn.className = btn.className.replace("btn-visible", "btn-hidden");
|
|
1476
|
+
aside.className = aside.className.replace("aside-hidden", "aside-visible");
|
|
1477
|
+
this.geoserverObj.init();
|
|
1478
|
+
} else {
|
|
1479
|
+
btn.className = btn.className.replace("btn-hidden", "btn-visible");
|
|
1480
|
+
aside.className = aside.className.replace("aside-visible", "aside-hidden");
|
|
923
1481
|
}
|
|
924
1482
|
}
|
|
925
|
-
return this;
|
|
926
|
-
}
|
|
927
|
-
function attrRemove(name) {
|
|
928
|
-
return function() {
|
|
929
|
-
this.removeAttribute(name);
|
|
930
|
-
};
|
|
931
|
-
}
|
|
932
|
-
function attrRemoveNS(fullname) {
|
|
933
|
-
return function() {
|
|
934
|
-
this.removeAttributeNS(fullname.space, fullname.local);
|
|
935
|
-
};
|
|
936
|
-
}
|
|
937
|
-
function attrConstant(name, value) {
|
|
938
|
-
return function() {
|
|
939
|
-
this.setAttribute(name, value);
|
|
940
|
-
};
|
|
941
|
-
}
|
|
942
|
-
function attrConstantNS(fullname, value) {
|
|
943
|
-
return function() {
|
|
944
|
-
this.setAttributeNS(fullname.space, fullname.local, value);
|
|
945
|
-
};
|
|
946
|
-
}
|
|
947
|
-
function attrFunction(name, value) {
|
|
948
|
-
return function() {
|
|
949
|
-
var v = value.apply(this, arguments);
|
|
950
|
-
if (v == null)
|
|
951
|
-
this.removeAttribute(name);
|
|
952
|
-
else
|
|
953
|
-
this.setAttribute(name, v);
|
|
954
|
-
};
|
|
955
|
-
}
|
|
956
|
-
function attrFunctionNS(fullname, value) {
|
|
957
|
-
return function() {
|
|
958
|
-
var v = value.apply(this, arguments);
|
|
959
|
-
if (v == null)
|
|
960
|
-
this.removeAttributeNS(fullname.space, fullname.local);
|
|
961
|
-
else
|
|
962
|
-
this.setAttributeNS(fullname.space, fullname.local, v);
|
|
963
|
-
};
|
|
964
1483
|
}
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
1484
|
+
var index = "";
|
|
1485
|
+
const options$6 = {
|
|
1486
|
+
className: "",
|
|
1487
|
+
checked: false,
|
|
1488
|
+
disabled: false,
|
|
1489
|
+
indeterminate: false,
|
|
1490
|
+
onChange: () => {
|
|
1491
|
+
}
|
|
1492
|
+
};
|
|
1493
|
+
class Checkbox {
|
|
1494
|
+
constructor(container, e2) {
|
|
1495
|
+
this.options = {
|
|
1496
|
+
...options$6,
|
|
1497
|
+
...e2
|
|
1498
|
+
};
|
|
1499
|
+
this._container = container;
|
|
1500
|
+
this._wrapper = null;
|
|
1501
|
+
this._content = null;
|
|
1502
|
+
this._render();
|
|
1503
|
+
}
|
|
1504
|
+
_render() {
|
|
1505
|
+
const dom = document.createElement("div");
|
|
1506
|
+
dom.className = this._wrapperClass();
|
|
1507
|
+
const span = document.createElement("span");
|
|
1508
|
+
span.className = this._contentClass();
|
|
1509
|
+
dom.append(span);
|
|
1510
|
+
this._wrapper = dom;
|
|
1511
|
+
this._content = span;
|
|
1512
|
+
dom.onclick = () => {
|
|
1513
|
+
if (this.options.disabled)
|
|
1514
|
+
return;
|
|
1515
|
+
this.options.indeterminate = false;
|
|
1516
|
+
this.options.checked = !this.options.checked;
|
|
1517
|
+
dom.className = this._wrapperClass();
|
|
1518
|
+
span.className = this._contentClass();
|
|
1519
|
+
this.options.onChange && this.options.onChange(this.options);
|
|
1520
|
+
};
|
|
1521
|
+
this._container.append(dom);
|
|
1522
|
+
}
|
|
1523
|
+
_updateStatus(args) {
|
|
1524
|
+
this.options = {
|
|
1525
|
+
...this.options,
|
|
1526
|
+
...args
|
|
1527
|
+
};
|
|
1528
|
+
this._wrapper.className = this._wrapperClass();
|
|
1529
|
+
this._content.className = this._contentClass();
|
|
1530
|
+
}
|
|
1531
|
+
_wrapperClass() {
|
|
1532
|
+
let classname = `wbiokr-com-checkbox w-15 h-15 b-r-2 b-ccc ease-200 border-hover-app f-c c-p`;
|
|
1533
|
+
classname += !this.options.indeterminate && this.options.checked ? " bg-color-app b-c-app p-r wbiokr-com-checked " : " bg-color-fff b-c-ccc ";
|
|
1534
|
+
classname += this.options.className;
|
|
1535
|
+
return classname;
|
|
1536
|
+
}
|
|
1537
|
+
_contentClass() {
|
|
1538
|
+
let classname = `wbiokr-com-checkbox-content ease-300 `;
|
|
1539
|
+
classname += !this.options.indeterminate && this.options.checked ? " top-5 w-5 h-10 b-fff b-w-2 rotate-45 b-no-t b-no-l o-100 " : this.options.indeterminate ? " w-5 h-5 bg-color-app o-100 " : " rotate-reverse-45 b-fff b-w-2 ";
|
|
1540
|
+
return classname;
|
|
970
1541
|
}
|
|
971
|
-
return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value));
|
|
972
|
-
}
|
|
973
|
-
function defaultView(node) {
|
|
974
|
-
return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView;
|
|
975
|
-
}
|
|
976
|
-
function styleRemove(name) {
|
|
977
|
-
return function() {
|
|
978
|
-
this.style.removeProperty(name);
|
|
979
|
-
};
|
|
980
|
-
}
|
|
981
|
-
function styleConstant(name, value, priority) {
|
|
982
|
-
return function() {
|
|
983
|
-
this.style.setProperty(name, value, priority);
|
|
984
|
-
};
|
|
985
|
-
}
|
|
986
|
-
function styleFunction(name, value, priority) {
|
|
987
|
-
return function() {
|
|
988
|
-
var v = value.apply(this, arguments);
|
|
989
|
-
if (v == null)
|
|
990
|
-
this.style.removeProperty(name);
|
|
991
|
-
else
|
|
992
|
-
this.style.setProperty(name, v, priority);
|
|
993
|
-
};
|
|
994
|
-
}
|
|
995
|
-
function selection_style(name, value, priority) {
|
|
996
|
-
return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name);
|
|
997
|
-
}
|
|
998
|
-
function styleValue(node, name) {
|
|
999
|
-
return node.style.getPropertyValue(name) || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);
|
|
1000
|
-
}
|
|
1001
|
-
function propertyRemove(name) {
|
|
1002
|
-
return function() {
|
|
1003
|
-
delete this[name];
|
|
1004
|
-
};
|
|
1005
|
-
}
|
|
1006
|
-
function propertyConstant(name, value) {
|
|
1007
|
-
return function() {
|
|
1008
|
-
this[name] = value;
|
|
1009
|
-
};
|
|
1010
|
-
}
|
|
1011
|
-
function propertyFunction(name, value) {
|
|
1012
|
-
return function() {
|
|
1013
|
-
var v = value.apply(this, arguments);
|
|
1014
|
-
if (v == null)
|
|
1015
|
-
delete this[name];
|
|
1016
|
-
else
|
|
1017
|
-
this[name] = v;
|
|
1018
|
-
};
|
|
1019
|
-
}
|
|
1020
|
-
function selection_property(name, value) {
|
|
1021
|
-
return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];
|
|
1022
|
-
}
|
|
1023
|
-
function classArray(string) {
|
|
1024
|
-
return string.trim().split(/^|\s+/);
|
|
1025
|
-
}
|
|
1026
|
-
function classList(node) {
|
|
1027
|
-
return node.classList || new ClassList(node);
|
|
1028
1542
|
}
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1543
|
+
var earthRadius = 63710088e-1;
|
|
1544
|
+
var factors = {
|
|
1545
|
+
centimeters: earthRadius * 100,
|
|
1546
|
+
centimetres: earthRadius * 100,
|
|
1547
|
+
degrees: earthRadius / 111325,
|
|
1548
|
+
feet: earthRadius * 3.28084,
|
|
1549
|
+
inches: earthRadius * 39.37,
|
|
1550
|
+
kilometers: earthRadius / 1e3,
|
|
1551
|
+
kilometres: earthRadius / 1e3,
|
|
1552
|
+
meters: earthRadius,
|
|
1553
|
+
metres: earthRadius,
|
|
1554
|
+
miles: earthRadius / 1609.344,
|
|
1555
|
+
millimeters: earthRadius * 1e3,
|
|
1556
|
+
millimetres: earthRadius * 1e3,
|
|
1557
|
+
nauticalmiles: earthRadius / 1852,
|
|
1558
|
+
radians: 1,
|
|
1559
|
+
yards: earthRadius * 1.0936
|
|
1560
|
+
};
|
|
1561
|
+
function feature(geom, properties, options2) {
|
|
1562
|
+
if (options2 === void 0) {
|
|
1563
|
+
options2 = {};
|
|
1564
|
+
}
|
|
1565
|
+
var feat = { type: "Feature" };
|
|
1566
|
+
if (options2.id === 0 || options2.id) {
|
|
1567
|
+
feat.id = options2.id;
|
|
1568
|
+
}
|
|
1569
|
+
if (options2.bbox) {
|
|
1570
|
+
feat.bbox = options2.bbox;
|
|
1571
|
+
}
|
|
1572
|
+
feat.properties = properties || {};
|
|
1573
|
+
feat.geometry = geom;
|
|
1574
|
+
return feat;
|
|
1032
1575
|
}
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1576
|
+
function polygon(coordinates, properties, options2) {
|
|
1577
|
+
if (options2 === void 0) {
|
|
1578
|
+
options2 = {};
|
|
1579
|
+
}
|
|
1580
|
+
for (var _i = 0, coordinates_1 = coordinates; _i < coordinates_1.length; _i++) {
|
|
1581
|
+
var ring = coordinates_1[_i];
|
|
1582
|
+
if (ring.length < 4) {
|
|
1583
|
+
throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");
|
|
1039
1584
|
}
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
this._names.splice(i2, 1);
|
|
1045
|
-
this._node.setAttribute("class", this._names.join(" "));
|
|
1585
|
+
for (var j = 0; j < ring[ring.length - 1].length; j++) {
|
|
1586
|
+
if (ring[ring.length - 1][j] !== ring[0][j]) {
|
|
1587
|
+
throw new Error("First and last Position are not equivalent.");
|
|
1588
|
+
}
|
|
1046
1589
|
}
|
|
1047
|
-
},
|
|
1048
|
-
contains: function(name) {
|
|
1049
|
-
return this._names.indexOf(name) >= 0;
|
|
1050
1590
|
}
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
while (++i2 < n2)
|
|
1055
|
-
list.add(names[i2]);
|
|
1056
|
-
}
|
|
1057
|
-
function classedRemove(node, names) {
|
|
1058
|
-
var list = classList(node), i2 = -1, n2 = names.length;
|
|
1059
|
-
while (++i2 < n2)
|
|
1060
|
-
list.remove(names[i2]);
|
|
1061
|
-
}
|
|
1062
|
-
function classedTrue(names) {
|
|
1063
|
-
return function() {
|
|
1064
|
-
classedAdd(this, names);
|
|
1065
|
-
};
|
|
1066
|
-
}
|
|
1067
|
-
function classedFalse(names) {
|
|
1068
|
-
return function() {
|
|
1069
|
-
classedRemove(this, names);
|
|
1070
|
-
};
|
|
1071
|
-
}
|
|
1072
|
-
function classedFunction(names, value) {
|
|
1073
|
-
return function() {
|
|
1074
|
-
(value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
|
|
1591
|
+
var geom = {
|
|
1592
|
+
type: "Polygon",
|
|
1593
|
+
coordinates
|
|
1075
1594
|
};
|
|
1595
|
+
return feature(geom, properties, options2);
|
|
1076
1596
|
}
|
|
1077
|
-
function
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
var list = classList(this.node()), i2 = -1, n2 = names.length;
|
|
1081
|
-
while (++i2 < n2)
|
|
1082
|
-
if (!list.contains(names[i2]))
|
|
1083
|
-
return false;
|
|
1084
|
-
return true;
|
|
1597
|
+
function lineString(coordinates, properties, options2) {
|
|
1598
|
+
if (options2 === void 0) {
|
|
1599
|
+
options2 = {};
|
|
1085
1600
|
}
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
return function() {
|
|
1093
|
-
this.textContent = value;
|
|
1094
|
-
};
|
|
1095
|
-
}
|
|
1096
|
-
function textFunction(value) {
|
|
1097
|
-
return function() {
|
|
1098
|
-
var v = value.apply(this, arguments);
|
|
1099
|
-
this.textContent = v == null ? "" : v;
|
|
1100
|
-
};
|
|
1101
|
-
}
|
|
1102
|
-
function selection_text(value) {
|
|
1103
|
-
return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent;
|
|
1104
|
-
}
|
|
1105
|
-
function htmlRemove() {
|
|
1106
|
-
this.innerHTML = "";
|
|
1107
|
-
}
|
|
1108
|
-
function htmlConstant(value) {
|
|
1109
|
-
return function() {
|
|
1110
|
-
this.innerHTML = value;
|
|
1111
|
-
};
|
|
1112
|
-
}
|
|
1113
|
-
function htmlFunction(value) {
|
|
1114
|
-
return function() {
|
|
1115
|
-
var v = value.apply(this, arguments);
|
|
1116
|
-
this.innerHTML = v == null ? "" : v;
|
|
1601
|
+
if (coordinates.length < 2) {
|
|
1602
|
+
throw new Error("coordinates must be an array of two or more positions");
|
|
1603
|
+
}
|
|
1604
|
+
var geom = {
|
|
1605
|
+
type: "LineString",
|
|
1606
|
+
coordinates
|
|
1117
1607
|
};
|
|
1608
|
+
return feature(geom, properties, options2);
|
|
1118
1609
|
}
|
|
1119
|
-
function
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
return
|
|
1128
|
-
}
|
|
1129
|
-
function lower() {
|
|
1130
|
-
if (this.previousSibling)
|
|
1131
|
-
this.parentNode.insertBefore(this, this.parentNode.firstChild);
|
|
1132
|
-
}
|
|
1133
|
-
function selection_lower() {
|
|
1134
|
-
return this.each(lower);
|
|
1135
|
-
}
|
|
1136
|
-
function selection_append(name) {
|
|
1137
|
-
var create = typeof name === "function" ? name : creator(name);
|
|
1138
|
-
return this.select(function() {
|
|
1139
|
-
return this.appendChild(create.apply(this, arguments));
|
|
1140
|
-
});
|
|
1141
|
-
}
|
|
1142
|
-
function constantNull() {
|
|
1143
|
-
return null;
|
|
1144
|
-
}
|
|
1145
|
-
function selection_insert(name, before) {
|
|
1146
|
-
var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
|
|
1147
|
-
return this.select(function() {
|
|
1148
|
-
return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
|
|
1149
|
-
});
|
|
1150
|
-
}
|
|
1151
|
-
function remove() {
|
|
1152
|
-
var parent = this.parentNode;
|
|
1153
|
-
if (parent)
|
|
1154
|
-
parent.removeChild(this);
|
|
1155
|
-
}
|
|
1156
|
-
function selection_remove() {
|
|
1157
|
-
return this.each(remove);
|
|
1158
|
-
}
|
|
1159
|
-
function selection_cloneShallow() {
|
|
1160
|
-
var clone = this.cloneNode(false), parent = this.parentNode;
|
|
1161
|
-
return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
|
|
1162
|
-
}
|
|
1163
|
-
function selection_cloneDeep() {
|
|
1164
|
-
var clone = this.cloneNode(true), parent = this.parentNode;
|
|
1165
|
-
return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
|
|
1166
|
-
}
|
|
1167
|
-
function selection_clone(deep) {
|
|
1168
|
-
return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
|
|
1169
|
-
}
|
|
1170
|
-
function selection_datum(value) {
|
|
1171
|
-
return arguments.length ? this.property("__data__", value) : this.node().__data__;
|
|
1172
|
-
}
|
|
1173
|
-
function contextListener(listener) {
|
|
1174
|
-
return function(event) {
|
|
1175
|
-
listener.call(this, event, this.__data__);
|
|
1176
|
-
};
|
|
1610
|
+
function radiansToLength(radians, units) {
|
|
1611
|
+
if (units === void 0) {
|
|
1612
|
+
units = "kilometers";
|
|
1613
|
+
}
|
|
1614
|
+
var factor = factors[units];
|
|
1615
|
+
if (!factor) {
|
|
1616
|
+
throw new Error(units + " units is invalid");
|
|
1617
|
+
}
|
|
1618
|
+
return radians * factor;
|
|
1177
1619
|
}
|
|
1178
|
-
function
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
if (i2 >= 0)
|
|
1182
|
-
name = t2.slice(i2 + 1), t2 = t2.slice(0, i2);
|
|
1183
|
-
return { type: t2, name };
|
|
1184
|
-
});
|
|
1620
|
+
function degreesToRadians(degrees) {
|
|
1621
|
+
var radians = degrees % 360;
|
|
1622
|
+
return radians * Math.PI / 180;
|
|
1185
1623
|
}
|
|
1186
|
-
function
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1624
|
+
function coordEach(geojson, callback, excludeWrapCoord) {
|
|
1625
|
+
if (geojson === null)
|
|
1626
|
+
return;
|
|
1627
|
+
var j, k, l, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === "FeatureCollection", isFeature = type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
|
|
1628
|
+
for (var featureIndex = 0; featureIndex < stop; featureIndex++) {
|
|
1629
|
+
geometryMaybeCollection = isFeatureCollection ? geojson.features[featureIndex].geometry : isFeature ? geojson.geometry : geojson;
|
|
1630
|
+
isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === "GeometryCollection" : false;
|
|
1631
|
+
stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;
|
|
1632
|
+
for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {
|
|
1633
|
+
var multiFeatureIndex = 0;
|
|
1634
|
+
var geometryIndex = 0;
|
|
1635
|
+
geometry = isGeometryCollection ? geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;
|
|
1636
|
+
if (geometry === null)
|
|
1637
|
+
continue;
|
|
1638
|
+
coords = geometry.coordinates;
|
|
1639
|
+
var geomType = geometry.type;
|
|
1640
|
+
wrapShrink = excludeWrapCoord && (geomType === "Polygon" || geomType === "MultiPolygon") ? 1 : 0;
|
|
1641
|
+
switch (geomType) {
|
|
1642
|
+
case null:
|
|
1643
|
+
break;
|
|
1644
|
+
case "Point":
|
|
1645
|
+
if (callback(
|
|
1646
|
+
coords,
|
|
1647
|
+
coordIndex,
|
|
1648
|
+
featureIndex,
|
|
1649
|
+
multiFeatureIndex,
|
|
1650
|
+
geometryIndex
|
|
1651
|
+
) === false)
|
|
1652
|
+
return false;
|
|
1653
|
+
coordIndex++;
|
|
1654
|
+
multiFeatureIndex++;
|
|
1655
|
+
break;
|
|
1656
|
+
case "LineString":
|
|
1657
|
+
case "MultiPoint":
|
|
1658
|
+
for (j = 0; j < coords.length; j++) {
|
|
1659
|
+
if (callback(
|
|
1660
|
+
coords[j],
|
|
1661
|
+
coordIndex,
|
|
1662
|
+
featureIndex,
|
|
1663
|
+
multiFeatureIndex,
|
|
1664
|
+
geometryIndex
|
|
1665
|
+
) === false)
|
|
1666
|
+
return false;
|
|
1667
|
+
coordIndex++;
|
|
1668
|
+
if (geomType === "MultiPoint")
|
|
1669
|
+
multiFeatureIndex++;
|
|
1670
|
+
}
|
|
1671
|
+
if (geomType === "LineString")
|
|
1672
|
+
multiFeatureIndex++;
|
|
1673
|
+
break;
|
|
1674
|
+
case "Polygon":
|
|
1675
|
+
case "MultiLineString":
|
|
1676
|
+
for (j = 0; j < coords.length; j++) {
|
|
1677
|
+
for (k = 0; k < coords[j].length - wrapShrink; k++) {
|
|
1678
|
+
if (callback(
|
|
1679
|
+
coords[j][k],
|
|
1680
|
+
coordIndex,
|
|
1681
|
+
featureIndex,
|
|
1682
|
+
multiFeatureIndex,
|
|
1683
|
+
geometryIndex
|
|
1684
|
+
) === false)
|
|
1685
|
+
return false;
|
|
1686
|
+
coordIndex++;
|
|
1687
|
+
}
|
|
1688
|
+
if (geomType === "MultiLineString")
|
|
1689
|
+
multiFeatureIndex++;
|
|
1690
|
+
if (geomType === "Polygon")
|
|
1691
|
+
geometryIndex++;
|
|
1692
|
+
}
|
|
1693
|
+
if (geomType === "Polygon")
|
|
1694
|
+
multiFeatureIndex++;
|
|
1695
|
+
break;
|
|
1696
|
+
case "MultiPolygon":
|
|
1697
|
+
for (j = 0; j < coords.length; j++) {
|
|
1698
|
+
geometryIndex = 0;
|
|
1699
|
+
for (k = 0; k < coords[j].length; k++) {
|
|
1700
|
+
for (l = 0; l < coords[j][k].length - wrapShrink; l++) {
|
|
1701
|
+
if (callback(
|
|
1702
|
+
coords[j][k][l],
|
|
1703
|
+
coordIndex,
|
|
1704
|
+
featureIndex,
|
|
1705
|
+
multiFeatureIndex,
|
|
1706
|
+
geometryIndex
|
|
1707
|
+
) === false)
|
|
1708
|
+
return false;
|
|
1709
|
+
coordIndex++;
|
|
1710
|
+
}
|
|
1711
|
+
geometryIndex++;
|
|
1712
|
+
}
|
|
1713
|
+
multiFeatureIndex++;
|
|
1714
|
+
}
|
|
1715
|
+
break;
|
|
1716
|
+
case "GeometryCollection":
|
|
1717
|
+
for (j = 0; j < geometry.geometries.length; j++)
|
|
1718
|
+
if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)
|
|
1719
|
+
return false;
|
|
1720
|
+
break;
|
|
1721
|
+
default:
|
|
1722
|
+
throw new Error("Unknown Geometry Type");
|
|
1196
1723
|
}
|
|
1197
1724
|
}
|
|
1198
|
-
|
|
1199
|
-
on.length = i2;
|
|
1200
|
-
else
|
|
1201
|
-
delete this.__on;
|
|
1202
|
-
};
|
|
1725
|
+
}
|
|
1203
1726
|
}
|
|
1204
|
-
function
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1727
|
+
function geomEach(geojson, callback) {
|
|
1728
|
+
var i2, j, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === "FeatureCollection", isFeature = geojson.type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
|
|
1729
|
+
for (i2 = 0; i2 < stop; i2++) {
|
|
1730
|
+
geometryMaybeCollection = isFeatureCollection ? geojson.features[i2].geometry : isFeature ? geojson.geometry : geojson;
|
|
1731
|
+
featureProperties = isFeatureCollection ? geojson.features[i2].properties : isFeature ? geojson.properties : {};
|
|
1732
|
+
featureBBox = isFeatureCollection ? geojson.features[i2].bbox : isFeature ? geojson.bbox : void 0;
|
|
1733
|
+
featureId = isFeatureCollection ? geojson.features[i2].id : isFeature ? geojson.id : void 0;
|
|
1734
|
+
isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === "GeometryCollection" : false;
|
|
1735
|
+
stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;
|
|
1736
|
+
for (g = 0; g < stopG; g++) {
|
|
1737
|
+
geometry = isGeometryCollection ? geometryMaybeCollection.geometries[g] : geometryMaybeCollection;
|
|
1738
|
+
if (geometry === null) {
|
|
1739
|
+
if (callback(
|
|
1740
|
+
null,
|
|
1741
|
+
featureIndex,
|
|
1742
|
+
featureProperties,
|
|
1743
|
+
featureBBox,
|
|
1744
|
+
featureId
|
|
1745
|
+
) === false)
|
|
1746
|
+
return false;
|
|
1747
|
+
continue;
|
|
1215
1748
|
}
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1749
|
+
switch (geometry.type) {
|
|
1750
|
+
case "Point":
|
|
1751
|
+
case "LineString":
|
|
1752
|
+
case "MultiPoint":
|
|
1753
|
+
case "Polygon":
|
|
1754
|
+
case "MultiLineString":
|
|
1755
|
+
case "MultiPolygon": {
|
|
1756
|
+
if (callback(
|
|
1757
|
+
geometry,
|
|
1758
|
+
featureIndex,
|
|
1759
|
+
featureProperties,
|
|
1760
|
+
featureBBox,
|
|
1761
|
+
featureId
|
|
1762
|
+
) === false)
|
|
1763
|
+
return false;
|
|
1764
|
+
break;
|
|
1765
|
+
}
|
|
1766
|
+
case "GeometryCollection": {
|
|
1767
|
+
for (j = 0; j < geometry.geometries.length; j++) {
|
|
1768
|
+
if (callback(
|
|
1769
|
+
geometry.geometries[j],
|
|
1770
|
+
featureIndex,
|
|
1771
|
+
featureProperties,
|
|
1772
|
+
featureBBox,
|
|
1773
|
+
featureId
|
|
1774
|
+
) === false)
|
|
1775
|
+
return false;
|
|
1233
1776
|
}
|
|
1777
|
+
break;
|
|
1234
1778
|
}
|
|
1779
|
+
default:
|
|
1780
|
+
throw new Error("Unknown Geometry Type");
|
|
1235
1781
|
}
|
|
1236
|
-
return;
|
|
1237
|
-
}
|
|
1238
|
-
on = value ? onAdd : onRemove;
|
|
1239
|
-
for (i2 = 0; i2 < n2; ++i2)
|
|
1240
|
-
this.each(on(typenames[i2], value, options2));
|
|
1241
|
-
return this;
|
|
1242
|
-
}
|
|
1243
|
-
function dispatchEvent(node, type, params) {
|
|
1244
|
-
var window2 = defaultView(node), event = window2.CustomEvent;
|
|
1245
|
-
if (typeof event === "function") {
|
|
1246
|
-
event = new event(type, params);
|
|
1247
|
-
} else {
|
|
1248
|
-
event = window2.document.createEvent("Event");
|
|
1249
|
-
if (params)
|
|
1250
|
-
event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
|
|
1251
|
-
else
|
|
1252
|
-
event.initEvent(type, false, false);
|
|
1253
|
-
}
|
|
1254
|
-
node.dispatchEvent(event);
|
|
1255
|
-
}
|
|
1256
|
-
function dispatchConstant(type, params) {
|
|
1257
|
-
return function() {
|
|
1258
|
-
return dispatchEvent(this, type, params);
|
|
1259
|
-
};
|
|
1260
|
-
}
|
|
1261
|
-
function dispatchFunction(type, params) {
|
|
1262
|
-
return function() {
|
|
1263
|
-
return dispatchEvent(this, type, params.apply(this, arguments));
|
|
1264
|
-
};
|
|
1265
|
-
}
|
|
1266
|
-
function selection_dispatch(type, params) {
|
|
1267
|
-
return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params));
|
|
1268
|
-
}
|
|
1269
|
-
function* selection_iterator() {
|
|
1270
|
-
for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
|
|
1271
|
-
for (var group = groups[j], i2 = 0, n2 = group.length, node; i2 < n2; ++i2) {
|
|
1272
|
-
if (node = group[i2])
|
|
1273
|
-
yield node;
|
|
1274
1782
|
}
|
|
1783
|
+
featureIndex++;
|
|
1275
1784
|
}
|
|
1276
1785
|
}
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
merge: selection_merge,
|
|
1297
|
-
selection: selection_selection,
|
|
1298
|
-
order: selection_order,
|
|
1299
|
-
sort: selection_sort,
|
|
1300
|
-
call: selection_call,
|
|
1301
|
-
nodes: selection_nodes,
|
|
1302
|
-
node: selection_node,
|
|
1303
|
-
size: selection_size,
|
|
1304
|
-
empty: selection_empty,
|
|
1305
|
-
each: selection_each,
|
|
1306
|
-
attr: selection_attr,
|
|
1307
|
-
style: selection_style,
|
|
1308
|
-
property: selection_property,
|
|
1309
|
-
classed: selection_classed,
|
|
1310
|
-
text: selection_text,
|
|
1311
|
-
html: selection_html,
|
|
1312
|
-
raise: selection_raise,
|
|
1313
|
-
lower: selection_lower,
|
|
1314
|
-
append: selection_append,
|
|
1315
|
-
insert: selection_insert,
|
|
1316
|
-
remove: selection_remove,
|
|
1317
|
-
clone: selection_clone,
|
|
1318
|
-
datum: selection_datum,
|
|
1319
|
-
on: selection_on,
|
|
1320
|
-
dispatch: selection_dispatch,
|
|
1321
|
-
[Symbol.iterator]: selection_iterator
|
|
1322
|
-
};
|
|
1323
|
-
function e(selector2) {
|
|
1324
|
-
return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root$1);
|
|
1325
|
-
}
|
|
1326
|
-
const t = { "\u21E7": 16, shift: 16, "\u2303": 17, ctrl: 17, "\u2325": 18, alt: 18, option: 18, "\u2318": 91, meta: 91, cmd: 91, super: 91, win: 91 }, r = { 16: "shiftKey", 17: "ctrlKey", 18: "altKey", 91: "metaKey" }, n = { "\u232B": "Backspace", backspace: "Backspace", "\u21E5": "Tab", "\u21C6": "Tab", tab: "Tab", "\u21A9": "Enter", "\u21B5": "Enter", "\u23CE": "Enter", return: "Enter", enter: "Enter", "\u2305": "Enter", pause: "Pause", "pause-break": "Pause", "\u21EA": "CapsLock", caps: "CapsLock", "caps-lock": "CapsLock", "\u238B": ["Escape", "Esc"], escape: ["Escape", "Esc"], esc: ["Escape", "Esc"], space: [" ", "Spacebar"], "": "PageUp", pgup: "PageUp", "page-up": "PageUp", "": "PageDown", pgdown: "PageDown", "page-down": "PageDown", "\u21DF": "End", end: "End", "\u21DE": "Home", home: "Home", ins: "Insert", insert: "Insert", "\u2326": ["Delete", "Del"], del: ["Delete", "Del"], delete: ["Delete", "Del"], "\u2190": ["ArrowLeft", "Left"], left: ["ArrowLeft", "Left"], "arrow-left": ["ArrowLeft", "Left"], "\u2191": ["ArrowUp", "Up"], up: ["ArrowUp", "Up"], "arrow-up": ["ArrowUp", "Up"], "\u2192": ["ArrowRight", "Right"], right: ["ArrowRight", "Right"], "arrow-right": ["ArrowRight", "Right"], "\u2193": ["ArrowDown", "Down"], down: ["ArrowDown", "Down"], "arrow-down": ["ArrowDown", "Down"], "*": ["*", "Multiply"], star: ["*", "Multiply"], asterisk: ["*", "Multiply"], multiply: ["*", "Multiply"], "+": ["+", "Add"], plus: ["+", "Add"], "-": ["-", "Subtract"], subtract: ["-", "Subtract"], dash: ["-", "Subtract"], semicolon: ";", equals: "=", comma: ",", period: ".", "full-stop": ".", slash: "/", "forward-slash": "/", tick: "`", "back-quote": "`", "open-bracket": "[", "back-slash": "\\", "close-bracket": "]", quote: "'", apostrophe: "'", "num-0": "0", "num-1": "1", "num-2": "2", "num-3": "3", "num-4": "4", "num-5": "5", "num-6": "6", "num-7": "7", "num-8": "8", "num-9": "9", f1: "F1", f2: "F2", f3: "F3", f4: "F4", f5: "F5", f6: "F6", f7: "F7", f8: "F8", f9: "F9", f10: "F10", f11: "F11", f12: "F12", f13: "F13", f14: "F14", f15: "F15", f16: "F16", f17: "F17", f18: "F18", f19: "F19", f20: "F20", f21: "F21", f22: "F22", f23: "F23", f24: "F24", f25: "F25" }, s = { "\u232B": 8, backspace: 8, "\u21E5": 9, "\u21C6": 9, tab: 9, "\u21A9": 13, "\u21B5": 13, "\u23CE": 13, return: 13, enter: 13, "\u2305": 13, pause: 19, "pause-break": 19, "\u21EA": 20, caps: 20, "caps-lock": 20, "\u238B": 27, escape: 27, esc: 27, space: 32, "": 33, pgup: 33, "page-up": 33, "": 34, pgdown: 34, "page-down": 34, "\u21DF": 35, end: 35, "\u21DE": 36, home: 36, ins: 45, insert: 45, "\u2326": 46, del: 46, delete: 46, "\u2190": 37, left: 37, "arrow-left": 37, "\u2191": 38, up: 38, "arrow-up": 38, "\u2192": 39, right: 39, "arrow-right": 39, "\u2193": 40, down: 40, "arrow-down": 40, ffequals: 61, "*": 106, star: 106, asterisk: 106, multiply: 106, "+": 107, plus: 107, "-": 109, subtract: 109, "|": 124, ffplus: 171, ffminus: 173, ";": 186, semicolon: 186, "=": 187, equals: 187, ",": 188, comma: 188, dash: 189, ".": 190, period: 190, "full-stop": 190, "/": 191, slash: 191, "forward-slash": 191, "`": 192, tick: 192, "back-quote": 192, "[": 219, "open-bracket": 219, "\\": 220, "back-slash": 220, "]": 221, "close-bracket": 221, "'": 222, quote: 222, apostrophe: 222 };
|
|
1327
|
-
function a(e2) {
|
|
1328
|
-
return Array.from(new Set(e2));
|
|
1786
|
+
function geomReduce(geojson, callback, initialValue) {
|
|
1787
|
+
var previousValue = initialValue;
|
|
1788
|
+
geomEach(
|
|
1789
|
+
geojson,
|
|
1790
|
+
function(currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {
|
|
1791
|
+
if (featureIndex === 0 && initialValue === void 0)
|
|
1792
|
+
previousValue = currentGeometry;
|
|
1793
|
+
else
|
|
1794
|
+
previousValue = callback(
|
|
1795
|
+
previousValue,
|
|
1796
|
+
currentGeometry,
|
|
1797
|
+
featureIndex,
|
|
1798
|
+
featureProperties,
|
|
1799
|
+
featureBBox,
|
|
1800
|
+
featureId
|
|
1801
|
+
);
|
|
1802
|
+
}
|
|
1803
|
+
);
|
|
1804
|
+
return previousValue;
|
|
1329
1805
|
}
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1806
|
+
function flattenEach(geojson, callback) {
|
|
1807
|
+
geomEach(geojson, function(geometry, featureIndex, properties, bbox, id) {
|
|
1808
|
+
var type = geometry === null ? null : geometry.type;
|
|
1809
|
+
switch (type) {
|
|
1810
|
+
case null:
|
|
1811
|
+
case "Point":
|
|
1812
|
+
case "LineString":
|
|
1813
|
+
case "Polygon":
|
|
1814
|
+
if (callback(
|
|
1815
|
+
feature(geometry, properties, { bbox, id }),
|
|
1816
|
+
featureIndex,
|
|
1817
|
+
0
|
|
1818
|
+
) === false)
|
|
1819
|
+
return false;
|
|
1820
|
+
return;
|
|
1821
|
+
}
|
|
1822
|
+
var geomType;
|
|
1823
|
+
switch (type) {
|
|
1824
|
+
case "MultiPoint":
|
|
1825
|
+
geomType = "Point";
|
|
1826
|
+
break;
|
|
1827
|
+
case "MultiLineString":
|
|
1828
|
+
geomType = "LineString";
|
|
1829
|
+
break;
|
|
1830
|
+
case "MultiPolygon":
|
|
1831
|
+
geomType = "Polygon";
|
|
1346
1832
|
break;
|
|
1347
|
-
}
|
|
1348
|
-
if (!s2) {
|
|
1349
|
-
for (r2 = 0; r2 < a2.length; r2++)
|
|
1350
|
-
if (!(n2 = a2[r2]).event.modifiers.shiftKey && !!n2.capture === t2 && i2(e2, n2, false)) {
|
|
1351
|
-
n2.callback(e2), e2.preventDefault();
|
|
1352
|
-
break;
|
|
1353
|
-
}
|
|
1354
1833
|
}
|
|
1355
|
-
|
|
1356
|
-
var
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1834
|
+
for (var multiFeatureIndex = 0; multiFeatureIndex < geometry.coordinates.length; multiFeatureIndex++) {
|
|
1835
|
+
var coordinate = geometry.coordinates[multiFeatureIndex];
|
|
1836
|
+
var geom = {
|
|
1837
|
+
type: geomType,
|
|
1838
|
+
coordinates: coordinate
|
|
1839
|
+
};
|
|
1840
|
+
if (callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false)
|
|
1360
1841
|
return false;
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1842
|
+
}
|
|
1843
|
+
});
|
|
1844
|
+
}
|
|
1845
|
+
function segmentEach(geojson, callback) {
|
|
1846
|
+
flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {
|
|
1847
|
+
var segmentIndex = 0;
|
|
1848
|
+
if (!feature2.geometry)
|
|
1849
|
+
return;
|
|
1850
|
+
var type = feature2.geometry.type;
|
|
1851
|
+
if (type === "Point" || type === "MultiPoint")
|
|
1852
|
+
return;
|
|
1853
|
+
var previousCoords;
|
|
1854
|
+
var previousFeatureIndex = 0;
|
|
1855
|
+
var previousMultiIndex = 0;
|
|
1856
|
+
var prevGeomIndex = 0;
|
|
1857
|
+
if (coordEach(
|
|
1858
|
+
feature2,
|
|
1859
|
+
function(currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {
|
|
1860
|
+
if (previousCoords === void 0 || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex) {
|
|
1861
|
+
previousCoords = currentCoord;
|
|
1862
|
+
previousFeatureIndex = featureIndex;
|
|
1863
|
+
previousMultiIndex = multiPartIndexCoord;
|
|
1864
|
+
prevGeomIndex = geometryIndex;
|
|
1865
|
+
segmentIndex = 0;
|
|
1866
|
+
return;
|
|
1867
|
+
}
|
|
1868
|
+
var currentSegment = lineString(
|
|
1869
|
+
[previousCoords, currentCoord],
|
|
1870
|
+
feature2.properties
|
|
1871
|
+
);
|
|
1872
|
+
if (callback(
|
|
1873
|
+
currentSegment,
|
|
1874
|
+
featureIndex,
|
|
1875
|
+
multiFeatureIndex,
|
|
1876
|
+
geometryIndex,
|
|
1877
|
+
segmentIndex
|
|
1878
|
+
) === false)
|
|
1365
1879
|
return false;
|
|
1880
|
+
segmentIndex++;
|
|
1881
|
+
previousCoords = currentCoord;
|
|
1366
1882
|
}
|
|
1367
|
-
|
|
1883
|
+
) === false)
|
|
1884
|
+
return false;
|
|
1885
|
+
});
|
|
1886
|
+
}
|
|
1887
|
+
function segmentReduce(geojson, callback, initialValue) {
|
|
1888
|
+
var previousValue = initialValue;
|
|
1889
|
+
var started = false;
|
|
1890
|
+
segmentEach(
|
|
1891
|
+
geojson,
|
|
1892
|
+
function(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {
|
|
1893
|
+
if (started === false && initialValue === void 0)
|
|
1894
|
+
previousValue = currentSegment;
|
|
1895
|
+
else
|
|
1896
|
+
previousValue = callback(
|
|
1897
|
+
previousValue,
|
|
1898
|
+
currentSegment,
|
|
1899
|
+
featureIndex,
|
|
1900
|
+
multiFeatureIndex,
|
|
1901
|
+
geometryIndex,
|
|
1902
|
+
segmentIndex
|
|
1903
|
+
);
|
|
1904
|
+
started = true;
|
|
1368
1905
|
}
|
|
1906
|
+
);
|
|
1907
|
+
return previousValue;
|
|
1908
|
+
}
|
|
1909
|
+
function getCoord(coord) {
|
|
1910
|
+
if (!coord) {
|
|
1911
|
+
throw new Error("coord is required");
|
|
1369
1912
|
}
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
}
|
|
1377
|
-
on(e2, i2, o2) {
|
|
1378
|
-
if ("function" != typeof i2)
|
|
1379
|
-
return this.off(e2, o2);
|
|
1380
|
-
for (var c2 = a([].concat(e2)), l = 0; l < c2.length; l++) {
|
|
1381
|
-
var u = c2[l] + (o2 ? "-capture" : "-bubble"), p = { id: u, capture: o2, callback: i2, event: { key: void 0, keyCode: 0, modifiers: { shiftKey: false, ctrlKey: false, altKey: false, metaKey: false } } };
|
|
1382
|
-
this.bindedKeys[u] && console.warn('warning: duplicate keybinding for "' + u + '"'), this.bindedKeys[u] = p;
|
|
1383
|
-
for (var f = c2[l].toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g), d = 0; d < f.length; d++)
|
|
1384
|
-
if ("++" === f[d] && (f[d] = "+"), f[d] in t) {
|
|
1385
|
-
var h = r[t[f[d]]];
|
|
1386
|
-
p.event.modifiers[h] = true;
|
|
1387
|
-
} else
|
|
1388
|
-
p.event.key = n[f[d]] || f[d], f[d] in s && (p.event.keyCode = s[f[d]]);
|
|
1913
|
+
if (!Array.isArray(coord)) {
|
|
1914
|
+
if (coord.type === "Feature" && coord.geometry !== null && coord.geometry.type === "Point") {
|
|
1915
|
+
return coord.geometry.coordinates;
|
|
1916
|
+
}
|
|
1917
|
+
if (coord.type === "Point") {
|
|
1918
|
+
return coord.coordinates;
|
|
1389
1919
|
}
|
|
1390
|
-
return this;
|
|
1391
1920
|
}
|
|
1392
|
-
|
|
1393
|
-
return
|
|
1921
|
+
if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {
|
|
1922
|
+
return coord;
|
|
1394
1923
|
}
|
|
1395
|
-
|
|
1396
|
-
|
|
1924
|
+
throw new Error("coord must be GeoJSON Point or an Array of numbers");
|
|
1925
|
+
}
|
|
1926
|
+
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
1927
|
+
function distance(from, to, options2) {
|
|
1928
|
+
if (options2 === void 0) {
|
|
1929
|
+
options2 = {};
|
|
1397
1930
|
}
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1931
|
+
var coordinates1 = getCoord(from);
|
|
1932
|
+
var coordinates2 = getCoord(to);
|
|
1933
|
+
var dLat = degreesToRadians(coordinates2[1] - coordinates1[1]);
|
|
1934
|
+
var dLon = degreesToRadians(coordinates2[0] - coordinates1[0]);
|
|
1935
|
+
var lat1 = degreesToRadians(coordinates1[1]);
|
|
1936
|
+
var lat2 = degreesToRadians(coordinates2[1]);
|
|
1937
|
+
var a2 = Math.pow(Math.sin(dLat / 2), 2) + Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);
|
|
1938
|
+
return radiansToLength(2 * Math.atan2(Math.sqrt(a2), Math.sqrt(1 - a2)), options2.units);
|
|
1939
|
+
}
|
|
1940
|
+
var RADIUS = 6378137;
|
|
1941
|
+
function area(geojson) {
|
|
1942
|
+
return geomReduce(geojson, function(value, geom) {
|
|
1943
|
+
return value + calculateArea(geom);
|
|
1944
|
+
}, 0);
|
|
1945
|
+
}
|
|
1946
|
+
function calculateArea(geom) {
|
|
1947
|
+
var total = 0;
|
|
1948
|
+
var i2;
|
|
1949
|
+
switch (geom.type) {
|
|
1950
|
+
case "Polygon":
|
|
1951
|
+
return polygonArea(geom.coordinates);
|
|
1952
|
+
case "MultiPolygon":
|
|
1953
|
+
for (i2 = 0; i2 < geom.coordinates.length; i2++) {
|
|
1954
|
+
total += polygonArea(geom.coordinates[i2]);
|
|
1955
|
+
}
|
|
1956
|
+
return total;
|
|
1957
|
+
case "Point":
|
|
1958
|
+
case "MultiPoint":
|
|
1959
|
+
case "LineString":
|
|
1960
|
+
case "MultiLineString":
|
|
1961
|
+
return 0;
|
|
1962
|
+
}
|
|
1963
|
+
return 0;
|
|
1964
|
+
}
|
|
1965
|
+
function polygonArea(coords) {
|
|
1966
|
+
var total = 0;
|
|
1967
|
+
if (coords && coords.length > 0) {
|
|
1968
|
+
total += Math.abs(ringArea(coords[0]));
|
|
1969
|
+
for (var i2 = 1; i2 < coords.length; i2++) {
|
|
1970
|
+
total -= Math.abs(ringArea(coords[i2]));
|
|
1402
1971
|
}
|
|
1403
|
-
return this;
|
|
1404
1972
|
}
|
|
1973
|
+
return total;
|
|
1405
1974
|
}
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1975
|
+
function ringArea(coords) {
|
|
1976
|
+
var p1;
|
|
1977
|
+
var p2;
|
|
1978
|
+
var p3;
|
|
1979
|
+
var lowerIndex;
|
|
1980
|
+
var middleIndex;
|
|
1981
|
+
var upperIndex;
|
|
1982
|
+
var i2;
|
|
1983
|
+
var total = 0;
|
|
1984
|
+
var coordsLength = coords.length;
|
|
1985
|
+
if (coordsLength > 2) {
|
|
1986
|
+
for (i2 = 0; i2 < coordsLength; i2++) {
|
|
1987
|
+
if (i2 === coordsLength - 2) {
|
|
1988
|
+
lowerIndex = coordsLength - 2;
|
|
1989
|
+
middleIndex = coordsLength - 1;
|
|
1990
|
+
upperIndex = 0;
|
|
1991
|
+
} else if (i2 === coordsLength - 1) {
|
|
1992
|
+
lowerIndex = coordsLength - 1;
|
|
1993
|
+
middleIndex = 0;
|
|
1994
|
+
upperIndex = 1;
|
|
1995
|
+
} else {
|
|
1996
|
+
lowerIndex = i2;
|
|
1997
|
+
middleIndex = i2 + 1;
|
|
1998
|
+
upperIndex = i2 + 2;
|
|
1999
|
+
}
|
|
2000
|
+
p1 = coords[lowerIndex];
|
|
2001
|
+
p2 = coords[middleIndex];
|
|
2002
|
+
p3 = coords[upperIndex];
|
|
2003
|
+
total += (rad(p3[0]) - rad(p1[0])) * Math.sin(rad(p2[1]));
|
|
2004
|
+
}
|
|
2005
|
+
total = total * RADIUS * RADIUS / 2;
|
|
1414
2006
|
}
|
|
1415
|
-
|
|
1416
|
-
|
|
2007
|
+
return total;
|
|
2008
|
+
}
|
|
2009
|
+
function rad(num) {
|
|
2010
|
+
return num * Math.PI / 180;
|
|
2011
|
+
}
|
|
2012
|
+
function length(geojson, options2) {
|
|
2013
|
+
if (options2 === void 0) {
|
|
2014
|
+
options2 = {};
|
|
1417
2015
|
}
|
|
2016
|
+
return segmentReduce(geojson, function(previousValue, segment) {
|
|
2017
|
+
var coords = segment.geometry.coordinates;
|
|
2018
|
+
return previousValue + distance(coords[0], coords[1], options2);
|
|
2019
|
+
}, 0);
|
|
1418
2020
|
}
|
|
2021
|
+
var commonCtrols = "";
|
|
2022
|
+
var control$5 = "";
|
|
1419
2023
|
const options$5 = {
|
|
1420
2024
|
title: "\u6D4B\u91CF\u8DDD\u79BB"
|
|
1421
2025
|
};
|
|
@@ -1739,9 +2343,7 @@ class MeasureAreaControl extends KeyboardControl {
|
|
|
1739
2343
|
this._renderEntry();
|
|
1740
2344
|
this._resetData();
|
|
1741
2345
|
this._eventMeasure();
|
|
1742
|
-
this._onBindKeyboards([
|
|
1743
|
-
{ code: "esc", action: this._close.bind(this) }
|
|
1744
|
-
], "measureArea");
|
|
2346
|
+
this._onBindKeyboards([{ code: "esc", action: this._close.bind(this) }], "measureArea");
|
|
1745
2347
|
return this._container;
|
|
1746
2348
|
}
|
|
1747
2349
|
onRemove() {
|
|
@@ -2022,7 +2624,7 @@ class PickCoordControl extends KeyboardControl {
|
|
|
2022
2624
|
}
|
|
2023
2625
|
_renderContent() {
|
|
2024
2626
|
const main = document.createElement("main");
|
|
2025
|
-
main.className = `${this.mainClass}-main wbiokr-ctrl-main wbiokr-ctrl-absolute`;
|
|
2627
|
+
main.className = `${this.mainClass}-main wbiokr-ctrl-main wbiokr-ctrl-absolute d-b l-h-30`;
|
|
2026
2628
|
this._container.append(main);
|
|
2027
2629
|
main.addEventListener("click", () => {
|
|
2028
2630
|
if (!this.text.includes(","))
|
|
@@ -3162,4 +3764,4 @@ class LayerTreeControl extends KeyboardControl {
|
|
|
3162
3764
|
});
|
|
3163
3765
|
}
|
|
3164
3766
|
}
|
|
3165
|
-
export { Checkbox, LayerTreeControl, MeasureAreaControl, MeasureDistanceControl, MouseRectControl, PickCoordControl, PositionControl, copyContent, createUuid, mercatorToLnglat, transformRequest4326 };
|
|
3767
|
+
export { Checkbox, ContextMenu, GeoserverAside, Geoservers, LayerTreeControl, MeasureAreaControl, MeasureDistanceControl, MouseRectControl, PickCoordControl, PositionControl, copyContent, createUuid, mercatorToLnglat, transformRequest4326 };
|