@map-colonies/react-components 3.12.2 → 3.13.0

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 (376) hide show
  1. package/.eslintignore +1 -1
  2. package/.storybook/main.js +13 -13
  3. package/.storybook/manager.js +6 -6
  4. package/.storybook/preview-head.html +21 -21
  5. package/.storybook/preview.js +18 -18
  6. package/.storybook/theme.js +9 -9
  7. package/CHANGELOG.md +830 -810
  8. package/README.md +53 -53
  9. package/dist/autocomplete/autocomplete.css +25 -25
  10. package/dist/autocomplete/autocomplete.d.ts +33 -33
  11. package/dist/autocomplete/autocomplete.js +478 -478
  12. package/dist/autocomplete/index.d.ts +1 -1
  13. package/dist/autocomplete/index.js +5 -5
  14. package/dist/box/box.d.ts +3 -3
  15. package/dist/box/box.js +35 -35
  16. package/dist/box/index.d.ts +1 -1
  17. package/dist/box/index.js +5 -5
  18. package/dist/cesium-map/data-sources/custom.data-source.d.ts +5 -5
  19. package/dist/cesium-map/data-sources/custom.data-source.js +23 -23
  20. package/dist/cesium-map/data-sources/drawings.data-source.d.ts +34 -34
  21. package/dist/cesium-map/data-sources/drawings.data-source.js +193 -187
  22. package/dist/cesium-map/data-sources/index.d.ts +2 -2
  23. package/dist/cesium-map/data-sources/index.js +14 -14
  24. package/dist/cesium-map/entities/entity.d.ts +5 -5
  25. package/dist/cesium-map/entities/entity.description.d.ts +6 -6
  26. package/dist/cesium-map/entities/entity.description.js +27 -27
  27. package/dist/cesium-map/entities/entity.js +23 -23
  28. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +5 -5
  29. package/dist/cesium-map/entities/graphics/polygon.graphics.js +23 -23
  30. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +5 -5
  31. package/dist/cesium-map/entities/graphics/polyline.graphics.js +23 -23
  32. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +5 -5
  33. package/dist/cesium-map/entities/graphics/rectangle.graphics.js +23 -23
  34. package/dist/cesium-map/entities/index.d.ts +4 -4
  35. package/dist/cesium-map/entities/index.js +16 -16
  36. package/dist/cesium-map/index.d.ts +8 -8
  37. package/dist/cesium-map/index.js +20 -20
  38. package/dist/cesium-map/layers/3d.tileset.d.ts +7 -7
  39. package/dist/cesium-map/layers/3d.tileset.js +43 -43
  40. package/dist/cesium-map/layers/3d.tileset.with.update.d.ts +6 -6
  41. package/dist/cesium-map/layers/3d.tileset.with.update.js +115 -115
  42. package/dist/cesium-map/layers/geojson.layer.d.ts +5 -5
  43. package/dist/cesium-map/layers/geojson.layer.js +23 -23
  44. package/dist/cesium-map/layers/imagery.layer.d.ts +6 -6
  45. package/dist/cesium-map/layers/imagery.layer.js +68 -68
  46. package/dist/cesium-map/layers/index.d.ts +7 -7
  47. package/dist/cesium-map/layers/index.js +19 -19
  48. package/dist/cesium-map/layers/osm.layer.d.ts +9 -9
  49. package/dist/cesium-map/layers/osm.layer.js +36 -36
  50. package/dist/cesium-map/layers/wms.layer.d.ts +9 -9
  51. package/dist/cesium-map/layers/wms.layer.js +36 -36
  52. package/dist/cesium-map/layers/wmts.layer.d.ts +9 -9
  53. package/dist/cesium-map/layers/wmts.layer.js +36 -36
  54. package/dist/cesium-map/layers/xyz.layer.d.ts +9 -9
  55. package/dist/cesium-map/layers/xyz.layer.js +36 -36
  56. package/dist/cesium-map/layers-manager.d.ts +55 -55
  57. package/dist/cesium-map/layers-manager.js +246 -246
  58. package/dist/cesium-map/map-legend/MapLegend.css +136 -135
  59. package/dist/cesium-map/map-legend/MapLegend.d.ts +15 -15
  60. package/dist/cesium-map/map-legend/MapLegend.js +57 -57
  61. package/dist/cesium-map/map-legend/MapLegendList.d.ts +13 -13
  62. package/dist/cesium-map/map-legend/MapLegendList.js +43 -43
  63. package/dist/cesium-map/map-legend/MapLegendSidebar.d.ts +16 -16
  64. package/dist/cesium-map/map-legend/MapLegendSidebar.js +20 -20
  65. package/dist/cesium-map/map-legend/MapLegendToggle.d.ts +7 -7
  66. package/dist/cesium-map/map-legend/MapLegendToggle.js +20 -20
  67. package/dist/cesium-map/map-legend/index.d.ts +3 -3
  68. package/dist/cesium-map/map-legend/index.js +14 -14
  69. package/dist/cesium-map/map.css +59 -59
  70. package/dist/cesium-map/map.d.ts +63 -59
  71. package/dist/cesium-map/map.js +311 -305
  72. package/dist/cesium-map/map.types.d.ts +8 -8
  73. package/dist/cesium-map/map.types.js +12 -12
  74. package/dist/cesium-map/proxied.types.d.ts +30 -30
  75. package/dist/cesium-map/proxied.types.js +133 -132
  76. package/dist/cesium-map/settings/base-maps.css +37 -37
  77. package/dist/cesium-map/settings/base-maps.d.ts +7 -7
  78. package/dist/cesium-map/settings/base-maps.js +78 -78
  79. package/dist/cesium-map/settings/scene-modes.css +19 -19
  80. package/dist/cesium-map/settings/scene-modes.d.ts +7 -7
  81. package/dist/cesium-map/settings/scene-modes.js +65 -65
  82. package/dist/cesium-map/settings/settings.css +52 -52
  83. package/dist/cesium-map/settings/settings.d.ts +23 -23
  84. package/dist/cesium-map/settings/settings.js +79 -79
  85. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +3 -3
  86. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -245
  87. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +9 -9
  88. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +202 -202
  89. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +50 -50
  90. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +136 -136
  91. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +2 -2
  92. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +38 -38
  93. package/dist/cesium-map/tools/coordinates-tracker.tool.css +11 -11
  94. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +7 -7
  95. package/dist/cesium-map/tools/coordinates-tracker.tool.js +86 -78
  96. package/dist/cesium-map/tools/draw/drawHelper.css +101 -101
  97. package/dist/cesium-map/tools/draw/drawHelper.d.ts +28 -28
  98. package/dist/cesium-map/tools/draw/drawHelper.js +1694 -1694
  99. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +4 -4
  100. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +41 -41
  101. package/dist/cesium-map/tools/geojson/index.d.ts +2 -2
  102. package/dist/cesium-map/tools/geojson/index.js +14 -14
  103. package/dist/cesium-map/tools/geojson/point.geojson.d.ts +7 -3
  104. package/dist/cesium-map/tools/geojson/point.geojson.js +47 -21
  105. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +3 -3
  106. package/dist/cesium-map/tools/geojson/polygon.geojson.js +24 -24
  107. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +3 -3
  108. package/dist/cesium-map/tools/geojson/rectangle.geojson.js +44 -44
  109. package/dist/cesium-map/tools/inspector.tool.d.ts +4 -4
  110. package/dist/cesium-map/tools/inspector.tool.js +33 -33
  111. package/dist/cesium-map/tools/scale-tracker.tool.css +16 -16
  112. package/dist/cesium-map/tools/scale-tracker.tool.d.ts +8 -8
  113. package/dist/cesium-map/tools/scale-tracker.tool.js +158 -158
  114. package/dist/cesium-map/tools/terranian-height.tool.d.ts +4 -4
  115. package/dist/cesium-map/tools/terranian-height.tool.js +114 -114
  116. package/dist/cssbaseline/cssbaseline.d.ts +5 -5
  117. package/dist/cssbaseline/cssbaseline.js +41 -41
  118. package/dist/cssbaseline/index.d.ts +1 -1
  119. package/dist/cssbaseline/index.js +6 -6
  120. package/dist/date-picker/date-picker.css +9 -9
  121. package/dist/date-picker/date-picker.d.ts +14 -14
  122. package/dist/date-picker/date-picker.js +78 -78
  123. package/dist/date-picker/index.d.ts +1 -1
  124. package/dist/date-picker/index.js +13 -13
  125. package/dist/date-range-picker/date-range-picker.css +9 -9
  126. package/dist/date-range-picker/date-range-picker.d.ts +26 -26
  127. package/dist/date-range-picker/date-range-picker.form-control.css +3 -3
  128. package/dist/date-range-picker/date-range-picker.form-control.d.ts +28 -28
  129. package/dist/date-range-picker/date-range-picker.form-control.js +95 -95
  130. package/dist/date-range-picker/date-range-picker.js +104 -104
  131. package/dist/date-range-picker/index.d.ts +2 -2
  132. package/dist/date-range-picker/index.js +14 -14
  133. package/dist/file-picker/file-picker.css +63 -63
  134. package/dist/file-picker/file-picker.d.ts +276 -276
  135. package/dist/file-picker/file-picker.js +151 -151
  136. package/dist/file-picker/fs-map.json +1556 -1556
  137. package/dist/file-picker/index.d.ts +2 -2
  138. package/dist/file-picker/index.js +14 -14
  139. package/dist/file-picker/localization.d.ts +11 -11
  140. package/dist/file-picker/localization.js +124 -124
  141. package/dist/index.d.ts +13 -13
  142. package/dist/index.js +25 -25
  143. package/dist/map-filter-container/container-map.css +5 -5
  144. package/dist/map-filter-container/container-map.d.ts +11 -11
  145. package/dist/map-filter-container/container-map.js +31 -31
  146. package/dist/map-filter-container/index.d.ts +1 -1
  147. package/dist/map-filter-container/index.js +13 -13
  148. package/dist/map-filter-container/map-filter-container.d.ts +9 -9
  149. package/dist/map-filter-container/map-filter-container.js +78 -78
  150. package/dist/map-filter-container/polygon-selection-ui.d.ts +12 -12
  151. package/dist/map-filter-container/polygon-selection-ui.js +62 -62
  152. package/dist/models/defaults.d.ts +28 -28
  153. package/dist/models/defaults.js +32 -32
  154. package/dist/models/enums.d.ts +14 -14
  155. package/dist/models/enums.js +20 -20
  156. package/dist/models/index.d.ts +1 -1
  157. package/dist/models/index.js +13 -13
  158. package/dist/ol-map/feature.d.ts +6 -6
  159. package/dist/ol-map/feature.js +20 -20
  160. package/dist/ol-map/index.d.ts +6 -6
  161. package/dist/ol-map/index.js +18 -18
  162. package/dist/ol-map/interactions/draw.d.ts +8 -8
  163. package/dist/ol-map/interactions/draw.js +44 -44
  164. package/dist/ol-map/interactions/index.d.ts +1 -1
  165. package/dist/ol-map/interactions/index.js +13 -13
  166. package/dist/ol-map/layers/index.d.ts +3 -3
  167. package/dist/ol-map/layers/index.js +15 -15
  168. package/dist/ol-map/layers/tile-layer.d.ts +9 -9
  169. package/dist/ol-map/layers/tile-layer.js +48 -48
  170. package/dist/ol-map/layers/vector-layer.d.ts +4 -4
  171. package/dist/ol-map/layers/vector-layer.js +48 -48
  172. package/dist/ol-map/layers/vector-tile-layer.d.ts +10 -10
  173. package/dist/ol-map/layers/vector-tile-layer.js +66 -66
  174. package/dist/ol-map/map.css +17 -17
  175. package/dist/ol-map/map.d.ts +14 -14
  176. package/dist/ol-map/map.js +117 -117
  177. package/dist/ol-map/source/index.d.ts +6 -6
  178. package/dist/ol-map/source/index.js +18 -18
  179. package/dist/ol-map/source/mvt.d.ts +11 -11
  180. package/dist/ol-map/source/mvt.js +37 -37
  181. package/dist/ol-map/source/osm.d.ts +2 -2
  182. package/dist/ol-map/source/osm.js +14 -14
  183. package/dist/ol-map/source/vector-source.d.ts +4 -4
  184. package/dist/ol-map/source/vector-source.js +45 -45
  185. package/dist/ol-map/source/wms.d.ts +17 -17
  186. package/dist/ol-map/source/wms.js +30 -30
  187. package/dist/ol-map/source/wmts.d.ts +21 -21
  188. package/dist/ol-map/source/wmts.js +59 -59
  189. package/dist/ol-map/source/xyz.d.ts +12 -12
  190. package/dist/ol-map/source/xyz.js +27 -27
  191. package/dist/ol-map/style.d.ts +4 -4
  192. package/dist/ol-map/style.js +22 -22
  193. package/dist/popover/index.d.ts +1 -1
  194. package/dist/popover/index.js +5 -5
  195. package/dist/popover/popover.d.ts +3 -3
  196. package/dist/popover/popover.js +35 -35
  197. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +7 -7
  198. package/dist/smart-table/__mock-data__/smartTableMocks.js +17 -17
  199. package/dist/smart-table/index.d.ts +2 -2
  200. package/dist/smart-table/index.js +14 -14
  201. package/dist/smart-table/smart-table-head.d.ts +11 -11
  202. package/dist/smart-table/smart-table-head.js +22 -22
  203. package/dist/smart-table/smart-table-row.d.ts +12 -12
  204. package/dist/smart-table/smart-table-row.js +46 -46
  205. package/dist/smart-table/smart-table-types.d.ts +9 -9
  206. package/dist/smart-table/smart-table-types.js +2 -2
  207. package/dist/smart-table/smart-table.d.ts +17 -17
  208. package/dist/smart-table/smart-table.js +51 -51
  209. package/dist/theme/index.d.ts +1 -1
  210. package/dist/theme/index.js +13 -13
  211. package/dist/theme/theme.d.ts +8 -8
  212. package/dist/theme/theme.js +124 -124
  213. package/dist/utils/map.d.ts +3 -3
  214. package/dist/utils/map.js +21 -21
  215. package/dist/utils/projections.d.ts +6 -6
  216. package/dist/utils/projections.js +10 -10
  217. package/dist/utils/story.d.ts +12 -12
  218. package/dist/utils/story.js +2 -2
  219. package/jest_html_reporters.html +78 -0
  220. package/package.json +3 -3
  221. package/public/index.html +43 -43
  222. package/public/manifest.json +25 -25
  223. package/public/robots.txt +3 -3
  224. package/src/index.tsx +9 -9
  225. package/src/lib/autocomplete/autocomplete.css +25 -25
  226. package/src/lib/autocomplete/autocomplete.stories.tsx +101 -101
  227. package/src/lib/autocomplete/autocomplete.tsx +681 -681
  228. package/src/lib/autocomplete/index.ts +1 -1
  229. package/src/lib/box/box.tsx +7 -7
  230. package/src/lib/box/index.ts +1 -1
  231. package/src/lib/cesium-map/context-menu.stories.tsx +444 -444
  232. package/src/lib/cesium-map/data-sources/custom.data-source.tsx +12 -12
  233. package/src/lib/cesium-map/data-sources/drawings.data-source.stories.tsx +161 -161
  234. package/src/lib/cesium-map/data-sources/drawings.data-source.tsx +213 -204
  235. package/src/lib/cesium-map/data-sources/index.ts +2 -2
  236. package/src/lib/cesium-map/entities/entity.description.tsx +19 -19
  237. package/src/lib/cesium-map/entities/entity.graphics.stories.tsx +48 -48
  238. package/src/lib/cesium-map/entities/entity.stories.tsx +146 -146
  239. package/src/lib/cesium-map/entities/entity.tsx +10 -10
  240. package/src/lib/cesium-map/entities/graphics/polygon.graphics.tsx +12 -12
  241. package/src/lib/cesium-map/entities/graphics/polyline.graphics.tsx +12 -12
  242. package/src/lib/cesium-map/entities/graphics/rectangle.graphics.tsx +12 -12
  243. package/src/lib/cesium-map/entities/index.ts +4 -4
  244. package/src/lib/cesium-map/index.ts +8 -8
  245. package/src/lib/cesium-map/layers/3d.tileset.stories.tsx +164 -164
  246. package/src/lib/cesium-map/layers/3d.tileset.tsx +51 -51
  247. package/src/lib/cesium-map/layers/3d.tileset.with.update.tsx +120 -120
  248. package/src/lib/cesium-map/layers/geojson.layer.stories.tsx +180 -119
  249. package/src/lib/cesium-map/layers/geojson.layer.tsx +12 -12
  250. package/src/lib/cesium-map/layers/imagery.layer.stories.tsx +39 -39
  251. package/src/lib/cesium-map/layers/imagery.layer.tsx +37 -37
  252. package/src/lib/cesium-map/layers/index.ts +7 -7
  253. package/src/lib/cesium-map/layers/layers.rect.stories.tsx +171 -171
  254. package/src/lib/cesium-map/layers/osm.layer.stories.tsx +40 -40
  255. package/src/lib/cesium-map/layers/osm.layer.tsx +22 -22
  256. package/src/lib/cesium-map/layers/wms.layer.stories.tsx +38 -38
  257. package/src/lib/cesium-map/layers/wms.layer.tsx +22 -22
  258. package/src/lib/cesium-map/layers/wmts.layer.stories.tsx +53 -53
  259. package/src/lib/cesium-map/layers/wmts.layer.tsx +22 -22
  260. package/src/lib/cesium-map/layers/xyz.layer.stories.tsx +37 -37
  261. package/src/lib/cesium-map/layers/xyz.layer.tsx +22 -22
  262. package/src/lib/cesium-map/layers-manager.stories.tsx +286 -286
  263. package/src/lib/cesium-map/layers-manager.ts +354 -354
  264. package/src/lib/cesium-map/map-legend/MapLegend.css +136 -135
  265. package/src/lib/cesium-map/map-legend/MapLegend.tsx +92 -92
  266. package/src/lib/cesium-map/map-legend/MapLegendList.tsx +47 -47
  267. package/src/lib/cesium-map/map-legend/MapLegendSidebar.tsx +55 -55
  268. package/src/lib/cesium-map/map-legend/MapLegendToggle.tsx +31 -31
  269. package/src/lib/cesium-map/map-legend/index.tsx +3 -3
  270. package/src/lib/cesium-map/map-legend/legends-sidebar.stories.tsx +201 -201
  271. package/src/lib/cesium-map/map.css +59 -59
  272. package/src/lib/cesium-map/map.stories.tsx +143 -143
  273. package/src/lib/cesium-map/map.tsx +459 -446
  274. package/src/lib/cesium-map/map.types.ts +11 -11
  275. package/src/lib/cesium-map/proxied.types.ts +58 -54
  276. package/src/lib/cesium-map/settings/base-maps.css +37 -37
  277. package/src/lib/cesium-map/settings/base-maps.tsx +94 -94
  278. package/src/lib/cesium-map/settings/scene-modes.css +19 -19
  279. package/src/lib/cesium-map/settings/scene-modes.tsx +100 -100
  280. package/src/lib/cesium-map/settings/settings.css +52 -52
  281. package/src/lib/cesium-map/settings/settings.stories.tsx +182 -182
  282. package/src/lib/cesium-map/settings/settings.tsx +141 -141
  283. package/src/lib/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.ts +243 -243
  284. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-decoder.ts +321 -321
  285. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.ts +237 -237
  286. package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +170 -170
  287. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +187 -187
  288. package/src/lib/cesium-map/tools/cesium/primitives-conversions.cesium.ts +15 -15
  289. package/src/lib/cesium-map/tools/coordinates-tracker.tool.css +11 -11
  290. package/src/lib/cesium-map/tools/coordinates-tracker.tool.tsx +81 -79
  291. package/src/lib/cesium-map/tools/draw/drawHelper.css +101 -101
  292. package/src/lib/cesium-map/tools/draw/drawHelper.ts +2116 -2116
  293. package/src/lib/cesium-map/tools/geojson/geojson-to-primitive.ts +54 -54
  294. package/src/lib/cesium-map/tools/geojson/index.ts +2 -2
  295. package/src/lib/cesium-map/tools/geojson/point.geojson.ts +63 -29
  296. package/src/lib/cesium-map/tools/geojson/polygon.geojson.ts +24 -24
  297. package/src/lib/cesium-map/tools/geojson/rectangle.geojson.ts +21 -21
  298. package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -15
  299. package/src/lib/cesium-map/tools/scale-tracker.tool.css +16 -16
  300. package/src/lib/cesium-map/tools/scale-tracker.tool.tsx +192 -192
  301. package/src/lib/cesium-map/tools/terranian-height.tool.tsx +171 -171
  302. package/src/lib/cssbaseline/cssbaseline.tsx +19 -19
  303. package/src/lib/cssbaseline/index.ts +4 -4
  304. package/src/lib/date-picker/date-picker.css +9 -9
  305. package/src/lib/date-picker/date-picker.stories.tsx +130 -130
  306. package/src/lib/date-picker/date-picker.tsx +90 -90
  307. package/src/lib/date-picker/index.ts +1 -1
  308. package/src/lib/date-range-picker/date-range-picker.css +9 -9
  309. package/src/lib/date-range-picker/date-range-picker.form-control.css +3 -3
  310. package/src/lib/date-range-picker/date-range-picker.form-control.spec.tsx +58 -58
  311. package/src/lib/date-range-picker/date-range-picker.form-control.tsx +150 -150
  312. package/src/lib/date-range-picker/date-range-picker.stories.tsx +207 -207
  313. package/src/lib/date-range-picker/date-range-picker.tsx +156 -156
  314. package/src/lib/date-range-picker/index.ts +2 -2
  315. package/src/lib/file-picker/file-picker.css +63 -63
  316. package/src/lib/file-picker/file-picker.stories.tsx +447 -447
  317. package/src/lib/file-picker/file-picker.tsx +180 -180
  318. package/src/lib/file-picker/fs-map.json +1556 -1556
  319. package/src/lib/file-picker/index.ts +2 -2
  320. package/src/lib/file-picker/localization.ts +164 -164
  321. package/src/lib/index.ts +13 -13
  322. package/src/lib/map-filter-container/container-map.css +5 -5
  323. package/src/lib/map-filter-container/container-map.tsx +48 -48
  324. package/src/lib/map-filter-container/index.ts +1 -1
  325. package/src/lib/map-filter-container/map-filter-container.tsx +91 -91
  326. package/src/lib/map-filter-container/polygon-selection-ui.spec.tsx +119 -119
  327. package/src/lib/map-filter-container/polygon-selection-ui.tsx +111 -111
  328. package/src/lib/map-filter-container/stories/Map.stories.tsx +76 -76
  329. package/src/lib/models/defaults.ts +32 -32
  330. package/src/lib/models/enums.ts +16 -16
  331. package/src/lib/models/index.ts +1 -1
  332. package/src/lib/ol-map/feature.tsx +23 -23
  333. package/src/lib/ol-map/index.ts +6 -6
  334. package/src/lib/ol-map/interactions/draw.tsx +56 -56
  335. package/src/lib/ol-map/interactions/index.ts +1 -1
  336. package/src/lib/ol-map/layers/index.ts +3 -3
  337. package/src/lib/ol-map/layers/tile-layer.tsx +36 -36
  338. package/src/lib/ol-map/layers/vector-layer.tsx +32 -32
  339. package/src/lib/ol-map/layers/vector-tile-layer.tsx +56 -56
  340. package/src/lib/ol-map/map.css +17 -17
  341. package/src/lib/ol-map/map.tsx +137 -137
  342. package/src/lib/ol-map/source/index.ts +6 -6
  343. package/src/lib/ol-map/source/mvt.tsx +46 -46
  344. package/src/lib/ol-map/source/osm.tsx +13 -13
  345. package/src/lib/ol-map/source/stories/mvt.stories.tsx +68 -68
  346. package/src/lib/ol-map/source/stories/vector-source.stories.tsx +78 -78
  347. package/src/lib/ol-map/source/stories/wms.stories.tsx +51 -51
  348. package/src/lib/ol-map/source/stories/wmts.stories.tsx +72 -72
  349. package/src/lib/ol-map/source/stories/xyz.stories.tsx +53 -53
  350. package/src/lib/ol-map/source/vector-source.tsx +30 -30
  351. package/src/lib/ol-map/source/wms.tsx +40 -40
  352. package/src/lib/ol-map/source/wmts.tsx +82 -82
  353. package/src/lib/ol-map/source/xyz.tsx +33 -33
  354. package/src/lib/ol-map/stories/map.stories.tsx +60 -60
  355. package/src/lib/ol-map/style.ts +24 -24
  356. package/src/lib/popover/index.ts +1 -1
  357. package/src/lib/popover/popover.tsx +7 -7
  358. package/src/lib/smart-table/__mock-data__/smartTableMocks.ts +22 -22
  359. package/src/lib/smart-table/index.ts +2 -2
  360. package/src/lib/smart-table/smart-table-head.spec.tsx +116 -116
  361. package/src/lib/smart-table/smart-table-head.tsx +47 -47
  362. package/src/lib/smart-table/smart-table-row.spec.tsx +109 -109
  363. package/src/lib/smart-table/smart-table-row.tsx +78 -78
  364. package/src/lib/smart-table/smart-table-types.ts +10 -10
  365. package/src/lib/smart-table/smart-table.spec.tsx +116 -116
  366. package/src/lib/smart-table/smart-table.tsx +115 -115
  367. package/src/lib/smart-table/stories/SmartTable.stories.tsx +114 -114
  368. package/src/lib/theme/index.ts +1 -1
  369. package/src/lib/theme/theme.ts +123 -123
  370. package/src/lib/utils/map.ts +19 -19
  371. package/src/lib/utils/projections.ts +7 -7
  372. package/src/lib/utils/story.ts +11 -11
  373. package/src/react-app-env.d.ts +1 -1
  374. package/src/setupTests.ts +14 -14
  375. package/tsbuildconfig.json +37 -37
  376. package/tsconfig.json +26 -26
