@vtx/cs-map 1.0.142 → 1.0.144
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/lib/_util/encryptParams.js +26 -4
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/dom/index.js +17 -43
- package/lib/dom/index.js.map +1 -1
- package/lib/dom-layer/index.js +250 -0
- package/lib/dom-layer/index.js.map +1 -0
- package/lib/dom-layer/style/css.js +4 -0
- package/lib/dom-layer/style/css.js.map +1 -0
- package/lib/dom-layer/style/index.css +3 -0
- package/lib/dom-layer/style/index.js +4 -0
- package/lib/dom-layer/style/index.js.map +1 -0
- package/lib/dom-layer/style/index.less +3 -0
- package/lib/feature-layer/index.js +4 -2
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/image-layer/index.js +4 -2
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-wms-layer/index.js +4 -2
- package/lib/image-wms-layer/index.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/map/index.js +7 -2
- package/lib/map/index.js.map +1 -1
- package/package.json +1 -1
- package/CHANGELOG.md +0 -124
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.encrypt = exports["default"] = void 0;
|
|
6
|
+
exports.keyHex = exports.ivHex = exports.encryptParamsByUrl = exports.encrypt = exports["default"] = void 0;
|
|
7
7
|
var _cryptoJs = _interopRequireDefault(require("crypto-js"));
|
|
8
|
+
var _getUrlParam = _interopRequireDefault(require("./getUrlParam"));
|
|
8
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
10
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
11
|
// 这里是密钥
|
|
11
|
-
var keyHex = 'NT9FWl3ze1GJNqpo';
|
|
12
|
-
var ivHex = 'vL7iWTTV7RngvKkn';
|
|
12
|
+
var keyHex = exports.keyHex = 'NT9FWl3ze1GJNqpo';
|
|
13
|
+
var ivHex = exports.ivHex = 'vL7iWTTV7RngvKkn';
|
|
13
14
|
|
|
14
15
|
// 解密 data:要加密解密的数据,AES_KEY:密钥,IV:偏移量
|
|
15
16
|
var encrypt = exports.encrypt = function encrypt(data, options) {
|
|
@@ -25,14 +26,35 @@ var encrypt = exports.encrypt = function encrypt(data, options) {
|
|
|
25
26
|
padding: _cryptoJs["default"].pad.Pkcs7
|
|
26
27
|
}).toString();
|
|
27
28
|
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 加密参数
|
|
32
|
+
* @param params
|
|
33
|
+
* @param options
|
|
34
|
+
* @returns {*}
|
|
35
|
+
*/
|
|
28
36
|
var encryptParams = function encryptParams(params, options) {
|
|
29
37
|
var _params;
|
|
30
38
|
if ((_params = params) !== null && _params !== void 0 && _params.cql_filter) {
|
|
31
39
|
params = JSON.parse(JSON.stringify(params));
|
|
32
|
-
params.CQL_FILTER_ENCRYPT = encrypt(
|
|
40
|
+
params.CQL_FILTER_ENCRYPT = encrypt(encodeURIComponent(params.cql_filter), options);
|
|
33
41
|
delete params.cql_filter;
|
|
34
42
|
}
|
|
35
43
|
return params;
|
|
36
44
|
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 根据url判断是否加密
|
|
48
|
+
* @param params
|
|
49
|
+
* @param options
|
|
50
|
+
* @returns {*}
|
|
51
|
+
*/
|
|
52
|
+
var encryptParamsByUrl = exports.encryptParamsByUrl = function encryptParamsByUrl(params, options) {
|
|
53
|
+
var encryptParam = (0, _getUrlParam["default"])('encrypt');
|
|
54
|
+
if (encryptParam === 'true') {
|
|
55
|
+
return encryptParams(params, options);
|
|
56
|
+
}
|
|
57
|
+
return params;
|
|
58
|
+
};
|
|
37
59
|
var _default = exports["default"] = encryptParams;
|
|
38
60
|
//# sourceMappingURL=encryptParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryptParams.js","names":["_cryptoJs","_interopRequireDefault","require","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","keyHex","
|
|
1
|
+
{"version":3,"file":"encryptParams.js","names":["_cryptoJs","_interopRequireDefault","require","_getUrlParam","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","keyHex","exports","ivHex","encrypt","data","options","_ref","AES_KEY","key","IV","iv","mode","CryptoJS","enc","Utf8","parse","AES","padding","pad","Pkcs7","toString","encryptParams","params","_params","cql_filter","JSON","stringify","CQL_FILTER_ENCRYPT","encodeURIComponent","encryptParamsByUrl","encryptParam","getUrlParam","_default"],"sources":["_util/encryptParams.js"],"sourcesContent":["import CryptoJS from 'crypto-js';\nimport getUrlParam from './getUrlParam';\n\n// 这里是密钥\nexport const keyHex = 'NT9FWl3ze1GJNqpo';\nexport const ivHex = 'vL7iWTTV7RngvKkn';\n\n// 解密 data:要加密解密的数据,AES_KEY:密钥,IV:偏移量\nexport const encrypt = (data, options) => {\n let {key: AES_KEY, iv: IV, mode} = (options && typeof options === 'object') ? options : {};\n const key = CryptoJS.enc.Utf8.parse(AES_KEY || keyHex);\n const iv = CryptoJS.enc.Utf8.parse(IV || ivHex);\n\n return CryptoJS.AES.encrypt(data, key, {\n iv,\n mode: CryptoJS.mode[mode ||'CBC'],\n padding: CryptoJS.pad.Pkcs7\n }).toString()\n}\n\n/**\n * 加密参数\n * @param params\n * @param options\n * @returns {*}\n */\nconst encryptParams = (params, options) => {\n if (params?.cql_filter) {\n params = JSON.parse(JSON.stringify(params));\n params.CQL_FILTER_ENCRYPT = encrypt(encodeURIComponent(params.cql_filter), options);\n\n delete params.cql_filter\n }\n\n return params\n}\n\n/**\n * 根据url判断是否加密\n * @param params\n * @param options\n * @returns {*}\n */\nexport const encryptParamsByUrl = (params, options) => {\n const encryptParam = getUrlParam('encrypt');\n\n if (encryptParam === 'true') {\n return encryptParams(params, options);\n }\n\n return params\n}\n\nexport default encryptParams;\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAwC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAExC;AACO,IAAMK,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,kBAAkB;AACjC,IAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG,kBAAkB;;AAEvC;AACO,IAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG,SAAVA,OAAOA,CAAIC,IAAI,EAAEC,OAAO,EAAK;EACtC,IAAAC,IAAA,GAAoCD,OAAO,IAAIX,OAAA,CAAOW,OAAO,MAAK,QAAQ,GAAIA,OAAO,GAAG,CAAC,CAAC;IAAhFE,OAAO,GAAAD,IAAA,CAAZE,GAAG;IAAeC,EAAE,GAAAH,IAAA,CAANI,EAAE;IAAMC,IAAI,GAAAL,IAAA,CAAJK,IAAI;EAC/B,IAAMH,GAAG,GAAGI,oBAAQ,CAACC,GAAG,CAACC,IAAI,CAACC,KAAK,CAACR,OAAO,IAAIP,MAAM,CAAC;EACtD,IAAMU,EAAE,GAAGE,oBAAQ,CAACC,GAAG,CAACC,IAAI,CAACC,KAAK,CAACN,EAAE,IAAIP,KAAK,CAAC;EAE/C,OAAOU,oBAAQ,CAACI,GAAG,CAACb,OAAO,CAACC,IAAI,EAAEI,GAAG,EAAE;IACnCE,EAAE,EAAFA,EAAE;IACFC,IAAI,EAAEC,oBAAQ,CAACD,IAAI,CAACA,IAAI,IAAG,KAAK,CAAC;IACjCM,OAAO,EAAEL,oBAAQ,CAACM,GAAG,CAACC;EAC1B,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,MAAM,EAAEjB,OAAO,EAAK;EAAA,IAAAkB,OAAA;EACvC,KAAAA,OAAA,GAAID,MAAM,cAAAC,OAAA,eAANA,OAAA,CAAQC,UAAU,EAAE;IACpBF,MAAM,GAAGG,IAAI,CAACV,KAAK,CAACU,IAAI,CAACC,SAAS,CAACJ,MAAM,CAAC,CAAC;IAC3CA,MAAM,CAACK,kBAAkB,GAAGxB,OAAO,CAACyB,kBAAkB,CAACN,MAAM,CAACE,UAAU,CAAC,EAAEnB,OAAO,CAAC;IAEnF,OAAOiB,MAAM,CAACE,UAAU;EAC5B;EAEA,OAAOF,MAAM;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMO,kBAAkB,GAAA5B,OAAA,CAAA4B,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIP,MAAM,EAAEjB,OAAO,EAAK;EACnD,IAAMyB,YAAY,GAAG,IAAAC,uBAAW,EAAC,SAAS,CAAC;EAE3C,IAAID,YAAY,KAAK,MAAM,EAAE;IACzB,OAAOT,aAAa,CAACC,MAAM,EAAEjB,OAAO,CAAC;EACzC;EAEA,OAAOiB,MAAM;AACjB,CAAC;AAAA,IAAAU,QAAA,GAAA/B,OAAA,cAEcoB,aAAa","ignoreList":[]}
|
package/lib/dom/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
|
10
10
|
var _ahooks = require("ahooks");
|
|
11
11
|
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
12
12
|
var _Dom = _interopRequireDefault(require("./Dom"));
|
|
13
|
-
var _excluded = ["data", "getParentContainer", "style", "cssText", "show", "children"];
|
|
13
|
+
var _excluded = ["data", "getParentContainer", "style", "cssText", "show", "avoid", "children", "_registerDomLayer"];
|
|
14
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -43,12 +43,16 @@ function _default(props) {
|
|
|
43
43
|
cssText = props.cssText,
|
|
44
44
|
_props$show = props.show,
|
|
45
45
|
show = _props$show === void 0 ? true : _props$show,
|
|
46
|
+
_props$avoid = props.avoid,
|
|
47
|
+
avoid = _props$avoid === void 0 ? true : _props$avoid,
|
|
46
48
|
children = props.children,
|
|
49
|
+
_registerDomLayer = props._registerDomLayer,
|
|
47
50
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
48
51
|
var _useProps = (0, _useProps2["default"])(),
|
|
49
52
|
map = _useProps.map;
|
|
50
53
|
var domRef = (0, _react.useRef)(document.createElement('div'));
|
|
51
54
|
var overlay = (0, _react.useRef)();
|
|
55
|
+
var unregisterRef = (0, _react.useRef)();
|
|
52
56
|
(0, _react.useEffect)(function () {
|
|
53
57
|
setStyle(cssText, style);
|
|
54
58
|
overlay.current = new _Dom["default"](_objectSpread({
|
|
@@ -60,8 +64,20 @@ function _default(props) {
|
|
|
60
64
|
}, otherProps));
|
|
61
65
|
var parentDom = getParentContainer ? getParentContainer() : map._element;
|
|
62
66
|
parentDom.appendChild(domRef.current);
|
|
67
|
+
|
|
68
|
+
// 如果有DomLayer注册函数,则注册此DOM元素
|
|
69
|
+
if (_registerDomLayer) {
|
|
70
|
+
unregisterRef.current = _registerDomLayer(domRef.current, {
|
|
71
|
+
avoid: avoid
|
|
72
|
+
});
|
|
73
|
+
}
|
|
63
74
|
return function () {
|
|
64
75
|
overlay.current.destroy();
|
|
76
|
+
|
|
77
|
+
// 调用注销函数
|
|
78
|
+
if (unregisterRef.current) {
|
|
79
|
+
unregisterRef.current();
|
|
80
|
+
}
|
|
65
81
|
parentDom.removeChild(domRef.current);
|
|
66
82
|
};
|
|
67
83
|
}, []);
|
|
@@ -95,46 +111,4 @@ function _default(props) {
|
|
|
95
111
|
};
|
|
96
112
|
return /*#__PURE__*/_reactDom["default"].createPortal(children, domRef.current);
|
|
97
113
|
}
|
|
98
|
-
|
|
99
|
-
// export default function (props) {
|
|
100
|
-
// const {data, style, show = true, children, ...otherProps} = props;
|
|
101
|
-
// const {map} = useProps();
|
|
102
|
-
//
|
|
103
|
-
// const domRef = useRef();
|
|
104
|
-
// const overlay = useRef();
|
|
105
|
-
//
|
|
106
|
-
// useEffect(() => {
|
|
107
|
-
// overlay.current = new Dom({
|
|
108
|
-
// map,
|
|
109
|
-
// position: data,
|
|
110
|
-
// element: domRef.current,
|
|
111
|
-
// positioning: "bottom-center",
|
|
112
|
-
// offset: [0, -10],
|
|
113
|
-
// ...otherProps
|
|
114
|
-
// });
|
|
115
|
-
//
|
|
116
|
-
// return () => {
|
|
117
|
-
// overlay.current.destroy();
|
|
118
|
-
// }
|
|
119
|
-
// }, []);
|
|
120
|
-
//
|
|
121
|
-
// useUpdateEffect(() => {
|
|
122
|
-
// overlay.current.setPosition(data)
|
|
123
|
-
// }, [JSON.stringify(data)])
|
|
124
|
-
//
|
|
125
|
-
// return (
|
|
126
|
-
// <div
|
|
127
|
-
// ref={domRef}
|
|
128
|
-
// style={{
|
|
129
|
-
// display: show ? 'block' : 'none',
|
|
130
|
-
// position: 'absolute',
|
|
131
|
-
// userSelect: 'none',
|
|
132
|
-
// pointerEvents: 'none',
|
|
133
|
-
// ...style
|
|
134
|
-
// }}
|
|
135
|
-
// >
|
|
136
|
-
// {children}
|
|
137
|
-
// </div>
|
|
138
|
-
// )
|
|
139
|
-
// }
|
|
140
114
|
//# sourceMappingURL=index.js.map
|
package/lib/dom/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","convertCamelToCSS","style","cssText","property","isNaN","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","children","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","_domRef$current","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\nconst convertCamelToCSS = (style) => {\n let cssText = '';\n for (let property in style) {\n if (style.hasOwnProperty(property)) {\n let value = style[property];\n if (value && typeof value === 'number' && !isNaN(value)) {\n value = value + 'px';\n }\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\n cssText += `${cssProperty}: ${value}; `;\n }\n }\n\n return cssText;\n}\n\nexport default function (props) {\n const {data, getParentContainer, style, cssText, show = true, children, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n\n useEffect(() => {\n setStyle(cssText, style);\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n const parentDom = getParentContainer ? getParentContainer() : map._element;\n parentDom.appendChild(domRef.current);\n\n return () => {\n overlay.current.destroy();\n\n parentDom.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n setStyle(cssText, style);\n }, [cssText, JSON.stringify(style)]);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n const setStyle = (_cssText, _style) => {\n let cssText = domRef.current?.style?.cssText || `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n `;\n\n // 兼容css未加;\n if (_cssText) {\n const lastStr = _cssText[_cssText.length - 1];\n if (lastStr !== ';') {\n _cssText = `${_cssText}; `\n }\n\n cssText = `\n ${cssText}\n ${_cssText}\n `\n }\n\n if (_style) {\n // 转换为CSS文本\n const styleToCss = convertCamelToCSS(_style);\n cssText = `\n ${cssText}\n ${styleToCss}\n `\n }\n\n domRef.current.style.cssText = cssText;\n }\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n\n// export default function (props) {\n// const {data, style, show = true, children, ...otherProps} = props;\n// const {map} = useProps();\n//\n// const domRef = useRef();\n// const overlay = useRef();\n//\n// useEffect(() => {\n// overlay.current = new Dom({\n// map,\n// position: data,\n// element: domRef.current,\n// positioning: \"bottom-center\",\n// offset: [0, -10],\n// ...otherProps\n// });\n//\n// return () => {\n// overlay.current.destroy();\n// }\n// }, []);\n//\n// useUpdateEffect(() => {\n// overlay.current.setPosition(data)\n// }, [JSON.stringify(data)])\n//\n// return (\n// <div\n// ref={domRef}\n// style={{\n// display: show ? 'block' : 'none',\n// position: 'absolute',\n// userSelect: 'none',\n// pointerEvents: 'none',\n// ...style\n// }}\n// >\n// {children}\n// </div>\n// )\n// }\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_ahooks","_useProps2","_Dom","_excluded","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","convertCamelToCSS","style","cssText","property","isNaN","cssProperty","replace","toLowerCase","concat","_default","props","data","getParentContainer","_props$show","show","_props$avoid","avoid","children","_registerDomLayer","otherProps","_useProps","useProps","map","domRef","useRef","document","createElement","overlay","unregisterRef","useEffect","setStyle","current","Dom","position","element","positioning","offset","parentDom","_element","appendChild","destroy","removeChild","useUpdateEffect","JSON","stringify","setPosition","display","_cssText","_style","_domRef$current","lastStr","styleToCss","ReactDOM","createPortal"],"sources":["dom/index.jsx"],"sourcesContent":["import React, {useRef, useEffect, useContext} from 'react';\nimport ReactDOM from 'react-dom';\nimport {useUpdateEffect} from 'ahooks';\nimport useProps from '../use-props';\nimport Dom from './Dom';\n\n// 将 jsx 的 style 小驼峰的 key 属性,转化为 cssText 的 -\nconst convertCamelToCSS = (style) => {\n let cssText = '';\n for (let property in style) {\n if (style.hasOwnProperty(property)) {\n let value = style[property];\n if (value && typeof value === 'number' && !isNaN(value)) {\n value = value + 'px';\n }\n let cssProperty = property.replace(/([A-Z])/g, '-$1').toLowerCase();\n cssText += `${cssProperty}: ${value}; `;\n }\n }\n\n return cssText;\n}\n\nexport default function (props) {\n const {data, getParentContainer, style, cssText, show = true, avoid = true, children, _registerDomLayer, ...otherProps} = props;\n const {map} = useProps();\n\n const domRef = useRef(document.createElement('div'));\n const overlay = useRef();\n const unregisterRef = useRef();\n\n useEffect(() => {\n setStyle(cssText, style);\n\n overlay.current = new Dom({\n map,\n position: data,\n element: domRef.current,\n positioning: \"bottom-center\",\n offset: [0, -10],\n ...otherProps\n });\n\n const parentDom = getParentContainer ? getParentContainer() : map._element;\n parentDom.appendChild(domRef.current);\n\n // 如果有DomLayer注册函数,则注册此DOM元素\n if (_registerDomLayer) {\n unregisterRef.current = _registerDomLayer(domRef.current, { avoid });\n }\n\n return () => {\n overlay.current.destroy();\n\n // 调用注销函数\n if (unregisterRef.current) {\n unregisterRef.current();\n }\n\n parentDom.removeChild(domRef.current);\n }\n }, []);\n\n useUpdateEffect(() => {\n setStyle(cssText, style);\n }, [cssText, JSON.stringify(style)]);\n\n useUpdateEffect(() => {\n overlay.current.setPosition(data)\n }, [JSON.stringify(data)])\n\n useUpdateEffect(() => {\n domRef.current.style.display = show ? 'block' : 'none';\n }, [show])\n\n const setStyle = (_cssText, _style) => {\n let cssText = domRef.current?.style?.cssText || `\n display: ${show ? 'block' : 'none'};\n position: absolute;\n user-select: none;\n pointer-events: none;\n `;\n\n // 兼容css未加;\n if (_cssText) {\n const lastStr = _cssText[_cssText.length - 1];\n if (lastStr !== ';') {\n _cssText = `${_cssText}; `\n }\n\n cssText = `\n ${cssText}\n ${_cssText}\n `\n }\n\n if (_style) {\n // 转换为CSS文本\n const styleToCss = convertCamelToCSS(_style);\n cssText = `\n ${cssText}\n ${styleToCss}\n `\n }\n\n domRef.current.style.cssText = cssText;\n }\n\n return ReactDOM.createPortal(\n children,\n domRef.current\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = _default;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _ahooks = require("ahooks");
|
|
10
|
+
var _useProps2 = _interopRequireDefault(require("../use-props"));
|
|
11
|
+
require("./style");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
15
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
16
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
17
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
19
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
20
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
21
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
22
|
+
function _default(props) {
|
|
23
|
+
var children = props.children,
|
|
24
|
+
_props$show = props.show,
|
|
25
|
+
show = _props$show === void 0 ? true : _props$show,
|
|
26
|
+
_props$avoid = props.avoid,
|
|
27
|
+
avoid = _props$avoid === void 0 ? true : _props$avoid;
|
|
28
|
+
var _useProps = (0, _useProps2["default"])(),
|
|
29
|
+
map = _useProps.map;
|
|
30
|
+
var domRef = (0, _react.useRef)();
|
|
31
|
+
var domElementsRef = (0, _react.useRef)([]);
|
|
32
|
+
var lastExecutionTimeRef = (0, _react.useRef)(0);
|
|
33
|
+
|
|
34
|
+
// 注册DOM元素
|
|
35
|
+
var registerDomElement = (0, _react.useCallback)(function (element) {
|
|
36
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
37
|
+
var _options$avoid = options.avoid,
|
|
38
|
+
avoid = _options$avoid === void 0 ? true : _options$avoid;
|
|
39
|
+
var id = Math.random().toString(36).substr(2, 9); // 简单ID生成
|
|
40
|
+
var elementInfo = {
|
|
41
|
+
id: id,
|
|
42
|
+
element: element,
|
|
43
|
+
avoid: avoid
|
|
44
|
+
};
|
|
45
|
+
domElementsRef.current = [].concat(_toConsumableArray(domElementsRef.current), [elementInfo]);
|
|
46
|
+
return function () {
|
|
47
|
+
domElementsRef.current = domElementsRef.current.filter(function (el) {
|
|
48
|
+
return el.id !== id;
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
52
|
+
|
|
53
|
+
// 碰撞检测函数
|
|
54
|
+
var isColliding = function isColliding(rect1, rect2) {
|
|
55
|
+
return !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// 避让处理函数
|
|
59
|
+
var handleAvoidance = (0, _react.useCallback)(function () {
|
|
60
|
+
// 限制执行频率,至少间隔50ms
|
|
61
|
+
var now = Date.now();
|
|
62
|
+
if (now - lastExecutionTimeRef.current < 50) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
lastExecutionTimeRef.current = now;
|
|
66
|
+
if (!avoid) {
|
|
67
|
+
// 如果避免功能关闭,显示所有元素
|
|
68
|
+
domElementsRef.current.forEach(function (_ref) {
|
|
69
|
+
var element = _ref.element;
|
|
70
|
+
if (element) {
|
|
71
|
+
element.style.visibility = 'visible';
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 获取所有DOM元素的位置信息
|
|
78
|
+
var allElements = [];
|
|
79
|
+
domElementsRef.current.forEach(function (_ref2) {
|
|
80
|
+
var id = _ref2.id,
|
|
81
|
+
element = _ref2.element,
|
|
82
|
+
avoid = _ref2.avoid;
|
|
83
|
+
if (element) {
|
|
84
|
+
// 不管当前显示状态如何,都参与计算
|
|
85
|
+
var rect = element.getBoundingClientRect();
|
|
86
|
+
var elementInfo = {
|
|
87
|
+
id: id,
|
|
88
|
+
element: element,
|
|
89
|
+
rect: rect,
|
|
90
|
+
area: rect.width * rect.height,
|
|
91
|
+
avoid: avoid
|
|
92
|
+
};
|
|
93
|
+
allElements.push(elementInfo);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// 如果元素数量小于2,不需要避让,确保所有元素都显示
|
|
98
|
+
if (allElements.length < 2) {
|
|
99
|
+
allElements.forEach(function (_ref3) {
|
|
100
|
+
var element = _ref3.element;
|
|
101
|
+
element.style.visibility = 'visible';
|
|
102
|
+
});
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// 分离必须显示的元素和可避让的元素
|
|
107
|
+
var unavoidableElements = allElements.filter(function (el) {
|
|
108
|
+
return !el.avoid;
|
|
109
|
+
}); // avoid=false的元素
|
|
110
|
+
var avoidableElements = allElements.filter(function (el) {
|
|
111
|
+
return el.avoid;
|
|
112
|
+
}); // avoid=true的元素
|
|
113
|
+
|
|
114
|
+
// 标记需要隐藏的元素
|
|
115
|
+
var toHide = new Set();
|
|
116
|
+
|
|
117
|
+
// 检查所有元素之间的碰撞
|
|
118
|
+
// 1. 必须显示的元素优先,与所有其他元素比较
|
|
119
|
+
var _iterator = _createForOfIteratorHelper(unavoidableElements),
|
|
120
|
+
_step;
|
|
121
|
+
try {
|
|
122
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
123
|
+
var unavoidable = _step.value;
|
|
124
|
+
// 必须显示的元素与可避让元素碰撞时,隐藏可避让元素
|
|
125
|
+
var _iterator2 = _createForOfIteratorHelper(avoidableElements),
|
|
126
|
+
_step2;
|
|
127
|
+
try {
|
|
128
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
129
|
+
var avoidable = _step2.value;
|
|
130
|
+
if (isColliding(unavoidable.rect, avoidable.rect)) {
|
|
131
|
+
toHide.add(avoidable.id);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
} catch (err) {
|
|
135
|
+
_iterator2.e(err);
|
|
136
|
+
} finally {
|
|
137
|
+
_iterator2.f();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// 2. 可避让元素之间按面积排序,面积大的优先显示
|
|
142
|
+
} catch (err) {
|
|
143
|
+
_iterator.e(err);
|
|
144
|
+
} finally {
|
|
145
|
+
_iterator.f();
|
|
146
|
+
}
|
|
147
|
+
avoidableElements.sort(function (a, b) {
|
|
148
|
+
return b.area - a.area;
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// 3. 检查所有可避让元素之间的碰撞关系
|
|
152
|
+
for (var i = 0; i < avoidableElements.length; i++) {
|
|
153
|
+
// 如果当前元素已经被标记为隐藏,则跳过
|
|
154
|
+
if (toHide.has(avoidableElements[i].id)) continue;
|
|
155
|
+
|
|
156
|
+
// 检查与所有后续元素的碰撞
|
|
157
|
+
for (var j = i + 1; j < avoidableElements.length; j++) {
|
|
158
|
+
// 如果比较的元素已经被标记为隐藏,则跳过
|
|
159
|
+
if (toHide.has(avoidableElements[j].id)) continue;
|
|
160
|
+
if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {
|
|
161
|
+
// 隐藏面积较小的元素(即j位置的元素)
|
|
162
|
+
toHide.add(avoidableElements[j].id);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// 应用显示/隐藏
|
|
168
|
+
allElements.forEach(function (_ref4) {
|
|
169
|
+
var id = _ref4.id,
|
|
170
|
+
element = _ref4.element,
|
|
171
|
+
elementAvoid = _ref4.avoid;
|
|
172
|
+
if (!elementAvoid) {
|
|
173
|
+
// avoid=false的元素始终显示
|
|
174
|
+
element.style.visibility = 'visible';
|
|
175
|
+
} else {
|
|
176
|
+
// avoid=true的元素根据碰撞检测结果决定显示或隐藏
|
|
177
|
+
element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}, [avoid]);
|
|
181
|
+
|
|
182
|
+
// 控制显示/隐藏
|
|
183
|
+
(0, _ahooks.useUpdateEffect)(function () {
|
|
184
|
+
if (domRef.current) {
|
|
185
|
+
domRef.current.style.visibility = show ? 'visible' : 'hidden';
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// 当显示状态改变时重新计算避让
|
|
189
|
+
if (show && avoid) {
|
|
190
|
+
setTimeout(handleAvoidance, 10);
|
|
191
|
+
}
|
|
192
|
+
}, [show, avoid]);
|
|
193
|
+
|
|
194
|
+
// 监听地图事件
|
|
195
|
+
(0, _react.useEffect)(function () {
|
|
196
|
+
if (!map) return;
|
|
197
|
+
var avoidanceTimer = null;
|
|
198
|
+
|
|
199
|
+
// 处理地图变化
|
|
200
|
+
var handleMapChange = function handleMapChange() {
|
|
201
|
+
// 清除之前的定时器
|
|
202
|
+
if (avoidanceTimer) {
|
|
203
|
+
clearTimeout(avoidanceTimer);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// 延迟执行避让处理,确保DOM已经更新位置
|
|
207
|
+
avoidanceTimer = setTimeout(function () {
|
|
208
|
+
if (avoid) {
|
|
209
|
+
handleAvoidance();
|
|
210
|
+
}
|
|
211
|
+
}, 100);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
// 监听地图移动事件
|
|
215
|
+
map.camera.moveEnd.addEventListener(handleMapChange);
|
|
216
|
+
|
|
217
|
+
// 初始计算一次
|
|
218
|
+
setTimeout(function () {
|
|
219
|
+
if (avoid) {
|
|
220
|
+
handleAvoidance();
|
|
221
|
+
}
|
|
222
|
+
}, 200);
|
|
223
|
+
return function () {
|
|
224
|
+
if (map && map.camera) {
|
|
225
|
+
map.camera.moveEnd.removeEventListener(handleMapChange);
|
|
226
|
+
}
|
|
227
|
+
if (avoidanceTimer) {
|
|
228
|
+
clearTimeout(avoidanceTimer);
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
}, [handleAvoidance, avoid]);
|
|
232
|
+
|
|
233
|
+
// 向子组件传递上下文
|
|
234
|
+
var childrenWithProps = _react["default"].Children.map(children, function (child) {
|
|
235
|
+
if (/*#__PURE__*/_react["default"].isValidElement(child)) {
|
|
236
|
+
return /*#__PURE__*/_react["default"].cloneElement(child, {
|
|
237
|
+
_registerDomLayer: registerDomElement
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return child;
|
|
241
|
+
});
|
|
242
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
243
|
+
className: "cs-map-dom-layer",
|
|
244
|
+
ref: domRef,
|
|
245
|
+
style: {
|
|
246
|
+
display: show ? 'block' : 'none'
|
|
247
|
+
}
|
|
248
|
+
}, childrenWithProps);
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","f","TypeError","o","next","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","slice","constructor","name","from","test","_default","props","children","_props$show","show","_props$avoid","avoid","_useProps","useProps","map","domRef","useRef","domElementsRef","lastExecutionTimeRef","registerDomElement","useCallback","element","options","arguments","undefined","_options$avoid","id","Math","random","substr","elementInfo","current","concat","filter","el","isColliding","rect1","rect2","right","left","bottom","top","handleAvoidance","now","Date","forEach","_ref","style","visibility","allElements","_ref2","rect","getBoundingClientRect","area","width","height","push","_ref3","unavoidableElements","avoidableElements","toHide","Set","_iterator","_step","unavoidable","_iterator2","_step2","avoidable","add","err","sort","b","j","_ref4","elementAvoid","useUpdateEffect","setTimeout","useEffect","avoidanceTimer","handleMapChange","clearTimeout","camera","moveEnd","addEventListener","removeEventListener","childrenWithProps","React","Children","child","isValidElement","cloneElement","_registerDomLayer","createElement","className","ref","display"],"sources":["dom-layer/index.jsx"],"sourcesContent":["import React, { useRef, useEffect, useState, useCallback } from 'react';\nimport { useUpdateEffect } from 'ahooks';\nimport useProps from '../use-props';\nimport './style';\n\nexport default function (props) {\n const { children, show = true, avoid = true } = props;\n const { map } = useProps();\n const domRef = useRef();\n const domElementsRef = useRef([]);\n const lastExecutionTimeRef = useRef(0);\n\n // 注册DOM元素\n const registerDomElement = useCallback((element, options = {}) => {\n const { avoid = true } = options;\n const id = Math.random().toString(36).substr(2, 9); // 简单ID生成\n const elementInfo = { id, element, avoid };\n\n domElementsRef.current = [...domElementsRef.current, elementInfo];\n\n return () => {\n domElementsRef.current = domElementsRef.current.filter(el => el.id !== id);\n };\n }, []);\n\n // 碰撞检测函数\n const isColliding = (rect1, rect2) => {\n return !(rect1.right < rect2.left ||\n rect1.left > rect2.right ||\n rect1.bottom < rect2.top ||\n rect1.top > rect2.bottom);\n };\n\n // 避让处理函数\n const handleAvoidance = useCallback(() => {\n // 限制执行频率,至少间隔50ms\n const now = Date.now();\n if (now - lastExecutionTimeRef.current < 50) {\n return;\n }\n lastExecutionTimeRef.current = now;\n\n if (!avoid) {\n // 如果避免功能关闭,显示所有元素\n domElementsRef.current.forEach(({ element }) => {\n if (element) {\n element.style.visibility = 'visible';\n }\n });\n return;\n }\n\n // 获取所有DOM元素的位置信息\n const allElements = [];\n\n domElementsRef.current.forEach(({ id, element, avoid }) => {\n if (element) { // 不管当前显示状态如何,都参与计算\n const rect = element.getBoundingClientRect();\n\n const elementInfo = {\n id,\n element: element,\n rect: rect,\n area: rect.width * rect.height,\n avoid: avoid\n };\n\n allElements.push(elementInfo);\n }\n });\n\n // 如果元素数量小于2,不需要避让,确保所有元素都显示\n if (allElements.length < 2) {\n allElements.forEach(({ element }) => {\n element.style.visibility = 'visible';\n });\n return;\n }\n\n // 分离必须显示的元素和可避让的元素\n const unavoidableElements = allElements.filter(el => !el.avoid); // avoid=false的元素\n const avoidableElements = allElements.filter(el => el.avoid); // avoid=true的元素\n\n // 标记需要隐藏的元素\n const toHide = new Set();\n\n // 检查所有元素之间的碰撞\n // 1. 必须显示的元素优先,与所有其他元素比较\n for (const unavoidable of unavoidableElements) {\n // 必须显示的元素与可避让元素碰撞时,隐藏可避让元素\n for (const avoidable of avoidableElements) {\n if (isColliding(unavoidable.rect, avoidable.rect)) {\n toHide.add(avoidable.id);\n }\n }\n }\n\n // 2. 可避让元素之间按面积排序,面积大的优先显示\n avoidableElements.sort((a, b) => b.area - a.area);\n\n // 3. 检查所有可避让元素之间的碰撞关系\n for (let i = 0; i < avoidableElements.length; i++) {\n // 如果当前元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[i].id)) continue;\n\n // 检查与所有后续元素的碰撞\n for (let j = i + 1; j < avoidableElements.length; j++) {\n // 如果比较的元素已经被标记为隐藏,则跳过\n if (toHide.has(avoidableElements[j].id)) continue;\n\n\n if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {\n // 隐藏面积较小的元素(即j位置的元素)\n toHide.add(avoidableElements[j].id);\n }\n }\n }\n\n // 应用显示/隐藏\n allElements.forEach(({ id, element, avoid: elementAvoid }) => {\n if (!elementAvoid) {\n // avoid=false的元素始终显示\n element.style.visibility = 'visible';\n } else {\n // avoid=true的元素根据碰撞检测结果决定显示或隐藏\n element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';\n }\n });\n }, [avoid]);\n\n // 控制显示/隐藏\n useUpdateEffect(() => {\n if (domRef.current) {\n domRef.current.style.visibility = show ? 'visible' : 'hidden';\n }\n\n // 当显示状态改变时重新计算避让\n if (show && avoid) {\n setTimeout(handleAvoidance, 10);\n }\n }, [show, avoid]);\n\n // 监听地图事件\n useEffect(() => {\n if (!map) return;\n\n let avoidanceTimer = null;\n\n // 处理地图变化\n const handleMapChange = () => {\n // 清除之前的定时器\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n\n // 延迟执行避让处理,确保DOM已经更新位置\n avoidanceTimer = setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 100);\n };\n\n\n // 监听地图移动事件\n map.camera.moveEnd.addEventListener(handleMapChange);\n\n // 初始计算一次\n setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 200);\n\n return () => {\n if (map && map.camera) {\n map.camera.moveEnd.removeEventListener(handleMapChange);\n }\n if (avoidanceTimer) {\n clearTimeout(avoidanceTimer);\n }\n };\n }, [handleAvoidance, avoid]);\n\n // 向子组件传递上下文\n const childrenWithProps = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n _registerDomLayer: registerDomElement\n });\n }\n return child;\n });\n\n return (\n <div className=\"cs-map-dom-layer\" ref={domRef} style={{ display: show ? 'block' : 'none' }}>\n {childrenWithProps}\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["dom-layer/style/index.js"],"sourcesContent":["import './index.less';\n"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ var _events = require("../events");
|
|
|
12
12
|
var _useProps2 = _interopRequireDefault(require("../_util/useProps"));
|
|
13
13
|
var _Provider = _interopRequireDefault(require("../_util/Provider"));
|
|
14
14
|
var _lodash = require("lodash");
|
|
15
|
-
var _excluded = ["data", "features", "url", "params", "afterGetData", "style", "markerStyle", "zIndex", "id", "_key", "children", "renderMode", "show", "layerControl", "method", "legend", "group", "cluster"];
|
|
15
|
+
var _excluded = ["data", "features", "url", "params", "afterGetData", "style", "markerStyle", "zIndex", "id", "_key", "children", "renderMode", "show", "layerControl", "method", "legend", "group", "cluster", "encrypt"];
|
|
16
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
17
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -50,6 +50,7 @@ function _default(props) {
|
|
|
50
50
|
legend = props.legend,
|
|
51
51
|
group = props.group,
|
|
52
52
|
cluster = props.cluster,
|
|
53
|
+
encrypt = props.encrypt,
|
|
53
54
|
otherProps = _objectWithoutProperties(props, _excluded);
|
|
54
55
|
var _useState = (0, _react.useState)(false),
|
|
55
56
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -78,7 +79,8 @@ function _default(props) {
|
|
|
78
79
|
map: map,
|
|
79
80
|
groupLayer: groupLayer,
|
|
80
81
|
method: method,
|
|
81
|
-
cluster: cluster
|
|
82
|
+
cluster: cluster,
|
|
83
|
+
encrypt: encrypt !== null && encrypt !== void 0 ? encrypt : map.encrypt
|
|
82
84
|
}, otherProps));
|
|
83
85
|
|
|
84
86
|
// 注册事件
|