react-native-map4d-map-dtqg 0.1.3 → 0.1.5

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 (321) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +191 -133
  3. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  4. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  5. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.9/gc.properties +0 -0
  8. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  9. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  10. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  11. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  12. package/android/.gradle/9.2.0/gc.properties +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  15. package/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/android/build.gradle +60 -60
  17. package/android/src/main/AndroidManifest.xml +4 -4
  18. package/android/src/main/java/com/reactnativemap4dmap/ImageUtils.java +87 -87
  19. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapModule.java +310 -298
  20. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapPackage.java +35 -35
  21. package/android/src/main/java/com/reactnativemap4dmap/Map4dMapViewManager.java +31 -31
  22. package/android/src/main/java/com/reactnativemap4dmap/RMFBuilding.java +167 -167
  23. package/android/src/main/java/com/reactnativemap4dmap/RMFBuildingManager.java +121 -121
  24. package/android/src/main/java/com/reactnativemap4dmap/RMFCircle.java +105 -105
  25. package/android/src/main/java/com/reactnativemap4dmap/RMFCircleManager.java +121 -121
  26. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRenderer.java +502 -502
  27. package/android/src/main/java/com/reactnativemap4dmap/RMFDirectionsRendererManager.java +143 -143
  28. package/android/src/main/java/com/reactnativemap4dmap/RMFFeature.java +17 -17
  29. package/android/src/main/java/com/reactnativemap4dmap/RMFMapView.java +1172 -1172
  30. package/android/src/main/java/com/reactnativemap4dmap/RMFMapViewManager.java +231 -231
  31. package/android/src/main/java/com/reactnativemap4dmap/RMFMarker.java +412 -412
  32. package/android/src/main/java/com/reactnativemap4dmap/RMFMarkerManager.java +211 -211
  33. package/android/src/main/java/com/reactnativemap4dmap/RMFPOI.java +222 -222
  34. package/android/src/main/java/com/reactnativemap4dmap/RMFPOIManager.java +119 -119
  35. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygon.java +172 -172
  36. package/android/src/main/java/com/reactnativemap4dmap/RMFPolygonManager.java +147 -147
  37. package/android/src/main/java/com/reactnativemap4dmap/RMFPolyline.java +146 -146
  38. package/android/src/main/java/com/reactnativemap4dmap/RMFPolylineManager.java +137 -137
  39. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlay.java +95 -95
  40. package/android/src/main/java/com/reactnativemap4dmap/RMFTileOverlayManager.java +64 -64
  41. package/android/src/main/java/com/reactnativemap4dmap/SizeReportingShadowNode.java +31 -31
  42. package/android/src/main/java/com/reactnativemap4dmap/ViewAttacherGroup.java +31 -31
  43. package/android/src/main/java/com/reactnativemap4dmap/ViewChangesTracker.java +70 -70
  44. package/android/src/main/java/vn/map4d/map/annotations/RMFBitmapDescriptor.java +9 -9
  45. package/ios/Map4dMap.h +16 -7
  46. package/ios/Map4dMap.m +119 -14
  47. package/ios/Map4dMapTurbo.mm +16 -0
  48. package/ios/RCTConvert+Map4dMap.h +33 -33
  49. package/ios/RCTConvert+Map4dMap.m +112 -112
  50. package/ios/RMFCircle.h +37 -37
  51. package/ios/RMFCircle.m +100 -100
  52. package/ios/RMFCircleManager.h +18 -18
  53. package/ios/RMFCircleManager.m +127 -155
  54. package/ios/RMFCircleMap4d.h +23 -23
  55. package/ios/RMFCircleMap4d.m +13 -13
  56. package/ios/RMFCoordinate.h +22 -22
  57. package/ios/RMFCoordinate.m +13 -13
  58. package/ios/RMFDirectionsMarkerOptions.h +24 -24
  59. package/ios/RMFDirectionsMarkerOptions.m +23 -23
  60. package/ios/RMFDirectionsRenderer.h +47 -47
  61. package/ios/RMFDirectionsRenderer.m +182 -182
  62. package/ios/RMFDirectionsRendererManager.h +17 -17
  63. package/ios/RMFDirectionsRendererManager.m +86 -84
  64. package/ios/RMFDirectionsRendererMap4d.h +21 -21
  65. package/ios/RMFDirectionsRendererMap4d.m +12 -12
  66. package/ios/RMFDummyView.h +6 -6
  67. package/ios/RMFDummyView.m +12 -12
  68. package/ios/RMFEventResponse.h +39 -39
  69. package/ios/RMFEventResponse.m +98 -98
  70. package/ios/RMFIcon.h +24 -24
  71. package/ios/RMFIcon.m +35 -35
  72. package/ios/RMFMapView.h +84 -84
  73. package/ios/RMFMapView.m +376 -376
  74. package/ios/RMFMapViewManager.h +17 -17
  75. package/ios/RMFMapViewManager.m +424 -509
  76. package/ios/RMFMarker.h +57 -57
  77. package/ios/RMFMarker.m +267 -267
  78. package/ios/RMFMarkerManager.h +17 -17
  79. package/ios/RMFMarkerManager.m +128 -156
  80. package/ios/RMFMarkerMap4d.h +19 -19
  81. package/ios/RMFMarkerMap4d.m +13 -13
  82. package/ios/RMFPOI.h +38 -38
  83. package/ios/RMFPOI.m +123 -123
  84. package/ios/RMFPOIManager.h +18 -18
  85. package/ios/RMFPOIManager.m +134 -168
  86. package/ios/RMFPOIMap4d.h +22 -22
  87. package/ios/RMFPOIMap4d.m +12 -12
  88. package/ios/RMFPolygon.h +41 -41
  89. package/ios/RMFPolygon.m +106 -106
  90. package/ios/RMFPolygonManager.h +18 -18
  91. package/ios/RMFPolygonManager.m +119 -141
  92. package/ios/RMFPolygonMap4d.h +23 -23
  93. package/ios/RMFPolygonMap4d.m +15 -15
  94. package/ios/RMFPolyline.h +38 -38
  95. package/ios/RMFPolyline.m +101 -101
  96. package/ios/RMFPolylineManager.h +18 -18
  97. package/ios/RMFPolylineManager.m +117 -139
  98. package/ios/RMFPolylineMap4d.h +22 -22
  99. package/ios/RMFPolylineMap4d.m +15 -15
  100. package/ios/building/RMFBuilding.h +41 -41
  101. package/ios/building/RMFBuilding.m +104 -104
  102. package/ios/building/RMFBuildingManager.h +19 -19
  103. package/ios/building/RMFBuildingManager.m +105 -133
  104. package/ios/building/RMFBuildingMap4d.h +23 -23
  105. package/ios/building/RMFBuildingMap4d.m +15 -15
  106. package/ios/overlays/RMFTileOverlay.h +36 -36
  107. package/ios/overlays/RMFTileOverlay.m +64 -64
  108. package/ios/overlays/RMFTileOverlayManager.h +17 -17
  109. package/ios/overlays/RMFTileOverlayManager.m +27 -27
  110. package/lib/commonjs/components/MFBanDoSo/constants.js +27 -0
  111. package/lib/commonjs/components/MFBanDoSo/constants.js.map +1 -0
  112. package/lib/commonjs/components/MFBanDoSo/helpers.js +200 -0
  113. package/lib/commonjs/components/MFBanDoSo/helpers.js.map +1 -0
  114. package/lib/commonjs/components/MFBanDoSo/propTypes.js +18 -0
  115. package/lib/commonjs/components/MFBanDoSo/propTypes.js.map +1 -0
  116. package/lib/commonjs/components/MFBanDoSo/styles.js +328 -0
  117. package/lib/commonjs/components/MFBanDoSo/styles.js.map +1 -0
  118. package/lib/commonjs/components/MFBanDoSo/ui.js +220 -0
  119. package/lib/commonjs/components/MFBanDoSo/ui.js.map +1 -0
  120. package/lib/commonjs/components/MFBanDoSo.js +190 -73
  121. package/lib/commonjs/components/MFBanDoSo.js.map +1 -1
  122. package/lib/commonjs/components/MFBuilding.js +41 -98
  123. package/lib/commonjs/components/MFBuilding.js.map +1 -1
  124. package/lib/commonjs/components/MFCircle.js +40 -90
  125. package/lib/commonjs/components/MFCircle.js.map +1 -1
  126. package/lib/commonjs/components/MFDirectionsRenderer.js +47 -107
  127. package/lib/commonjs/components/MFDirectionsRenderer.js.map +1 -1
  128. package/lib/commonjs/components/MFMapView.js +119 -199
  129. package/lib/commonjs/components/MFMapView.js.map +1 -1
  130. package/lib/commonjs/components/MFMarker.js +50 -118
  131. package/lib/commonjs/components/MFMarker.js.map +1 -1
  132. package/lib/commonjs/components/MFPOI.js +37 -94
  133. package/lib/commonjs/components/MFPOI.js.map +1 -1
  134. package/lib/commonjs/components/MFPolygon.js +37 -91
  135. package/lib/commonjs/components/MFPolygon.js.map +1 -1
  136. package/lib/commonjs/components/MFPolyline.js +35 -87
  137. package/lib/commonjs/components/MFPolyline.js.map +1 -1
  138. package/lib/commonjs/components/MFTileOverlay.js +16 -24
  139. package/lib/commonjs/components/MFTileOverlay.js.map +1 -1
  140. package/lib/commonjs/components/Map4dMapView.js +1 -4
  141. package/lib/commonjs/components/Map4dMapView.js.map +1 -1
  142. package/lib/commonjs/components/extends/AreaFocusManager.js +20 -54
  143. package/lib/commonjs/components/extends/AreaFocusManager.js.map +1 -1
  144. package/lib/commonjs/components/extends/AreaFocuser.js +3 -19
  145. package/lib/commonjs/components/extends/AreaFocuser.js.map +1 -1
  146. package/lib/commonjs/components/extends/BoundHelper.js +0 -6
  147. package/lib/commonjs/components/extends/BoundHelper.js.map +1 -1
  148. package/lib/commonjs/components/extends/area/AreaFocusAreas.js +0 -37
  149. package/lib/commonjs/components/extends/area/AreaFocusAreas.js.map +1 -1
  150. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js +1 -35
  151. package/lib/commonjs/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  152. package/lib/commonjs/components/extends/area/AreaFocusSession.js +0 -18
  153. package/lib/commonjs/components/extends/area/AreaFocusSession.js.map +1 -1
  154. package/lib/commonjs/components/extends/area/AreaFocusTypes.js +20 -21
  155. package/lib/commonjs/components/extends/area/AreaFocusTypes.js.map +1 -1
  156. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js +1 -2
  157. package/lib/commonjs/components/internal/DefaultRoadmapStyle.js.map +1 -1
  158. package/lib/commonjs/components/internal/GeojsonStyleUtils.js +20 -31
  159. package/lib/commonjs/components/internal/GeojsonStyleUtils.js.map +1 -1
  160. package/lib/commonjs/index.js +0 -11
  161. package/lib/commonjs/index.js.map +1 -1
  162. package/lib/commonjs/native/Map4dMapNativeModule.js +10 -0
  163. package/lib/commonjs/native/Map4dMapNativeModule.js.map +1 -0
  164. package/lib/commonjs/native/NativeModuleResolver.js +35 -0
  165. package/lib/commonjs/native/NativeModuleResolver.js.map +1 -0
  166. package/lib/commonjs/native/ViewManagerCommand.js +67 -0
  167. package/lib/commonjs/native/ViewManagerCommand.js.map +1 -0
  168. package/lib/commonjs/package.json +1 -0
  169. package/lib/commonjs/specs/NativeMap4dMap.js +9 -0
  170. package/lib/commonjs/specs/NativeMap4dMap.js.map +1 -0
  171. package/lib/module/components/MFBanDoSo/constants.js +22 -0
  172. package/lib/module/components/MFBanDoSo/constants.js.map +1 -0
  173. package/lib/module/components/MFBanDoSo/helpers.js +188 -0
  174. package/lib/module/components/MFBanDoSo/helpers.js.map +1 -0
  175. package/lib/module/components/MFBanDoSo/propTypes.js +14 -0
  176. package/lib/module/components/MFBanDoSo/propTypes.js.map +1 -0
  177. package/lib/module/components/MFBanDoSo/styles.js +325 -0
  178. package/lib/module/components/MFBanDoSo/styles.js.map +1 -0
  179. package/lib/module/components/MFBanDoSo/ui.js +213 -0
  180. package/lib/module/components/MFBanDoSo/ui.js.map +1 -0
  181. package/lib/module/components/MFBanDoSo.js +192 -63
  182. package/lib/module/components/MFBanDoSo.js.map +1 -1
  183. package/lib/module/components/MFBuilding.js +43 -90
  184. package/lib/module/components/MFBuilding.js.map +1 -1
  185. package/lib/module/components/MFCircle.js +42 -82
  186. package/lib/module/components/MFCircle.js.map +1 -1
  187. package/lib/module/components/MFDirectionsRenderer.js +48 -99
  188. package/lib/module/components/MFDirectionsRenderer.js.map +1 -1
  189. package/lib/module/components/MFMapView.js +120 -188
  190. package/lib/module/components/MFMapView.js.map +1 -1
  191. package/lib/module/components/MFMarker.js +52 -109
  192. package/lib/module/components/MFMarker.js.map +1 -1
  193. package/lib/module/components/MFPOI.js +39 -86
  194. package/lib/module/components/MFPOI.js.map +1 -1
  195. package/lib/module/components/MFPolygon.js +39 -83
  196. package/lib/module/components/MFPolygon.js.map +1 -1
  197. package/lib/module/components/MFPolyline.js +37 -79
  198. package/lib/module/components/MFPolyline.js.map +1 -1
  199. package/lib/module/components/MFTileOverlay.js +19 -18
  200. package/lib/module/components/MFTileOverlay.js.map +1 -1
  201. package/lib/module/components/Map4dMapView.js +2 -0
  202. package/lib/module/components/Map4dMapView.js.map +1 -1
  203. package/lib/module/components/extends/AreaFocusManager.js +22 -48
  204. package/lib/module/components/extends/AreaFocusManager.js.map +1 -1
  205. package/lib/module/components/extends/AreaFocuser.js +5 -17
  206. package/lib/module/components/extends/AreaFocuser.js.map +1 -1
  207. package/lib/module/components/extends/BoundHelper.js +2 -5
  208. package/lib/module/components/extends/BoundHelper.js.map +1 -1
  209. package/lib/module/components/extends/area/AreaFocusAreas.js +2 -33
  210. package/lib/module/components/extends/area/AreaFocusAreas.js.map +1 -1
  211. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js +2 -32
  212. package/lib/module/components/extends/area/AreaFocusGeometryUtils.js.map +1 -1
  213. package/lib/module/components/extends/area/AreaFocusSession.js +2 -17
  214. package/lib/module/components/extends/area/AreaFocusSession.js.map +1 -1
  215. package/lib/module/components/extends/area/AreaFocusTypes.js +21 -18
  216. package/lib/module/components/extends/area/AreaFocusTypes.js.map +1 -1
  217. package/lib/module/components/internal/DefaultRoadmapStyle.js +2 -0
  218. package/lib/module/components/internal/DefaultRoadmapStyle.js.map +1 -1
  219. package/lib/module/components/internal/GeojsonStyleUtils.js +21 -28
  220. package/lib/module/components/internal/GeojsonStyleUtils.js.map +1 -1
  221. package/lib/module/index.js +2 -0
  222. package/lib/module/index.js.map +1 -1
  223. package/lib/module/native/Map4dMapNativeModule.js +5 -0
  224. package/lib/module/native/Map4dMapNativeModule.js.map +1 -0
  225. package/lib/module/native/NativeModuleResolver.js +29 -0
  226. package/lib/module/native/NativeModuleResolver.js.map +1 -0
  227. package/lib/module/native/ViewManagerCommand.js +61 -0
  228. package/lib/module/native/ViewManagerCommand.js.map +1 -0
  229. package/lib/module/specs/NativeMap4dMap.js +5 -0
  230. package/lib/module/specs/NativeMap4dMap.js.map +1 -0
  231. package/lib/typescript/components/MFBanDoSo/constants.d.ts +8 -0
  232. package/lib/typescript/components/MFBanDoSo/constants.d.ts.map +1 -0
  233. package/lib/typescript/components/MFBanDoSo/helpers.d.ts +14 -0
  234. package/lib/typescript/components/MFBanDoSo/helpers.d.ts.map +1 -0
  235. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts +2 -0
  236. package/lib/typescript/components/MFBanDoSo/propTypes.d.ts.map +1 -0
  237. package/lib/typescript/components/MFBanDoSo/styles.d.ts +462 -0
  238. package/lib/typescript/components/MFBanDoSo/styles.d.ts.map +1 -0
  239. package/lib/typescript/components/MFBanDoSo/ui.d.ts +30 -0
  240. package/lib/typescript/components/MFBanDoSo/ui.d.ts.map +1 -0
  241. package/lib/typescript/components/MFBanDoSo.d.ts +37 -0
  242. package/lib/typescript/components/MFBanDoSo.d.ts.map +1 -0
  243. package/lib/typescript/components/MFBuilding.d.ts +24 -0
  244. package/lib/typescript/components/MFBuilding.d.ts.map +1 -0
  245. package/lib/typescript/components/MFCircle.d.ts +24 -0
  246. package/lib/typescript/components/MFCircle.d.ts.map +1 -0
  247. package/lib/typescript/components/MFDirectionsRenderer.d.ts +19 -0
  248. package/lib/typescript/components/MFDirectionsRenderer.d.ts.map +1 -0
  249. package/lib/typescript/components/MFMapView.d.ts +66 -0
  250. package/lib/typescript/components/MFMapView.d.ts.map +1 -0
  251. package/lib/typescript/components/MFMarker.d.ts +26 -0
  252. package/lib/typescript/components/MFMarker.d.ts.map +1 -0
  253. package/lib/typescript/components/MFPOI.d.ts +24 -0
  254. package/lib/typescript/components/MFPOI.d.ts.map +1 -0
  255. package/lib/typescript/components/MFPolygon.d.ts +24 -0
  256. package/lib/typescript/components/MFPolygon.d.ts.map +1 -0
  257. package/lib/typescript/components/MFPolyline.d.ts +24 -0
  258. package/lib/typescript/components/MFPolyline.d.ts.map +1 -0
  259. package/lib/typescript/components/MFTileOverlay.d.ts +12 -0
  260. package/lib/typescript/components/MFTileOverlay.d.ts.map +1 -0
  261. package/lib/typescript/components/Map4dMapView.d.ts +2 -1
  262. package/lib/typescript/components/Map4dMapView.d.ts.map +1 -0
  263. package/lib/typescript/components/extends/AreaFocusManager.d.ts +34 -0
  264. package/lib/typescript/components/extends/AreaFocusManager.d.ts.map +1 -0
  265. package/lib/typescript/components/extends/AreaFocuser.d.ts +15 -0
  266. package/lib/typescript/components/extends/AreaFocuser.d.ts.map +1 -0
  267. package/lib/typescript/components/extends/BoundHelper.d.ts +11 -0
  268. package/lib/typescript/components/extends/BoundHelper.d.ts.map +1 -0
  269. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts +58 -0
  270. package/lib/typescript/components/extends/area/AreaFocusAreas.d.ts.map +1 -0
  271. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts +19 -0
  272. package/lib/typescript/components/extends/area/AreaFocusGeometryUtils.d.ts.map +1 -0
  273. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts +14 -0
  274. package/lib/typescript/components/extends/area/AreaFocusSession.d.ts.map +1 -0
  275. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts +40 -0
  276. package/lib/typescript/components/extends/area/AreaFocusTypes.d.ts.map +1 -0
  277. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts +820 -0
  278. package/lib/typescript/components/internal/DefaultRoadmapStyle.d.ts.map +1 -0
  279. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts +3 -0
  280. package/lib/typescript/components/internal/GeojsonStyleUtils.d.ts.map +1 -0
  281. package/lib/typescript/index.d.ts +13 -0
  282. package/lib/typescript/index.d.ts.map +1 -0
  283. package/lib/typescript/native/Map4dMapNativeModule.d.ts +2 -0
  284. package/lib/typescript/native/Map4dMapNativeModule.d.ts.map +1 -0
  285. package/lib/typescript/native/NativeModuleResolver.d.ts +3 -0
  286. package/lib/typescript/native/NativeModuleResolver.d.ts.map +1 -0
  287. package/lib/typescript/native/ViewManagerCommand.d.ts +11 -0
  288. package/lib/typescript/native/ViewManagerCommand.d.ts.map +1 -0
  289. package/package.json +168 -152
  290. package/react-native-map4d-map.podspec +20 -20
  291. package/src/components/MFBanDoSo/constants.js +32 -0
  292. package/src/components/MFBanDoSo/helpers.js +273 -0
  293. package/src/components/MFBanDoSo/propTypes.js +14 -0
  294. package/src/components/MFBanDoSo/styles.js +316 -0
  295. package/src/components/MFBanDoSo/ui.js +230 -0
  296. package/src/components/MFBanDoSo.js +314 -124
  297. package/src/components/MFBuilding.js +160 -187
  298. package/src/components/MFCircle.js +146 -173
  299. package/src/components/MFDirectionsRenderer.js +211 -237
  300. package/src/components/MFMapView.js +458 -464
  301. package/src/components/MFMarker.js +218 -246
  302. package/src/components/MFPOI.js +157 -184
  303. package/src/components/MFPolygon.js +159 -186
  304. package/src/components/MFPolyline.js +145 -172
  305. package/src/components/MFTileOverlay.js +45 -45
  306. package/src/components/Map4dMapView.tsx +26 -26
  307. package/src/components/extends/AreaFocusManager.js +196 -196
  308. package/src/components/extends/AreaFocuser.js +61 -61
  309. package/src/components/extends/BoundHelper.js +31 -31
  310. package/src/components/extends/area/AreaFocusAreas.js +164 -164
  311. package/src/components/extends/area/AreaFocusGeometryUtils.js +164 -164
  312. package/src/components/extends/area/AreaFocusSession.js +100 -100
  313. package/src/components/extends/area/AreaFocusTypes.js +36 -36
  314. package/src/components/internal/DefaultRoadmapStyle.js +3365 -3365
  315. package/src/components/internal/GeojsonStyleUtils.js +146 -143
  316. package/src/index.js +25 -25
  317. package/src/native/Map4dMapNativeModule.js +3 -0
  318. package/src/native/NativeModuleResolver.js +33 -0
  319. package/src/native/ViewManagerCommand.js +82 -0
  320. package/src/specs/NativeMap4dMap.js +12 -0
  321. package/ios/Map4dMapViewManager.m +0 -34