@@ -1,158 +1,158 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.ScaleTrackerTool = void 0;
23
- var react_1 = __importStar(require("react"));
24
- var cesium_1 = require("cesium");
25
- var lodash_1 = require("lodash");
26
- var map_1 = require("../map");
27
- require("./scale-tracker.tool.css");
28
- /* eslint-disable @typescript-eslint/no-magic-numbers */
29
- var distances = [
30
- 1,
31
- 2,
32
- 3,
33
- 5,
34
- 10,
35
- 20,
36
- 30,
37
- 50,
38
- 100,
39
- 200,
40
- 300,
41
- 500,
42
- 1000,
43
- 2000,
44
- 3000,
45
- 5000,
46
- 10000,
47
- 20000,
48
- 30000,
49
- 50000,
50
- 100000,
51
- 200000,
52
- 300000,
53
- 500000,
54
- 1000000,
55
- 2000000,
56
- 3000000,
57
- 5000000,
58
- 10000000,
59
- 20000000,
60
- 30000000,
61
- 50000000,
62
- ];
63
- var updateDistanceLegendCesium = function (mapViewer, prevScaleData, setScaleData, locale) {
64
- var _a, _b;
65
- var metersUnit = (_a = lodash_1.get(locale, 'METERS_UNIT')) !== null && _a !== void 0 ? _a : 'm';
66
- var kiloMetersUnit = (_b = lodash_1.get(locale, 'KILOMETERS_UNIT')) !== null && _b !== void 0 ? _b : 'km';
67
- var scale = {
68
- barWidth: undefined,
69
- distanceLabel: undefined,
70
- lastLegendUpdate: prevScaleData.lastLegendUpdate,
71
- };
72
- var geodesic = new cesium_1.EllipsoidGeodesic();
73
- var now = new Date().getTime();
74
- if (now < scale.lastLegendUpdate + 250) {
75
- return;
76
- }
77
- scale.lastLegendUpdate = now;
78
- // Find the distance between two pixels at the bottom center of the screen.
79
- var width = mapViewer.scene.canvas.clientWidth;
80
- var height = mapViewer.scene.canvas.clientHeight;
81
- var left = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((width / 2) | 0, height - 1));
82
- var right = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((1 + width / 2) | 0, height - 1));
83
- var globe = mapViewer.scene.globe;
84
- var leftPosition = globe.pick(left, mapViewer.scene);
85
- var rightPosition = globe.pick(right, mapViewer.scene);
86
- if (!leftPosition || !rightPosition) {
87
- return;
88
- }
89
- var leftCartographic = globe.ellipsoid.cartesianToCartographic(leftPosition);
90
- var rightCartographic = globe.ellipsoid.cartesianToCartographic(rightPosition);
91
- geodesic.setEndPoints(leftCartographic, rightCartographic);
92
- var pixelDistance = geodesic.surfaceDistance;
93
- // Find the first distance that makes the scale bar less than 100 pixels.
94
- var maxBarWidth = 100;
95
- var distance;
96
- for (var i = distances.length - 1; !lodash_1.isNumber(distance) && i >= 0; --i) {
97
- if (distances[i] / pixelDistance < maxBarWidth) {
98
- distance = distances[i];
99
- }
100
- }
101
- if (lodash_1.isNumber(distance)) {
102
- var label = '';
103
- if (distance >= 1000) {
104
- label = (distance / 1000).toString() + " " + kiloMetersUnit;
105
- }
106
- else {
107
- label = distance.toString() + " " + metersUnit;
108
- }
109
- scale.barWidth = (distance / pixelDistance) | 0;
110
- scale.distanceLabel = label;
111
- }
112
- setScaleData(scale);
113
- };
114
- /* eslint-enable @typescript-eslint/no-magic-numbers */
115
- var ScaleTrackerTool = function (props) {
116
- var mapViewer = map_1.useCesiumMap();
117
- var _a = react_1.useState({
118
- barWidth: undefined,
119
- distanceLabel: undefined,
120
- lastLegendUpdate: -1,
121
- }), scaleData = _a[0], setScaleData = _a[1];
122
- react_1.useEffect(function () {
123
- var setFromEvent = function (e) {
124
- updateDistanceLegendCesium(mapViewer, scaleData, setScaleData, props.locale);
125
- };
126
- var helper = new cesium_1.EventHelper();
127
- var tileLoadHandler = function (event) {
128
- if (mapViewer.scene.globe.tilesLoaded) {
129
- setFromEvent(new MouseEvent('mouse'));
130
- helper.removeAll();
131
- }
132
- };
133
- // Register tiles loader handler for initial load because globe.pick returning undefined
134
- // see here https://community.cesium.com/t/globe-pick-returning-undefined/6616
135
- helper.add(mapViewer.scene.globe.tileLoadProgressEvent, tileLoadHandler);
136
- mapViewer.camera.moveEnd.addEventListener(setFromEvent);
137
- return function () {
138
- try {
139
- mapViewer.camera.moveEnd.removeEventListener(setFromEvent);
140
- }
141
- catch (e) {
142
- console.log('CESIUM camera "moveEnd" remove listener failed', e);
143
- }
144
- };
145
- }, [mapViewer, props.locale, scaleData]);
146
- var calcLeft = function (width) {
147
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
148
- return 5 + (125 - width) / 2;
149
- };
150
- return (react_1.default.createElement("div", { className: "scalePosition" }, lodash_1.isNumber(scaleData.barWidth) && (react_1.default.createElement(react_1.default.Fragment, null,
151
- react_1.default.createElement("div", { className: "distance-legend-label" }, scaleData.distanceLabel),
152
- react_1.default.createElement("div", { className: "distance-legend-scale-bar", style: {
153
- height: '2px',
154
- width: scaleData.barWidth.toString() + "px",
155
- left: calcLeft(scaleData.barWidth).toString() + "px",
156
- } })))));
157
- };
158
- exports.ScaleTrackerTool = ScaleTrackerTool;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.ScaleTrackerTool = void 0;
23
+ var react_1 = __importStar(require("react"));
24
+ var cesium_1 = require("cesium");
25
+ var lodash_1 = require("lodash");
26
+ var map_1 = require("../map");
27
+ require("./scale-tracker.tool.css");
28
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
29
+ var distances = [
30
+ 1,
31
+ 2,
32
+ 3,
33
+ 5,
34
+ 10,
35
+ 20,
36
+ 30,
37
+ 50,
38
+ 100,
39
+ 200,
40
+ 300,
41
+ 500,
42
+ 1000,
43
+ 2000,
44
+ 3000,
45
+ 5000,
46
+ 10000,
47
+ 20000,
48
+ 30000,
49
+ 50000,
50
+ 100000,
51
+ 200000,
52
+ 300000,
53
+ 500000,
54
+ 1000000,
55
+ 2000000,
56
+ 3000000,
57
+ 5000000,
58
+ 10000000,
59
+ 20000000,
60
+ 30000000,
61
+ 50000000,
62
+ ];
63
+ var updateDistanceLegendCesium = function (mapViewer, prevScaleData, setScaleData, locale) {
64
+ var _a, _b;
65
+ var metersUnit = (_a = lodash_1.get(locale, 'METERS_UNIT')) !== null && _a !== void 0 ? _a : 'm';
66
+ var kiloMetersUnit = (_b = lodash_1.get(locale, 'KILOMETERS_UNIT')) !== null && _b !== void 0 ? _b : 'km';
67
+ var scale = {
68
+ barWidth: undefined,
69
+ distanceLabel: undefined,
70
+ lastLegendUpdate: prevScaleData.lastLegendUpdate,
71
+ };
72
+ var geodesic = new cesium_1.EllipsoidGeodesic();
73
+ var now = new Date().getTime();
74
+ if (now < scale.lastLegendUpdate + 250) {
75
+ return;
76
+ }
77
+ scale.lastLegendUpdate = now;
78
+ // Find the distance between two pixels at the bottom center of the screen.
79
+ var width = mapViewer.scene.canvas.clientWidth;
80
+ var height = mapViewer.scene.canvas.clientHeight;
81
+ var left = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((width / 2) | 0, height - 1));
82
+ var right = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((1 + width / 2) | 0, height - 1));
83
+ var globe = mapViewer.scene.globe;
84
+ var leftPosition = globe.pick(left, mapViewer.scene);
85
+ var rightPosition = globe.pick(right, mapViewer.scene);
86
+ if (!leftPosition || !rightPosition) {
87
+ return;
88
+ }
89
+ var leftCartographic = globe.ellipsoid.cartesianToCartographic(leftPosition);
90
+ var rightCartographic = globe.ellipsoid.cartesianToCartographic(rightPosition);
91
+ geodesic.setEndPoints(leftCartographic, rightCartographic);
92
+ var pixelDistance = geodesic.surfaceDistance;
93
+ // Find the first distance that makes the scale bar less than 100 pixels.
94
+ var maxBarWidth = 100;
95
+ var distance;
96
+ for (var i = distances.length - 1; !lodash_1.isNumber(distance) && i >= 0; --i) {
97
+ if (distances[i] / pixelDistance < maxBarWidth) {
98
+ distance = distances[i];
99
+ }
100
+ }
101
+ if (lodash_1.isNumber(distance)) {
102
+ var label = '';
103
+ if (distance >= 1000) {
104
+ label = (distance / 1000).toString() + " " + kiloMetersUnit;
105
+ }
106
+ else {
107
+ label = distance.toString() + " " + metersUnit;
108
+ }
109
+ scale.barWidth = (distance / pixelDistance) | 0;
110
+ scale.distanceLabel = label;
111
+ }
112
+ setScaleData(scale);
113
+ };
114
+ /* eslint-enable @typescript-eslint/no-magic-numbers */
115
+ var ScaleTrackerTool = function (props) {
116
+ var mapViewer = map_1.useCesiumMap();
117
+ var _a = react_1.useState({
118
+ barWidth: undefined,
119
+ distanceLabel: undefined,
120
+ lastLegendUpdate: -1,
121
+ }), scaleData = _a[0], setScaleData = _a[1];
122
+ react_1.useEffect(function () {
123
+ var setFromEvent = function (e) {
124
+ updateDistanceLegendCesium(mapViewer, scaleData, setScaleData, props.locale);
125
+ };
126
+ var helper = new cesium_1.EventHelper();
127
+ var tileLoadHandler = function (event) {
128
+ if (mapViewer.scene.globe.tilesLoaded) {
129
+ setFromEvent(new MouseEvent('mouse'));
130
+ helper.removeAll();
131
+ }
132
+ };
133
+ // Register tiles loader handler for initial load because globe.pick returning undefined
134
+ // see here https://community.cesium.com/t/globe-pick-returning-undefined/6616
135
+ helper.add(mapViewer.scene.globe.tileLoadProgressEvent, tileLoadHandler);
136
+ mapViewer.camera.moveEnd.addEventListener(setFromEvent);
137
+ return function () {
138
+ try {
139
+ mapViewer.camera.moveEnd.removeEventListener(setFromEvent);
140
+ }
141
+ catch (e) {
142
+ console.log('CESIUM camera "moveEnd" remove listener failed', e);
143
+ }
144
+ };
145
+ }, [mapViewer, props.locale, scaleData]);
146
+ var calcLeft = function (width) {
147
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
148
+ return 5 + (125 - width) / 2;
149
+ };
150
+ return (react_1.default.createElement("div", { className: "scalePosition" }, lodash_1.isNumber(scaleData.barWidth) && (react_1.default.createElement(react_1.default.Fragment, null,
151
+ react_1.default.createElement("div", { className: "distance-legend-label" }, scaleData.distanceLabel),
152
+ react_1.default.createElement("div", { className: "distance-legend-scale-bar", style: {
153
+ height: '2px',
154
+ width: scaleData.barWidth.toString() + "px",
155
+ left: calcLeft(scaleData.barWidth).toString() + "px",
156
+ } })))));
157
+ };
158
+ exports.ScaleTrackerTool = ScaleTrackerTool;
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- export interface TerrainianHeightProps {
3
- }
4
- export declare const TerrainianHeightTool: React.FC<TerrainianHeightProps>;
1
+ import React from 'react';
2
+ export interface TerrainianHeightProps {
3
+ }
4
+ export declare const TerrainianHeightTool: React.FC<TerrainianHeightProps>;
@@ -1,114 +1,114 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TerrainianHeightTool = void 0;
7
- var react_1 = __importDefault(require("react"));
8
- var cesium_1 = require("cesium");
9
- var map_1 = require("../map");
10
- var LABEL_PIXEL_OFFSET = -25;
11
- var FIRST_DATA_ROW_IDX = 2;
12
- var TerrainianHeightTool = function (props) {
13
- var mapViewer = map_1.useCesiumMap();
14
- var csvToArray = function (str, delimiter) {
15
- if (delimiter === void 0) { delimiter = ','; }
16
- // const headers = str.slice(0, str.indexOf('\n')).split(delimiter);
17
- var rows = str.slice(str.indexOf('\n') + 1).split('\n');
18
- var arr = rows.map(function (row) {
19
- var values = row.split(delimiter);
20
- var el = cesium_1.Cartographic.fromDegrees(parseFloat(values[0]), parseFloat(values[1]));
21
- // const el = headers.reduce((object: Record<string, number>, header, index) => {
22
- // const trimmedHeader = header.trim();
23
- // object[trimmedHeader] = parseFloat(values[index]);
24
- // return object;
25
- // }, {});
26
- //return el;
27
- return {
28
- cartographic: el,
29
- cartesian: new cesium_1.Cartesian2(parseFloat(values[0]), parseFloat(values[1])),
30
- };
31
- });
32
- return arr;
33
- };
34
- var loadCSV = function (evt) {
35
- var _a;
36
- evt.preventDefault();
37
- evt.persist();
38
- var reader = new FileReader();
39
- reader.onload = function (e) {
40
- var _a;
41
- var text = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
42
- var parsed = csvToArray(text);
43
- var ellipsoid = cesium_1.Ellipsoid.WGS84;
44
- console.log('Loaded CSV content:\n', text);
45
- void cesium_1.sampleTerrainMostDetailed(mapViewer.terrainProvider, parsed.map(function (item) { return item.cartographic; })).then(function (updatedPositions) {
46
- console.log(updatedPositions);
47
- updatedPositions = updatedPositions.slice(0, updatedPositions.length - 1); // UNIX brake line
48
- mapViewer.scene.globe.depthTestAgainstTerrain = true;
49
- mapViewer.entities.suspendEvents();
50
- mapViewer.entities.removeAll();
51
- updatedPositions.forEach(function (position, idx) {
52
- mapViewer.entities.add({
53
- name: (idx + FIRST_DATA_ROW_IDX).toString(),
54
- position: ellipsoid.cartographicToCartesian(position),
55
- billboard: {
56
- verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
57
- scale: 0.7,
58
- image: 'assets/img/map-marker.gif',
59
- },
60
- label: {
61
- text: (idx + FIRST_DATA_ROW_IDX).toString(),
62
- font: '14pt monospace',
63
- fillColor: cesium_1.Color.BLACK,
64
- style: cesium_1.LabelStyle.FILL_AND_OUTLINE,
65
- outlineWidth: 4,
66
- outlineColor: cesium_1.Color.BLACK,
67
- verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
68
- pixelOffset: new cesium_1.Cartesian2(0, LABEL_PIXEL_OFFSET),
69
- },
70
- description: "\n Long: " + parsed[idx].cartesian.x + " </br>\n Lat: " + parsed[idx].cartesian.y + " </br>\n Height(m): <span style=\"font-weight: 500\">" + position.height + "</span>\n ",
71
- });
72
- });
73
- mapViewer.entities.resumeEvents();
74
- if (evt.target.files !== null) {
75
- exportToCsv("terranian_heights_" + evt.target.files[0].name, parsed);
76
- evt.target.value = '';
77
- }
78
- console.log('Pinned point count is ', mapViewer.entities.values.length);
79
- }, function (err) {
80
- console.error('ERROR while sampleTerrainMostDetailed:', err);
81
- });
82
- };
83
- if ((_a = evt.target.files) === null || _a === void 0 ? void 0 : _a[0]) {
84
- reader.readAsText(evt.target.files[0]);
85
- }
86
- };
87
- var exportToCsv = function (filename, rows) {
88
- var processRow = function (row) {
89
- var finalVal = '';
90
- finalVal += row.cartesian.x.toString() + ',';
91
- finalVal += row.cartesian.y.toString() + ',';
92
- finalVal += row.cartographic.height.toString();
93
- return finalVal + '\n';
94
- };
95
- var csvFile = 'long,lat,height\n';
96
- rows.forEach(function (row) {
97
- csvFile += processRow(row);
98
- });
99
- var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });
100
- var link = document.createElement('a');
101
- var url = URL.createObjectURL(blob);
102
- link.setAttribute('href', url);
103
- link.setAttribute('download', filename);
104
- link.style.visibility = 'hidden';
105
- document.body.appendChild(link);
106
- link.click();
107
- document.body.removeChild(link);
108
- };
109
- return (react_1.default.createElement(react_1.default.Fragment, null,
110
- react_1.default.createElement("input", { type: "file", id: "csvFile", accept: ".csv", onChange: function (e) {
111
- loadCSV(e);
112
- } })));
113
- };
114
- exports.TerrainianHeightTool = TerrainianHeightTool;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TerrainianHeightTool = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var cesium_1 = require("cesium");
9
+ var map_1 = require("../map");
10
+ var LABEL_PIXEL_OFFSET = -25;
11
+ var FIRST_DATA_ROW_IDX = 2;
12
+ var TerrainianHeightTool = function (props) {
13
+ var mapViewer = map_1.useCesiumMap();
14
+ var csvToArray = function (str, delimiter) {
15
+ if (delimiter === void 0) { delimiter = ','; }
16
+ // const headers = str.slice(0, str.indexOf('\n')).split(delimiter);
17
+ var rows = str.slice(str.indexOf('\n') + 1).split('\n');
18
+ var arr = rows.map(function (row) {
19
+ var values = row.split(delimiter);
20
+ var el = cesium_1.Cartographic.fromDegrees(parseFloat(values[0]), parseFloat(values[1]));
21
+ // const el = headers.reduce((object: Record<string, number>, header, index) => {
22
+ // const trimmedHeader = header.trim();
23
+ // object[trimmedHeader] = parseFloat(values[index]);
24
+ // return object;
25
+ // }, {});
26
+ //return el;
27
+ return {
28
+ cartographic: el,
29
+ cartesian: new cesium_1.Cartesian2(parseFloat(values[0]), parseFloat(values[1])),
30
+ };
31
+ });
32
+ return arr;
33
+ };
34
+ var loadCSV = function (evt) {
35
+ var _a;
36
+ evt.preventDefault();
37
+ evt.persist();
38
+ var reader = new FileReader();
39
+ reader.onload = function (e) {
40
+ var _a;
41
+ var text = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
42
+ var parsed = csvToArray(text);
43
+ var ellipsoid = cesium_1.Ellipsoid.WGS84;
44
+ console.log('Loaded CSV content:\n', text);
45
+ void cesium_1.sampleTerrainMostDetailed(mapViewer.terrainProvider, parsed.map(function (item) { return item.cartographic; })).then(function (updatedPositions) {
46
+ console.log(updatedPositions);
47
+ updatedPositions = updatedPositions.slice(0, updatedPositions.length - 1); // UNIX brake line
48
+ mapViewer.scene.globe.depthTestAgainstTerrain = true;
49
+ mapViewer.entities.suspendEvents();
50
+ mapViewer.entities.removeAll();
51
+ updatedPositions.forEach(function (position, idx) {
52
+ mapViewer.entities.add({
53
+ name: (idx + FIRST_DATA_ROW_IDX).toString(),
54
+ position: ellipsoid.cartographicToCartesian(position),
55
+ billboard: {
56
+ verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
57
+ scale: 0.7,
58
+ image: 'assets/img/map-marker.gif',
59
+ },
60
+ label: {
61
+ text: (idx + FIRST_DATA_ROW_IDX).toString(),
62
+ font: '14pt monospace',
63
+ fillColor: cesium_1.Color.BLACK,
64
+ style: cesium_1.LabelStyle.FILL_AND_OUTLINE,
65
+ outlineWidth: 4,
66
+ outlineColor: cesium_1.Color.BLACK,
67
+ verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
68
+ pixelOffset: new cesium_1.Cartesian2(0, LABEL_PIXEL_OFFSET),
69
+ },
70
+ description: "\n Long: " + parsed[idx].cartesian.x + " </br>\n Lat: " + parsed[idx].cartesian.y + " </br>\n Height(m): <span style=\"font-weight: 500\">" + position.height + "</span>\n ",
71
+ });
72
+ });
73
+ mapViewer.entities.resumeEvents();
74
+ if (evt.target.files !== null) {
75
+ exportToCsv("terranian_heights_" + evt.target.files[0].name, parsed);
76
+ evt.target.value = '';
77
+ }
78
+ console.log('Pinned point count is ', mapViewer.entities.values.length);
79
+ }, function (err) {
80
+ console.error('ERROR while sampleTerrainMostDetailed:', err);
81
+ });
82
+ };
83
+ if ((_a = evt.target.files) === null || _a === void 0 ? void 0 : _a[0]) {
84
+ reader.readAsText(evt.target.files[0]);
85
+ }
86
+ };
87
+ var exportToCsv = function (filename, rows) {
88
+ var processRow = function (row) {
89
+ var finalVal = '';
90
+ finalVal += row.cartesian.x.toString() + ',';
91
+ finalVal += row.cartesian.y.toString() + ',';
92
+ finalVal += row.cartographic.height.toString();
93
+ return finalVal + '\n';
94
+ };
95
+ var csvFile = 'long,lat,height\n';
96
+ rows.forEach(function (row) {
97
+ csvFile += processRow(row);
98
+ });
99
+ var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });
100
+ var link = document.createElement('a');
101
+ var url = URL.createObjectURL(blob);
102
+ link.setAttribute('href', url);
103
+ link.setAttribute('download', filename);
104
+ link.style.visibility = 'hidden';
105
+ document.body.appendChild(link);
106
+ link.click();
107
+ document.body.removeChild(link);
108
+ };
109
+ return (react_1.default.createElement(react_1.default.Fragment, null,
110
+ react_1.default.createElement("input", { type: "file", id: "csvFile", accept: ".csv", onChange: function (e) {
111
+ loadCSV(e);
112
+ } })));
113
+ };
114
+ exports.TerrainianHeightTool = TerrainianHeightTool;
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { CssBaselineProps } from '@material-ui/core/CssBaseline';
3
- import { ScopedCssBaselineProps } from '@material-ui/core/ScopedCssBaseline';
4
- export declare const McCssBaseline: React.FC<CssBaselineProps>;
5
- export declare const McScopedCssBaseline: React.FC<ScopedCssBaselineProps>;
1
+ import React from 'react';
2
+ import { CssBaselineProps } from '@material-ui/core/CssBaseline';
3
+ import { ScopedCssBaselineProps } from '@material-ui/core/ScopedCssBaseline';
4
+ export declare const McCssBaseline: React.FC<CssBaselineProps>;
5
+ export declare const McScopedCssBaseline: React.FC<ScopedCssBaselineProps>;
@@ -1,41 +1,41 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.McScopedCssBaseline = exports.McCssBaseline = void 0;
29
- var react_1 = __importDefault(require("react"));
30
- var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
31
- var ScopedCssBaseline_1 = __importDefault(require("@material-ui/core/ScopedCssBaseline"));
32
- var McCssBaseline = function (props) {
33
- var children = props.children, rest = __rest(props, ["children"]);
34
- return react_1.default.createElement(CssBaseline_1.default, __assign({}, rest), children);
35
- };
36
- exports.McCssBaseline = McCssBaseline;
37
- var McScopedCssBaseline = function (props) {
38
- var children = props.children, rest = __rest(props, ["children"]);
39
- return react_1.default.createElement(ScopedCssBaseline_1.default, __assign({}, rest), children);
40
- };
41
- exports.McScopedCssBaseline = McScopedCssBaseline;
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.McScopedCssBaseline = exports.McCssBaseline = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
31
+ var ScopedCssBaseline_1 = __importDefault(require("@material-ui/core/ScopedCssBaseline"));
32
+ var McCssBaseline = function (props) {
33
+ var children = props.children, rest = __rest(props, ["children"]);
34
+ return react_1.default.createElement(CssBaseline_1.default, __assign({}, rest), children);
35
+ };
36
+ exports.McCssBaseline = McCssBaseline;
37
+ var McScopedCssBaseline = function (props) {
38
+ var children = props.children, rest = __rest(props, ["children"]);
39
+ return react_1.default.createElement(ScopedCssBaseline_1.default, __assign({}, rest), children);
40
+ };
41
+ exports.McScopedCssBaseline = McScopedCssBaseline;