@vtx/ol-map 2.0.0-beta.1 → 2.0.0-beta.11

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.
Files changed (537) hide show
  1. package/lib/_util/EventEmitter.js +78 -0
  2. package/lib/_util/EventEmitter.js.map +1 -0
  3. package/lib/_util/StyleCache.js +46 -0
  4. package/lib/_util/StyleCache.js.map +1 -0
  5. package/lib/_util/encryptParams.js +60 -0
  6. package/lib/_util/encryptParams.js.map +1 -0
  7. package/lib/_util/filterSpecialCharacters.js +90 -0
  8. package/lib/_util/filterSpecialCharacters.js.map +1 -0
  9. package/lib/_util/getComponentProps.js +14 -0
  10. package/lib/_util/getComponentProps.js.map +1 -0
  11. package/lib/_util/getCookie.js +24 -0
  12. package/lib/_util/getCookie.js.map +1 -0
  13. package/lib/_util/getDefaultMapInfo.js +50 -0
  14. package/lib/_util/getDefaultMapInfo.js.map +1 -0
  15. package/lib/_util/getSystemInfo.js +26 -0
  16. package/lib/_util/getSystemInfo.js.map +1 -0
  17. package/lib/_util/getToken.js +27 -0
  18. package/lib/_util/getToken.js.map +1 -0
  19. package/lib/_util/http.js +176 -0
  20. package/lib/_util/http.js.map +1 -0
  21. package/lib/_util/isFunction.js +10 -0
  22. package/lib/_util/isFunction.js.map +1 -0
  23. package/lib/_util/isObject.js +10 -0
  24. package/lib/_util/isObject.js.map +1 -0
  25. package/lib/_util/layer.js +152 -0
  26. package/lib/_util/layer.js.map +1 -0
  27. package/lib/_util/mapTool.js +188 -0
  28. package/lib/_util/mapTool.js.map +1 -0
  29. package/lib/_util/projection.js +44 -0
  30. package/lib/_util/projection.js.map +1 -0
  31. package/lib/_util/projzh/datum/bd-09.js +44 -0
  32. package/lib/_util/projzh/datum/bd-09.js.map +1 -0
  33. package/lib/_util/projzh/datum/gcj-02.js +72 -0
  34. package/lib/_util/projzh/datum/gcj-02.js.map +1 -0
  35. package/lib/_util/projzh/datum/index.js +14 -0
  36. package/lib/_util/projzh/datum/index.js.map +1 -0
  37. package/lib/_util/projzh/index.js +40 -0
  38. package/lib/_util/projzh/index.js.map +1 -0
  39. package/lib/_util/projzh/projection/baidu-mercator.js +74 -0
  40. package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -0
  41. package/lib/_util/projzh/projection/index.js +14 -0
  42. package/lib/_util/projzh/projection/index.js.map +1 -0
  43. package/lib/_util/projzh/projection/spherical-mercator.js +25 -0
  44. package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -0
  45. package/lib/_util/projzh/util.js +27 -0
  46. package/lib/_util/projzh/util.js.map +1 -0
  47. package/lib/_util/search.js +124 -0
  48. package/lib/_util/search.js.map +1 -0
  49. package/lib/_util/setCookie.js +15 -0
  50. package/lib/_util/setCookie.js.map +1 -0
  51. package/lib/_util/stringToFun.js +25 -0
  52. package/lib/_util/stringToFun.js.map +1 -0
  53. package/lib/_util/transform.js +169 -0
  54. package/lib/_util/transform.js.map +1 -0
  55. package/lib/_util/useColSize.js +28 -0
  56. package/lib/_util/useColSize.js.map +1 -0
  57. package/lib/_util/useInterval.js +19 -0
  58. package/lib/_util/useInterval.js.map +1 -0
  59. package/lib/_util/useSet.js +44 -0
  60. package/lib/_util/useSet.js.map +1 -0
  61. package/lib/analysis-layer/index.js +461 -0
  62. package/lib/analysis-layer/index.js.map +1 -0
  63. package/lib/analysis-layer/style/css.js +2 -0
  64. package/lib/analysis-layer/style/css.js.map +1 -0
  65. package/lib/analysis-layer/style/index.js +2 -0
  66. package/lib/analysis-layer/style/index.js.map +1 -0
  67. package/lib/arrow-flow-layer/ArrowFlowLayer.js +438 -0
  68. package/lib/arrow-flow-layer/ArrowFlowLayer.js.map +1 -0
  69. package/lib/arrow-flow-layer/index.js +140 -0
  70. package/lib/arrow-flow-layer/index.js.map +1 -0
  71. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js +87 -0
  72. package/lib/arrow-flow-layer/sampleArrowsAlongLine.js.map +1 -0
  73. package/lib/arrow-flow-layer/style/css.js +4 -0
  74. package/lib/arrow-flow-layer/style/css.js.map +1 -0
  75. package/lib/arrow-flow-layer/style/index.css +0 -0
  76. package/lib/arrow-flow-layer/style/index.js +4 -0
  77. package/lib/arrow-flow-layer/style/index.js.map +1 -0
  78. package/lib/arrow-flow-layer/style/index.less +0 -0
  79. package/lib/assets/arrow.png +0 -0
  80. package/lib/assets/base-img-1.png +0 -0
  81. package/lib/assets/base-img-2.png +0 -0
  82. package/lib/assets/base-img-3.png +0 -0
  83. package/lib/assets/base-img-4.png +0 -0
  84. package/lib/assets/base-img-5.png +0 -0
  85. package/lib/assets/base-img-6.png +0 -0
  86. package/lib/assets/base-img.png +0 -0
  87. package/lib/assets/bz.png +0 -0
  88. package/lib/assets/img.png +0 -0
  89. package/lib/assets/kz.png +0 -0
  90. package/lib/assets/ll.png +0 -0
  91. package/lib/assets/location.png +0 -0
  92. package/lib/assets/noLocation.png +0 -0
  93. package/lib/assets/people.png +0 -0
  94. package/lib/assets/qd.png +0 -0
  95. package/lib/assets/sw.png +0 -0
  96. package/lib/assets/yl.png +0 -0
  97. package/lib/assets/zd.png +0 -0
  98. package/lib/buffer-draw/BufferDraw.js +399 -0
  99. package/lib/buffer-draw/BufferDraw.js.map +1 -0
  100. package/lib/buffer-draw/index.js +58 -0
  101. package/lib/buffer-draw/index.js.map +1 -0
  102. package/lib/buffer-draw/style/css.js +2 -0
  103. package/lib/buffer-draw/style/css.js.map +1 -0
  104. package/lib/buffer-draw/style/index.js +2 -0
  105. package/lib/buffer-draw/style/index.js.map +1 -0
  106. package/lib/circle/Circle.js +51 -0
  107. package/lib/circle/Circle.js.map +1 -0
  108. package/lib/circle/index.js +64 -0
  109. package/lib/circle/index.js.map +1 -0
  110. package/lib/circle/style/css.js +2 -0
  111. package/lib/circle/style/css.js.map +1 -0
  112. package/lib/circle/style/index.js +2 -0
  113. package/lib/circle/style/index.js.map +1 -0
  114. package/lib/config.js +12 -0
  115. package/lib/config.js.map +1 -0
  116. package/lib/convertCamelToCSS.js +23 -0
  117. package/lib/convertCamelToCSS.js.map +1 -0
  118. package/lib/dom/Dom.js +39 -0
  119. package/lib/dom/Dom.js.map +1 -0
  120. package/lib/dom/index.js +82 -0
  121. package/lib/dom/index.js.map +1 -0
  122. package/lib/dom/style/css.js +2 -0
  123. package/lib/dom/style/css.js.map +1 -0
  124. package/lib/dom/style/index.js +2 -0
  125. package/lib/dom/style/index.js.map +1 -0
  126. package/lib/dom-layer/index.js +249 -0
  127. package/lib/dom-layer/index.js.map +1 -0
  128. package/lib/dom-layer/style/css.js +4 -0
  129. package/lib/dom-layer/style/css.js.map +1 -0
  130. package/lib/dom-layer/style/index.css +3 -0
  131. package/lib/dom-layer/style/index.js +4 -0
  132. package/lib/dom-layer/style/index.js.map +1 -0
  133. package/lib/dom-layer/style/index.less +3 -0
  134. package/lib/events/index.js +25 -0
  135. package/lib/events/index.js.map +1 -0
  136. package/lib/feature-draw/FeatureDraw.js +231 -0
  137. package/lib/feature-draw/FeatureDraw.js.map +1 -0
  138. package/lib/feature-draw/index.js +76 -0
  139. package/lib/feature-draw/index.js.map +1 -0
  140. package/lib/feature-draw/style/css.js +2 -0
  141. package/lib/feature-draw/style/css.js.map +1 -0
  142. package/lib/feature-draw/style/index.js +2 -0
  143. package/lib/feature-draw/style/index.js.map +1 -0
  144. package/lib/feature-layer/FeatureLayer.js +1093 -0
  145. package/lib/feature-layer/FeatureLayer.js.map +1 -0
  146. package/lib/feature-layer/MyCluster.js +150 -0
  147. package/lib/feature-layer/MyCluster.js.map +1 -0
  148. package/lib/feature-layer/createFeatureCollection.js +167 -0
  149. package/lib/feature-layer/createFeatureCollection.js.map +1 -0
  150. package/lib/feature-layer/index.js +154 -0
  151. package/lib/feature-layer/index.js.map +1 -0
  152. package/lib/feature-layer/style/css.js +4 -0
  153. package/lib/feature-layer/style/css.js.map +1 -0
  154. package/lib/feature-layer/style/index.css +0 -0
  155. package/lib/feature-layer/style/index.js +4 -0
  156. package/lib/feature-layer/style/index.js.map +1 -0
  157. package/lib/feature-layer/style/index.less +0 -0
  158. package/lib/flow-line-layer/FlowLineLayer.js +197 -0
  159. package/lib/flow-line-layer/FlowLineLayer.js.map +1 -0
  160. package/lib/flow-line-layer/index.js +126 -0
  161. package/lib/flow-line-layer/index.js.map +1 -0
  162. package/lib/flow-line-layer/style/css.js +4 -0
  163. package/lib/flow-line-layer/style/css.js.map +1 -0
  164. package/lib/flow-line-layer/style/index.css +0 -0
  165. package/lib/flow-line-layer/style/index.js +4 -0
  166. package/lib/flow-line-layer/style/index.js.map +1 -0
  167. package/lib/flow-line-layer/style/index.less +0 -0
  168. package/lib/fly-line-layer/FlyLineLayer.js +218 -0
  169. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -0
  170. package/lib/fly-line-layer/index.js +109 -0
  171. package/lib/fly-line-layer/index.js.map +1 -0
  172. package/lib/fly-line-layer/style/css.js +4 -0
  173. package/lib/fly-line-layer/style/css.js.map +1 -0
  174. package/lib/fly-line-layer/style/index.css +0 -0
  175. package/lib/fly-line-layer/style/index.js +4 -0
  176. package/lib/fly-line-layer/style/index.js.map +1 -0
  177. package/lib/fly-line-layer/style/index.less +0 -0
  178. package/lib/group-layer/GroupLayer.js +134 -0
  179. package/lib/group-layer/GroupLayer.js.map +1 -0
  180. package/lib/group-layer/index.js +73 -0
  181. package/lib/group-layer/index.js.map +1 -0
  182. package/lib/group-layer/style/css.js +4 -0
  183. package/lib/group-layer/style/css.js.map +1 -0
  184. package/lib/group-layer/style/index.css +0 -0
  185. package/lib/group-layer/style/index.js +4 -0
  186. package/lib/group-layer/style/index.js.map +1 -0
  187. package/lib/group-layer/style/index.less +0 -0
  188. package/lib/heatmap-layer/HeatmapLayer.js +191 -0
  189. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -0
  190. package/lib/heatmap-layer/index.js +102 -0
  191. package/lib/heatmap-layer/index.js.map +1 -0
  192. package/lib/heatmap-layer/style/css.js +4 -0
  193. package/lib/heatmap-layer/style/css.js.map +1 -0
  194. package/lib/heatmap-layer/style/index.css +0 -0
  195. package/lib/heatmap-layer/style/index.js +4 -0
  196. package/lib/heatmap-layer/style/index.js.map +1 -0
  197. package/lib/heatmap-layer/style/index.less +0 -0
  198. package/lib/high-layer/HighLayer.js +201 -0
  199. package/lib/high-layer/HighLayer.js.map +1 -0
  200. package/lib/high-layer/index.js +46 -0
  201. package/lib/high-layer/index.js.map +1 -0
  202. package/lib/high-layer/style/css.js +2 -0
  203. package/lib/high-layer/style/css.js.map +1 -0
  204. package/lib/high-layer/style/index.js +2 -0
  205. package/lib/high-layer/style/index.js.map +1 -0
  206. package/lib/image-layer/ImageLayer.js +330 -0
  207. package/lib/image-layer/ImageLayer.js.map +1 -0
  208. package/lib/image-layer/ImageTileLayer.js +332 -0
  209. package/lib/image-layer/ImageTileLayer.js.map +1 -0
  210. package/lib/image-layer/index.js +100 -0
  211. package/lib/image-layer/index.js.map +1 -0
  212. package/lib/image-layer/style/css.js +4 -0
  213. package/lib/image-layer/style/css.js.map +1 -0
  214. package/lib/image-layer/style/index.css +0 -0
  215. package/lib/image-layer/style/index.js +4 -0
  216. package/lib/image-layer/style/index.js.map +1 -0
  217. package/lib/image-layer/style/index.less +0 -0
  218. package/lib/index.js +215 -0
  219. package/lib/index.js.map +1 -0
  220. package/lib/legend/index.js +254 -0
  221. package/lib/legend/index.js.map +1 -0
  222. package/lib/legend/style/css.js +4 -0
  223. package/lib/legend/style/css.js.map +1 -0
  224. package/lib/legend/style/index.css +109 -0
  225. package/lib/legend/style/index.js +4 -0
  226. package/lib/legend/style/index.js.map +1 -0
  227. package/lib/legend/style/index.less +100 -0
  228. package/lib/map/Analysis.js +148 -0
  229. package/lib/map/Analysis.js.map +1 -0
  230. package/lib/map/Layers.js +338 -0
  231. package/lib/map/Layers.js.map +1 -0
  232. package/lib/map/Popup.js +386 -0
  233. package/lib/map/Popup.js.map +1 -0
  234. package/lib/map/ScaleDenominator.js +68 -0
  235. package/lib/map/ScaleDenominator.js.map +1 -0
  236. package/lib/map/Test.js +144 -0
  237. package/lib/map/Test.js.map +1 -0
  238. package/lib/map/defaultTextEnum.js +165 -0
  239. package/lib/map/defaultTextEnum.js.map +1 -0
  240. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +163 -0
  241. package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -0
  242. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +84 -0
  243. package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -0
  244. package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +65 -0
  245. package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -0
  246. package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +84 -0
  247. package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -0
  248. package/lib/map/getBaseLayers/index.js +46 -0
  249. package/lib/map/getBaseLayers/index.js.map +1 -0
  250. package/lib/map/index.js +841 -0
  251. package/lib/map/index.js.map +1 -0
  252. package/lib/map/style/css.js +5 -0
  253. package/lib/map/style/css.js.map +1 -0
  254. package/lib/map/style/index.css +171 -0
  255. package/lib/map/style/index.js +5 -0
  256. package/lib/map/style/index.js.map +1 -0
  257. package/lib/map/style/index.less +152 -0
  258. package/lib/map-icon/svg/index.js +81 -0
  259. package/lib/map-icon/svg/index.js.map +1 -0
  260. package/lib/map-icon/svg/tuceng.svg.js +2 -0
  261. package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
  262. package/lib/marker/Marker.js +105 -0
  263. package/lib/marker/Marker.js.map +1 -0
  264. package/lib/marker/index.js +61 -0
  265. package/lib/marker/index.js.map +1 -0
  266. package/lib/marker/style/css.js +2 -0
  267. package/lib/marker/style/css.js.map +1 -0
  268. package/lib/marker/style/index.js +2 -0
  269. package/lib/marker/style/index.js.map +1 -0
  270. package/lib/path-line-layer/PathLineLayer.js +45 -0
  271. package/lib/path-line-layer/PathLineLayer.js.map +1 -0
  272. package/lib/path-line-layer/getPathLineStyles.js +71 -0
  273. package/lib/path-line-layer/getPathLineStyles.js.map +1 -0
  274. package/lib/path-line-layer/index.js +151 -0
  275. package/lib/path-line-layer/index.js.map +1 -0
  276. package/lib/path-line-layer/style/css.js +4 -0
  277. package/lib/path-line-layer/style/css.js.map +1 -0
  278. package/lib/path-line-layer/style/index.css +0 -0
  279. package/lib/path-line-layer/style/index.js +4 -0
  280. package/lib/path-line-layer/style/index.js.map +1 -0
  281. package/lib/path-line-layer/style/index.less +0 -0
  282. package/lib/path-play-back/PathPlayBack.js +700 -0
  283. package/lib/path-play-back/PathPlayBack.js.map +1 -0
  284. package/lib/path-play-back/index.js +83 -0
  285. package/lib/path-play-back/index.js.map +1 -0
  286. package/lib/path-play-back/style/css.js +2 -0
  287. package/lib/path-play-back/style/css.js.map +1 -0
  288. package/lib/path-play-back/style/index.js +2 -0
  289. package/lib/path-play-back/style/index.js.map +1 -0
  290. package/lib/poi-search/Location.js +62 -0
  291. package/lib/poi-search/Location.js.map +1 -0
  292. package/lib/poi-search/PoiList.js +123 -0
  293. package/lib/poi-search/PoiList.js.map +1 -0
  294. package/lib/poi-search/Search.js +213 -0
  295. package/lib/poi-search/Search.js.map +1 -0
  296. package/lib/poi-search/index.js +178 -0
  297. package/lib/poi-search/index.js.map +1 -0
  298. package/lib/poi-search/style/css.js +4 -0
  299. package/lib/poi-search/style/css.js.map +1 -0
  300. package/lib/poi-search/style/index.css +96 -0
  301. package/lib/poi-search/style/index.js +4 -0
  302. package/lib/poi-search/style/index.js.map +1 -0
  303. package/lib/poi-search/style/index.less +97 -0
  304. package/lib/point/Point.js +57 -0
  305. package/lib/point/Point.js.map +1 -0
  306. package/lib/point/index.js +61 -0
  307. package/lib/point/index.js.map +1 -0
  308. package/lib/point/style/css.js +2 -0
  309. package/lib/point/style/css.js.map +1 -0
  310. package/lib/point/style/index.js +2 -0
  311. package/lib/point/style/index.js.map +1 -0
  312. package/lib/polygon/Polygon.js +51 -0
  313. package/lib/polygon/Polygon.js.map +1 -0
  314. package/lib/polygon/index.js +61 -0
  315. package/lib/polygon/index.js.map +1 -0
  316. package/lib/polygon/style/css.js +2 -0
  317. package/lib/polygon/style/css.js.map +1 -0
  318. package/lib/polygon/style/index.js +2 -0
  319. package/lib/polygon/style/index.js.map +1 -0
  320. package/lib/polyline/Polyline.js +51 -0
  321. package/lib/polyline/Polyline.js.map +1 -0
  322. package/lib/polyline/index.js +61 -0
  323. package/lib/polyline/index.js.map +1 -0
  324. package/lib/polyline/style/css.js +2 -0
  325. package/lib/polyline/style/css.js.map +1 -0
  326. package/lib/polyline/style/index.js +2 -0
  327. package/lib/polyline/style/index.js.map +1 -0
  328. package/lib/popup/index.js +202 -0
  329. package/lib/popup/index.js.map +1 -0
  330. package/lib/popup/style/css.js +4 -0
  331. package/lib/popup/style/css.js.map +1 -0
  332. package/lib/popup/style/index.css +131 -0
  333. package/lib/popup/style/index.js +4 -0
  334. package/lib/popup/style/index.js.map +1 -0
  335. package/lib/popup/style/index.less +129 -0
  336. package/lib/provider/index.js +12 -0
  337. package/lib/provider/index.js.map +1 -0
  338. package/lib/provider/style/css.js +2 -0
  339. package/lib/provider/style/css.js.map +1 -0
  340. package/lib/provider/style/index.js +2 -0
  341. package/lib/provider/style/index.js.map +1 -0
  342. package/lib/renderer/Fill.js +37 -0
  343. package/lib/renderer/Fill.js.map +1 -0
  344. package/lib/renderer/Stroke.js +39 -0
  345. package/lib/renderer/Stroke.js.map +1 -0
  346. package/lib/renderer/index.js +137 -0
  347. package/lib/renderer/index.js.map +1 -0
  348. package/lib/renderer/style/css.js +4 -0
  349. package/lib/renderer/style/css.js.map +1 -0
  350. package/lib/renderer/style/index.css +0 -0
  351. package/lib/renderer/style/index.js +4 -0
  352. package/lib/renderer/style/index.js.map +1 -0
  353. package/lib/renderer/style/index.less +0 -0
  354. package/lib/renderer/transformRgb.js +33 -0
  355. package/lib/renderer/transformRgb.js.map +1 -0
  356. package/lib/search-map/VtxModal.js +209 -0
  357. package/lib/search-map/VtxModal.js.map +1 -0
  358. package/lib/search-map/index.js +542 -0
  359. package/lib/search-map/index.js.map +1 -0
  360. package/lib/search-map/style/css.js +6 -0
  361. package/lib/search-map/style/css.js.map +1 -0
  362. package/lib/search-map/style/index.css +86 -0
  363. package/lib/search-map/style/index.js +6 -0
  364. package/lib/search-map/style/index.js.map +1 -0
  365. package/lib/search-map/style/index.less +97 -0
  366. package/lib/search-map/style/modal.css +56 -0
  367. package/lib/search-map/style/modal.less +66 -0
  368. package/lib/style/index.css +0 -0
  369. package/lib/style/index.less +2 -0
  370. package/lib/style/themes/compact.css +0 -0
  371. package/lib/style/themes/compact.less +1 -0
  372. package/lib/style/themes/dark.css +0 -0
  373. package/lib/style/themes/dark.less +7 -0
  374. package/lib/style/themes/default.css +0 -0
  375. package/lib/style/themes/default.less +7 -0
  376. package/lib/style/themes/index.css +0 -0
  377. package/lib/style/themes/index.less +1 -0
  378. package/lib/style/themes/variable.css +0 -0
  379. package/lib/style/themes/variable.less +5 -0
  380. package/lib/tile-layer/TileLayer.js +85 -0
  381. package/lib/tile-layer/TileLayer.js.map +1 -0
  382. package/lib/tile-layer/index.js +54 -0
  383. package/lib/tile-layer/index.js.map +1 -0
  384. package/lib/tile-layer/style/css.js +4 -0
  385. package/lib/tile-layer/style/css.js.map +1 -0
  386. package/lib/tile-layer/style/index.css +0 -0
  387. package/lib/tile-layer/style/index.js +4 -0
  388. package/lib/tile-layer/style/index.js.map +1 -0
  389. package/lib/tile-layer/style/index.less +0 -0
  390. package/lib/tools/Layer/LayerService.js +182 -0
  391. package/lib/tools/Layer/LayerService.js.map +1 -0
  392. package/lib/tools/Layer/LayersCheckService.js +188 -0
  393. package/lib/tools/Layer/LayersCheckService.js.map +1 -0
  394. package/lib/tools/Layer/index.css +50 -0
  395. package/lib/tools/Layer/index.js +225 -0
  396. package/lib/tools/Layer/index.js.map +1 -0
  397. package/lib/tools/Layer/index.less +43 -0
  398. package/lib/tools/Search/index.js +305 -0
  399. package/lib/tools/Search/index.js.map +1 -0
  400. package/lib/tools/Toolbox/BoxSelect/index.js +22 -0
  401. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
  402. package/lib/tools/Toolbox/CircleSelect/index.js +22 -0
  403. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
  404. package/lib/tools/Toolbox/EagleEye/index.js +56 -0
  405. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
  406. package/lib/tools/Toolbox/MapBookmark/Bookmark.js +147 -0
  407. package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -0
  408. package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
  409. package/lib/tools/Toolbox/MapBookmark/index.js +429 -0
  410. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
  411. package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
  412. package/lib/tools/Toolbox/MapDownload/index.js +16 -0
  413. package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
  414. package/lib/tools/Toolbox/MapPrint/index.css +4 -0
  415. package/lib/tools/Toolbox/MapPrint/index.js +233 -0
  416. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
  417. package/lib/tools/Toolbox/MapPrint/index.less +4 -0
  418. package/lib/tools/Toolbox/Measure/Area/index.js +16 -0
  419. package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
  420. package/lib/tools/Toolbox/Measure/Distance/index.js +16 -0
  421. package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
  422. package/lib/tools/Toolbox/Measure/Measure.js +236 -0
  423. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
  424. package/lib/tools/Toolbox/Measure/index.js +77 -0
  425. package/lib/tools/Toolbox/Measure/index.js.map +1 -0
  426. package/lib/tools/Toolbox/PolygonSelect/index.js +19 -0
  427. package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
  428. package/lib/tools/Toolbox/ScaleLine/index.js +58 -0
  429. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
  430. package/lib/tools/Toolbox/SelectTools/index.css +103 -0
  431. package/lib/tools/Toolbox/SelectTools/index.js +788 -0
  432. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
  433. package/lib/tools/Toolbox/SelectTools/index.less +87 -0
  434. package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
  435. package/lib/tools/Toolbox/SpaceQuery/index.js +597 -0
  436. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
  437. package/lib/tools/Toolbox/SpaceQuery/index.less +16 -0
  438. package/lib/tools/Toolbox/ZoomInput/index.css +6 -0
  439. package/lib/tools/Toolbox/ZoomInput/index.js +50 -0
  440. package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -0
  441. package/lib/tools/Toolbox/ZoomInput/index.less +6 -0
  442. package/lib/tools/Toolbox/draftingPrint/index.css +26 -0
  443. package/lib/tools/Toolbox/draftingPrint/index.js +365 -0
  444. package/lib/tools/Toolbox/draftingPrint/index.js.map +1 -0
  445. package/lib/tools/Toolbox/draftingPrint/index.less +34 -0
  446. package/lib/tools/Toolbox/index.css +0 -0
  447. package/lib/tools/Toolbox/index.js +206 -0
  448. package/lib/tools/Toolbox/index.js.map +1 -0
  449. package/lib/tools/Toolbox/index.less +2 -0
  450. package/lib/tools/Utils/CreateOverlay.js +46 -0
  451. package/lib/tools/Utils/CreateOverlay.js.map +1 -0
  452. package/lib/tools/Utils/Draw.js +127 -0
  453. package/lib/tools/Utils/Draw.js.map +1 -0
  454. package/lib/tools/Utils/HighLayer.js +212 -0
  455. package/lib/tools/Utils/HighLayer.js.map +1 -0
  456. package/lib/tools/Utils/measure.js +246 -0
  457. package/lib/tools/Utils/measure.js.map +1 -0
  458. package/lib/tools/Utils/utils.js +263 -0
  459. package/lib/tools/Utils/utils.js.map +1 -0
  460. package/lib/tools/View/index.css +35 -0
  461. package/lib/tools/View/index.js +179 -0
  462. package/lib/tools/View/index.js.map +1 -0
  463. package/lib/tools/View/index.less +28 -0
  464. package/lib/tools/analysis-tool/index.js +111 -0
  465. package/lib/tools/analysis-tool/index.js.map +1 -0
  466. package/lib/tools/base-map-switch/index.js +168 -0
  467. package/lib/tools/base-map-switch/index.js.map +1 -0
  468. package/lib/tools/components/Chart/index.js +821 -0
  469. package/lib/tools/components/Chart/index.js.map +1 -0
  470. package/lib/tools/components/Icon/index.js +31 -0
  471. package/lib/tools/components/Icon/index.js.map +1 -0
  472. package/lib/tools/components/Info/index.css +39 -0
  473. package/lib/tools/components/Info/index.js +34 -0
  474. package/lib/tools/components/Info/index.js.map +1 -0
  475. package/lib/tools/components/Info/index.less +26 -0
  476. package/lib/tools/components/ItemWrap/index.css +43 -0
  477. package/lib/tools/components/ItemWrap/index.js +46 -0
  478. package/lib/tools/components/ItemWrap/index.js.map +1 -0
  479. package/lib/tools/components/ItemWrap/index.less +41 -0
  480. package/lib/tools/components/Modal/index.css +42 -0
  481. package/lib/tools/components/Modal/index.js +45 -0
  482. package/lib/tools/components/Modal/index.js.map +1 -0
  483. package/lib/tools/components/Modal/index.less +33 -0
  484. package/lib/tools/components/MyTabs/index.js +22 -0
  485. package/lib/tools/components/MyTabs/index.js.map +1 -0
  486. package/lib/tools/components/RequiredLabel/index.css +5 -0
  487. package/lib/tools/components/RequiredLabel/index.js +32 -0
  488. package/lib/tools/components/RequiredLabel/index.js.map +1 -0
  489. package/lib/tools/components/RequiredLabel/index.less +5 -0
  490. package/lib/tools/components/Select/index.js +32 -0
  491. package/lib/tools/components/Select/index.js.map +1 -0
  492. package/lib/tools/components/Table/assets/tableIcon.png +0 -0
  493. package/lib/tools/components/Table/index.css +10 -0
  494. package/lib/tools/components/Table/index.js +92 -0
  495. package/lib/tools/components/Table/index.js.map +1 -0
  496. package/lib/tools/components/Table/index.less +13 -0
  497. package/lib/tools/components/ToolItem/index.css +30 -0
  498. package/lib/tools/components/ToolItem/index.js +28 -0
  499. package/lib/tools/components/ToolItem/index.js.map +1 -0
  500. package/lib/tools/components/ToolItem/index.less +27 -0
  501. package/lib/tools/components/ToolsSelect/index.css +15 -0
  502. package/lib/tools/components/ToolsSelect/index.js +44 -0
  503. package/lib/tools/components/ToolsSelect/index.js.map +1 -0
  504. package/lib/tools/components/ToolsSelect/index.less +10 -0
  505. package/lib/tools/full-screen/index.js +45 -0
  506. package/lib/tools/full-screen/index.js.map +1 -0
  507. package/lib/tools/index.js +161 -0
  508. package/lib/tools/index.js.map +1 -0
  509. package/lib/tools/layer-control/index.js +170 -0
  510. package/lib/tools/layer-control/index.js.map +1 -0
  511. package/lib/tools/refresh/index.js +39 -0
  512. package/lib/tools/refresh/index.js.map +1 -0
  513. package/lib/tools/style/css.js +13 -0
  514. package/lib/tools/style/css.js.map +1 -0
  515. package/lib/tools/style/index.css +136 -0
  516. package/lib/tools/style/index.js +13 -0
  517. package/lib/tools/style/index.js.map +1 -0
  518. package/lib/tools/style/index.less +154 -0
  519. package/lib/tools-item/index.js +65 -0
  520. package/lib/tools-item/index.js.map +1 -0
  521. package/lib/use-props/index.js +14 -0
  522. package/lib/use-props/index.js.map +1 -0
  523. package/lib/use-props/style/css.js +2 -0
  524. package/lib/use-props/style/css.js.map +1 -0
  525. package/lib/use-props/style/index.js +2 -0
  526. package/lib/use-props/style/index.js.map +1 -0
  527. package/lib/wms-layer/WmsLayer.js +313 -0
  528. package/lib/wms-layer/WmsLayer.js.map +1 -0
  529. package/lib/wms-layer/index.js +97 -0
  530. package/lib/wms-layer/index.js.map +1 -0
  531. package/lib/wms-layer/style/css.js +4 -0
  532. package/lib/wms-layer/style/css.js.map +1 -0
  533. package/lib/wms-layer/style/index.css +0 -0
  534. package/lib/wms-layer/style/index.js +4 -0
  535. package/lib/wms-layer/style/index.js.map +1 -0
  536. package/lib/wms-layer/style/index.less +0 -0
  537. package/package.json +26 -16
