@antv/l7-component 2.17.2 → 2.17.4
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/es/assets/iconfont/iconfont.js +17 -10
- package/es/control/baseControl/buttonControl.js +42 -9
- package/es/control/baseControl/control.js +53 -24
- package/es/control/baseControl/index.d.ts +4 -4
- package/es/control/baseControl/index.js +4 -4
- package/es/control/baseControl/popperControl.js +24 -10
- package/es/control/baseControl/selectControl.js +45 -6
- package/es/control/exportImage.js +116 -76
- package/es/control/fullscreen.js +53 -20
- package/es/control/geoLocate.js +66 -36
- package/es/control/layerSwitch.js +31 -0
- package/es/control/logo.js +14 -2
- package/es/control/mapTheme.js +32 -7
- package/es/control/mouseLocation.js +23 -2
- package/es/control/scale.js +29 -6
- package/es/control/zoom.js +23 -0
- package/es/index.d.ts +11 -11
- package/es/index.js +23 -13
- package/es/marker-layer.js +75 -41
- package/es/marker.js +83 -29
- package/es/popup/layerPopup.js +82 -31
- package/es/popup/popup.js +127 -48
- package/es/utils/anchor.js +7 -3
- package/es/utils/popper.js +64 -15
- package/es/utils/screenfull.js +52 -23
- package/lib/assets/iconfont/iconfont.js +17 -10
- package/lib/control/baseControl/buttonControl.js +52 -9
- package/lib/control/baseControl/control.js +68 -24
- package/lib/control/baseControl/index.js +35 -41
- package/lib/control/baseControl/popperControl.js +29 -10
- package/lib/control/baseControl/selectControl.js +60 -6
- package/lib/control/exportImage.js +125 -76
- package/lib/control/fullscreen.js +60 -20
- package/lib/control/geoLocate.js +75 -36
- package/lib/control/layerSwitch.js +36 -0
- package/lib/control/logo.js +26 -2
- package/lib/control/mapTheme.js +42 -7
- package/lib/control/mouseLocation.js +33 -2
- package/lib/control/scale.js +40 -6
- package/lib/control/zoom.js +33 -0
- package/lib/index.js +108 -122
- package/lib/marker-layer.js +86 -39
- package/lib/marker.js +91 -29
- package/lib/popup/layerPopup.js +94 -29
- package/lib/popup/popup.js +139 -48
- package/lib/utils/anchor.js +9 -4
- package/lib/utils/icon.js +2 -0
- package/lib/utils/popper.js +71 -14
- package/lib/utils/screenfull.js +54 -23
- package/package.json +6 -6
package/lib/popup/layerPopup.js
CHANGED
|
@@ -1,44 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = exports.LayerPopup = void 0;
|
|
9
|
+
|
|
8
10
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
9
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
10
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
11
16
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
12
18
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
19
|
+
|
|
13
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
14
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
15
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
16
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
17
28
|
var _l7Utils = require("@antv/l7-utils");
|
|
29
|
+
|
|
18
30
|
var _lodash = require("lodash");
|
|
31
|
+
|
|
19
32
|
var _popup = _interopRequireDefault(require("./popup"));
|
|
33
|
+
|
|
20
34
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
|
+
|
|
21
36
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
+
|
|
22
38
|
var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
23
39
|
(0, _inherits2.default)(LayerPopup, _Popup);
|
|
40
|
+
|
|
24
41
|
var _super = _createSuper(LayerPopup);
|
|
42
|
+
|
|
25
43
|
function LayerPopup() {
|
|
26
44
|
var _this;
|
|
45
|
+
|
|
27
46
|
(0, _classCallCheck2.default)(this, LayerPopup);
|
|
47
|
+
|
|
28
48
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
29
49
|
args[_key] = arguments[_key];
|
|
30
50
|
}
|
|
51
|
+
|
|
31
52
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
32
53
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerConfigMap", new WeakMap());
|
|
33
54
|
return _this;
|
|
34
55
|
}
|
|
56
|
+
|
|
35
57
|
(0, _createClass2.default)(LayerPopup, [{
|
|
36
58
|
key: "layerConfigItems",
|
|
37
59
|
get: function get() {
|
|
38
60
|
var _ref;
|
|
61
|
+
|
|
39
62
|
var _this$popupOption = this.popupOption,
|
|
40
|
-
|
|
41
|
-
|
|
63
|
+
config = _this$popupOption.config,
|
|
64
|
+
items = _this$popupOption.items;
|
|
42
65
|
return (_ref = config !== null && config !== void 0 ? config : items) !== null && _ref !== void 0 ? _ref : [];
|
|
43
66
|
}
|
|
44
67
|
}, {
|
|
@@ -82,72 +105,93 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
82
105
|
closeOnEsc: false
|
|
83
106
|
});
|
|
84
107
|
}
|
|
85
|
-
|
|
86
108
|
/**
|
|
87
109
|
* 绑定对应的图层事件
|
|
88
110
|
* @protected
|
|
89
111
|
*/
|
|
112
|
+
|
|
90
113
|
}, {
|
|
91
114
|
key: "bindLayerEvent",
|
|
92
115
|
value: function bindLayerEvent() {
|
|
93
116
|
var _this2 = this;
|
|
117
|
+
|
|
94
118
|
var trigger = this.popupOption.trigger;
|
|
95
119
|
this.layerConfigItems.forEach(function (configItem) {
|
|
96
120
|
var _layer$getSource;
|
|
121
|
+
|
|
97
122
|
var layer = _this2.getLayerByConfig(configItem);
|
|
123
|
+
|
|
98
124
|
if (!layer) {
|
|
99
125
|
return;
|
|
100
126
|
}
|
|
127
|
+
|
|
101
128
|
var layerInfo = (0, _objectSpread2.default)({}, configItem);
|
|
129
|
+
|
|
102
130
|
if (trigger === 'hover') {
|
|
103
131
|
var onMouseMove = _this2.onLayerMouseMove.bind(_this2, layer);
|
|
132
|
+
|
|
104
133
|
var onMouseOut = _this2.onLayerMouseOut.bind(_this2, layer);
|
|
134
|
+
|
|
105
135
|
layerInfo.onMouseMove = onMouseMove;
|
|
106
136
|
layerInfo.onMouseOut = onMouseOut;
|
|
107
137
|
layer === null || layer === void 0 ? void 0 : layer.on('mousemove', onMouseMove);
|
|
108
138
|
layer === null || layer === void 0 ? void 0 : layer.on('mouseout', onMouseOut);
|
|
109
139
|
} else {
|
|
110
140
|
var onClick = _this2.onLayerClick.bind(_this2, layer);
|
|
141
|
+
|
|
111
142
|
layerInfo.onClick = onClick;
|
|
112
143
|
layer === null || layer === void 0 ? void 0 : layer.on('click', onClick);
|
|
113
144
|
}
|
|
145
|
+
|
|
114
146
|
var source = layer === null || layer === void 0 ? void 0 : (_layer$getSource = layer.getSource) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.call(layer);
|
|
147
|
+
|
|
115
148
|
var onSourceUpdate = _this2.onSourceUpdate.bind(_this2, layer);
|
|
149
|
+
|
|
116
150
|
source === null || source === void 0 ? void 0 : source.on('update', onSourceUpdate);
|
|
117
151
|
layerInfo.onSourceUpdate = onSourceUpdate;
|
|
152
|
+
|
|
118
153
|
_this2.layerConfigMap.set(layer, layerInfo);
|
|
119
154
|
});
|
|
120
155
|
}
|
|
121
|
-
|
|
122
156
|
/**
|
|
123
157
|
* 解绑对应的图层事件
|
|
124
158
|
* @protected
|
|
125
159
|
*/
|
|
160
|
+
|
|
126
161
|
}, {
|
|
127
162
|
key: "unbindLayerEvent",
|
|
128
163
|
value: function unbindLayerEvent() {
|
|
129
164
|
var _this3 = this;
|
|
165
|
+
|
|
130
166
|
this.layerConfigItems.forEach(function (configItem) {
|
|
131
167
|
var layer = _this3.getLayerByConfig(configItem);
|
|
168
|
+
|
|
132
169
|
var layerInfo = layer && _this3.layerConfigMap.get(layer);
|
|
170
|
+
|
|
133
171
|
if (!layerInfo) {
|
|
134
172
|
return;
|
|
135
173
|
}
|
|
174
|
+
|
|
136
175
|
var onMouseMove = layerInfo.onMouseMove,
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
176
|
+
onMouseOut = layerInfo.onMouseOut,
|
|
177
|
+
onClick = layerInfo.onClick,
|
|
178
|
+
onSourceUpdate = layerInfo.onSourceUpdate;
|
|
179
|
+
|
|
140
180
|
if (onMouseMove) {
|
|
141
181
|
layer.off('mousemove', onMouseMove);
|
|
142
182
|
}
|
|
183
|
+
|
|
143
184
|
if (onMouseOut) {
|
|
144
185
|
layer.off('mouseout', onMouseOut);
|
|
145
186
|
}
|
|
187
|
+
|
|
146
188
|
if (onClick) {
|
|
147
189
|
layer.off('click', onClick);
|
|
148
190
|
}
|
|
191
|
+
|
|
149
192
|
if (onSourceUpdate) {
|
|
150
193
|
var _layer$getSource2;
|
|
194
|
+
|
|
151
195
|
layer === null || layer === void 0 ? void 0 : (_layer$getSource2 = layer.getSource()) === null || _layer$getSource2 === void 0 ? void 0 : _layer$getSource2.off('update', onSourceUpdate);
|
|
152
196
|
}
|
|
153
197
|
});
|
|
@@ -157,8 +201,9 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
157
201
|
value: function onLayerMouseMove(layer, e) {
|
|
158
202
|
if (!this.isSameFeature(layer, e.featureId)) {
|
|
159
203
|
var _this$getLayerInfoFra = this.getLayerInfoFrag(layer, e),
|
|
160
|
-
|
|
161
|
-
|
|
204
|
+
title = _this$getLayerInfoFra.title,
|
|
205
|
+
content = _this$getLayerInfoFra.content;
|
|
206
|
+
|
|
162
207
|
this.setDOMContent(content);
|
|
163
208
|
this.setTitle(title);
|
|
164
209
|
this.displayFeatureInfo = {
|
|
@@ -167,13 +212,13 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
167
212
|
};
|
|
168
213
|
this.show();
|
|
169
214
|
}
|
|
170
|
-
}
|
|
215
|
+
} // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
171
216
|
|
|
172
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
173
217
|
}, {
|
|
174
218
|
key: "onLayerMouseOut",
|
|
175
219
|
value: function onLayerMouseOut(layer, e) {
|
|
176
220
|
this.displayFeatureInfo = undefined;
|
|
221
|
+
|
|
177
222
|
if (this.isShow) {
|
|
178
223
|
this.hide();
|
|
179
224
|
}
|
|
@@ -185,8 +230,9 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
185
230
|
this.hide();
|
|
186
231
|
} else {
|
|
187
232
|
var _this$getLayerInfoFra2 = this.getLayerInfoFrag(layer, e),
|
|
188
|
-
|
|
189
|
-
|
|
233
|
+
title = _this$getLayerInfoFra2.title,
|
|
234
|
+
content = _this$getLayerInfoFra2.content;
|
|
235
|
+
|
|
190
236
|
this.setDOMContent(content);
|
|
191
237
|
this.setLnglat(e.lngLat);
|
|
192
238
|
this.setTitle(title);
|
|
@@ -203,57 +249,70 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
203
249
|
this.hide();
|
|
204
250
|
this.displayFeatureInfo = undefined;
|
|
205
251
|
}
|
|
206
|
-
|
|
207
252
|
/**
|
|
208
253
|
* 通过当前图层和对应选中的元素获取气泡展示的 HTML 内容
|
|
209
254
|
* @param layer
|
|
210
255
|
* @param e
|
|
211
256
|
* @protected
|
|
212
257
|
*/
|
|
258
|
+
|
|
213
259
|
}, {
|
|
214
260
|
key: "getLayerInfoFrag",
|
|
215
261
|
value: function getLayerInfoFrag(layer, e) {
|
|
216
262
|
var layerInfo = this.layerConfigMap.get(layer);
|
|
217
263
|
var titleFrag;
|
|
218
264
|
var contentFrag = document.createDocumentFragment();
|
|
265
|
+
|
|
219
266
|
if (layerInfo) {
|
|
220
267
|
var _feature = e.feature;
|
|
268
|
+
|
|
221
269
|
if (_feature.type === 'Feature' && 'properties' in _feature && 'geometry' in _feature) {
|
|
222
270
|
_feature = _feature.properties;
|
|
223
271
|
}
|
|
272
|
+
|
|
224
273
|
var title = layerInfo.title,
|
|
225
|
-
|
|
226
|
-
|
|
274
|
+
fields = layerInfo.fields,
|
|
275
|
+
customContent = layerInfo.customContent;
|
|
276
|
+
|
|
227
277
|
if (title) {
|
|
228
278
|
titleFrag = document.createDocumentFragment();
|
|
229
279
|
var titleElement = title instanceof Function ? title(_feature) : title;
|
|
280
|
+
|
|
230
281
|
_l7Utils.DOM.appendElementType(titleFrag, titleElement);
|
|
231
282
|
}
|
|
283
|
+
|
|
232
284
|
if (customContent) {
|
|
233
285
|
var content = customContent instanceof Function ? customContent(_feature) : customContent;
|
|
286
|
+
|
|
234
287
|
_l7Utils.DOM.appendElementType(contentFrag, content);
|
|
235
288
|
} else if (fields !== null && fields !== void 0 && fields.length) {
|
|
236
289
|
fields === null || fields === void 0 ? void 0 : fields.forEach(function (fieldConfig) {
|
|
237
290
|
var _ref3, _ref4;
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
291
|
+
|
|
292
|
+
var _ref2 = typeof fieldConfig === 'string' ? // tslint:disable-next-line:no-object-literal-type-assertion
|
|
293
|
+
{
|
|
294
|
+
field: fieldConfig
|
|
295
|
+
} : fieldConfig,
|
|
296
|
+
field = _ref2.field,
|
|
297
|
+
formatField = _ref2.formatField,
|
|
298
|
+
formatValue = _ref2.formatValue,
|
|
299
|
+
getValue = _ref2.getValue;
|
|
300
|
+
|
|
247
301
|
var row = _l7Utils.DOM.create('div', 'l7-layer-popup__row');
|
|
302
|
+
|
|
248
303
|
var value = getValue ? getValue(e.feature) : (0, _lodash.get)(_feature, field);
|
|
249
304
|
var fieldElement = (_ref3 = formatField instanceof Function ? formatField(field, _feature) : formatField) !== null && _ref3 !== void 0 ? _ref3 : field;
|
|
250
305
|
var valueElement = (_ref4 = formatValue instanceof Function ? formatValue(value, _feature) : formatValue) !== null && _ref4 !== void 0 ? _ref4 : value;
|
|
306
|
+
|
|
251
307
|
var fieldSpan = _l7Utils.DOM.create('span', 'l7-layer-popup__key', row);
|
|
308
|
+
|
|
252
309
|
_l7Utils.DOM.appendElementType(fieldSpan, fieldElement);
|
|
310
|
+
|
|
253
311
|
_l7Utils.DOM.appendElementType(fieldSpan, document.createTextNode(':'));
|
|
254
|
-
var valueSpan = _l7Utils.DOM.create('span', 'l7-layer-popup__value', row);
|
|
255
312
|
|
|
256
|
-
// 当 value 中每项元素均为基础数据类型时,用逗号隔开
|
|
313
|
+
var valueSpan = _l7Utils.DOM.create('span', 'l7-layer-popup__value', row); // 当 value 中每项元素均为基础数据类型时,用逗号隔开
|
|
314
|
+
|
|
315
|
+
|
|
257
316
|
if (Array.isArray(valueElement) && valueElement.every(function (item) {
|
|
258
317
|
return !(item instanceof Object);
|
|
259
318
|
})) {
|
|
@@ -261,40 +320,45 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
261
320
|
return String(item);
|
|
262
321
|
}).join(',');
|
|
263
322
|
}
|
|
323
|
+
|
|
264
324
|
_l7Utils.DOM.appendElementType(valueSpan, valueElement);
|
|
325
|
+
|
|
265
326
|
contentFrag.appendChild(row);
|
|
266
327
|
});
|
|
267
328
|
}
|
|
268
329
|
}
|
|
330
|
+
|
|
269
331
|
return {
|
|
270
332
|
title: titleFrag,
|
|
271
333
|
content: contentFrag
|
|
272
334
|
};
|
|
273
335
|
}
|
|
274
|
-
|
|
275
336
|
/**
|
|
276
337
|
* 通过 Layer 配置访问到真实的 Layer 实例
|
|
277
338
|
* @param configItem
|
|
278
339
|
* @protected
|
|
279
340
|
*/
|
|
341
|
+
|
|
280
342
|
}, {
|
|
281
343
|
key: "getLayerByConfig",
|
|
282
344
|
value: function getLayerByConfig(configItem) {
|
|
283
345
|
var layer = configItem.layer;
|
|
346
|
+
|
|
284
347
|
if (layer instanceof Object) {
|
|
285
348
|
return layer;
|
|
286
349
|
}
|
|
350
|
+
|
|
287
351
|
if (typeof layer === 'string') {
|
|
288
352
|
return this.layerService.getLayer(layer) || this.layerService.getLayerByName(layer);
|
|
289
353
|
}
|
|
290
354
|
}
|
|
291
|
-
|
|
292
355
|
/**
|
|
293
356
|
* 判断当前展示的 Feature 是否和上一次查看的一致
|
|
294
357
|
* @param layer
|
|
295
358
|
* @param featureId
|
|
296
359
|
* @protected
|
|
297
360
|
*/
|
|
361
|
+
|
|
298
362
|
}, {
|
|
299
363
|
key: "isSameFeature",
|
|
300
364
|
value: function isSameFeature(layer, featureId) {
|
|
@@ -304,4 +368,5 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
304
368
|
}]);
|
|
305
369
|
return LayerPopup;
|
|
306
370
|
}(_popup.default);
|
|
371
|
+
|
|
307
372
|
exports.default = exports.LayerPopup = LayerPopup;
|