@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.
@@ -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(encodeURI(params.cql_filter), options);
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","ivHex","encrypt","exports","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","encodeURI","_default"],"sources":["_util/encryptParams.js"],"sourcesContent":["import CryptoJS from 'crypto-js';\n\n// 这里是密钥\nconst keyHex = 'NT9FWl3ze1GJNqpo';\nconst 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\nconst encryptParams = (params, options) => {\n if (params?.cql_filter) {\n params = JSON.parse(JSON.stringify(params));\n params.CQL_FILTER_ENCRYPT = encrypt(encodeURI(params.cql_filter), options);\n\n delete params.cql_filter\n }\n\n return params\n}\n\nexport default encryptParams;\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,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;AAEjC;AACA,IAAMK,MAAM,GAAG,kBAAkB;AACjC,IAAMC,KAAK,GAAG,kBAAkB;;AAEhC;AACO,IAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,SAAVA,OAAOA,CAAIE,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,IAAIR,KAAK,CAAC;EAE/C,OAAOW,oBAAQ,CAACI,GAAG,CAACd,OAAO,CAACE,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,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,GAAGzB,OAAO,CAAC0B,SAAS,CAACN,MAAM,CAACE,UAAU,CAAC,EAAEnB,OAAO,CAAC;IAE1E,OAAOiB,MAAM,CAACE,UAAU;EAC5B;EAEA,OAAOF,MAAM;AACjB,CAAC;AAAA,IAAAO,QAAA,GAAA1B,OAAA,cAEckB,aAAa","ignoreList":[]}
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
@@ -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":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,IAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAwB,IAAAM,SAAA;AAAA,SAAAJ,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,yBAAAF,CAAA,6BAAAG,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,yBAAAF,CAAA,WAAAA,CAAA,GAAAK,CAAA,GAAAD,CAAA,KAAAJ,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAI,CAAA,SAAAA,CAAA,IAAAJ,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,gBAAAM,OAAA,CAAAN,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAK,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAE,GAAA,CAAAP,CAAA,UAAAK,CAAA,CAAAG,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,cAAAT,CAAA,EAAAK,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAApB,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAO,MAAA,CAAAS,IAAA,CAAArB,CAAA,OAAAY,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,GAAAI,CAAA,KAAAmB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAApB,CAAA,WAAAQ,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAI,CAAA,EAAAqB,UAAA,OAAApB,CAAA,CAAAqB,IAAA,CAAAC,KAAA,CAAAtB,CAAA,EAAAkB,CAAA,YAAAlB,CAAA;AAAA,SAAAuB,cAAA5B,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAyB,SAAA,CAAAC,MAAA,EAAA1B,CAAA,UAAAC,CAAA,WAAAwB,SAAA,CAAAzB,CAAA,IAAAyB,SAAA,CAAAzB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAR,MAAA,CAAAP,CAAA,OAAA0B,OAAA,WAAA3B,CAAA,IAAA4B,eAAA,CAAAhC,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAQ,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAlC,CAAA,EAAAY,MAAA,CAAAqB,yBAAA,CAAA5B,CAAA,KAAAe,OAAA,CAAAR,MAAA,CAAAP,CAAA,GAAA0B,OAAA,WAAA3B,CAAA,IAAAQ,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAI,CAAA,EAAAQ,MAAA,CAAAE,wBAAA,CAAAT,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAgC,gBAAAhC,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA+B,cAAA,CAAA/B,CAAA,MAAAJ,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAI,CAAA,IAAAgC,KAAA,EAAA/B,CAAA,EAAAoB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAmC,eAAA9B,CAAA,QAAAa,CAAA,GAAAqB,YAAA,CAAAlC,CAAA,gCAAAC,OAAA,CAAAY,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAlC,CAAA,EAAAD,CAAA,oBAAAE,OAAA,CAAAD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAmC,MAAA,CAAAC,WAAA,kBAAAzC,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,gCAAAE,OAAA,CAAAY,CAAA,UAAAA,CAAA,YAAAwB,SAAA,yEAAAtC,CAAA,GAAAuC,MAAA,GAAAC,MAAA,EAAAvC,CAAA;AAAA,SAAAwC,yBAAA7C,CAAA,EAAAK,CAAA,gBAAAL,CAAA,iBAAAuB,CAAA,EAAAnB,CAAA,EAAAc,CAAA,GAAA4B,6BAAA,CAAA9C,CAAA,EAAAK,CAAA,OAAAO,MAAA,CAAAU,qBAAA,QAAAb,CAAA,GAAAG,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,QAAAI,CAAA,MAAAA,CAAA,GAAAK,CAAA,CAAAqB,MAAA,EAAA1B,CAAA,IAAAmB,CAAA,GAAAd,CAAA,CAAAL,CAAA,UAAAC,CAAA,CAAA0C,OAAA,CAAAxB,CAAA,QAAAyB,oBAAA,CAAA/B,IAAA,CAAAjB,CAAA,EAAAuB,CAAA,MAAAL,CAAA,CAAAK,CAAA,IAAAvB,CAAA,CAAAuB,CAAA,aAAAL,CAAA;AAAA,SAAA4B,8BAAA1C,CAAA,EAAAJ,CAAA,gBAAAI,CAAA,iBAAAC,CAAA,gBAAAI,CAAA,IAAAL,CAAA,SAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAK,CAAA,gBAAAT,CAAA,CAAA+C,OAAA,CAAAtC,CAAA,aAAAJ,CAAA,CAAAI,CAAA,IAAAL,CAAA,CAAAK,CAAA,YAAAJ,CAAA;AAExB;AACA,IAAM4C,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAK;EACjC,IAAIC,OAAO,GAAG,EAAE;EAChB,KAAK,IAAIC,QAAQ,IAAIF,KAAK,EAAE;IACxB,IAAIA,KAAK,CAAClC,cAAc,CAACoC,QAAQ,CAAC,EAAE;MAChC,IAAIhB,KAAK,GAAGc,KAAK,CAACE,QAAQ,CAAC;MAC3B,IAAIhB,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACiB,KAAK,CAACjB,KAAK,CAAC,EAAE;QACrDA,KAAK,GAAGA,KAAK,GAAG,IAAI;MACxB;MACA,IAAIkB,WAAW,GAAGF,QAAQ,CAACG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;MACnEL,OAAO,OAAAM,MAAA,CAAOH,WAAW,QAAAG,MAAA,CAAKrB,KAAK,OAAI;IAC3C;EACJ;EAEA,OAAOe,OAAO;AAClB,CAAC;AAEc,SAAAO,SAAUC,KAAK,EAAE;EAC5B,IAAOC,IAAI,GAA+GD,KAAK,CAAxHC,IAAI;IAAEC,kBAAkB,GAA2FF,KAAK,CAAlHE,kBAAkB;IAAEX,KAAK,GAAoFS,KAAK,CAA9FT,KAAK;IAAEC,OAAO,GAA2EQ,KAAK,CAAvFR,OAAO;IAAAW,WAAA,GAA2EH,KAAK,CAA9EI,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IAAAE,YAAA,GAA8DL,KAAK,CAAjEM,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;IAAEE,QAAQ,GAAsCP,KAAK,CAAnDO,QAAQ;IAAEC,iBAAiB,GAAmBR,KAAK,CAAzCQ,iBAAiB;IAAKC,UAAU,GAAAvB,wBAAA,CAAIc,KAAK,EAAA5D,SAAA;EAC/H,IAAAsE,SAAA,GAAc,IAAAC,qBAAQ,EAAC,CAAC;IAAjBC,GAAG,GAAAF,SAAA,CAAHE,GAAG;EAEV,IAAMC,MAAM,GAAG,IAAAC,aAAM,EAACC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,CAAC;EACpD,IAAMC,OAAO,GAAG,IAAAH,aAAM,EAAC,CAAC;EACxB,IAAMI,aAAa,GAAG,IAAAJ,aAAM,EAAC,CAAC;EAE9B,IAAAK,gBAAS,EAAC,YAAM;IACZC,QAAQ,CAAC5B,OAAO,EAAED,KAAK,CAAC;IAExB0B,OAAO,CAACI,OAAO,GAAG,IAAIC,eAAG,CAAArD,aAAA;MACrB2C,GAAG,EAAHA,GAAG;MACHW,QAAQ,EAAEtB,IAAI;MACduB,OAAO,EAAEX,MAAM,CAACQ,OAAO;MACvBI,WAAW,EAAE,eAAe;MAC5BC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;IAAC,GACbjB,UAAU,CAChB,CAAC;IAEF,IAAMkB,SAAS,GAAGzB,kBAAkB,GAAGA,kBAAkB,CAAC,CAAC,GAAGU,GAAG,CAACgB,QAAQ;IAC1ED,SAAS,CAACE,WAAW,CAAChB,MAAM,CAACQ,OAAO,CAAC;;IAErC;IACA,IAAIb,iBAAiB,EAAE;MACnBU,aAAa,CAACG,OAAO,GAAGb,iBAAiB,CAACK,MAAM,CAACQ,OAAO,EAAE;QAAEf,KAAK,EAALA;MAAM,CAAC,CAAC;IACxE;IAEA,OAAO,YAAM;MACTW,OAAO,CAACI,OAAO,CAACS,OAAO,CAAC,CAAC;;MAEzB;MACA,IAAIZ,aAAa,CAACG,OAAO,EAAE;QACvBH,aAAa,CAACG,OAAO,CAAC,CAAC;MAC3B;MAEAM,SAAS,CAACI,WAAW,CAAClB,MAAM,CAACQ,OAAO,CAAC;IACzC,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAW,uBAAe,EAAC,YAAM;IAClBZ,QAAQ,CAAC5B,OAAO,EAAED,KAAK,CAAC;EAC5B,CAAC,EAAE,CAACC,OAAO,EAAEyC,IAAI,CAACC,SAAS,CAAC3C,KAAK,CAAC,CAAC,CAAC;EAEpC,IAAAyC,uBAAe,EAAC,YAAM;IAClBf,OAAO,CAACI,OAAO,CAACc,WAAW,CAAClC,IAAI,CAAC;EACrC,CAAC,EAAE,CAACgC,IAAI,CAACC,SAAS,CAACjC,IAAI,CAAC,CAAC,CAAC;EAE1B,IAAA+B,uBAAe,EAAC,YAAM;IAClBnB,MAAM,CAACQ,OAAO,CAAC9B,KAAK,CAAC6C,OAAO,GAAGhC,IAAI,GAAG,OAAO,GAAG,MAAM;EAC1D,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMgB,QAAQ,GAAG,SAAXA,QAAQA,CAAIiB,QAAQ,EAAEC,MAAM,EAAK;IAAA,IAAAC,eAAA;IACnC,IAAI/C,OAAO,GAAG,EAAA+C,eAAA,GAAA1B,MAAM,CAACQ,OAAO,cAAAkB,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBhD,KAAK,cAAAgD,eAAA,uBAArBA,eAAA,CAAuB/C,OAAO,+BAAAM,MAAA,CAC7BM,IAAI,GAAG,OAAO,GAAG,MAAM,oHAIrC;;IAED;IACA,IAAIiC,QAAQ,EAAE;MACV,IAAMG,OAAO,GAAGH,QAAQ,CAACA,QAAQ,CAAClE,MAAM,GAAG,CAAC,CAAC;MAC7C,IAAIqE,OAAO,KAAK,GAAG,EAAE;QACjBH,QAAQ,MAAAvC,MAAA,CAAMuC,QAAQ,OAAI;MAC9B;MAEA7C,OAAO,wBAAAM,MAAA,CACDN,OAAO,wBAAAM,MAAA,CACPuC,QAAQ,mBACb;IACL;IAEA,IAAIC,MAAM,EAAE;MACR;MACA,IAAMG,UAAU,GAAGnD,iBAAiB,CAACgD,MAAM,CAAC;MAC5C9C,OAAO,wBAAAM,MAAA,CACDN,OAAO,wBAAAM,MAAA,CACP2C,UAAU,mBACf;IACL;IAEA5B,MAAM,CAACQ,OAAO,CAAC9B,KAAK,CAACC,OAAO,GAAGA,OAAO;EAC1C,CAAC;EAED,oBAAOkD,oBAAQ,CAACC,YAAY,CACxBpC,QAAQ,EACRM,MAAM,CAACQ,OACX,CAAC;AACL","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,4 @@
1
+ "use strict";
2
+
3
+ require("./index.css");
4
+ //# sourceMappingURL=css.js.map
@@ -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,3 @@
1
+ .cs-map-dom-layer {
2
+ pointer-events: none;
3
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./index.less");
4
+ //# sourceMappingURL=index.js.map
@@ -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":[]}
@@ -0,0 +1,3 @@
1
+ .cs-map-dom-layer {
2
+ pointer-events: none;
3
+ }
@@ -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
  // 注册事件