@@ -1,25 +1,28 @@
1
+ "use strict";
2
+
1
3
  import { AreaFocusSession } from './area/AreaFocusSession';
2
4
  import { ProvinceArea, IndustrialEconomicArea } from './area/AreaFocusAreas';
3
5
  import { IndustrialEconomicType } from './area/AreaFocusTypes';
4
- /**
5
- * @typedef {'normal' | 'highlight'} FocusDisplay
6
+
7
+ /**
8
+ * @typedef {'normal' | 'highlight'} FocusDisplay
6
9
  */
7
10
 
8
- /**
9
- * @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding
11
+ /**
12
+ * @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding
10
13
  */
11
14
 
12
- /**
13
- * @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType
15
+ /**
16
+ * @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType
14
17
  */
15
18
 
16
- /**
17
- * @typedef {Object} FocusOptions
18
- * @property {FocusType} type
19
- * @property {number=} id
20
- * @property {string=} name
21
- * @property {FocusDisplay=} display
22
- * @property {FocusPadding=} padding
19
+ /**
20
+ * @typedef {Object} FocusOptions
21
+ * @property {FocusType} type
22
+ * @property {number=} id
23
+ * @property {string=} name
24
+ * @property {FocusDisplay=} display
25
+ * @property {FocusPadding=} padding
23
26
  */
