@antv/l7-component 2.18.3 → 2.19.1
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/popup/layerPopup.d.ts +10 -1
- package/es/popup/layerPopup.js +59 -28
- package/es/popup/popup.js +9 -1
- package/es/utils/popper.d.ts +1 -0
- package/es/utils/popper.js +7 -0
- package/lib/popup/layerPopup.js +60 -28
- package/lib/popup/popup.js +9 -1
- package/lib/utils/popper.js +7 -0
- package/package.json +6 -6
package/es/popup/layerPopup.d.ts
CHANGED
|
@@ -28,6 +28,10 @@ type LayerMapInfo = {
|
|
|
28
28
|
} & Partial<LayerPopupConfigItem>;
|
|
29
29
|
export { LayerPopup };
|
|
30
30
|
export default class LayerPopup extends Popup<ILayerPopupOption> {
|
|
31
|
+
/**
|
|
32
|
+
* 用于统计当前帧当中,layer 被点击的次数
|
|
33
|
+
*/
|
|
34
|
+
protected layerClickCountByFrame: number;
|
|
31
35
|
/**
|
|
32
36
|
* 用于保存图层对应的事件回调以及配置信息
|
|
33
37
|
* @protected
|
|
@@ -58,7 +62,8 @@ export default class LayerPopup extends Popup<ILayerPopupOption> {
|
|
|
58
62
|
protected unbindLayerEvent(): void;
|
|
59
63
|
protected onLayerMouseMove(layer: ILayer, e: any): void;
|
|
60
64
|
protected onLayerMouseOut(layer: ILayer, e: any): void;
|
|
61
|
-
protected onLayerClick(layer: ILayer, e: any)
|
|
65
|
+
protected onLayerClick: (layer: ILayer, e: any) => void;
|
|
66
|
+
protected onSceneClick: () => void;
|
|
62
67
|
protected onSourceUpdate(layer: ILayer): void;
|
|
63
68
|
/**
|
|
64
69
|
* 通过当前图层和对应选中的元素获取气泡展示的 HTML 内容
|
|
@@ -83,4 +88,8 @@ export default class LayerPopup extends Popup<ILayerPopupOption> {
|
|
|
83
88
|
* @protected
|
|
84
89
|
*/
|
|
85
90
|
protected isSameFeature(layer: ILayer, featureId: number): boolean | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* 覆盖 Popup 中的默认的 closeOnClick 行为
|
|
93
|
+
*/
|
|
94
|
+
protected updateCloseOnClick: () => void;
|
|
86
95
|
}
|
package/es/popup/layerPopup.js
CHANGED
|
@@ -10,7 +10,6 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
10
10
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
11
|
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; } }
|
|
12
12
|
import { DOM, lodashUtil } from '@antv/l7-utils';
|
|
13
|
-
// import { Container } from 'inversify';
|
|
14
13
|
import Popup from "./popup";
|
|
15
14
|
var get = lodashUtil.get;
|
|
16
15
|
export { LayerPopup };
|
|
@@ -24,11 +23,50 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
24
23
|
args[_key] = arguments[_key];
|
|
25
24
|
}
|
|
26
25
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
26
|
+
/**
|
|
27
|
+
* 用于统计当前帧当中,layer 被点击的次数
|
|
28
|
+
*/
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "layerClickCountByFrame", 0);
|
|
27
30
|
/**
|
|
28
31
|
* 用于保存图层对应的事件回调以及配置信息
|
|
29
32
|
* @protected
|
|
30
33
|
*/
|
|
31
34
|
_defineProperty(_assertThisInitialized(_this), "layerConfigMap", new WeakMap());
|
|
35
|
+
_defineProperty(_assertThisInitialized(_this), "onLayerClick", function (layer, e) {
|
|
36
|
+
requestAnimationFrame(function () {
|
|
37
|
+
if (_this.popupOption.closeOnClick) {
|
|
38
|
+
_this.layerClickCountByFrame++;
|
|
39
|
+
}
|
|
40
|
+
if (_this.isShow && _this.isSameFeature(layer, e.featureId)) {
|
|
41
|
+
_this.hide();
|
|
42
|
+
} else {
|
|
43
|
+
var _this$getLayerInfoFra = _this.getLayerInfoFrag(layer, e),
|
|
44
|
+
title = _this$getLayerInfoFra.title,
|
|
45
|
+
content = _this$getLayerInfoFra.content;
|
|
46
|
+
_this.setDOMContent(content);
|
|
47
|
+
_this.setLnglat(e.lngLat);
|
|
48
|
+
_this.setTitle(title);
|
|
49
|
+
_this.displayFeatureInfo = {
|
|
50
|
+
layer: layer,
|
|
51
|
+
featureId: e.featureId
|
|
52
|
+
};
|
|
53
|
+
_this.show();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
_defineProperty(_assertThisInitialized(_this), "onSceneClick", function () {
|
|
58
|
+
_this.layerClickCountByFrame = 0;
|
|
59
|
+
requestAnimationFrame(function () {
|
|
60
|
+
if (!_this.layerClickCountByFrame) {
|
|
61
|
+
_this.hide();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
/**
|
|
66
|
+
* 覆盖 Popup 中的默认的 closeOnClick 行为
|
|
67
|
+
*/
|
|
68
|
+
// tslint:disable-next-line:no-empty
|
|
69
|
+
_defineProperty(_assertThisInitialized(_this), "updateCloseOnClick", function () {});
|
|
32
70
|
return _this;
|
|
33
71
|
}
|
|
34
72
|
_createClass(LayerPopup, [{
|
|
@@ -82,7 +120,7 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
82
120
|
},
|
|
83
121
|
offsets: [0, 10],
|
|
84
122
|
closeButton: false,
|
|
85
|
-
closeOnClick:
|
|
123
|
+
closeOnClick: true,
|
|
86
124
|
autoClose: false,
|
|
87
125
|
closeOnEsc: false
|
|
88
126
|
});
|
|
@@ -96,7 +134,9 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
96
134
|
key: "bindLayerEvent",
|
|
97
135
|
value: function bindLayerEvent() {
|
|
98
136
|
var _this2 = this;
|
|
99
|
-
var
|
|
137
|
+
var _this$popupOption2 = this.popupOption,
|
|
138
|
+
trigger = _this$popupOption2.trigger,
|
|
139
|
+
closeOnClick = _this$popupOption2.closeOnClick;
|
|
100
140
|
this.layerConfigItems.forEach(function (configItem) {
|
|
101
141
|
var _layer$getSource;
|
|
102
142
|
var layer = _this2.getLayerByConfig(configItem);
|
|
@@ -112,9 +152,14 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
112
152
|
layer === null || layer === void 0 ? void 0 : layer.on('mousemove', onMouseMove);
|
|
113
153
|
layer === null || layer === void 0 ? void 0 : layer.on('mouseout', onMouseOut);
|
|
114
154
|
} else {
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
|
|
155
|
+
var _this2$mapsService;
|
|
156
|
+
var onLayerClick = _this2.onLayerClick.bind(_this2, layer);
|
|
157
|
+
layerInfo.onClick = onLayerClick;
|
|
158
|
+
layer === null || layer === void 0 ? void 0 : layer.on('click', onLayerClick);
|
|
159
|
+
var mapContainer = (_this2$mapsService = _this2.mapsService) === null || _this2$mapsService === void 0 ? void 0 : _this2$mapsService.getMapContainer();
|
|
160
|
+
if (mapContainer && closeOnClick) {
|
|
161
|
+
mapContainer.addEventListener('click', _this2.onSceneClick);
|
|
162
|
+
}
|
|
118
163
|
}
|
|
119
164
|
var source = layer === null || layer === void 0 ? void 0 : (_layer$getSource = layer.getSource) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.call(layer);
|
|
120
165
|
var onSourceUpdate = _this2.onSourceUpdate.bind(_this2, layer);
|
|
@@ -133,6 +178,7 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
133
178
|
value: function unbindLayerEvent() {
|
|
134
179
|
var _this3 = this;
|
|
135
180
|
this.layerConfigItems.forEach(function (configItem) {
|
|
181
|
+
var _this3$mapsService;
|
|
136
182
|
var layer = _this3.getLayerByConfig(configItem);
|
|
137
183
|
var layerInfo = layer && _this3.layerConfigMap.get(layer);
|
|
138
184
|
if (!layerInfo) {
|
|
@@ -155,15 +201,19 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
155
201
|
var _layer$getSource2;
|
|
156
202
|
layer === null || layer === void 0 ? void 0 : (_layer$getSource2 = layer.getSource()) === null || _layer$getSource2 === void 0 ? void 0 : _layer$getSource2.off('update', onSourceUpdate);
|
|
157
203
|
}
|
|
204
|
+
var mapContainer = (_this3$mapsService = _this3.mapsService) === null || _this3$mapsService === void 0 ? void 0 : _this3$mapsService.getMapContainer();
|
|
205
|
+
if (mapContainer) {
|
|
206
|
+
mapContainer.removeEventListener('click', _this3.onSceneClick);
|
|
207
|
+
}
|
|
158
208
|
});
|
|
159
209
|
}
|
|
160
210
|
}, {
|
|
161
211
|
key: "onLayerMouseMove",
|
|
162
212
|
value: function onLayerMouseMove(layer, e) {
|
|
163
213
|
if (!this.isSameFeature(layer, e.featureId)) {
|
|
164
|
-
var _this$
|
|
165
|
-
title = _this$
|
|
166
|
-
content = _this$
|
|
214
|
+
var _this$getLayerInfoFra2 = this.getLayerInfoFrag(layer, e),
|
|
215
|
+
title = _this$getLayerInfoFra2.title,
|
|
216
|
+
content = _this$getLayerInfoFra2.content;
|
|
167
217
|
this.setDOMContent(content);
|
|
168
218
|
this.setTitle(title);
|
|
169
219
|
this.displayFeatureInfo = {
|
|
@@ -183,25 +233,6 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
183
233
|
this.hide();
|
|
184
234
|
}
|
|
185
235
|
}
|
|
186
|
-
}, {
|
|
187
|
-
key: "onLayerClick",
|
|
188
|
-
value: function onLayerClick(layer, e) {
|
|
189
|
-
if (this.isShow && this.isSameFeature(layer, e.featureId)) {
|
|
190
|
-
this.hide();
|
|
191
|
-
} else {
|
|
192
|
-
var _this$getLayerInfoFra2 = this.getLayerInfoFrag(layer, e),
|
|
193
|
-
title = _this$getLayerInfoFra2.title,
|
|
194
|
-
content = _this$getLayerInfoFra2.content;
|
|
195
|
-
this.setDOMContent(content);
|
|
196
|
-
this.setLnglat(e.lngLat);
|
|
197
|
-
this.setTitle(title);
|
|
198
|
-
this.displayFeatureInfo = {
|
|
199
|
-
layer: layer,
|
|
200
|
-
featureId: e.featureId
|
|
201
|
-
};
|
|
202
|
-
this.show();
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
236
|
}, {
|
|
206
237
|
key: "onSourceUpdate",
|
|
207
238
|
value: function onSourceUpdate(layer) {
|
package/es/popup/popup.js
CHANGED
|
@@ -522,9 +522,17 @@ var Popup = /*#__PURE__*/function (_EventEmitter) {
|
|
|
522
522
|
|
|
523
523
|
// this.closeButton.type = 'button';
|
|
524
524
|
closeButton.setAttribute('aria-label', 'Close popup');
|
|
525
|
-
closeButton.addEventListener('click', function () {
|
|
525
|
+
closeButton.addEventListener('click', function (e) {
|
|
526
526
|
_this4.hide();
|
|
527
527
|
});
|
|
528
|
+
|
|
529
|
+
// 防止点击 Popup 关闭按钮时,触发 Layer click 事件
|
|
530
|
+
closeButton.addEventListener('pointerup', function (e) {
|
|
531
|
+
e.stopPropagation();
|
|
532
|
+
});
|
|
533
|
+
closeButton.addEventListener('pointerdown', function (e) {
|
|
534
|
+
e.stopPropagation();
|
|
535
|
+
});
|
|
528
536
|
this.closeButton = closeButton;
|
|
529
537
|
} else {
|
|
530
538
|
this.closeButton = undefined;
|
package/es/utils/popper.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ export declare class Popper extends EventEmitter<'show' | 'hide'> {
|
|
|
70
70
|
resetPopperPosition(): void;
|
|
71
71
|
protected createPopper(): HTMLElement;
|
|
72
72
|
protected onBtnClick: () => void;
|
|
73
|
+
protected onPopperUnClick: (e: MouseEvent) => void;
|
|
73
74
|
protected onBtnMouseLeave: () => void;
|
|
74
75
|
protected onBtnMouseMove: () => void;
|
|
75
76
|
}
|
package/es/utils/popper.js
CHANGED
|
@@ -56,6 +56,7 @@ export var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
_this.emit('show');
|
|
59
|
+
window.addEventListener('pointerdown', _this.onPopperUnClick);
|
|
59
60
|
return _assertThisInitialized(_this);
|
|
60
61
|
});
|
|
61
62
|
_defineProperty(_assertThisInitialized(_this), "hide", function () {
|
|
@@ -65,6 +66,7 @@ export var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
65
66
|
DOM.addClass(_this.popperDOM, 'l7-popper-hide');
|
|
66
67
|
_this.isShow = false;
|
|
67
68
|
_this.emit('hide');
|
|
69
|
+
window.removeEventListener('pointerdown', _this.onPopperUnClick);
|
|
68
70
|
return _assertThisInitialized(_this);
|
|
69
71
|
});
|
|
70
72
|
/**
|
|
@@ -98,6 +100,11 @@ export var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
98
100
|
_this.show();
|
|
99
101
|
}
|
|
100
102
|
});
|
|
103
|
+
_defineProperty(_assertThisInitialized(_this), "onPopperUnClick", function (e) {
|
|
104
|
+
if (!DOM.findParentElement(e.target, ['.l7-button-control', '.l7-popper-content'])) {
|
|
105
|
+
_this.hide();
|
|
106
|
+
}
|
|
107
|
+
});
|
|
101
108
|
_defineProperty(_assertThisInitialized(_this), "onBtnMouseLeave", function () {
|
|
102
109
|
_this.setHideTimeout();
|
|
103
110
|
});
|
package/lib/popup/layerPopup.js
CHANGED
|
@@ -17,7 +17,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
17
17
|
var _l7Utils = require("@antv/l7-utils");
|
|
18
18
|
var _popup = _interopRequireDefault(require("./popup"));
|
|
19
19
|
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); }; }
|
|
20
|
-
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; } }
|
|
20
|
+
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; } }
|
|
21
21
|
var get = _l7Utils.lodashUtil.get;
|
|
22
22
|
var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
23
23
|
(0, _inherits2.default)(LayerPopup, _Popup);
|
|
@@ -29,11 +29,50 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
29
29
|
args[_key] = arguments[_key];
|
|
30
30
|
}
|
|
31
31
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
32
|
+
/**
|
|
33
|
+
* 用于统计当前帧当中,layer 被点击的次数
|
|
34
|
+
*/
|
|
35
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerClickCountByFrame", 0);
|
|
32
36
|
/**
|
|
33
37
|
* 用于保存图层对应的事件回调以及配置信息
|
|
34
38
|
* @protected
|
|
35
39
|
*/
|
|
36
40
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "layerConfigMap", new WeakMap());
|
|
41
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onLayerClick", function (layer, e) {
|
|
42
|
+
requestAnimationFrame(function () {
|
|
43
|
+
if (_this.popupOption.closeOnClick) {
|
|
44
|
+
_this.layerClickCountByFrame++;
|
|
45
|
+
}
|
|
46
|
+
if (_this.isShow && _this.isSameFeature(layer, e.featureId)) {
|
|
47
|
+
_this.hide();
|
|
48
|
+
} else {
|
|
49
|
+
var _this$getLayerInfoFra = _this.getLayerInfoFrag(layer, e),
|
|
50
|
+
title = _this$getLayerInfoFra.title,
|
|
51
|
+
content = _this$getLayerInfoFra.content;
|
|
52
|
+
_this.setDOMContent(content);
|
|
53
|
+
_this.setLnglat(e.lngLat);
|
|
54
|
+
_this.setTitle(title);
|
|
55
|
+
_this.displayFeatureInfo = {
|
|
56
|
+
layer: layer,
|
|
57
|
+
featureId: e.featureId
|
|
58
|
+
};
|
|
59
|
+
_this.show();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onSceneClick", function () {
|
|
64
|
+
_this.layerClickCountByFrame = 0;
|
|
65
|
+
requestAnimationFrame(function () {
|
|
66
|
+
if (!_this.layerClickCountByFrame) {
|
|
67
|
+
_this.hide();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* 覆盖 Popup 中的默认的 closeOnClick 行为
|
|
73
|
+
*/
|
|
74
|
+
// tslint:disable-next-line:no-empty
|
|
75
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateCloseOnClick", function () {});
|
|
37
76
|
return _this;
|
|
38
77
|
}
|
|
39
78
|
(0, _createClass2.default)(LayerPopup, [{
|
|
@@ -87,7 +126,7 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
87
126
|
},
|
|
88
127
|
offsets: [0, 10],
|
|
89
128
|
closeButton: false,
|
|
90
|
-
closeOnClick:
|
|
129
|
+
closeOnClick: true,
|
|
91
130
|
autoClose: false,
|
|
92
131
|
closeOnEsc: false
|
|
93
132
|
});
|
|
@@ -101,7 +140,9 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
101
140
|
key: "bindLayerEvent",
|
|
102
141
|
value: function bindLayerEvent() {
|
|
103
142
|
var _this2 = this;
|
|
104
|
-
var
|
|
143
|
+
var _this$popupOption2 = this.popupOption,
|
|
144
|
+
trigger = _this$popupOption2.trigger,
|
|
145
|
+
closeOnClick = _this$popupOption2.closeOnClick;
|
|
105
146
|
this.layerConfigItems.forEach(function (configItem) {
|
|
106
147
|
var _layer$getSource;
|
|
107
148
|
var layer = _this2.getLayerByConfig(configItem);
|
|
@@ -117,9 +158,14 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
117
158
|
layer === null || layer === void 0 ? void 0 : layer.on('mousemove', onMouseMove);
|
|
118
159
|
layer === null || layer === void 0 ? void 0 : layer.on('mouseout', onMouseOut);
|
|
119
160
|
} else {
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
161
|
+
var _this2$mapsService;
|
|
162
|
+
var onLayerClick = _this2.onLayerClick.bind(_this2, layer);
|
|
163
|
+
layerInfo.onClick = onLayerClick;
|
|
164
|
+
layer === null || layer === void 0 ? void 0 : layer.on('click', onLayerClick);
|
|
165
|
+
var mapContainer = (_this2$mapsService = _this2.mapsService) === null || _this2$mapsService === void 0 ? void 0 : _this2$mapsService.getMapContainer();
|
|
166
|
+
if (mapContainer && closeOnClick) {
|
|
167
|
+
mapContainer.addEventListener('click', _this2.onSceneClick);
|
|
168
|
+
}
|
|
123
169
|
}
|
|
124
170
|
var source = layer === null || layer === void 0 ? void 0 : (_layer$getSource = layer.getSource) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.call(layer);
|
|
125
171
|
var onSourceUpdate = _this2.onSourceUpdate.bind(_this2, layer);
|
|
@@ -138,6 +184,7 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
138
184
|
value: function unbindLayerEvent() {
|
|
139
185
|
var _this3 = this;
|
|
140
186
|
this.layerConfigItems.forEach(function (configItem) {
|
|
187
|
+
var _this3$mapsService;
|
|
141
188
|
var layer = _this3.getLayerByConfig(configItem);
|
|
142
189
|
var layerInfo = layer && _this3.layerConfigMap.get(layer);
|
|
143
190
|
if (!layerInfo) {
|
|
@@ -160,15 +207,19 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
160
207
|
var _layer$getSource2;
|
|
161
208
|
layer === null || layer === void 0 ? void 0 : (_layer$getSource2 = layer.getSource()) === null || _layer$getSource2 === void 0 ? void 0 : _layer$getSource2.off('update', onSourceUpdate);
|
|
162
209
|
}
|
|
210
|
+
var mapContainer = (_this3$mapsService = _this3.mapsService) === null || _this3$mapsService === void 0 ? void 0 : _this3$mapsService.getMapContainer();
|
|
211
|
+
if (mapContainer) {
|
|
212
|
+
mapContainer.removeEventListener('click', _this3.onSceneClick);
|
|
213
|
+
}
|
|
163
214
|
});
|
|
164
215
|
}
|
|
165
216
|
}, {
|
|
166
217
|
key: "onLayerMouseMove",
|
|
167
218
|
value: function onLayerMouseMove(layer, e) {
|
|
168
219
|
if (!this.isSameFeature(layer, e.featureId)) {
|
|
169
|
-
var _this$
|
|
170
|
-
title = _this$
|
|
171
|
-
content = _this$
|
|
220
|
+
var _this$getLayerInfoFra2 = this.getLayerInfoFrag(layer, e),
|
|
221
|
+
title = _this$getLayerInfoFra2.title,
|
|
222
|
+
content = _this$getLayerInfoFra2.content;
|
|
172
223
|
this.setDOMContent(content);
|
|
173
224
|
this.setTitle(title);
|
|
174
225
|
this.displayFeatureInfo = {
|
|
@@ -188,25 +239,6 @@ var LayerPopup = /*#__PURE__*/function (_Popup) {
|
|
|
188
239
|
this.hide();
|
|
189
240
|
}
|
|
190
241
|
}
|
|
191
|
-
}, {
|
|
192
|
-
key: "onLayerClick",
|
|
193
|
-
value: function onLayerClick(layer, e) {
|
|
194
|
-
if (this.isShow && this.isSameFeature(layer, e.featureId)) {
|
|
195
|
-
this.hide();
|
|
196
|
-
} else {
|
|
197
|
-
var _this$getLayerInfoFra2 = this.getLayerInfoFrag(layer, e),
|
|
198
|
-
title = _this$getLayerInfoFra2.title,
|
|
199
|
-
content = _this$getLayerInfoFra2.content;
|
|
200
|
-
this.setDOMContent(content);
|
|
201
|
-
this.setLnglat(e.lngLat);
|
|
202
|
-
this.setTitle(title);
|
|
203
|
-
this.displayFeatureInfo = {
|
|
204
|
-
layer: layer,
|
|
205
|
-
featureId: e.featureId
|
|
206
|
-
};
|
|
207
|
-
this.show();
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
242
|
}, {
|
|
211
243
|
key: "onSourceUpdate",
|
|
212
244
|
value: function onSourceUpdate(layer) {
|
package/lib/popup/popup.js
CHANGED
|
@@ -528,9 +528,17 @@ var Popup = /*#__PURE__*/function (_EventEmitter) {
|
|
|
528
528
|
|
|
529
529
|
// this.closeButton.type = 'button';
|
|
530
530
|
closeButton.setAttribute('aria-label', 'Close popup');
|
|
531
|
-
closeButton.addEventListener('click', function () {
|
|
531
|
+
closeButton.addEventListener('click', function (e) {
|
|
532
532
|
_this4.hide();
|
|
533
533
|
});
|
|
534
|
+
|
|
535
|
+
// 防止点击 Popup 关闭按钮时,触发 Layer click 事件
|
|
536
|
+
closeButton.addEventListener('pointerup', function (e) {
|
|
537
|
+
e.stopPropagation();
|
|
538
|
+
});
|
|
539
|
+
closeButton.addEventListener('pointerdown', function (e) {
|
|
540
|
+
e.stopPropagation();
|
|
541
|
+
});
|
|
534
542
|
this.closeButton = closeButton;
|
|
535
543
|
} else {
|
|
536
544
|
this.closeButton = undefined;
|
package/lib/utils/popper.js
CHANGED
|
@@ -59,6 +59,7 @@ var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
_this.emit('show');
|
|
62
|
+
window.addEventListener('pointerdown', _this.onPopperUnClick);
|
|
62
63
|
return (0, _assertThisInitialized2.default)(_this);
|
|
63
64
|
});
|
|
64
65
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hide", function () {
|
|
@@ -68,6 +69,7 @@ var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
68
69
|
_l7Utils.DOM.addClass(_this.popperDOM, 'l7-popper-hide');
|
|
69
70
|
_this.isShow = false;
|
|
70
71
|
_this.emit('hide');
|
|
72
|
+
window.removeEventListener('pointerdown', _this.onPopperUnClick);
|
|
71
73
|
return (0, _assertThisInitialized2.default)(_this);
|
|
72
74
|
});
|
|
73
75
|
/**
|
|
@@ -101,6 +103,11 @@ var Popper = /*#__PURE__*/function (_EventEmitter) {
|
|
|
101
103
|
_this.show();
|
|
102
104
|
}
|
|
103
105
|
});
|
|
106
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onPopperUnClick", function (e) {
|
|
107
|
+
if (!_l7Utils.DOM.findParentElement(e.target, ['.l7-button-control', '.l7-popper-content'])) {
|
|
108
|
+
_this.hide();
|
|
109
|
+
}
|
|
110
|
+
});
|
|
104
111
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onBtnMouseLeave", function () {
|
|
105
112
|
_this.setHideTimeout();
|
|
106
113
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antv/l7-component",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"author": "lzxue",
|
|
27
27
|
"license": "ISC",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@antv/l7-core": "2.
|
|
30
|
-
"@antv/l7-utils": "2.
|
|
29
|
+
"@antv/l7-core": "2.19.1",
|
|
30
|
+
"@antv/l7-utils": "2.19.1",
|
|
31
31
|
"@babel/runtime": "^7.7.7",
|
|
32
32
|
"eventemitter3": "^4.0.0",
|
|
33
33
|
"inversify": "^5.0.1",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"supercluster": "^7.0.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@antv/l7-layers": "2.
|
|
39
|
-
"@antv/l7-test-utils": "2.
|
|
38
|
+
"@antv/l7-layers": "2.19.1",
|
|
39
|
+
"@antv/l7-test-utils": "2.19.1",
|
|
40
40
|
"gcoord": "^0.3.2",
|
|
41
41
|
"less": "^4.1.3"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "8367745186870d2519ad00006fcdbcb92196e9ad",
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|
|
46
46
|
}
|