@@ -0,0 +1,249 @@
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 _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
+ 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; } } }; }
15
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
16
+ 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."); }
17
+ 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; } }
18
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
19
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
20
+ 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; }
21
+ function _default(props) {
22
+ var children = props.children,
23
+ _props$show = props.show,
24
+ show = _props$show === void 0 ? true : _props$show,
25
+ _props$avoid = props.avoid,
26
+ avoid = _props$avoid === void 0 ? true : _props$avoid;
27
+ var _useProps = (0, _useProps2["default"])(),
28
+ map = _useProps.map;
29
+ var domRef = (0, _react.useRef)();
30
+ var domElementsRef = (0, _react.useRef)([]);
31
+ var lastExecutionTimeRef = (0, _react.useRef)(0);
32
+
33
+ // 注册DOM元素
34
+ var registerDomElement = (0, _react.useCallback)(function (element) {
35
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
36
+ var _options$avoid = options.avoid,
37
+ avoid = _options$avoid === void 0 ? true : _options$avoid;
38
+ var id = Math.random().toString(36).substr(2, 9); // 简单ID生成
39
+ var elementInfo = {
40
+ id: id,
41
+ element: element,
42
+ avoid: avoid
43
+ };
44
+ domElementsRef.current = [].concat(_toConsumableArray(domElementsRef.current), [elementInfo]);
45
+ return function () {
46
+ domElementsRef.current = domElementsRef.current.filter(function (el) {
47
+ return el.id !== id;
48
+ });
49
+ };
50
+ }, []);
51
+
52
+ // 碰撞检测函数
53
+ var isColliding = function isColliding(rect1, rect2) {
54
+ return !(rect1.right < rect2.left || rect1.left > rect2.right || rect1.bottom < rect2.top || rect1.top > rect2.bottom);
55
+ };
56
+
57
+ // 避让处理函数
58
+ var handleAvoidance = (0, _react.useCallback)(function () {
59
+ // 限制执行频率,至少间隔50ms
60
+ var now = Date.now();
61
+ if (now - lastExecutionTimeRef.current < 50) {
62
+ return;
63
+ }
64
+ lastExecutionTimeRef.current = now;
65
+ if (!avoid) {
66
+ // 如果避免功能关闭,显示所有元素
67
+ domElementsRef.current.forEach(function (_ref) {
68
+ var element = _ref.element;
69
+ if (element) {
70
+ element.style.visibility = 'visible';
71
+ }
72
+ });
73
+ return;
74
+ }
75
+
76
+ // 获取所有DOM元素的位置信息
77
+ var allElements = [];
78
+ domElementsRef.current.forEach(function (_ref2) {
79
+ var id = _ref2.id,
80
+ element = _ref2.element,
81
+ avoid = _ref2.avoid;
82
+ if (element) {
83
+ // 不管当前显示状态如何,都参与计算
84
+ var rect = element.getBoundingClientRect();
85
+ var elementInfo = {
86
+ id: id,
87
+ element: element,
88
+ rect: rect,
89
+ area: rect.width * rect.height,
90
+ avoid: avoid
91
+ };
92
+ allElements.push(elementInfo);
93
+ }
94
+ });
95
+
96
+ // 如果元素数量小于2,不需要避让,确保所有元素都显示
97
+ if (allElements.length < 2) {
98
+ allElements.forEach(function (_ref3) {
99
+ var element = _ref3.element;
100
+ element.style.visibility = 'visible';
101
+ });
102
+ return;
103
+ }
104
+
105
+ // 分离必须显示的元素和可避让的元素
106
+ var unavoidableElements = allElements.filter(function (el) {
107
+ return !el.avoid;
108
+ }); // avoid=false的元素
109
+ var avoidableElements = allElements.filter(function (el) {
110
+ return el.avoid;
111
+ }); // avoid=true的元素
112
+
113
+ // 标记需要隐藏的元素
114
+ var toHide = new Set();
115
+
116
+ // 检查所有元素之间的碰撞
117
+ // 1. 必须显示的元素优先,与所有其他元素比较
118
+ var _iterator = _createForOfIteratorHelper(unavoidableElements),
119
+ _step;
120
+ try {
121
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
122
+ var unavoidable = _step.value;
123
+ // 必须显示的元素与可避让元素碰撞时,隐藏可避让元素
124
+ var _iterator2 = _createForOfIteratorHelper(avoidableElements),
125
+ _step2;
126
+ try {
127
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
128
+ var avoidable = _step2.value;
129
+ if (isColliding(unavoidable.rect, avoidable.rect)) {
130
+ toHide.add(avoidable.id);
131
+ }
132
+ }
133
+ } catch (err) {
134
+ _iterator2.e(err);
135
+ } finally {
136
+ _iterator2.f();
137
+ }
138
+ }
139
+
140
+ // 2. 可避让元素之间按面积排序,面积大的优先显示
141
+ } catch (err) {
142
+ _iterator.e(err);
143
+ } finally {
144
+ _iterator.f();
145
+ }
146
+ avoidableElements.sort(function (a, b) {
147
+ return b.area - a.area;
148
+ });
149
+
150
+ // 3. 检查所有可避让元素之间的碰撞关系
151
+ for (var i = 0; i < avoidableElements.length; i++) {
152
+ // 如果当前元素已经被标记为隐藏,则跳过
153
+ if (toHide.has(avoidableElements[i].id)) continue;
154
+
155
+ // 检查与所有后续元素的碰撞
156
+ for (var j = i + 1; j < avoidableElements.length; j++) {
157
+ // 如果比较的元素已经被标记为隐藏,则跳过
158
+ if (toHide.has(avoidableElements[j].id)) continue;
159
+ if (isColliding(avoidableElements[i].rect, avoidableElements[j].rect)) {
160
+ // 隐藏面积较小的元素(即j位置的元素)
161
+ toHide.add(avoidableElements[j].id);
162
+ }
163
+ }
164
+ }
165
+
166
+ // 应用显示/隐藏
167
+ allElements.forEach(function (_ref4) {
168
+ var id = _ref4.id,
169
+ element = _ref4.element,
170
+ elementAvoid = _ref4.avoid;
171
+ if (!elementAvoid) {
172
+ // avoid=false的元素始终显示
173
+ element.style.visibility = 'visible';
174
+ } else {
175
+ // avoid=true的元素根据碰撞检测结果决定显示或隐藏
176
+ element.style.visibility = toHide.has(id) ? 'hidden' : 'visible';
177
+ }
178
+ });
179
+ }, [avoid]);
180
+
181
+ // 控制显示/隐藏
182
+ (0, _ahooks.useUpdateEffect)(function () {
183
+ if (domRef.current) {
184
+ domRef.current.style.visibility = show ? 'visible' : 'hidden';
185
+ }
186
+
187
+ // 当显示状态改变时重新计算避让
188
+ if (show && avoid) {
189
+ setTimeout(handleAvoidance, 10);
190
+ }
191
+ }, [show, avoid]);
192
+
193
+ // 监听地图事件
194
+ (0, _react.useEffect)(function () {
195
+ if (!map) return;
196
+ var avoidanceTimer = null;
197
+
198
+ // 处理地图变化
199
+ var handleMapChange = function handleMapChange() {
200
+ // 清除之前的定时器
201
+ if (avoidanceTimer) {
202
+ clearTimeout(avoidanceTimer);
203
+ }
204
+
205
+ // 延迟执行避让处理,确保DOM已经更新位置
206
+ avoidanceTimer = setTimeout(function () {
207
+ if (avoid) {
208
+ handleAvoidance();
209
+ }
210
+ }, 100);
211
+ };
212
+
213
+ // 监听地图移动事件
214
+ map.getView().on('change:resolution', handleMapChange);
215
+
216
+ // 初始计算一次
217
+ setTimeout(function () {
218
+ if (avoid) {
219
+ handleAvoidance();
220
+ }
221
+ }, 200);
222
+ return function () {
223
+ if (map) {
224
+ map.getView().un('change:resolution', handleMapChange);
225
+ }
226
+ if (avoidanceTimer) {
227
+ clearTimeout(avoidanceTimer);
228
+ }
229
+ };
230
+ }, [handleAvoidance, avoid]);
231
+
232
+ // 向子组件传递上下文
233
+ var childrenWithProps = _react["default"].Children.map(children, function (child) {
234
+ if (/*#__PURE__*/_react["default"].isValidElement(child)) {
235
+ return /*#__PURE__*/_react["default"].cloneElement(child, {
236
+ _registerDomLayer: registerDomElement
237
+ });
238
+ }
239
+ return child;
240
+ });
241
+ return /*#__PURE__*/_react["default"].createElement("div", {
242
+ className: "ol-map-dom-layer",
243
+ ref: domRef,
244
+ style: {
245
+ display: show ? 'block' : 'none'
246
+ }
247
+ }, childrenWithProps);
248
+ }
249
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_ahooks","_useProps2","_interopRequireDefault","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","done","value","TypeError","a","u","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","getView","on","un","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.getView().on('change:resolution', handleMapChange);\n\n // 初始计算一次\n setTimeout(() => {\n if (avoid) {\n handleAvoidance();\n }\n }, 200);\n\n return () => {\n if (map) {\n map.getView().un('change:resolution', 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=\"ol-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
+ .ol-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
+ .ol-map-dom-layer {
2
+ pointer-events: none;
3
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.registerEventLayer = exports.registerEventGeometry = void 0;
7
+ var EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];
8
+
9
+ // 注册鼠标事件
10
+ var registerEventGeometry = exports.registerEventGeometry = function registerEventGeometry(layer, props) {
11
+ EVENT.map(function (v) {
12
+ layer[v] = function () {
13
+ var options = layer.getProperties();
14
+ props[v] && props[v](options);
15
+ };
16
+ });
17
+ };
18
+ var registerEventLayer = exports.registerEventLayer = function registerEventLayer(layer, props) {
19
+ EVENT.map(function (v) {
20
+ layer[v] = function (e, a) {
21
+ props[v] && props[v](e, a);
22
+ };
23
+ });
24
+ };
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["EVENT","registerEventGeometry","exports","layer","props","map","v","options","getProperties","registerEventLayer","e","a"],"sources":["events/index.js"],"sourcesContent":["const EVENT = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseMove', 'onMouseLeave'];\n\n// 注册鼠标事件\nexport const registerEventGeometry = (layer, props) => {\n EVENT.map(v => {\n layer[v] = () => {\n let options = layer.getProperties();\n props[v] && props[v](options);\n };\n });\n};\n\nexport const registerEventLayer = (layer, props) => {\n EVENT.map(v => {\n layer[v] = (e, a) => {\n props[v] && props[v](e, a);\n };\n });\n};\n"],"mappings":";;;;;;AAAA,IAAMA,KAAK,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;;AAEzF;AACO,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIE,KAAK,EAAEC,KAAK,EAAK;EACnDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,YAAM;MACb,IAAIC,OAAO,GAAGJ,KAAK,CAACK,aAAa,CAAC,CAAC;MACnCJ,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACC,OAAO,CAAC;IACjC,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,IAAME,kBAAkB,GAAAP,OAAA,CAAAO,kBAAA,GAAG,SAArBA,kBAAkBA,CAAIN,KAAK,EAAEC,KAAK,EAAK;EAChDJ,KAAK,CAACK,GAAG,CAAC,UAAAC,CAAC,EAAI;IACXH,KAAK,CAACG,CAAC,CAAC,GAAG,UAACI,CAAC,EAAEC,CAAC,EAAK;MACjBP,KAAK,CAACE,CAAC,CAAC,IAAIF,KAAK,CAACE,CAAC,CAAC,CAACI,CAAC,EAAEC,CAAC,CAAC;IAC9B,CAAC;EACL,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -0,0 +1,231 @@
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.drawStyle = exports["default"] = void 0;
8
+ var _layer = require("ol/layer");
9
+ var _source = require("ol/source");
10
+ var _interaction = require("ol/interaction");
11
+ var _Draw2 = require("ol/interaction/Draw");
12
+ var _style4 = require("ol/style");
13
+ var _Marker = _interopRequireDefault(require("../marker/Marker"));
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
19
+ 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."); }
20
+ 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; } }
21
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
22
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
23
+ 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; }
24
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
25
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
26
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
28
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
30
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
31
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
32
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
33
+ function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
34
+ function _get() { return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }
35
+ function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }
36
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
37
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
38
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
39
+ var ModifyConstrain = /*#__PURE__*/function (_Modify) {
40
+ function ModifyConstrain(options) {
41
+ var _this;
42
+ _classCallCheck(this, ModifyConstrain);
43
+ _this = _callSuper(this, ModifyConstrain, [options]);
44
+ _this.constrainGeom_ = options.constrainGeom;
45
+ return _this;
46
+ }
47
+ _inherits(ModifyConstrain, _Modify);
48
+ return _createClass(ModifyConstrain, [{
49
+ key: "handleDragEvent",
50
+ value: function handleDragEvent(evt) {
51
+ if (this.constrainGeom_ && this.constrainGeom_.intersectsCoordinate && !this.constrainGeom_.intersectsCoordinate(evt.coordinate)) {
52
+ evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);
53
+ }
54
+ _superPropGet(ModifyConstrain, "handleDragEvent", this, 3)([evt]);
55
+ }
56
+ }]);
57
+ }(_interaction.Modify);
58
+ var DrawConstrain = /*#__PURE__*/function (_Draw) {
59
+ function DrawConstrain(options) {
60
+ var _this2;
61
+ _classCallCheck(this, DrawConstrain);
62
+ _this2 = _callSuper(this, DrawConstrain, [options]);
63
+ _this2.constrainGeom_ = options.constrainGeom;
64
+ return _this2;
65
+ }
66
+ _inherits(DrawConstrain, _Draw);
67
+ return _createClass(DrawConstrain, [{
68
+ key: "handlePointerMove_",
69
+ value: function handlePointerMove_(evt) {
70
+ if (this.constrainGeom_ && this.constrainGeom_.intersectsCoordinate && !this.constrainGeom_.intersectsCoordinate(evt.coordinate)) {
71
+ evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);
72
+ }
73
+ _superPropGet(DrawConstrain, "handlePointerMove_", this, 3)([evt]);
74
+ }
75
+ }]);
76
+ }(_interaction.Draw);
77
+ var drawStyle = exports.drawStyle = function drawStyle(feature, style) {
78
+ var _style = [];
79
+ var styles = [new _style4.Style({
80
+ fill: new _style4.Fill({
81
+ color: 'rgba(255, 255, 255, 0.6)'
82
+ }),
83
+ stroke: new _style4.Stroke({
84
+ color: '#009BFF',
85
+ width: 2
86
+ }),
87
+ image: new _style4.Circle({
88
+ radius: 4,
89
+ fill: new _style4.Fill({
90
+ color: 'rgba(0,155,255, 0.8)'
91
+ })
92
+ })
93
+ })];
94
+ if (style) {
95
+ var _style2;
96
+ if (typeof style === 'function') {
97
+ _style = style(feature);
98
+ }
99
+ if (Array.isArray(_style) && (_style2 = _style) !== null && _style2 !== void 0 && _style2.length) styles.push.apply(styles, _toConsumableArray(_style));
100
+ }
101
+ return styles;
102
+ };
103
+ var _default = exports["default"] = /*#__PURE__*/function () {
104
+ function _default(props, callback) {
105
+ var _this3 = this;
106
+ _classCallCheck(this, _default);
107
+ _defineProperty(this, "initModify", function () {
108
+ var t = _this3;
109
+ var modify = new ModifyConstrain({
110
+ source: _this3.source,
111
+ constrainGeom: _this3.constrainGeom
112
+ });
113
+ _this3.map.addInteraction(modify);
114
+ modify.on('modifyend', function (event) {
115
+ var features = event.features;
116
+ var feature = features.item(features.getLength() - 1);
117
+ _this3.drawFeature = feature;
118
+ var _feature = feature.clone();
119
+ t.callback && t.callback(_feature);
120
+ });
121
+ });
122
+ var _props$continuousDraw = props.continuousDraw,
123
+ continuousDraw = _props$continuousDraw === void 0 ? true : _props$continuousDraw,
124
+ _style3 = props.style,
125
+ markerStyle = props.markerStyle,
126
+ constrainGeom = props.constrainGeom;
127
+ this.map = props.map;
128
+ this.TextEnum = props.TextEnum;
129
+ this.drawTool = null;
130
+ this.drawFeature = null;
131
+ this.maxPoints = props.maxPoints;
132
+ this.drawType = props.drawType;
133
+ this.callback = callback;
134
+ this.continuousDraw = continuousDraw; // 连续绘制
135
+ this.constrainGeom = constrainGeom; // 绘制限制范围:geometry
136
+ this.style = _style3;
137
+ this.source = new _source.Vector();
138
+ this.layer = new _layer.Vector({
139
+ source: this.source,
140
+ zIndex: props.zIndex || 20,
141
+ style: function style(feature) {
142
+ return drawStyle(feature, _style3);
143
+ }
144
+ });
145
+ this.map.addLayer(this.layer);
146
+ if (!props.onlyDraw) {
147
+ this.initModify();
148
+ }
149
+ }
150
+
151
+ /**
152
+ * @description:
153
+ * @param {*} drawType DragBox-框选 Circle-圈选 Polygon-多边形选择
154
+ * @return {*}
155
+ */
156
+ return _createClass(_default, [{
157
+ key: "init",
158
+ value: function init(drawType) {
159
+ var _this4 = this;
160
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.callback;
161
+ var markerStyle = arguments.length > 2 ? arguments[2] : undefined;
162
+ var t = this;
163
+ if (drawType) {
164
+ var drawTool = new DrawConstrain(_objectSpread(_objectSpread({
165
+ type: drawType,
166
+ maxPoints: this.maxPoints,
167
+ constrainGeom: this.constrainGeom,
168
+ style: function style(feature) {
169
+ return drawStyle(feature, t.style);
170
+ }
171
+ }, drawType === 'DragBox' ? {
172
+ type: 'Circle',
173
+ geometryFunction: (0, _Draw2.createBox)()
174
+ } : {}), drawType === 'Marker' ? {
175
+ type: 'Point'
176
+ } : {}));
177
+ drawTool.on('drawstart', function () {
178
+ _this4.drawTool.setActive(true);
179
+ _this4.map.showTip(_this4.TextEnum.clickAgainToEnd);
180
+ _this4.clearFeatures();
181
+ _this4.callbackFn && _this4.callbackFn();
182
+ });
183
+ drawTool.on('drawend', function (event) {
184
+ _this4.map.showTip(_this4.TextEnum.leftClickToStart);
185
+ var drawSource = _this4.layer.getSource();
186
+ _this4.drawFeature = event.feature;
187
+ var _feature = event.feature.clone();
188
+ if (drawType == 'Marker') {
189
+ event.feature.setStyle(new _Marker["default"](markerStyle));
190
+ }
191
+ drawSource.addFeature(event.feature);
192
+ callback && callback(_feature);
193
+ _this4.drawTool.setActive(t.continuousDraw);
194
+ });
195
+ this.drawTool = drawTool;
196
+ this.map.showTip(this.TextEnum.leftClickToStart);
197
+ this.map.addInteraction(drawTool);
198
+ }
199
+ }
200
+ }, {
201
+ key: "clearFeatures",
202
+ value: function clearFeatures() {
203
+ this.source && this.source.clear();
204
+ this.map.hideTip();
205
+ }
206
+ }, {
207
+ key: "loadFeatures",
208
+ value: function loadFeatures(feature) {
209
+ if (this.style) {
210
+ feature.setStyle(drawStyle(feature, this.style));
211
+ }
212
+ // feature.setStyle(drawStyle(feature, this.style));
213
+ this.source && this.source.addFeatures([feature]);
214
+ this.drawFeature = feature;
215
+ }
216
+ }, {
217
+ key: "removeDrawTool",
218
+ value: function removeDrawTool() {
219
+ this.map.removeInteraction(this.drawTool);
220
+ }
221
+ }, {
222
+ key: "destroy",
223
+ value: function destroy() {
224
+ this.map.removeLayer(this.layer);
225
+ this.removeDrawTool();
226
+ this.drawTool && this.drawTool.setActive(false);
227
+ this.map.hideTip();
228
+ }
229
+ }]);
230
+ }();
231
+ //# sourceMappingURL=FeatureDraw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeatureDraw.js","names":["_layer","require","_source","_interaction","_Draw2","_style4","_Marker","_interopRequireDefault","e","__esModule","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","n","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","hasOwnProperty","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","ModifyConstrain","_Modify","options","_this","constrainGeom_","constrainGeom","handleDragEvent","evt","intersectsCoordinate","coordinate","getClosestPoint","Modify","DrawConstrain","_Draw","_this2","handlePointerMove_","Draw","drawStyle","exports","feature","style","_style","styles","Style","fill","Fill","color","stroke","Stroke","width","image","CircleStyle","radius","_style2","_default","props","callback","_this3","modify","source","map","addInteraction","on","event","features","item","getLength","drawFeature","_feature","clone","_props$continuousDraw","continuousDraw","markerStyle","TextEnum","drawTool","maxPoints","drawType","VectorSource","layer","VectorLayer","zIndex","addLayer","onlyDraw","initModify","init","_this4","undefined","type","geometryFunction","createBox","setActive","showTip","clickAgainToEnd","clearFeatures","callbackFn","leftClickToStart","drawSource","getSource","setStyle","Marker","addFeature","clear","hideTip","loadFeatures","addFeatures","removeDrawTool","removeInteraction","destroy","removeLayer"],"sources":["feature-draw/FeatureDraw.js"],"sourcesContent":["import { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { Draw, Modify } from 'ol/interaction';\nimport { createBox } from 'ol/interaction/Draw';\nimport { Stroke, Style, Circle as CircleStyle, Fill, Icon } from 'ol/style';\nimport Marker from '../marker/Marker';\n\nclass ModifyConstrain extends Modify {\n constructor(options) {\n super(options);\n this.constrainGeom_ = options.constrainGeom;\n }\n\n handleDragEvent(evt) {\n if (\n this.constrainGeom_ &&\n this.constrainGeom_.intersectsCoordinate &&\n !this.constrainGeom_.intersectsCoordinate(evt.coordinate)\n ) {\n evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);\n }\n super.handleDragEvent(evt);\n }\n}\nclass DrawConstrain extends Draw {\n constructor(options) {\n super(options);\n this.constrainGeom_ = options.constrainGeom;\n }\n\n handlePointerMove_(evt) {\n if (\n this.constrainGeom_ &&\n this.constrainGeom_.intersectsCoordinate &&\n !this.constrainGeom_.intersectsCoordinate(evt.coordinate)\n ) {\n evt.coordinate = this.constrainGeom_.getClosestPoint(evt.coordinate);\n }\n super.handlePointerMove_(evt);\n }\n}\n\nexport const drawStyle = (feature, style) => {\n let _style = [];\n\n let styles = [\n new Style({\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n image: new CircleStyle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n }),\n ];\n\n if (style) {\n if (typeof style === 'function') {\n _style = style(feature);\n }\n if (Array.isArray(_style) && _style?.length) styles.push(..._style);\n }\n return styles;\n};\nexport default class {\n constructor(props, callback) {\n const { continuousDraw = true, style, markerStyle, constrainGeom } = props;\n\n this.map = props.map;\n this.TextEnum = props.TextEnum;\n this.drawTool = null;\n this.drawFeature = null;\n this.maxPoints = props.maxPoints;\n this.drawType = props.drawType;\n this.callback = callback;\n this.continuousDraw = continuousDraw; // 连续绘制\n this.constrainGeom = constrainGeom; // 绘制限制范围:geometry\n this.style = style;\n this.source = new VectorSource();\n\n this.layer = new VectorLayer({\n source: this.source,\n zIndex: props.zIndex || 20,\n style: function (feature) {\n return drawStyle(feature, style);\n },\n });\n\n this.map.addLayer(this.layer);\n if (!props.onlyDraw) {\n this.initModify();\n }\n }\n\n /**\n * @description:\n * @param {*} drawType DragBox-框选 Circle-圈选 Polygon-多边形选择\n * @return {*}\n */\n init(drawType, callback = this.callback, markerStyle) {\n const t = this;\n if (drawType) {\n const drawTool = new DrawConstrain({\n type: drawType,\n maxPoints: this.maxPoints,\n constrainGeom: this.constrainGeom,\n style: function (feature) {\n return drawStyle(feature, t.style);\n },\n ...(drawType === 'DragBox'\n ? {\n type: 'Circle',\n geometryFunction: createBox(),\n }\n : {}),\n ...(drawType === 'Marker'\n ? {\n type: 'Point',\n }\n : {}),\n });\n drawTool.on('drawstart', () => {\n this.drawTool.setActive(true);\n this.map.showTip(this.TextEnum.clickAgainToEnd);\n this.clearFeatures();\n this.callbackFn && this.callbackFn();\n });\n drawTool.on('drawend', event => {\n this.map.showTip(this.TextEnum.leftClickToStart);\n let drawSource = this.layer.getSource();\n this.drawFeature = event.feature;\n let _feature = event.feature.clone();\n if (drawType == 'Marker') {\n event.feature.setStyle(new Marker(markerStyle));\n }\n drawSource.addFeature(event.feature);\n callback && callback(_feature);\n this.drawTool.setActive(t.continuousDraw);\n });\n this.drawTool = drawTool;\n\n this.map.showTip(this.TextEnum.leftClickToStart);\n\n this.map.addInteraction(drawTool);\n }\n }\n\n initModify = () => {\n const t = this;\n const modify = new ModifyConstrain({\n source: this.source,\n constrainGeom: this.constrainGeom,\n });\n this.map.addInteraction(modify);\n modify.on('modifyend', event => {\n let features = event.features;\n let feature = features.item(features.getLength() - 1);\n this.drawFeature = feature;\n let _feature = feature.clone();\n t.callback && t.callback(_feature);\n });\n };\n\n clearFeatures() {\n this.source && this.source.clear();\n this.map.hideTip();\n }\n loadFeatures(feature) {\n if (this.style) {\n feature.setStyle(drawStyle(feature, this.style));\n }\n // feature.setStyle(drawStyle(feature, this.style));\n this.source && this.source.addFeatures([feature]);\n this.drawFeature = feature;\n }\n\n removeDrawTool() {\n this.map.removeInteraction(this.drawTool);\n }\n destroy() {\n this.map.removeLayer(this.layer);\n this.removeDrawTool();\n this.drawTool && this.drawTool.setActive(false);\n this.map.hideTip();\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAC,sBAAA,CAAAN,OAAA;AAAsC,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,QAAAF,CAAA,EAAAG,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAN,CAAA,OAAAK,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAP,CAAA,GAAAG,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAV,CAAA,EAAAG,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAd,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAApB,CAAA,EAAAK,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAArB,CAAA,EAAAG,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAH,CAAA;AAAA,SAAAkB,gBAAAlB,CAAA,EAAAG,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAH,CAAA,GAAAK,MAAA,CAAAgB,cAAA,CAAArB,CAAA,EAAAG,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAzB,CAAA,CAAAG,CAAA,IAAAC,CAAA,EAAAJ,CAAA;AAAA,SAAA0B,mBAAAvB,CAAA,WAAAwB,kBAAA,CAAAxB,CAAA,KAAAyB,gBAAA,CAAAzB,CAAA,KAAA0B,2BAAA,CAAA1B,CAAA,KAAA2B,kBAAA;AAAA,SAAAA,mBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAA1B,CAAA,EAAA6B,CAAA,QAAA7B,CAAA,2BAAAA,CAAA,SAAA8B,iBAAA,CAAA9B,CAAA,EAAA6B,CAAA,OAAA5B,CAAA,MAAA8B,QAAA,CAAAC,IAAA,CAAAhC,CAAA,EAAAiC,KAAA,6BAAAhC,CAAA,IAAAD,CAAA,CAAAkC,WAAA,KAAAjC,CAAA,GAAAD,CAAA,CAAAkC,WAAA,CAAAC,IAAA,aAAAlC,CAAA,cAAAA,CAAA,GAAAmC,KAAA,CAAAC,IAAA,CAAArC,CAAA,oBAAAC,CAAA,+CAAAqC,IAAA,CAAArC,CAAA,IAAA6B,iBAAA,CAAA9B,CAAA,EAAA6B,CAAA;AAAA,SAAAJ,iBAAAzB,CAAA,8BAAAuC,MAAA,YAAAvC,CAAA,CAAAuC,MAAA,CAAAC,QAAA,aAAAxC,CAAA,uBAAAoC,KAAA,CAAAC,IAAA,CAAArC,CAAA;AAAA,SAAAwB,mBAAAxB,CAAA,QAAAoC,KAAA,CAAAK,OAAA,CAAAzC,CAAA,UAAA8B,iBAAA,CAAA9B,CAAA;AAAA,SAAA8B,kBAAA9B,CAAA,EAAA6B,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAA7B,CAAA,CAAAa,MAAA,MAAAgB,CAAA,GAAA7B,CAAA,CAAAa,MAAA,YAAAhB,CAAA,MAAA6C,CAAA,GAAAN,KAAA,CAAAP,CAAA,GAAAhC,CAAA,GAAAgC,CAAA,EAAAhC,CAAA,IAAA6C,CAAA,CAAA7C,CAAA,IAAAG,CAAA,CAAAH,CAAA,UAAA6C,CAAA;AAAA,SAAAC,gBAAAd,CAAA,EAAAa,CAAA,UAAAb,CAAA,YAAAa,CAAA,aAAAd,SAAA;AAAA,SAAAgB,kBAAA/C,CAAA,EAAAG,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAD,CAAA,CAAAa,MAAA,EAAAZ,CAAA,UAAAI,CAAA,GAAAL,CAAA,CAAAC,CAAA,GAAAI,CAAA,CAAAG,UAAA,GAAAH,CAAA,CAAAG,UAAA,QAAAH,CAAA,CAAAgB,YAAA,kBAAAhB,CAAA,KAAAA,CAAA,CAAAiB,QAAA,QAAApB,MAAA,CAAAgB,cAAA,CAAArB,CAAA,EAAAsB,cAAA,CAAAd,CAAA,CAAAwC,GAAA,GAAAxC,CAAA;AAAA,SAAAyC,aAAAjD,CAAA,EAAAG,CAAA,EAAAC,CAAA,WAAAD,CAAA,IAAA4C,iBAAA,CAAA/C,CAAA,CAAAkD,SAAA,EAAA/C,CAAA,GAAAC,CAAA,IAAA2C,iBAAA,CAAA/C,CAAA,EAAAI,CAAA,GAAAC,MAAA,CAAAgB,cAAA,CAAArB,CAAA,iBAAAyB,QAAA,SAAAzB,CAAA;AAAA,SAAAsB,eAAAlB,CAAA,QAAA+C,CAAA,GAAAC,YAAA,CAAAhD,CAAA,gCAAAiD,OAAA,CAAAF,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAhD,CAAA,EAAAD,CAAA,oBAAAkD,OAAA,CAAAjD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAJ,CAAA,GAAAI,CAAA,CAAAsC,MAAA,CAAAY,WAAA,kBAAAtD,CAAA,QAAAmD,CAAA,GAAAnD,CAAA,CAAAmC,IAAA,CAAA/B,CAAA,EAAAD,CAAA,gCAAAkD,OAAA,CAAAF,CAAA,UAAAA,CAAA,YAAApB,SAAA,yEAAA5B,CAAA,GAAAoD,MAAA,GAAAC,MAAA,EAAApD,CAAA;AAAA,SAAAqD,WAAArD,CAAA,EAAAI,CAAA,EAAAR,CAAA,WAAAQ,CAAA,GAAAkD,eAAA,CAAAlD,CAAA,GAAAmD,0BAAA,CAAAvD,CAAA,EAAAwD,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAtD,CAAA,EAAAR,CAAA,QAAA0D,eAAA,CAAAtD,CAAA,EAAAiC,WAAA,IAAA7B,CAAA,CAAAK,KAAA,CAAAT,CAAA,EAAAJ,CAAA;AAAA,SAAA2D,2BAAAvD,CAAA,EAAAJ,CAAA,QAAAA,CAAA,iBAAAqD,OAAA,CAAArD,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAA+B,SAAA,qEAAAgC,sBAAA,CAAA3D,CAAA;AAAA,SAAA2D,uBAAA/D,CAAA,mBAAAA,CAAA,YAAAgE,cAAA,sEAAAhE,CAAA;AAAA,SAAA4D,0BAAA,cAAAxD,CAAA,IAAA6D,OAAA,CAAAf,SAAA,CAAAgB,OAAA,CAAA/B,IAAA,CAAA0B,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAA7D,CAAA,aAAAwD,yBAAA,YAAAA,0BAAA,aAAAxD,CAAA;AAAA,SAAA+D,cAAA/D,CAAA,EAAAI,CAAA,EAAAR,CAAA,EAAAG,CAAA,QAAAiE,CAAA,GAAAC,IAAA,CAAAX,eAAA,KAAAvD,CAAA,GAAAC,CAAA,CAAA8C,SAAA,GAAA9C,CAAA,GAAAI,CAAA,EAAAR,CAAA,cAAAG,CAAA,yBAAAiE,CAAA,aAAAhE,CAAA,WAAAgE,CAAA,CAAAvD,KAAA,CAAAb,CAAA,EAAAI,CAAA,OAAAgE,CAAA;AAAA,SAAAC,KAAA,WAAAA,IAAA,yBAAAR,OAAA,IAAAA,OAAA,CAAAS,GAAA,GAAAT,OAAA,CAAAS,GAAA,CAAAC,IAAA,eAAAvE,CAAA,EAAAI,CAAA,EAAAD,CAAA,QAAAiE,CAAA,GAAAI,cAAA,CAAAxE,CAAA,EAAAI,CAAA,OAAAgE,CAAA,QAAAvB,CAAA,GAAAxC,MAAA,CAAAK,wBAAA,CAAA0D,CAAA,EAAAhE,CAAA,UAAAyC,CAAA,CAAAyB,GAAA,GAAAzB,CAAA,CAAAyB,GAAA,CAAAnC,IAAA,CAAApB,SAAA,CAAAC,MAAA,OAAAhB,CAAA,GAAAG,CAAA,IAAA0C,CAAA,CAAAtB,KAAA,OAAA8C,IAAA,CAAAxD,KAAA,OAAAE,SAAA;AAAA,SAAAyD,eAAApE,CAAA,EAAAI,CAAA,eAAAiE,cAAA,CAAAtC,IAAA,CAAA/B,CAAA,EAAAI,CAAA,eAAAJ,CAAA,GAAAsD,eAAA,CAAAtD,CAAA,aAAAA,CAAA;AAAA,SAAAsD,gBAAAtD,CAAA,WAAAsD,eAAA,GAAArD,MAAA,CAAAqE,cAAA,GAAArE,MAAA,CAAAsE,cAAA,CAAAJ,IAAA,eAAAnE,CAAA,WAAAA,CAAA,CAAAwE,SAAA,IAAAvE,MAAA,CAAAsE,cAAA,CAAAvE,CAAA,MAAAsD,eAAA,CAAAtD,CAAA;AAAA,SAAAyE,UAAAzE,CAAA,EAAAJ,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAA+B,SAAA,wDAAA3B,CAAA,CAAA8C,SAAA,GAAA7C,MAAA,CAAAyE,MAAA,CAAA9E,CAAA,IAAAA,CAAA,CAAAkD,SAAA,IAAAb,WAAA,IAAAd,KAAA,EAAAnB,CAAA,EAAAqB,QAAA,MAAAD,YAAA,WAAAnB,MAAA,CAAAgB,cAAA,CAAAjB,CAAA,iBAAAqB,QAAA,SAAAzB,CAAA,IAAA+E,eAAA,CAAA3E,CAAA,EAAAJ,CAAA;AAAA,SAAA+E,gBAAA3E,CAAA,EAAAJ,CAAA,WAAA+E,eAAA,GAAA1E,MAAA,CAAAqE,cAAA,GAAArE,MAAA,CAAAqE,cAAA,CAAAH,IAAA,eAAAnE,CAAA,EAAAJ,CAAA,WAAAI,CAAA,CAAAwE,SAAA,GAAA5E,CAAA,EAAAI,CAAA,KAAA2E,eAAA,CAAA3E,CAAA,EAAAJ,CAAA;AAAA,IAEhCgF,eAAe,0BAAAC,OAAA;EACjB,SAAAD,gBAAYE,OAAO,EAAE;IAAA,IAAAC,KAAA;IAAArC,eAAA,OAAAkC,eAAA;IACjBG,KAAA,GAAA1B,UAAA,OAAAuB,eAAA,GAAME,OAAO;IACbC,KAAA,CAAKC,cAAc,GAAGF,OAAO,CAACG,aAAa;IAAC,OAAAF,KAAA;EAChD;EAACN,SAAA,CAAAG,eAAA,EAAAC,OAAA;EAAA,OAAAhC,YAAA,CAAA+B,eAAA;IAAAhC,GAAA;IAAAzB,KAAA,EAED,SAAA+D,eAAeA,CAACC,GAAG,EAAE;MACjB,IACI,IAAI,CAACH,cAAc,IACnB,IAAI,CAACA,cAAc,CAACI,oBAAoB,IACxC,CAAC,IAAI,CAACJ,cAAc,CAACI,oBAAoB,CAACD,GAAG,CAACE,UAAU,CAAC,EAC3D;QACEF,GAAG,CAACE,UAAU,GAAG,IAAI,CAACL,cAAc,CAACM,eAAe,CAACH,GAAG,CAACE,UAAU,CAAC;MACxE;MACAtB,aAAA,CAAAa,eAAA,+BAAsBO,GAAG;IAC7B;EAAC;AAAA,EAfyBI,mBAAM;AAAA,IAiB9BC,aAAa,0BAAAC,KAAA;EACf,SAAAD,cAAYV,OAAO,EAAE;IAAA,IAAAY,MAAA;IAAAhD,eAAA,OAAA8C,aAAA;IACjBE,MAAA,GAAArC,UAAA,OAAAmC,aAAA,GAAMV,OAAO;IACbY,MAAA,CAAKV,cAAc,GAAGF,OAAO,CAACG,aAAa;IAAC,OAAAS,MAAA;EAChD;EAACjB,SAAA,CAAAe,aAAA,EAAAC,KAAA;EAAA,OAAA5C,YAAA,CAAA2C,aAAA;IAAA5C,GAAA;IAAAzB,KAAA,EAED,SAAAwE,kBAAkBA,CAACR,GAAG,EAAE;MACpB,IACI,IAAI,CAACH,cAAc,IACnB,IAAI,CAACA,cAAc,CAACI,oBAAoB,IACxC,CAAC,IAAI,CAACJ,cAAc,CAACI,oBAAoB,CAACD,GAAG,CAACE,UAAU,CAAC,EAC3D;QACEF,GAAG,CAACE,UAAU,GAAG,IAAI,CAACL,cAAc,CAACM,eAAe,CAACH,GAAG,CAACE,UAAU,CAAC;MACxE;MACAtB,aAAA,CAAAyB,aAAA,kCAAyBL,GAAG;IAChC;EAAC;AAAA,EAfuBS,iBAAI;AAkBzB,IAAMC,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,SAAZA,SAASA,CAAIE,OAAO,EAAEC,KAAK,EAAK;EACzC,IAAIC,MAAM,GAAG,EAAE;EAEf,IAAIC,MAAM,GAAG,CACT,IAAIC,aAAK,CAAC;IACNC,IAAI,EAAE,IAAIC,YAAI,CAAC;MACXC,KAAK,EAAE;IACX,CAAC,CAAC;IACFC,MAAM,EAAE,IAAIC,cAAM,CAAC;MACfF,KAAK,EAAE,SAAS;MAChBG,KAAK,EAAE;IACX,CAAC,CAAC;IACFC,KAAK,EAAE,IAAIC,cAAW,CAAC;MACnBC,MAAM,EAAE,CAAC;MACTR,IAAI,EAAE,IAAIC,YAAI,CAAC;QACXC,KAAK,EAAE;MACX,CAAC;IACL,CAAC;EACL,CAAC,CAAC,CACL;EAED,IAAIN,KAAK,EAAE;IAAA,IAAAa,OAAA;IACP,IAAI,OAAOb,KAAK,KAAK,UAAU,EAAE;MAC7BC,MAAM,GAAGD,KAAK,CAACD,OAAO,CAAC;IAC3B;IACA,IAAI5D,KAAK,CAACK,OAAO,CAACyD,MAAM,CAAC,KAAAY,OAAA,GAAIZ,MAAM,cAAAY,OAAA,eAANA,OAAA,CAAQjG,MAAM,EAAEsF,MAAM,CAAC1F,IAAI,CAAAC,KAAA,CAAXyF,MAAM,EAAA5E,kBAAA,CAAS2E,MAAM,EAAC;EACvE;EACA,OAAOC,MAAM;AACjB,CAAC;AAAC,IAAAY,QAAA,GAAAhB,OAAA;EAEE,SAAAgB,SAAYC,KAAK,EAAEC,QAAQ,EAAE;IAAA,IAAAC,MAAA;IAAAvE,eAAA,OAAAoE,QAAA;IAAAhG,eAAA,qBAkFhB,YAAM;MACf,IAAMd,CAAC,GAAGiH,MAAI;MACd,IAAMC,MAAM,GAAG,IAAItC,eAAe,CAAC;QAC/BuC,MAAM,EAAEF,MAAI,CAACE,MAAM;QACnBlC,aAAa,EAAEgC,MAAI,CAAChC;MACxB,CAAC,CAAC;MACFgC,MAAI,CAACG,GAAG,CAACC,cAAc,CAACH,MAAM,CAAC;MAC/BA,MAAM,CAACI,EAAE,CAAC,WAAW,EAAE,UAAAC,KAAK,EAAI;QAC5B,IAAIC,QAAQ,GAAGD,KAAK,CAACC,QAAQ;QAC7B,IAAIzB,OAAO,GAAGyB,QAAQ,CAACC,IAAI,CAACD,QAAQ,CAACE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;QACrDT,MAAI,CAACU,WAAW,GAAG5B,OAAO;QAC1B,IAAI6B,QAAQ,GAAG7B,OAAO,CAAC8B,KAAK,CAAC,CAAC;QAC9B7H,CAAC,CAACgH,QAAQ,IAAIhH,CAAC,CAACgH,QAAQ,CAACY,QAAQ,CAAC;MACtC,CAAC,CAAC;IACN,CAAC;IA/FG,IAAAE,qBAAA,GAAqEf,KAAK,CAAlEgB,cAAc;MAAdA,cAAc,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;MAAE9B,OAAK,GAAiCe,KAAK,CAA3Cf,KAAK;MAAEgC,WAAW,GAAoBjB,KAAK,CAApCiB,WAAW;MAAE/C,aAAa,GAAK8B,KAAK,CAAvB9B,aAAa;IAEhE,IAAI,CAACmC,GAAG,GAAGL,KAAK,CAACK,GAAG;IACpB,IAAI,CAACa,QAAQ,GAAGlB,KAAK,CAACkB,QAAQ;IAC9B,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACP,WAAW,GAAG,IAAI;IACvB,IAAI,CAACQ,SAAS,GAAGpB,KAAK,CAACoB,SAAS;IAChC,IAAI,CAACC,QAAQ,GAAGrB,KAAK,CAACqB,QAAQ;IAC9B,IAAI,CAACpB,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACe,cAAc,GAAGA,cAAc,CAAC,CAAC;IACtC,IAAI,CAAC9C,aAAa,GAAGA,aAAa,CAAC,CAAC;IACpC,IAAI,CAACe,KAAK,GAAGA,OAAK;IAClB,IAAI,CAACmB,MAAM,GAAG,IAAIkB,cAAY,CAAC,CAAC;IAEhC,IAAI,CAACC,KAAK,GAAG,IAAIC,aAAW,CAAC;MACzBpB,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBqB,MAAM,EAAEzB,KAAK,CAACyB,MAAM,IAAI,EAAE;MAC1BxC,KAAK,EAAE,SAAPA,KAAKA,CAAYD,OAAO,EAAE;QACtB,OAAOF,SAAS,CAACE,OAAO,EAAEC,OAAK,CAAC;MACpC;IACJ,CAAC,CAAC;IAEF,IAAI,CAACoB,GAAG,CAACqB,QAAQ,CAAC,IAAI,CAACH,KAAK,CAAC;IAC7B,IAAI,CAACvB,KAAK,CAAC2B,QAAQ,EAAE;MACjB,IAAI,CAACC,UAAU,CAAC,CAAC;IACrB;EACJ;;EAEA;AACJ;AACA;AACA;AACA;EAJI,OAAA9F,YAAA,CAAAiE,QAAA;IAAAlE,GAAA;IAAAzB,KAAA,EAKA,SAAAyH,IAAIA,CAACR,QAAQ,EAAyC;MAAA,IAAAS,MAAA;MAAA,IAAvC7B,QAAQ,GAAArG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmI,SAAA,GAAAnI,SAAA,MAAG,IAAI,CAACqG,QAAQ;MAAA,IAAEgB,WAAW,GAAArH,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAmI,SAAA;MAChD,IAAM9I,CAAC,GAAG,IAAI;MACd,IAAIoI,QAAQ,EAAE;QACV,IAAMF,QAAQ,GAAG,IAAI1C,aAAa,CAAA9E,aAAA,CAAAA,aAAA;UAC9BqI,IAAI,EAAEX,QAAQ;UACdD,SAAS,EAAE,IAAI,CAACA,SAAS;UACzBlD,aAAa,EAAE,IAAI,CAACA,aAAa;UACjCe,KAAK,EAAE,SAAPA,KAAKA,CAAYD,OAAO,EAAE;YACtB,OAAOF,SAAS,CAACE,OAAO,EAAE/F,CAAC,CAACgG,KAAK,CAAC;UACtC;QAAC,GACGoC,QAAQ,KAAK,SAAS,GACpB;UACEW,IAAI,EAAE,QAAQ;UACdC,gBAAgB,EAAE,IAAAC,gBAAS,EAAC;QAChC,CAAC,GACC,CAAC,CAAC,GACJb,QAAQ,KAAK,QAAQ,GACnB;UACEW,IAAI,EAAE;QACV,CAAC,GACC,CAAC,CAAC,CACX,CAAC;QACFb,QAAQ,CAACZ,EAAE,CAAC,WAAW,EAAE,YAAM;UAC3BuB,MAAI,CAACX,QAAQ,CAACgB,SAAS,CAAC,IAAI,CAAC;UAC7BL,MAAI,CAACzB,GAAG,CAAC+B,OAAO,CAACN,MAAI,CAACZ,QAAQ,CAACmB,eAAe,CAAC;UAC/CP,MAAI,CAACQ,aAAa,CAAC,CAAC;UACpBR,MAAI,CAACS,UAAU,IAAIT,MAAI,CAACS,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC;QACFpB,QAAQ,CAACZ,EAAE,CAAC,SAAS,EAAE,UAAAC,KAAK,EAAI;UAC5BsB,MAAI,CAACzB,GAAG,CAAC+B,OAAO,CAACN,MAAI,CAACZ,QAAQ,CAACsB,gBAAgB,CAAC;UAChD,IAAIC,UAAU,GAAGX,MAAI,CAACP,KAAK,CAACmB,SAAS,CAAC,CAAC;UACvCZ,MAAI,CAAClB,WAAW,GAAGJ,KAAK,CAACxB,OAAO;UAChC,IAAI6B,QAAQ,GAAGL,KAAK,CAACxB,OAAO,CAAC8B,KAAK,CAAC,CAAC;UACpC,IAAIO,QAAQ,IAAI,QAAQ,EAAE;YACtBb,KAAK,CAACxB,OAAO,CAAC2D,QAAQ,CAAC,IAAIC,kBAAM,CAAC3B,WAAW,CAAC,CAAC;UACnD;UACAwB,UAAU,CAACI,UAAU,CAACrC,KAAK,CAACxB,OAAO,CAAC;UACpCiB,QAAQ,IAAIA,QAAQ,CAACY,QAAQ,CAAC;UAC9BiB,MAAI,CAACX,QAAQ,CAACgB,SAAS,CAAClJ,CAAC,CAAC+H,cAAc,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAACG,QAAQ,GAAGA,QAAQ;QAExB,IAAI,CAACd,GAAG,CAAC+B,OAAO,CAAC,IAAI,CAAClB,QAAQ,CAACsB,gBAAgB,CAAC;QAEhD,IAAI,CAACnC,GAAG,CAACC,cAAc,CAACa,QAAQ,CAAC;MACrC;IACJ;EAAC;IAAAtF,GAAA;IAAAzB,KAAA,EAkBD,SAAAkI,aAAaA,CAAA,EAAG;MACZ,IAAI,CAAClC,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC0C,KAAK,CAAC,CAAC;MAClC,IAAI,CAACzC,GAAG,CAAC0C,OAAO,CAAC,CAAC;IACtB;EAAC;IAAAlH,GAAA;IAAAzB,KAAA,EACD,SAAA4I,YAAYA,CAAChE,OAAO,EAAE;MAClB,IAAI,IAAI,CAACC,KAAK,EAAE;QACZD,OAAO,CAAC2D,QAAQ,CAAC7D,SAAS,CAACE,OAAO,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;MACpD;MACA;MACA,IAAI,CAACmB,MAAM,IAAI,IAAI,CAACA,MAAM,CAAC6C,WAAW,CAAC,CAACjE,OAAO,CAAC,CAAC;MACjD,IAAI,CAAC4B,WAAW,GAAG5B,OAAO;IAC9B;EAAC;IAAAnD,GAAA;IAAAzB,KAAA,EAED,SAAA8I,cAAcA,CAAA,EAAG;MACb,IAAI,CAAC7C,GAAG,CAAC8C,iBAAiB,CAAC,IAAI,CAAChC,QAAQ,CAAC;IAC7C;EAAC;IAAAtF,GAAA;IAAAzB,KAAA,EACD,SAAAgJ,OAAOA,CAAA,EAAG;MACN,IAAI,CAAC/C,GAAG,CAACgD,WAAW,CAAC,IAAI,CAAC9B,KAAK,CAAC;MAChC,IAAI,CAAC2B,cAAc,CAAC,CAAC;MACrB,IAAI,CAAC/B,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACgB,SAAS,CAAC,KAAK,CAAC;MAC/C,IAAI,CAAC9B,GAAG,CAAC0C,OAAO,CAAC,CAAC;IACtB;EAAC;AAAA","ignoreList":[]}