24
27
 
25
28
  const VIETNAM_MAINLAND_BOUNDS = {
@@ -41,25 +44,20 @@ export class AreaFocusManager {
41
44
  this.mapView = mapView;
42
45
  this.currentSession = null;
43
46
  }
44
-
45
47
  async _focusArea(area, options) {
46
48
  this.clear();
47
-
48
49
  if (!area) {
49
50
  return null;
50
51
  }
51
-
52
52
  try {
53
53
  if (!(await area.load())) {
54
54
  return null;
55
55
  }
56
-
57
- const focusOptions = { ...(options || {})
56
+ const focusOptions = {
57
+ ...(options || {})
58
58
  };
59
59
  const bounds = area.getBounds() || VIETNAM_MAINLAND_BOUNDS;
60
-
61
60
  this._fitBounds(bounds, focusOptions);
62
-
63
61
  this.currentSession = new AreaFocusSession(this.mapView, area, focusOptions);
64
62
  this.currentSession.render();
65
63
  return this.currentSession;
@@ -68,17 +66,13 @@ export class AreaFocusManager {
68
66
  return null;
69
67
  }
70
68
  }
71
-
72
69
  async _focusProvince(options) {
73
70
  const provinceId = this._getProvinceId(options);
74
-
75
71
  const provinceName = this._getProvinceName(options);
76
-
77
72
  if (provinceId == null && !provinceName) {
78
73
  this.clear();
79
74
  return null;
80
75
  }
81
-
82
76
  const area = provinceId != null ? new ProvinceArea(provinceId) : ProvinceArea.fromName(provinceName);
83
77
  const display = options && options.display === 'highlight' ? 'highlight' : 'normal';
84
78
  return this._focusArea(area, {
@@ -86,66 +80,54 @@ export class AreaFocusManager {
86
80
  padding: options ? options.padding : undefined
87
81
  });
88
82
  }
89
- /**
90
- * @param {FocusOptions | null | undefined} focusOptions
91
- * @returns {Promise<AreaFocusSession | null>}
92
- */
93
-
94
83
 
84
+ /**
85
+ * @param {FocusOptions | null | undefined} focusOptions
86
+ * @returns {Promise<AreaFocusSession | null>}
87
+ */
95
88
  async focus(focusOptions) {
96
89
  if (focusOptions == null) {
97
90
  this.clear();
98
91
  return null;
99
92
  }
100
-
101
93
  if (focusOptions.type === 'province') {
102
94
  return this._focusProvince(focusOptions);
103
95
  }
104
-
105
96
  if (focusOptions.id == null) {
106
97
  console.warn('Focus options must include an id for non-province types:', focusOptions);
107
98
  this.clear();
108
99
  return null;
109
100
  }
110
-
111
101
  const industrialEconomicType = this._getIndustrialEconomicType(focusOptions.type);
112
-
113
102
  if (industrialEconomicType != null) {
114
103
  return this._focusArea(new IndustrialEconomicArea(industrialEconomicType, focusOptions.id), {
115
104
  display: focusOptions.display,
116
105
  padding: focusOptions.padding
117
106
  });
118
107
  }
119
-
120
108
  console.warn('Unsupported focus type:', focusOptions.type);
121
109
  return null;
122
110
  }
123
-
124
111
  _getIndustrialEconomicType(type) {
125
112
  if (typeof type === 'number') {
126
113
  const values = Object.values(IndustrialEconomicType);
127
114
  return values.includes(type) ? type : null;
128
115
  }
129
-
130
116
  if (typeof type !== 'string') {
131
117
  return null;
132
118
  }
133
-
134
119
  return FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE[type] || null;
135
120
  }
136
-
137
121
  clear() {
138
122
  if (this.currentSession) {
139
123
  this.currentSession.destroy();
140
124
  this.currentSession = null;
141
125
  }
142
126
  }
143
-
144
127
  _fitBounds(bounds, options) {
145
128
  if (!this.mapView || typeof this.mapView.fitBounds !== 'function' || !bounds) {
146
129
  return;
147
130
  }
148
-
149
131
  this.mapView.fitBounds({
150
132
  bounds: {
151
133
  southWest: {
@@ -160,34 +142,26 @@ export class AreaFocusManager {
160
142
  padding: options ? options.padding : undefined
161
143
  });
162
144
  }
163
-
164
145
  _getProvinceName(options) {
165
146
  if (options == null || typeof options !== 'object') {
166
147
  return null;
167
148
  }
168
-
169
149
  if (typeof options.name === 'string') {
170
150
  const name = options.name.trim();
171
151
  return name.length > 0 ? name : null;
172
152
  }
173
-
174
153
  const optionKeys = Object.keys(options);
175
154
  const unsupportedKeys = optionKeys.filter(key => key !== 'type' && key !== 'id' && key !== 'name' && key !== 'display' && key !== 'padding');
176
-
177
155
  if (unsupportedKeys.length > 0) {
178
156
  console.warn(`[AreaFocusManager] focusProvince expects options like { type: 'province', name: 'Ha Noi', display: 'highlight' }. Unsupported keys: ${unsupportedKeys.join(', ')}`);
179
157
  }
180
-
181
158
  return null;
182
159
  }
183
-
184
160
  _getProvinceId(options) {
185
161
  if (options == null || typeof options !== 'object') {
186
162
  return null;
187
163
  }
188
-
189
164
  return typeof options.id === 'number' ? options.id : null;
190
165
  }
191
-
192
166
  }
193
167
  //# sourceMappingURL=AreaFocusManager.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AreaFocusSession","ProvinceArea","IndustrialEconomicArea","IndustrialEconomicType","VIETNAM_MAINLAND_BOUNDS","minLat","minLng","maxLat","maxLng","FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE","industrialZone","INDUSTRIAL_ZONE","economicZone","ECONOMIC_ZONE","ecoIndustrialZone","ECO_INDUSTRIAL_ZONE","freeTradeZone","FREE_TRADE_ZONE","nonTariffZone","NON_TARIFF_ZONE","otherZoneModel","OTHER_ZONE_MODEL","AreaFocusManager","constructor","mapView","currentSession","_focusArea","area","options","clear","load","focusOptions","bounds","getBounds","_fitBounds","render","error","console","_focusProvince","provinceId","_getProvinceId","provinceName","_getProvinceName","fromName","display","padding","undefined","focus","type","id","warn","industrialEconomicType","_getIndustrialEconomicType","values","Object","includes","destroy","fitBounds","southWest","latitude","longitude","northEast","name","trim","length","optionKeys","keys","unsupportedKeys","filter","key","join"],"sources":["AreaFocusManager.js"],"sourcesContent":["import {AreaFocusSession} from './area/AreaFocusSession'\nimport {ProvinceArea, IndustrialEconomicArea} from './area/AreaFocusAreas'\nimport {IndustrialEconomicType} from './area/AreaFocusTypes'\n\n/**\n * @typedef {'normal' | 'highlight'} FocusDisplay\n */\n\n/**\n * @typedef {{left?: number, right?: number, top?: number, bottom?: number}} FocusPadding\n */\n\n/**\n * @typedef {'province' | 'industrialZone' | 'economicZone' | 'ecoIndustrialZone' | 'freeTradeZone' | 'nonTariffZone' | 'otherZoneModel' | number} FocusType\n */\n\n/**\n * @typedef {Object} FocusOptions\n * @property {FocusType} type\n * @property {number=} id\n * @property {string=} name\n * @property {FocusDisplay=} display\n * @property {FocusPadding=} padding\n */\n\nconst VIETNAM_MAINLAND_BOUNDS = {\n minLat: 8.18,\n minLng: 102.14,\n maxLat: 23.4,\n maxLng: 109.47,\n}\n\nconst FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE = {\n industrialZone: IndustrialEconomicType.INDUSTRIAL_ZONE,\n economicZone: IndustrialEconomicType.ECONOMIC_ZONE,\n ecoIndustrialZone: IndustrialEconomicType.ECO_INDUSTRIAL_ZONE,\n freeTradeZone: IndustrialEconomicType.FREE_TRADE_ZONE,\n nonTariffZone: IndustrialEconomicType.NON_TARIFF_ZONE,\n otherZoneModel: IndustrialEconomicType.OTHER_ZONE_MODEL,\n}\n\nexport class AreaFocusManager {\n constructor(mapView) {\n this.mapView = mapView\n this.currentSession = null\n }\n\n async _focusArea(area, options) {\n this.clear()\n\n if (!area) {\n return null\n }\n\n try {\n if (!(await area.load())) {\n return null\n }\n\n const focusOptions = {...(options || {})}\n const bounds = area.getBounds() || VIETNAM_MAINLAND_BOUNDS\n\n this._fitBounds(bounds, focusOptions)\n\n this.currentSession = new AreaFocusSession(this.mapView, area, focusOptions)\n this.currentSession.render()\n\n return this.currentSession\n }\n catch (error) {\n console.error('Cannot focus area:', error)\n return null\n }\n }\n\n async _focusProvince(options) {\n const provinceId = this._getProvinceId(options)\n const provinceName = this._getProvinceName(options)\n\n if (provinceId == null && !provinceName) {\n this.clear()\n return null\n }\n\n const area = provinceId != null ? new ProvinceArea(provinceId) : ProvinceArea.fromName(provinceName)\n const display = options && options.display === 'highlight' ? 'highlight' : 'normal'\n\n return this._focusArea(area, {\n display,\n padding: options ? options.padding : undefined,\n })\n }\n\n /**\n * @param {FocusOptions | null | undefined} focusOptions\n * @returns {Promise<AreaFocusSession | null>}\n */\n async focus(focusOptions) {\n if (focusOptions == null) {\n this.clear()\n return null\n }\n\n if (focusOptions.type === 'province') {\n return this._focusProvince(focusOptions)\n }\n\n if (focusOptions.id == null) {\n console.warn('Focus options must include an id for non-province types:', focusOptions)\n this.clear()\n return null\n }\n\n const industrialEconomicType = this._getIndustrialEconomicType(focusOptions.type)\n\n if (industrialEconomicType != null) {\n return this._focusArea(new IndustrialEconomicArea(industrialEconomicType, focusOptions.id), {\n display: focusOptions.display,\n padding: focusOptions.padding,\n })\n }\n\n console.warn('Unsupported focus type:', focusOptions.type)\n return null\n }\n\n _getIndustrialEconomicType(type) {\n if (typeof type === 'number') {\n const values = Object.values(IndustrialEconomicType)\n return values.includes(type) ? type : null\n }\n\n if (typeof type !== 'string') {\n return null\n }\n\n return FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE[type] || null\n }\n\n clear() {\n if (this.currentSession) {\n this.currentSession.destroy()\n this.currentSession = null\n }\n }\n\n _fitBounds(bounds, options) {\n if (!this.mapView || typeof this.mapView.fitBounds !== 'function' || !bounds) {\n return\n }\n\n this.mapView.fitBounds({\n bounds: {\n southWest: {\n latitude: bounds.minLat,\n longitude: bounds.minLng,\n },\n northEast: {\n latitude: bounds.maxLat,\n longitude: bounds.maxLng,\n },\n },\n padding: options ? options.padding : undefined,\n })\n }\n\n _getProvinceName(options) {\n if (options == null || typeof options !== 'object') {\n return null\n }\n\n if (typeof options.name === 'string') {\n const name = options.name.trim()\n return name.length > 0 ? name : null\n }\n\n const optionKeys = Object.keys(options)\n const unsupportedKeys = optionKeys.filter((key) => key !== 'type' && key !== 'id' && key !== 'name' && key !== 'display' && key !== 'padding')\n\n if (unsupportedKeys.length > 0) {\n console.warn(\n `[AreaFocusManager] focusProvince expects options like { type: 'province', name: 'Ha Noi', display: 'highlight' }. Unsupported keys: ${unsupportedKeys.join(', ')}`\n )\n }\n\n return null\n }\n\n _getProvinceId(options) {\n if (options == null || typeof options !== 'object') {\n return null\n }\n\n return typeof options.id === 'number' ? options.id : null\n }\n}\n"],"mappings":"AAAA,SAAQA,gBAAR,QAA+B,yBAA/B;AACA,SAAQC,YAAR,EAAsBC,sBAAtB,QAAmD,uBAAnD;AACA,SAAQC,sBAAR,QAAqC,uBAArC;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,uBAAuB,GAAG;EAC9BC,MAAM,EAAE,IADsB;EAE9BC,MAAM,EAAE,MAFsB;EAG9BC,MAAM,EAAE,IAHsB;EAI9BC,MAAM,EAAE;AAJsB,CAAhC;AAOA,MAAMC,sCAAsC,GAAG;EAC7CC,cAAc,EAAEP,sBAAsB,CAACQ,eADM;EAE7CC,YAAY,EAAET,sBAAsB,CAACU,aAFQ;EAG7CC,iBAAiB,EAAEX,sBAAsB,CAACY,mBAHG;EAI7CC,aAAa,EAAEb,sBAAsB,CAACc,eAJO;EAK7CC,aAAa,EAAEf,sBAAsB,CAACgB,eALO;EAM7CC,cAAc,EAAEjB,sBAAsB,CAACkB;AANM,CAA/C;AASA,OAAO,MAAMC,gBAAN,CAAuB;EAC5BC,WAAW,CAACC,OAAD,EAAU;IACnB,KAAKA,OAAL,GAAeA,OAAf;IACA,KAAKC,cAAL,GAAsB,IAAtB;EACD;;EAEe,MAAVC,UAAU,CAACC,IAAD,EAAOC,OAAP,EAAgB;IAC9B,KAAKC,KAAL;;IAEA,IAAI,CAACF,IAAL,EAAW;MACT,OAAO,IAAP;IACD;;IAED,IAAI;MACF,IAAI,EAAE,MAAMA,IAAI,CAACG,IAAL,EAAR,CAAJ,EAA0B;QACxB,OAAO,IAAP;MACD;;MAED,MAAMC,YAAY,GAAG,EAAC,IAAIH,OAAO,IAAI,EAAf;MAAD,CAArB;MACA,MAAMI,MAAM,GAAGL,IAAI,CAACM,SAAL,MAAoB7B,uBAAnC;;MAEA,KAAK8B,UAAL,CAAgBF,MAAhB,EAAwBD,YAAxB;;MAEA,KAAKN,cAAL,GAAsB,IAAIzB,gBAAJ,CAAqB,KAAKwB,OAA1B,EAAmCG,IAAnC,EAAyCI,YAAzC,CAAtB;MACA,KAAKN,cAAL,CAAoBU,MAApB;MAEA,OAAO,KAAKV,cAAZ;IACD,CAdD,CAeA,OAAOW,KAAP,EAAc;MACZC,OAAO,CAACD,KAAR,CAAc,oBAAd,EAAoCA,KAApC;MACA,OAAO,IAAP;IACD;EACF;;EAEmB,MAAdE,cAAc,CAACV,OAAD,EAAU;IAC5B,MAAMW,UAAU,GAAG,KAAKC,cAAL,CAAoBZ,OAApB,CAAnB;;IACA,MAAMa,YAAY,GAAG,KAAKC,gBAAL,CAAsBd,OAAtB,CAArB;;IAEA,IAAIW,UAAU,IAAI,IAAd,IAAsB,CAACE,YAA3B,EAAyC;MACvC,KAAKZ,KAAL;MACA,OAAO,IAAP;IACD;;IAED,MAAMF,IAAI,GAAGY,UAAU,IAAI,IAAd,GAAqB,IAAItC,YAAJ,CAAiBsC,UAAjB,CAArB,GAAoDtC,YAAY,CAAC0C,QAAb,CAAsBF,YAAtB,CAAjE;IACA,MAAMG,OAAO,GAAGhB,OAAO,IAAIA,OAAO,CAACgB,OAAR,KAAoB,WAA/B,GAA6C,WAA7C,GAA2D,QAA3E;IAEA,OAAO,KAAKlB,UAAL,CAAgBC,IAAhB,EAAsB;MAC3BiB,OAD2B;MAE3BC,OAAO,EAAEjB,OAAO,GAAGA,OAAO,CAACiB,OAAX,GAAqBC;IAFV,CAAtB,CAAP;EAID;EAED;AACF;AACA;AACA;;;EACa,MAALC,KAAK,CAAChB,YAAD,EAAe;IACxB,IAAIA,YAAY,IAAI,IAApB,EAA0B;MACxB,KAAKF,KAAL;MACA,OAAO,IAAP;IACD;;IAED,IAAIE,YAAY,CAACiB,IAAb,KAAsB,UAA1B,EAAsC;MACpC,OAAO,KAAKV,cAAL,CAAoBP,YAApB,CAAP;IACD;;IAED,IAAIA,YAAY,CAACkB,EAAb,IAAmB,IAAvB,EAA6B;MAC3BZ,OAAO,CAACa,IAAR,CAAa,0DAAb,EAAyEnB,YAAzE;MACA,KAAKF,KAAL;MACA,OAAO,IAAP;IACD;;IAED,MAAMsB,sBAAsB,GAAG,KAAKC,0BAAL,CAAgCrB,YAAY,CAACiB,IAA7C,CAA/B;;IAEA,IAAIG,sBAAsB,IAAI,IAA9B,EAAoC;MAClC,OAAO,KAAKzB,UAAL,CAAgB,IAAIxB,sBAAJ,CAA2BiD,sBAA3B,EAAmDpB,YAAY,CAACkB,EAAhE,CAAhB,EAAqF;QAC1FL,OAAO,EAAEb,YAAY,CAACa,OADoE;QAE1FC,OAAO,EAAEd,YAAY,CAACc;MAFoE,CAArF,CAAP;IAID;;IAEDR,OAAO,CAACa,IAAR,CAAa,yBAAb,EAAwCnB,YAAY,CAACiB,IAArD;IACA,OAAO,IAAP;EACD;;EAEDI,0BAA0B,CAACJ,IAAD,EAAO;IAC/B,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;MAC5B,MAAMK,MAAM,GAAGC,MAAM,CAACD,MAAP,CAAclD,sBAAd,CAAf;MACA,OAAOkD,MAAM,CAACE,QAAP,CAAgBP,IAAhB,IAAwBA,IAAxB,GAA+B,IAAtC;IACD;;IAED,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;MAC5B,OAAO,IAAP;IACD;;IAED,OAAOvC,sCAAsC,CAACuC,IAAD,CAAtC,IAAgD,IAAvD;EACD;;EAEDnB,KAAK,GAAG;IACN,IAAI,KAAKJ,cAAT,EAAyB;MACvB,KAAKA,cAAL,CAAoB+B,OAApB;MACA,KAAK/B,cAAL,GAAsB,IAAtB;IACD;EACF;;EAEDS,UAAU,CAACF,MAAD,EAASJ,OAAT,EAAkB;IAC1B,IAAI,CAAC,KAAKJ,OAAN,IAAiB,OAAO,KAAKA,OAAL,CAAaiC,SAApB,KAAkC,UAAnD,IAAiE,CAACzB,MAAtE,EAA8E;MAC5E;IACD;;IAED,KAAKR,OAAL,CAAaiC,SAAb,CAAuB;MACrBzB,MAAM,EAAE;QACN0B,SAAS,EAAE;UACTC,QAAQ,EAAE3B,MAAM,CAAC3B,MADR;UAETuD,SAAS,EAAE5B,MAAM,CAAC1B;QAFT,CADL;QAKNuD,SAAS,EAAE;UACTF,QAAQ,EAAE3B,MAAM,CAACzB,MADR;UAETqD,SAAS,EAAE5B,MAAM,CAACxB;QAFT;MALL,CADa;MAWrBqC,OAAO,EAAEjB,OAAO,GAAGA,OAAO,CAACiB,OAAX,GAAqBC;IAXhB,CAAvB;EAaD;;EAEDJ,gBAAgB,CAACd,OAAD,EAAU;IACxB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,IAAP;IACD;;IAED,IAAI,OAAOA,OAAO,CAACkC,IAAf,KAAwB,QAA5B,EAAsC;MACpC,MAAMA,IAAI,GAAGlC,OAAO,CAACkC,IAAR,CAAaC,IAAb,EAAb;MACA,OAAOD,IAAI,CAACE,MAAL,GAAc,CAAd,GAAkBF,IAAlB,GAAyB,IAAhC;IACD;;IAED,MAAMG,UAAU,GAAGX,MAAM,CAACY,IAAP,CAAYtC,OAAZ,CAAnB;IACA,MAAMuC,eAAe,GAAGF,UAAU,CAACG,MAAX,CAAmBC,GAAD,IAASA,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,IAA1B,IAAkCA,GAAG,KAAK,MAA1C,IAAoDA,GAAG,KAAK,SAA5D,IAAyEA,GAAG,KAAK,SAA5G,CAAxB;;IAEA,IAAIF,eAAe,CAACH,MAAhB,GAAyB,CAA7B,EAAgC;MAC9B3B,OAAO,CAACa,IAAR,CACG,uIAAsIiB,eAAe,CAACG,IAAhB,CAAqB,IAArB,CAA2B,EADpK;IAGD;;IAED,OAAO,IAAP;EACD;;EAED9B,cAAc,CAACZ,OAAD,EAAU;IACtB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,IAAP;IACD;;IAED,OAAO,OAAOA,OAAO,CAACqB,EAAf,KAAsB,QAAtB,GAAiCrB,OAAO,CAACqB,EAAzC,GAA8C,IAArD;EACD;;AAzJ2B"}
1
+ {"version":3,"names":["AreaFocusSession","ProvinceArea","IndustrialEconomicArea","IndustrialEconomicType","VIETNAM_MAINLAND_BOUNDS","minLat","minLng","maxLat","maxLng","FOCUS_TYPE_TO_INDUSTRIAL_ECONOMIC_TYPE","industrialZone","INDUSTRIAL_ZONE","economicZone","ECONOMIC_ZONE","ecoIndustrialZone","ECO_INDUSTRIAL_ZONE","freeTradeZone","FREE_TRADE_ZONE","nonTariffZone","NON_TARIFF_ZONE","otherZoneModel","OTHER_ZONE_MODEL","AreaFocusManager","constructor","mapView","currentSession","_focusArea","area","options","clear","load","focusOptions","bounds","getBounds","_fitBounds","render","error","console","_focusProvince","provinceId","_getProvinceId","provinceName","_getProvinceName","fromName","display","padding","undefined","focus","type","id","warn","industrialEconomicType","_getIndustrialEconomicType","values","Object","includes","destroy","fitBounds","southWest","latitude","longitude","northEast","name","trim","length","optionKeys","keys","unsupportedKeys","filter","key","join"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/AreaFocusManager.js"],"mappings":"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","ignoreList":[]}
@@ -1,23 +1,20 @@
1
+ "use strict";
2
+
1
3
  export class AreaFocuser {
2
4
  constructor(areaFocusManager) {
3
5
  this._areaFocusManager = areaFocusManager;
4
6
  }
5
- /**
6
- * @param {{name?: string, highlight?: boolean}=} options
7
- */
8
-
9
7
 
8
+ /**
9
+ * @param {{name?: string, highlight?: boolean}=} options
10
+ */
10
11
  async focusProvince(options) {
11
12
  const provinceName = this._getProvinceName(options);
12
-
13
13
  const shouldHighlight = this._shouldHighlight(options);
14
-
15
14
  if (!provinceName) {
16
15
  this._clear();
17
-
18
16
  return;
19
17
  }
20
-
21
18
  if (this._areaFocusManager) {
22
19
  await this._areaFocusManager.focus({
23
20
  type: 'province',
@@ -26,39 +23,30 @@ export class AreaFocuser {
26
23
  });
27
24
  }
28
25
  }
29
-
30
26
  _clear() {
31
27
  if (this._areaFocusManager) {
32
28
  this._areaFocusManager.clear();
33
29
  }
34
30
  }
35
-
36
31
  _getProvinceName(options) {
37
32
  if (options == null || typeof options !== 'object') {
38
33
  return null;
39
34
  }
40
-
41
35
  if (typeof options.name === 'string') {
42
36
  return options.name.trim();
43
37
  }
44
-
45
38
  const optionKeys = Object.keys(options);
46
39
  const unsupportedKeys = optionKeys.filter(key => key !== 'name' && key !== 'highlight');
47
-
48
40
  if (unsupportedKeys.length > 0) {
49
41
  console.warn(`[AreaFocuser] focusProvince expects options like { name: 'Ha Noi', highlight: true }. Unsupported keys: ${unsupportedKeys.join(', ')}`);
50
42
  }
51
-
52
43
  return null;
53
44
  }
54
-
55
45
  _shouldHighlight(options) {
56
46
  if (options == null || typeof options !== 'object') {
57
47
  return false;
58
48
  }
59
-
60
49
  return options.highlight === true;
61
50
  }
62
-
63
51
  }
64
52
  //# sourceMappingURL=AreaFocuser.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AreaFocuser","constructor","areaFocusManager","_areaFocusManager","focusProvince","options","provinceName","_getProvinceName","shouldHighlight","_shouldHighlight","_clear","focus","type","name","display","clear","trim","optionKeys","Object","keys","unsupportedKeys","filter","key","length","console","warn","join","highlight"],"sources":["AreaFocuser.js"],"sourcesContent":["export class AreaFocuser {\n\n constructor(areaFocusManager) {\n this._areaFocusManager = areaFocusManager\n }\n\n /**\n * @param {{name?: string, highlight?: boolean}=} options\n */\n async focusProvince(options) {\n const provinceName = this._getProvinceName(options)\n const shouldHighlight = this._shouldHighlight(options)\n\n if (!provinceName) {\n this._clear()\n return\n }\n\n if (this._areaFocusManager) {\n await this._areaFocusManager.focus({\n type: 'province',\n name: provinceName,\n display: shouldHighlight ? 'highlight' : 'normal',\n })\n }\n }\n\n _clear() {\n if (this._areaFocusManager) {\n this._areaFocusManager.clear()\n }\n }\n\n _getProvinceName(options) {\n if (options == null || typeof options !== 'object') {\n return null\n }\n\n if (typeof options.name === 'string') {\n return options.name.trim()\n }\n\n const optionKeys = Object.keys(options)\n const unsupportedKeys = optionKeys.filter((key) => key !== 'name' && key !== 'highlight')\n\n if (unsupportedKeys.length > 0) {\n console.warn(\n `[AreaFocuser] focusProvince expects options like { name: 'Ha Noi', highlight: true }. Unsupported keys: ${unsupportedKeys.join(', ')}`\n )\n }\n\n return null\n }\n\n _shouldHighlight(options) {\n if (options == null || typeof options !== 'object') {\n return false\n }\n\n return options.highlight === true\n }\n}"],"mappings":"AAAA,OAAO,MAAMA,WAAN,CAAkB;EAEvBC,WAAW,CAACC,gBAAD,EAAmB;IAC5B,KAAKC,iBAAL,GAAyBD,gBAAzB;EACD;EAED;AACF;AACA;;;EACqB,MAAbE,aAAa,CAACC,OAAD,EAAU;IAC3B,MAAMC,YAAY,GAAG,KAAKC,gBAAL,CAAsBF,OAAtB,CAArB;;IACA,MAAMG,eAAe,GAAG,KAAKC,gBAAL,CAAsBJ,OAAtB,CAAxB;;IAEA,IAAI,CAACC,YAAL,EAAmB;MACjB,KAAKI,MAAL;;MACA;IACD;;IAED,IAAI,KAAKP,iBAAT,EAA4B;MAC1B,MAAM,KAAKA,iBAAL,CAAuBQ,KAAvB,CAA6B;QACjCC,IAAI,EAAE,UAD2B;QAEjCC,IAAI,EAAEP,YAF2B;QAGjCQ,OAAO,EAAEN,eAAe,GAAG,WAAH,GAAiB;MAHR,CAA7B,CAAN;IAKD;EACF;;EAEDE,MAAM,GAAG;IACP,IAAI,KAAKP,iBAAT,EAA4B;MAC1B,KAAKA,iBAAL,CAAuBY,KAAvB;IACD;EACF;;EAEDR,gBAAgB,CAACF,OAAD,EAAU;IACxB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,IAAP;IACD;;IAED,IAAI,OAAOA,OAAO,CAACQ,IAAf,KAAwB,QAA5B,EAAsC;MACpC,OAAOR,OAAO,CAACQ,IAAR,CAAaG,IAAb,EAAP;IACD;;IAED,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAP,CAAYd,OAAZ,CAAnB;IACA,MAAMe,eAAe,GAAGH,UAAU,CAACI,MAAX,CAAmBC,GAAD,IAASA,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,WAArD,CAAxB;;IAEA,IAAIF,eAAe,CAACG,MAAhB,GAAyB,CAA7B,EAAgC;MAC9BC,OAAO,CAACC,IAAR,CACG,2GAA0GL,eAAe,CAACM,IAAhB,CAAqB,IAArB,CAA2B,EADxI;IAGD;;IAED,OAAO,IAAP;EACD;;EAEDjB,gBAAgB,CAACJ,OAAD,EAAU;IACxB,IAAIA,OAAO,IAAI,IAAX,IAAmB,OAAOA,OAAP,KAAmB,QAA1C,EAAoD;MAClD,OAAO,KAAP;IACD;;IAED,OAAOA,OAAO,CAACsB,SAAR,KAAsB,IAA7B;EACD;;AA5DsB"}
1
+ {"version":3,"names":["AreaFocuser","constructor","areaFocusManager","_areaFocusManager","focusProvince","options","provinceName","_getProvinceName","shouldHighlight","_shouldHighlight","_clear","focus","type","name","display","clear","trim","optionKeys","Object","keys","unsupportedKeys","filter","key","length","console","warn","join","highlight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/AreaFocuser.js"],"mappings":";;AAAA,OAAO,MAAMA,WAAW,CAAC;EAEvBC,WAAWA,CAACC,gBAAgB,EAAE;IAC5B,IAAI,CAACC,iBAAiB,GAAGD,gBAAgB;EAC3C;;EAEA;AACF;AACA;EACE,MAAME,aAAaA,CAACC,OAAO,EAAE;IAC3B,MAAMC,YAAY,GAAG,IAAI,CAACC,gBAAgB,CAACF,OAAO,CAAC;IACnD,MAAMG,eAAe,GAAG,IAAI,CAACC,gBAAgB,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACC,YAAY,EAAE;MACjB,IAAI,CAACI,MAAM,CAAC,CAAC;MACb;IACF;IAEA,IAAI,IAAI,CAACP,iBAAiB,EAAE;MAC1B,MAAM,IAAI,CAACA,iBAAiB,CAACQ,KAAK,CAAC;QACjCC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAEP,YAAY;QAClBQ,OAAO,EAAEN,eAAe,GAAG,WAAW,GAAG;MAC3C,CAAC,CAAC;IACJ;EACF;EAEAE,MAAMA,CAAA,EAAG;IACP,IAAI,IAAI,CAACP,iBAAiB,EAAE;MAC1B,IAAI,CAACA,iBAAiB,CAACY,KAAK,CAAC,CAAC;IAChC;EACF;EAEAR,gBAAgBA,CAACF,OAAO,EAAE;IACxB,IAAIA,OAAO,IAAI,IAAI,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAClD,OAAO,IAAI;IACb;IAEA,IAAI,OAAOA,OAAO,CAACQ,IAAI,KAAK,QAAQ,EAAE;MACpC,OAAOR,OAAO,CAACQ,IAAI,CAACG,IAAI,CAAC,CAAC;IAC5B;IAEA,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACd,OAAO,CAAC;IACvC,MAAMe,eAAe,GAAGH,UAAU,CAACI,MAAM,CAAEC,GAAG,IAAKA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,WAAW,CAAC;IAEzF,IAAIF,eAAe,CAACG,MAAM,GAAG,CAAC,EAAE;MAC9BC,OAAO,CAACC,IAAI,CACV,2GAA2GL,eAAe,CAACM,IAAI,CAAC,IAAI,CAAC,EACvI,CAAC;IACH;IAEA,OAAO,IAAI;EACb;EAEAjB,gBAAgBA,CAACJ,OAAO,EAAE;IACxB,IAAIA,OAAO,IAAI,IAAI,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAClD,OAAO,KAAK;IACd;IAEA,OAAOA,OAAO,CAACsB,SAAS,KAAK,IAAI;EACnC;AACF","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  class BoundHelper {
2
4
  static createEmptyBounds() {
3
5
  return {
@@ -7,23 +9,18 @@ class BoundHelper {
7
9
  maxLng: -Infinity
8
10
  };
9
11
  }
10
-
11
12
  static updateBounds(bounds, lat, lng) {
12
13
  bounds.minLat = Math.min(bounds.minLat, lat);
13
14
  bounds.minLng = Math.min(bounds.minLng, lng);
14
15
  bounds.maxLat = Math.max(bounds.maxLat, lat);
15
16
  bounds.maxLng = Math.max(bounds.maxLng, lng);
16
17
  }
17
-
18
18
  static isValidBounds(bounds) {
19
19
  if (!bounds) {
20
20
  return false;
21
21
  }
22
-
23
22
  return !(bounds.minLat === Infinity || bounds.minLng === Infinity || bounds.maxLat === -Infinity || bounds.maxLng === -Infinity);
24
23
  }
25
-
26
24
  }
27
-
28
25
  export { BoundHelper };
29
26
  //# sourceMappingURL=BoundHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BoundHelper","createEmptyBounds","minLat","Infinity","minLng","maxLat","maxLng","updateBounds","bounds","lat","lng","Math","min","max","isValidBounds"],"sources":["BoundHelper.js"],"sourcesContent":["class BoundHelper {\n static createEmptyBounds() {\n return {\n minLat: Infinity,\n minLng: Infinity,\n maxLat: -Infinity,\n maxLng: -Infinity,\n }\n }\n\n static updateBounds(bounds, lat, lng) {\n bounds.minLat = Math.min(bounds.minLat, lat)\n bounds.minLng = Math.min(bounds.minLng, lng)\n bounds.maxLat = Math.max(bounds.maxLat, lat)\n bounds.maxLng = Math.max(bounds.maxLng, lng)\n }\n\n static isValidBounds(bounds) {\n if (!bounds) {\n return false\n }\n\n return !(\n bounds.minLat === Infinity ||\n bounds.minLng === Infinity ||\n bounds.maxLat === -Infinity ||\n bounds.maxLng === -Infinity\n )\n }\n}\n\nexport {BoundHelper}"],"mappings":"AAAA,MAAMA,WAAN,CAAkB;EACQ,OAAjBC,iBAAiB,GAAG;IACzB,OAAO;MACLC,MAAM,EAAEC,QADH;MAELC,MAAM,EAAED,QAFH;MAGLE,MAAM,EAAE,CAACF,QAHJ;MAILG,MAAM,EAAE,CAACH;IAJJ,CAAP;EAMD;;EAEkB,OAAZI,YAAY,CAACC,MAAD,EAASC,GAAT,EAAcC,GAAd,EAAmB;IACpCF,MAAM,CAACN,MAAP,GAAgBS,IAAI,CAACC,GAAL,CAASJ,MAAM,CAACN,MAAhB,EAAwBO,GAAxB,CAAhB;IACAD,MAAM,CAACJ,MAAP,GAAgBO,IAAI,CAACC,GAAL,CAASJ,MAAM,CAACJ,MAAhB,EAAwBM,GAAxB,CAAhB;IACAF,MAAM,CAACH,MAAP,GAAgBM,IAAI,CAACE,GAAL,CAASL,MAAM,CAACH,MAAhB,EAAwBI,GAAxB,CAAhB;IACAD,MAAM,CAACF,MAAP,GAAgBK,IAAI,CAACE,GAAL,CAASL,MAAM,CAACF,MAAhB,EAAwBI,GAAxB,CAAhB;EACD;;EAEmB,OAAbI,aAAa,CAACN,MAAD,EAAS;IAC3B,IAAI,CAACA,MAAL,EAAa;MACX,OAAO,KAAP;IACD;;IAED,OAAO,EACLA,MAAM,CAACN,MAAP,KAAkBC,QAAlB,IACAK,MAAM,CAACJ,MAAP,KAAkBD,QADlB,IAEAK,MAAM,CAACH,MAAP,KAAkB,CAACF,QAFnB,IAGAK,MAAM,CAACF,MAAP,KAAkB,CAACH,QAJd,CAAP;EAMD;;AA5Be;;AA+BlB,SAAQH,WAAR"}
1
+ {"version":3,"names":["BoundHelper","createEmptyBounds","minLat","Infinity","minLng","maxLat","maxLng","updateBounds","bounds","lat","lng","Math","min","max","isValidBounds"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/extends/BoundHelper.js"],"mappings":";;AAAA,MAAMA,WAAW,CAAC;EAChB,OAAOC,iBAAiBA,CAAA,EAAG;IACzB,OAAO;MACLC,MAAM,EAAEC,QAAQ;MAChBC,MAAM,EAAED,QAAQ;MAChBE,MAAM,EAAE,CAACF,QAAQ;MACjBG,MAAM,EAAE,CAACH;IACX,CAAC;EACH;EAEA,OAAOI,YAAYA,CAACC,MAAM,EAAEC,GAAG,EAAEC,GAAG,EAAE;IACpCF,MAAM,CAACN,MAAM,GAAGS,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACN,MAAM,EAAEO,GAAG,CAAC;IAC5CD,MAAM,CAACJ,MAAM,GAAGO,IAAI,CAACC,GAAG,CAACJ,MAAM,CAACJ,MAAM,EAAEM,GAAG,CAAC;IAC5CF,MAAM,CAACH,MAAM,GAAGM,IAAI,CAACE,GAAG,CAACL,MAAM,CAACH,MAAM,EAAEI,GAAG,CAAC;IAC5CD,MAAM,CAACF,MAAM,GAAGK,IAAI,CAACE,GAAG,CAACL,MAAM,CAACF,MAAM,EAAEI,GAAG,CAAC;EAC9C;EAEA,OAAOI,aAAaA,CAACN,MAAM,EAAE;IAC3B,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,KAAK;IACd;IAEA,OAAO,EACLA,MAAM,CAACN,MAAM,KAAKC,QAAQ,IAC1BK,MAAM,CAACJ,MAAM,KAAKD,QAAQ,IAC1BK,MAAM,CAACH,MAAM,KAAK,CAACF,QAAQ,IAC3BK,MAAM,CAACF,MAAM,KAAK,CAACH,QAAQ,CAC5B;EACH;AACF;AAEA,SAAQH,WAAW","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { getViewboxFromGeometry } from './AreaFocusGeometryUtils';
2
4
  import { IndustrialEconomicType } from './AreaFocusTypes';
3
5
  const INDUSTRIAL_ECONOMIC_PATH_BY_TYPE = {
@@ -9,7 +11,6 @@ const INDUSTRIAL_ECONOMIC_PATH_BY_TYPE = {
9
11
  [IndustrialEconomicType.OTHER_ZONE_MODEL]: 'mo-hinh-khu-khac'
10
12
  };
11
13
  const BDS_API_BASE_URL = 'https://cmcdtqg-gateway.dieuhanhso.vn/staging';
12
-
13
14
  class ProvinceArea {
14
15
  constructor(id) {
15
16
  this.id = id;
@@ -18,47 +19,36 @@ class ProvinceArea {
18
19
  this.geometryData = null;
19
20
  this.bounds = null;
20
21
  }
21
-
22
22
  static fromName(name) {
23
23
  const area = new ProvinceArea(null);
24
24
  area.name = name;
25
25
  return area;
26
26
  }
27
-
28
27
  async load() {
29
28
  if (this.loaded) {
30
29
  return true;
31
30
  }
32
-
33
31
  const hasValidId = typeof this.id === 'number';
34
32
  const hasValidName = typeof this.name === 'string' && this.name.trim() !== '';
35
-
36
33
  if (!hasValidId && !hasValidName) {
37
34
  return false;
38
35
  }
39
-
40
36
  const normalizedName = hasValidName ? this.name.trim() : null;
41
37
  const url = hasValidId ? `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/${this.id}/geometry` : `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/geometry?ten=${encodeURIComponent(normalizedName)}`;
42
38
  const response = await fetch(url);
43
-
44
39
  if (!response.ok) {
45
40
  return false;
46
41
  }
47
-
48
42
  const data = await response.json();
49
-
50
43
  if (!data.success) {
51
44
  console.error('Fetch province area data failed:', data.message);
52
45
  return false;
53
46
  }
54
-
55
47
  const areaData = data.data;
56
48
  const geometry = areaData && areaData.geometry ? areaData.geometry : null;
57
-
58
49
  if (!geometry) {
59
50
  return false;
60
51
  }
61
-
62
52
  this.geometryData = {
63
53
  name: areaData && areaData.name ? areaData.name : normalizedName,
64
54
  geometry
@@ -67,21 +57,16 @@ class ProvinceArea {
67
57
  this.loaded = true;
68
58
  return true;
69
59
  }
70
-
71
60
  getGeometryData() {
72
61
  return this.geometryData;
73
62
  }
74
-
75
63
  getBounds() {
76
64
  return this.bounds;
77
65
  }
78
-
79
66
  getId() {
80
67
  return this.id != null ? this.id : `province-${this.name || 'unknown'}`;
81
68
  }
82
-
83
69
  }
84
-
85
70
  class IndustrialEconomicArea {
86
71
  constructor(type, id) {
87
72
  this.type = type;
@@ -90,45 +75,34 @@ class IndustrialEconomicArea {
90
75
  this.geometryData = null;
91
76
  this.bounds = null;
92
77
  }
93
-
94
78
  async load() {
95
79
  if (this.loaded) {
96
80
  return true;
97
81
  }
98
-
99
82
  if (typeof this.id !== 'number') {
100
83
  return false;
101
84
  }
102
-
103
85
  const pathSegment = INDUSTRIAL_ECONOMIC_PATH_BY_TYPE[this.type];
104
-
105
86
  if (!pathSegment) {
106
87
  console.error('Unsupported industrial/economic area type:', this.type);
107
88
  return false;
108
89
  }
109
-
110
90
  const url = `${BDS_API_BASE_URL}/bds/api/kcnkkt/${pathSegment}/${this.id}/geometry`;
111
91
  const response = await fetch(url);
112
-
113
92
  if (!response.ok) {
114
93
  console.error('Failed to fetch industrial zone data:', response.status, response.statusText);
115
94
  return false;
116
95
  }
117
-
118
96
  const data = await response.json();
119
-
120
97
  if (!data.success) {
121
98
  console.error('API returned error:', data.message);
122
99
  return false;
123
100
  }
124
-
125
101
  const areaData = data.data;
126
102
  const geometry = areaData && areaData.geometry ? areaData.geometry : null;
127
-
128
103
  if (!geometry) {
129
104
  return false;
130
105
  }
131
-
132
106
  this.geometryData = {
133
107
  name: areaData && areaData.name ? areaData.name : null,
134
108
  geometry
@@ -137,20 +111,15 @@ class IndustrialEconomicArea {
137
111
  this.loaded = true;
138
112
  return true;
139
113
  }
140
-
141
114
  getGeometryData() {
142
115
  return this.geometryData;
143
116
  }
144
-
145
117
  getBounds() {
146
118
  return this.bounds;
147
119
  }
148
-
149
120
  getId() {
150
121
  return this.id;
151
122
  }
152
-
153
123
  }
154
-
155
124
  export { ProvinceArea, IndustrialEconomicArea };
156
125
  //# sourceMappingURL=AreaFocusAreas.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getViewboxFromGeometry","IndustrialEconomicType","INDUSTRIAL_ECONOMIC_PATH_BY_TYPE","INDUSTRIAL_ZONE","ECONOMIC_ZONE","ECO_INDUSTRIAL_ZONE","FREE_TRADE_ZONE","NON_TARIFF_ZONE","OTHER_ZONE_MODEL","BDS_API_BASE_URL","ProvinceArea","constructor","id","name","loaded","geometryData","bounds","fromName","area","load","hasValidId","hasValidName","trim","normalizedName","url","encodeURIComponent","response","fetch","ok","data","json","success","console","error","message","areaData","geometry","getGeometryData","getBounds","getId","IndustrialEconomicArea","type","pathSegment","status","statusText"],"sources":["AreaFocusAreas.js"],"sourcesContent":["import {getViewboxFromGeometry} from './AreaFocusGeometryUtils'\nimport {IndustrialEconomicType} from './AreaFocusTypes'\n\nconst INDUSTRIAL_ECONOMIC_PATH_BY_TYPE = {\n [IndustrialEconomicType.INDUSTRIAL_ZONE]: 'khu-cong-nghiep',\n [IndustrialEconomicType.ECONOMIC_ZONE]: 'khu-kinh-te',\n [IndustrialEconomicType.ECO_INDUSTRIAL_ZONE]: 'khu-cong-nghiep-sinh-thai',\n [IndustrialEconomicType.FREE_TRADE_ZONE]: 'khu-thuong-mai-tu-do',\n [IndustrialEconomicType.NON_TARIFF_ZONE]: 'khu-phi-thue-quan',\n [IndustrialEconomicType.OTHER_ZONE_MODEL]: 'mo-hinh-khu-khac',\n}\n\nconst BDS_API_BASE_URL = 'https://cmcdtqg-gateway.dieuhanhso.vn/staging'\n\nclass ProvinceArea {\n constructor(id) {\n this.id = id\n this.name = null\n this.loaded = false\n this.geometryData = null\n this.bounds = null\n }\n\n static fromName(name) {\n const area = new ProvinceArea(null)\n area.name = name\n return area\n }\n\n async load() {\n if (this.loaded) {\n return true\n }\n\n const hasValidId = typeof this.id === 'number'\n const hasValidName = typeof this.name === 'string' && this.name.trim() !== ''\n\n if (!hasValidId && !hasValidName) {\n return false\n }\n\n const normalizedName = hasValidName ? this.name.trim() : null\n const url = hasValidId\n ? `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/${this.id}/geometry`\n : `${BDS_API_BASE_URL}/bds/api/dmhc/TinhThanh/geometry?ten=${encodeURIComponent(normalizedName)}`\n\n const response = await fetch(url)\n\n if (!response.ok) {\n return false\n }\n\n const data = await response.json()\n\n if (!data.success) {\n console.error('Fetch province area data failed:', data.message)\n return false\n }\n\n const areaData = data.data\n const geometry = areaData && areaData.geometry ? areaData.geometry : null\n\n if (!geometry) {\n return false\n }\n\n this.geometryData = {\n name: areaData && areaData.name ? areaData.name : normalizedName,\n geometry,\n }\n this.bounds = getViewboxFromGeometry(geometry)\n this.loaded = true\n\n return true\n }\n\n getGeometryData() {\n return this.geometryData\n }\n\n getBounds() {\n return this.bounds\n }\n\n getId() {\n return this.id != null ? this.id : `province-${this.name || 'unknown'}`\n }\n}\n\nclass IndustrialEconomicArea {\n constructor(type, id) {\n this.type = type\n this.id = id\n this.loaded = false\n this.geometryData = null\n this.bounds = null\n }\n\n async load() {\n if (this.loaded) {\n return true\n }\n\n if (typeof this.id !== 'number') {\n return false\n }\n\n const pathSegment = INDUSTRIAL_ECONOMIC_PATH_BY_TYPE[this.type]\n\n if (!pathSegment) {\n console.error('Unsupported industrial/economic area type:', this.type)\n return false\n }\n\n const url = `${BDS_API_BASE_URL}/bds/api/kcnkkt/${pathSegment}/${this.id}/geometry`\n\n const response = await fetch(url)\n\n if (!response.ok) {\n console.error('Failed to fetch industrial zone data:', response.status, response.statusText)\n return false\n }\n\n const data = await response.json()\n\n if (!data.success) {\n console.error('API returned error:', data.message)\n return false\n }\n\n const areaData = data.data\n const geometry = areaData && areaData.geometry ? areaData.geometry : null\n\n if (!geometry) {\n return false\n }\n\n this.geometryData = {\n name: areaData && areaData.name ? areaData.name : null,\n geometry,\n }\n this.bounds = getViewboxFromGeometry(geometry)\n this.loaded = true\n\n return true\n }\n\n getGeometryData() {\n return this.geometryData\n }\n\n getBounds() {\n return this.bounds\n }\n\n getId() {\n return this.id\n }\n}\n\nexport {\n ProvinceArea,\n IndustrialEconomicArea,\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getViewboxFromGeometry","IndustrialEconomicType","INDUSTRIAL_ECONOMIC_PATH_BY_TYPE","INDUSTRIAL_ZONE","ECONOMIC_ZONE","ECO_INDUSTRIAL_ZONE","FREE_TRADE_ZONE","NON_TARIFF_ZONE","OTHER_ZONE_MODEL","BDS_API_BASE_URL","ProvinceArea","constructor","id","name","loaded","geometryData","bounds","fromName","area","load","hasValidId","hasValidName","trim","normalizedName","url","encodeURIComponent","response","fetch","ok","data","json","success","console","error","message","areaData","geometry","getGeometryData","getBounds","getId","IndustrialEconomicArea","type","pathSegment","status","statusText"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/extends/area/AreaFocusAreas.js"],"mappings":"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","ignoreList":[]}