@panoramax/web-viewer 4.4.0-develop-3839b5a4 → 4.4.0-develop-f91f6758

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 (341) hide show
  1. package/{src → build}/components/core/Basic.js +22 -16
  2. package/{src → build}/components/core/CoverageMap.js +19 -14
  3. package/{src → build}/components/core/Editor.js +16 -16
  4. package/{src → build}/components/core/PhotoViewer.js +30 -29
  5. package/{src → build}/components/core/Viewer.js +21 -20
  6. package/build/components/core/index.js +10 -0
  7. package/build/components/index.js +11 -0
  8. package/build/components/index_photoviewer.js +6 -0
  9. package/{src → build}/components/layout/BottomDrawer.js +4 -4
  10. package/{src → build}/components/layout/CorneredGrid.js +1 -1
  11. package/{src → build}/components/layout/Mini.js +5 -4
  12. package/{src → build}/components/layout/Tabs.js +1 -1
  13. package/build/components/layout/index.js +9 -0
  14. package/{src → build}/components/menus/LocationPrecisionDoc.js +4 -6
  15. package/{src → build}/components/menus/MapBackground.js +4 -6
  16. package/{src → build}/components/menus/MapFilters.js +16 -21
  17. package/{src → build}/components/menus/MapLayers.js +20 -24
  18. package/{src → build}/components/menus/MapLegend.js +3 -4
  19. package/{src → build}/components/menus/MiniPictureLegend.js +3 -4
  20. package/{src → build}/components/menus/PictureLegend.js +10 -15
  21. package/{src → build}/components/menus/PictureMetadata.js +12 -19
  22. package/{src → build}/components/menus/PlayerOptions.js +5 -7
  23. package/{src → build}/components/menus/QualityScoreDoc.js +3 -4
  24. package/{src → build}/components/menus/ReportForm.js +8 -9
  25. package/{src → build}/components/menus/SemanticsDoc.js +3 -4
  26. package/{src → build}/components/menus/SemanticsDownload.js +3 -3
  27. package/{src → build}/components/menus/SemanticsFilters.js +7 -8
  28. package/{src → build}/components/menus/SemanticsList.js +11 -18
  29. package/{src → build}/components/menus/SemanticsMetadata.js +8 -11
  30. package/{src → build}/components/menus/Share.js +6 -7
  31. package/build/components/menus/index.js +22 -0
  32. package/build/components/menus/index_photoviewer.js +11 -0
  33. package/{src → build}/components/styles.js +0 -2
  34. package/{src → build}/components/ui/AnnotationsSwitch.js +6 -8
  35. package/{src → build}/components/ui/Button.js +1 -1
  36. package/{src → build}/components/ui/ButtonGroup.js +2 -1
  37. package/{src → build}/components/ui/CopyButton.js +4 -6
  38. package/{src → build}/components/ui/Grade.js +5 -5
  39. package/{src → build}/components/ui/GradeFilter.js +3 -3
  40. package/{src → build}/components/ui/IconSwitch.js +1 -1
  41. package/{src → build}/components/ui/LinkButton.js +1 -1
  42. package/{src → build}/components/ui/ListGroup.js +3 -3
  43. package/{src → build}/components/ui/ListItem.js +1 -1
  44. package/{src → build}/components/ui/Loader.js +8 -7
  45. package/{src → build}/components/ui/Map.js +38 -26
  46. package/{src → build}/components/ui/MapMore.js +7 -7
  47. package/{src → build}/components/ui/Photo.js +29 -27
  48. package/{src → build}/components/ui/Popup.js +4 -4
  49. package/{src → build}/components/ui/QualityScore.js +4 -4
  50. package/{src → build}/components/ui/SearchBar.js +6 -7
  51. package/{src → build}/components/ui/SemanticsEditor.js +14 -15
  52. package/{src → build}/components/ui/SemanticsTable.js +4 -5
  53. package/{src → build}/components/ui/Switch.js +1 -1
  54. package/{src → build}/components/ui/TogglableGroup.js +4 -4
  55. package/build/components/ui/index.js +29 -0
  56. package/build/components/ui/index_photoviewer.js +21 -0
  57. package/{src → build}/components/ui/widgets/CopyCoordinates.js +5 -5
  58. package/{src → build}/components/ui/widgets/GeoSearch.js +10 -10
  59. package/{src → build}/components/ui/widgets/Legend.js +9 -8
  60. package/{src → build}/components/ui/widgets/LevelSelect.js +9 -7
  61. package/{src → build}/components/ui/widgets/MapFiltersButton.js +5 -5
  62. package/{src → build}/components/ui/widgets/MapLayersButton.js +5 -5
  63. package/{src → build}/components/ui/widgets/OSMEditors.js +8 -8
  64. package/{src → build}/components/ui/widgets/PictureLegendActions.js +4 -4
  65. package/{src → build}/components/ui/widgets/Player.js +6 -7
  66. package/{src → build}/components/ui/widgets/SemanticsFiltersButton.js +6 -7
  67. package/{src → build}/components/ui/widgets/Zoom.js +6 -6
  68. package/build/components/ui/widgets/index.js +16 -0
  69. package/build/components/ui/widgets/index_photoviewer.js +7 -0
  70. package/build/editor.html +94 -10
  71. package/{src → build}/img/arrow_triangle.svg +0 -1
  72. package/{src → build}/img/arrow_turn.svg +0 -1
  73. package/build/index.html +111 -1
  74. package/build/index.js +6 -95
  75. package/build/index_photoviewer.js +4 -0
  76. package/build/map.html +97 -1
  77. package/build/package.json +141 -0
  78. package/build/photo.html +85 -1
  79. package/build/servers.js +3 -4
  80. package/{src → build}/utils/API.js +33 -33
  81. package/{src → build}/utils/InitParameters.js +11 -9
  82. package/{src → build}/utils/MapStyleComposer.js +39 -37
  83. package/{src → build}/utils/PhotoAdapter.js +1 -0
  84. package/{src → build}/utils/PresetsManager.js +4 -4
  85. package/{src → build}/utils/SemanticsMapProtocol.js +3 -4
  86. package/{src → build}/utils/URLHandler.js +16 -14
  87. package/{src → build}/utils/geocoder.js +5 -5
  88. package/{src → build}/utils/i18n.js +21 -20
  89. package/build/utils/index.js +17 -0
  90. package/build/utils/index_photoviewer.js +14 -0
  91. package/{src → build}/utils/indoor.js +9 -5
  92. package/{src → build}/utils/map.js +15 -11
  93. package/{src → build}/utils/picture.js +22 -17
  94. package/{src → build}/utils/semantics.js +9 -5
  95. package/{src → build}/utils/utils.js +8 -4
  96. package/{src → build}/utils/widgets.js +2 -2
  97. package/build/viewer.html +120 -35
  98. package/build/viewer_indoor.html +90 -8
  99. package/build/widgets.html +410 -1
  100. package/package.json +81 -204
  101. package/.dockerignore +0 -7
  102. package/.gitlab-ci.yml +0 -78
  103. package/CHANGELOG.md +0 -853
  104. package/CODE_OF_CONDUCT.md +0 -134
  105. package/Dockerfile +0 -14
  106. package/build/index.css +0 -36
  107. package/build/index.css.map +0 -1
  108. package/build/index.js.map +0 -1
  109. package/build/photoviewer.css +0 -36
  110. package/build/photoviewer.css.map +0 -1
  111. package/build/photoviewer.js +0 -86
  112. package/build/photoviewer.js.map +0 -1
  113. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff +0 -0
  114. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff2 +0 -0
  115. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff +0 -0
  116. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff2 +0 -0
  117. package/config/env.js +0 -104
  118. package/config/getHttpsConfig.js +0 -69
  119. package/config/getPackageJson.js +0 -25
  120. package/config/jest/babelTransform.js +0 -29
  121. package/config/jest/cssTransform.js +0 -14
  122. package/config/jest/fileTransform.js +0 -40
  123. package/config/jest/mocks.js +0 -230
  124. package/config/modules.js +0 -134
  125. package/config/paths.js +0 -76
  126. package/config/pnpTs.js +0 -35
  127. package/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  128. package/config/webpack.config.js +0 -825
  129. package/config/webpackDevServer.config.js +0 -131
  130. package/docs/03_URL_settings.md +0 -218
  131. package/docs/05_Compatibility.md +0 -83
  132. package/docs/09_Develop.md +0 -141
  133. package/docs/90_Releases.md +0 -27
  134. package/docs/images/class_diagram.drawio +0 -144
  135. package/docs/images/class_diagram.jpg +0 -0
  136. package/docs/images/comparative_3drender.jpg +0 -0
  137. package/docs/images/indoor_level.png +0 -0
  138. package/docs/images/screenshot.jpg +0 -0
  139. package/docs/index.md +0 -159
  140. package/docs/reference/components/core/Basic.md +0 -211
  141. package/docs/reference/components/core/CoverageMap.md +0 -220
  142. package/docs/reference/components/core/Editor.md +0 -252
  143. package/docs/reference/components/core/PhotoViewer.md +0 -320
  144. package/docs/reference/components/core/Viewer.md +0 -398
  145. package/docs/reference/components/layout/BottomDrawer.md +0 -35
  146. package/docs/reference/components/layout/CorneredGrid.md +0 -29
  147. package/docs/reference/components/layout/Mini.md +0 -45
  148. package/docs/reference/components/layout/Tabs.md +0 -46
  149. package/docs/reference/components/menus/LocationPrecisionDoc.md +0 -15
  150. package/docs/reference/components/menus/MapBackground.md +0 -32
  151. package/docs/reference/components/menus/MapFilters.md +0 -37
  152. package/docs/reference/components/menus/MapLayers.md +0 -15
  153. package/docs/reference/components/menus/MapLegend.md +0 -32
  154. package/docs/reference/components/menus/MiniPictureLegend.md +0 -15
  155. package/docs/reference/components/menus/PictureLegend.md +0 -45
  156. package/docs/reference/components/menus/PictureMetadata.md +0 -32
  157. package/docs/reference/components/menus/PlayerOptions.md +0 -15
  158. package/docs/reference/components/menus/QualityScoreDoc.md +0 -15
  159. package/docs/reference/components/menus/ReportForm.md +0 -15
  160. package/docs/reference/components/menus/SemanticsDoc.md +0 -15
  161. package/docs/reference/components/menus/SemanticsDownload.md +0 -15
  162. package/docs/reference/components/menus/SemanticsFilters.md +0 -33
  163. package/docs/reference/components/menus/SemanticsList.md +0 -97
  164. package/docs/reference/components/menus/SemanticsMetadata.md +0 -15
  165. package/docs/reference/components/menus/ShareMenu.md +0 -32
  166. package/docs/reference/components/ui/AnnotationsSwitch.md +0 -32
  167. package/docs/reference/components/ui/Button.md +0 -40
  168. package/docs/reference/components/ui/ButtonGroup.md +0 -36
  169. package/docs/reference/components/ui/CopyButton.md +0 -41
  170. package/docs/reference/components/ui/Grade.md +0 -32
  171. package/docs/reference/components/ui/GradeFilter.md +0 -42
  172. package/docs/reference/components/ui/IconSwitch.md +0 -53
  173. package/docs/reference/components/ui/LinkButton.md +0 -45
  174. package/docs/reference/components/ui/ListGroup.md +0 -22
  175. package/docs/reference/components/ui/ListItem.md +0 -39
  176. package/docs/reference/components/ui/Loader.md +0 -56
  177. package/docs/reference/components/ui/Map.md +0 -150
  178. package/docs/reference/components/ui/MapMore.md +0 -150
  179. package/docs/reference/components/ui/Photo.md +0 -495
  180. package/docs/reference/components/ui/Popup.md +0 -56
  181. package/docs/reference/components/ui/ProgressBar.md +0 -32
  182. package/docs/reference/components/ui/QualityScore.md +0 -45
  183. package/docs/reference/components/ui/SearchBar.md +0 -63
  184. package/docs/reference/components/ui/SemanticsEditor.md +0 -113
  185. package/docs/reference/components/ui/SemanticsTable.md +0 -32
  186. package/docs/reference/components/ui/Switch.md +0 -49
  187. package/docs/reference/components/ui/TogglableGroup.md +0 -39
  188. package/docs/reference/components/ui/widgets/CopyCoordinates.md +0 -32
  189. package/docs/reference/components/ui/widgets/GeoSearch.md +0 -36
  190. package/docs/reference/components/ui/widgets/Legend.md +0 -58
  191. package/docs/reference/components/ui/widgets/LevelSelect.md +0 -16
  192. package/docs/reference/components/ui/widgets/MapFiltersButton.md +0 -37
  193. package/docs/reference/components/ui/widgets/MapLayersButton.md +0 -15
  194. package/docs/reference/components/ui/widgets/OSMEditors.md +0 -15
  195. package/docs/reference/components/ui/widgets/PictureLegendActions.md +0 -32
  196. package/docs/reference/components/ui/widgets/Player.md +0 -34
  197. package/docs/reference/components/ui/widgets/SemanticsFiltersButton.md +0 -15
  198. package/docs/reference/components/ui/widgets/Zoom.md +0 -15
  199. package/docs/reference/utils/API.md +0 -389
  200. package/docs/reference/utils/InitParameters.md +0 -68
  201. package/docs/reference/utils/MapStyleComposer.md +0 -408
  202. package/docs/reference/utils/PanoraMapProtocol.md +0 -28
  203. package/docs/reference/utils/PresetsManager.md +0 -43
  204. package/docs/reference/utils/SemanticsMapProtocol.md +0 -43
  205. package/docs/reference/utils/URLHandler.md +0 -114
  206. package/docs/reference.md +0 -99
  207. package/docs/shortcuts.md +0 -11
  208. package/docs/tutorials/aerial_imagery.md +0 -21
  209. package/docs/tutorials/authentication.md +0 -10
  210. package/docs/tutorials/custom_widgets.md +0 -59
  211. package/docs/tutorials/indoor_maps.md +0 -50
  212. package/docs/tutorials/map_style.md +0 -83
  213. package/docs/tutorials/migrate_v4.md +0 -153
  214. package/docs/tutorials/migrate_v5.md +0 -103
  215. package/docs/tutorials/semantics_overlays.md +0 -74
  216. package/docs/tutorials/synced_coverage.md +0 -43
  217. package/mkdocs.yml +0 -131
  218. package/public/editor.html +0 -53
  219. package/public/index.html +0 -70
  220. package/public/map.html +0 -55
  221. package/public/photo.html +0 -43
  222. package/public/servers.js +0 -15
  223. package/public/viewer.html +0 -79
  224. package/public/viewer_indoor.html +0 -48
  225. package/public/widgets.html +0 -366
  226. package/scripts/build.js +0 -217
  227. package/scripts/doc.js +0 -79
  228. package/scripts/start.js +0 -172
  229. package/scripts/test.js +0 -52
  230. package/src/components/core/index.js +0 -12
  231. package/src/components/index.js +0 -13
  232. package/src/components/index_photoviewer.js +0 -8
  233. package/src/components/layout/index.js +0 -9
  234. package/src/components/menus/index.js +0 -22
  235. package/src/components/menus/index_photoviewer.js +0 -13
  236. package/src/components/ui/index.js +0 -29
  237. package/src/components/ui/index_photoviewer.js +0 -23
  238. package/src/components/ui/widgets/index.js +0 -16
  239. package/src/components/ui/widgets/index_photoviewer.js +0 -9
  240. package/src/index.js +0 -8
  241. package/src/index_photoviewer.js +0 -6
  242. package/src/utils/index.js +0 -17
  243. package/src/utils/index_photoviewer.js +0 -16
  244. package/tests/components/core/Basic.test.js +0 -168
  245. package/tests/components/core/BasicMock.js +0 -25
  246. package/tests/components/core/CoverageMap.test.js +0 -20
  247. package/tests/components/core/Editor.test.js +0 -20
  248. package/tests/components/core/PhotoViewer.test.js +0 -57
  249. package/tests/components/core/Viewer.test.js +0 -85
  250. package/tests/components/core/__snapshots__/PhotoViewer.test.js.snap +0 -96
  251. package/tests/components/core/__snapshots__/Viewer.test.js.snap +0 -188
  252. package/tests/components/ui/CopyButton.test.js +0 -52
  253. package/tests/components/ui/Loader.test.js +0 -55
  254. package/tests/components/ui/Map.test.js +0 -145
  255. package/tests/components/ui/Photo.test.js +0 -437
  256. package/tests/components/ui/Popup.test.js +0 -26
  257. package/tests/components/ui/QualityScore.test.js +0 -18
  258. package/tests/components/ui/SearchBar.test.js +0 -110
  259. package/tests/components/ui/__snapshots__/CopyButton.test.js.snap +0 -33
  260. package/tests/components/ui/__snapshots__/Loader.test.js.snap +0 -56
  261. package/tests/components/ui/__snapshots__/Map.test.js.snap +0 -16
  262. package/tests/components/ui/__snapshots__/Photo.test.js.snap +0 -263
  263. package/tests/components/ui/__snapshots__/Popup.test.js.snap +0 -29
  264. package/tests/components/ui/__snapshots__/QualityScore.test.js.snap +0 -11
  265. package/tests/components/ui/__snapshots__/SearchBar.test.js.snap +0 -65
  266. package/tests/data/Map_geocoder_ban.json +0 -36
  267. package/tests/data/Map_geocoder_nominatim.json +0 -41
  268. package/tests/data/Viewer_pictures_1.json +0 -148
  269. package/tests/setupTests.js +0 -5
  270. package/tests/utils/API.test.js +0 -752
  271. package/tests/utils/InitParameters.test.js +0 -599
  272. package/tests/utils/MapStyleComposer.test.js +0 -697
  273. package/tests/utils/PresetsManager.test.js +0 -123
  274. package/tests/utils/URLHandler.test.js +0 -587
  275. package/tests/utils/__snapshots__/API.test.js.snap +0 -40
  276. package/tests/utils/__snapshots__/MapStyleComposer.test.js.snap +0 -767
  277. package/tests/utils/__snapshots__/URLHandler.test.js.snap +0 -21
  278. package/tests/utils/__snapshots__/geocoder.test.js.snap +0 -37
  279. package/tests/utils/__snapshots__/map.test.js.snap +0 -1249
  280. package/tests/utils/__snapshots__/picture.test.js.snap +0 -327
  281. package/tests/utils/__snapshots__/widgets.test.js.snap +0 -19
  282. package/tests/utils/geocoder.test.js +0 -37
  283. package/tests/utils/i18n.test.js +0 -111
  284. package/tests/utils/map.test.js +0 -200
  285. package/tests/utils/picture.test.js +0 -745
  286. package/tests/utils/semantics.test.js +0 -174
  287. package/tests/utils/utils.test.js +0 -358
  288. package/tests/utils/widgets.test.js +0 -31
  289. /package/{src → build}/components/core/Basic.css +0 -0
  290. /package/{src → build}/components/core/CoverageMap.css +0 -0
  291. /package/{src → build}/components/core/Editor.css +0 -0
  292. /package/{src → build}/components/core/PhotoViewer.css +0 -0
  293. /package/{src → build}/components/core/Viewer.css +0 -0
  294. /package/{src → build}/components/ui/ButtonGroup.css +0 -0
  295. /package/{src → build}/components/ui/Map.css +0 -0
  296. /package/{src → build}/components/ui/Photo.css +0 -0
  297. /package/{src → build}/components/ui/ProgressBar.js +0 -0
  298. /package/{src → build}/components/ui/widgets/GeoSearch.css +0 -0
  299. /package/{src → build}/components/ui/widgets/LevelSelect.css +0 -0
  300. /package/{src → build}/components/ui/widgets/Player.css +0 -0
  301. /package/{public → build}/favicon.ico +0 -0
  302. /package/{src → build}/img/arrow_360.svg +0 -0
  303. /package/{src → build}/img/arrow_flat.svg +0 -0
  304. /package/{src → build}/img/bg_aerial.jpg +0 -0
  305. /package/{src → build}/img/bg_streets.jpg +0 -0
  306. /package/{src → build}/img/loader_base.jpg +0 -0
  307. /package/{src → build}/img/logo_dead.svg +0 -0
  308. /package/{src → build}/img/marker.svg +0 -0
  309. /package/{src → build}/img/marker_blue.svg +0 -0
  310. /package/{src → build}/img/osm.svg +0 -0
  311. /package/{src → build}/img/panoramax.svg +0 -0
  312. /package/{src → build}/img/switch_big.svg +0 -0
  313. /package/{src → build}/img/switch_mini.svg +0 -0
  314. /package/{src → build}/img/wd.svg +0 -0
  315. /package/{src → build}/translations/ar.json +0 -0
  316. /package/{src → build}/translations/be.json +0 -0
  317. /package/{src → build}/translations/br.json +0 -0
  318. /package/{src → build}/translations/cy.json +0 -0
  319. /package/{src → build}/translations/da.json +0 -0
  320. /package/{src → build}/translations/de.json +0 -0
  321. /package/{src → build}/translations/en.json +0 -0
  322. /package/{src → build}/translations/eo.json +0 -0
  323. /package/{src → build}/translations/es.json +0 -0
  324. /package/{src → build}/translations/fi.json +0 -0
  325. /package/{src → build}/translations/fr.json +0 -0
  326. /package/{src → build}/translations/hu.json +0 -0
  327. /package/{src → build}/translations/it.json +0 -0
  328. /package/{src → build}/translations/ja.json +0 -0
  329. /package/{src → build}/translations/ko.json +0 -0
  330. /package/{src → build}/translations/nl.json +0 -0
  331. /package/{src → build}/translations/nn.json +0 -0
  332. /package/{src → build}/translations/pl.json +0 -0
  333. /package/{src → build}/translations/pt.json +0 -0
  334. /package/{src → build}/translations/pt_BR.json +0 -0
  335. /package/{src → build}/translations/sv.json +0 -0
  336. /package/{src → build}/translations/ti.json +0 -0
  337. /package/{src → build}/translations/tr.json +0 -0
  338. /package/{src → build}/translations/uk.json +0 -0
  339. /package/{src → build}/translations/zh_Hant.json +0 -0
  340. /package/{src → build}/utils/PanoraMapProtocol.js +0 -0
  341. /package/{src → build}/utils/services.js +0 -0
@@ -1,74 +0,0 @@
1
- # Add custom semantics overlays
2
-
3
- You can take profit of [Panoramax Tags](https://docs.panoramax.fr/tags/) in your own web viewer using _Semantics overlays_. They allow to display pictures having specific tags directly over the map, like traffic signs overlay.
4
-
5
- This can be done after viewer initial load:
6
-
7
- ```js
8
- var viewer = document.getElementById("viewer");
9
-
10
- viewer.onceMapReady().then(() => {
11
- viewer.map.addSemanticOverlay(
12
- // Overlay ID, used by MapLibre and for URL
13
- "animals",
14
-
15
- // API semantics filter
16
- "\"semantics.osm|traffic_sign\"='FR:A15b'",
17
-
18
- // MapLibre layer style, with custom metadata for viewer widget
19
- {
20
- metadata: { "name": "Wild animals" },
21
- type: "circle",
22
- paint: {
23
- "circle-color": "blue"
24
- }
25
- }
26
- );
27
- });
28
- ```
29
-
30
- You can have any kind of complex MapLibre style rendering, including sprites. For example, that's how we manage the traffic signs overlay:
31
-
32
- ```js
33
- var viewer = document.getElementById("viewer");
34
-
35
- viewer.onceMapReady().then(() => {
36
- viewer.map.addSemanticOverlay(
37
- // Overlay ID, used by MapLibre and for URL
38
- "tfsigns",
39
-
40
- // API semantics filter
41
- "\"semantics.osm|traffic_sign\" IS NOT NULL",
42
-
43
- // MapLibre layer style, with custom metadata for viewer widget
44
- {
45
- metadata: { "name": "Traffic signs" },
46
- type: "symbol",
47
- layout: {
48
- // Define initial visibility
49
- visibility: "none",
50
- "icon-overlap": "never",
51
- // Icon based on sprite defined below, with conditional rendering
52
- "icon-image": ["case",
53
- // Many signs
54
- ["in", ";", ["get", "osm|traffic_sign"]],
55
- "pnx-tfsigns-fr:0_many",
56
- // Single FR sign
57
- ["==", ["slice", ["get", "osm|traffic_sign"], 0, 2], "FR"],
58
- ["concat", "pnx-tfsigns-fr:", ["slice", ["get", "osm|traffic_sign"], 3]],
59
- // Generic value
60
- ["==", ["get", "osm|traffic_sign"], "yes"],
61
- "pnx-tfsigns-fr:0_unknown",
62
- // Fallbacks
63
- ["has", "osm|traffic_sign"],
64
- "pnx-tfsigns-fr:0_unknown",
65
- ""
66
- ]
67
- }
68
- },
69
-
70
- // Required sprites, you can even define many if necessary
71
- { "pnx-tfsigns-fr": "https://presets.panoramax.fr/sprites/trafficsigns_fr" }
72
- );
73
- });
74
- ```
@@ -1,43 +0,0 @@
1
- # Coverage map synced with external component
2
-
3
- Let's say you want to list all sequences of an user. You can display a standalone map which can be synced with your custom list. Create your _Coverage Map_ web component:
4
-
5
- ```html
6
- <pnx-coverage-map
7
- id="coverage"
8
- class="fullpage"
9
- endpoint="https://api.panoramax.xyz/api"
10
- />
11
- ```
12
-
13
- Then, access it through JavaScript for further interaction:
14
-
15
- ```js
16
- // Retrieve component from DOM
17
- var coverage = document.getElementById("coverage");
18
-
19
- // Wait for map initial load
20
- coverage.addEventListener("ready", () => {
21
- // Change visible map area
22
- coverage.map.fitBounds([0, 0, 180, 90]);
23
-
24
- // Listen to sequence hovered on map
25
- // You can alternatively use: coverage.addEventListener("map:sequence-hover", ...)
26
- coverage.map.on("sequence-hover", e => {
27
- console.log("Hovered sequence", e.seqId);
28
- });
29
-
30
- // Listen to user clicks on map
31
- coverage.addEventListener("select", e => {
32
- console.log("Selected sequence", e.detail.seqId, "picture", e.detail.picId);
33
- });
34
-
35
- // You can also programmatically change selection on map
36
- coverage.select(
37
- "c463d190-06b0-47fb-98a8-b4a775a39ad6", // A sequence ID
38
- "bdea1eb4-4496-46da-a4d5-b22b16e75fa8" // A picture ID (can be null if unknown)
39
- );
40
- }, {once: true});
41
- ```
42
-
43
- All available interaction are listed in [Coverage Map reference](../reference/components/core/CoverageMap.md).
package/mkdocs.yml DELETED
@@ -1,131 +0,0 @@
1
- site_name: 'Panoramax - Web viewer'
2
- site_url: https://docs.panoramax.fr
3
-
4
- theme:
5
- name: material
6
- logo: https://gitlab.com/panoramax/gitlab-profile/-/raw/main/images/panoramax_favicon.svg
7
- features:
8
- - navigation.footer
9
- - navigation.tracking
10
- - navigation.sections
11
- - search.suggest
12
- - search.share
13
- - content.code.annotate
14
- - content.code.copy
15
- - content.code.select
16
-
17
- plugins:
18
- - search
19
-
20
- markdown_extensions:
21
- - admonition
22
- - pymdownx.superfences
23
- - pymdownx.details
24
- - pymdownx.tabbed:
25
- alternate_style: true
26
- - pymdownx.highlight:
27
- anchor_linenums: true
28
- line_spans: __span
29
- pygments_lang_class: true
30
- - pymdownx.inlinehilite
31
- - pymdownx.snippets
32
- - attr_list
33
- - pymdownx.emoji:
34
- emoji_index: !!python/name:material.extensions.emoji.twemoji
35
- emoji_generator: !!python/name:material.extensions.emoji.to_svg
36
-
37
- nav:
38
- - 'Quick start': 'index.md'
39
- - 'Migrating':
40
- - 'v4 to v5': 'tutorials/migrate_v5.md'
41
- - 'v3 to v4': 'tutorials/migrate_v4.md'
42
- - Tips:
43
- - 'URL settings': '03_URL_settings.md'
44
- - Shortcuts: 'shortcuts.md'
45
- - Tutorials:
46
- - 'Change map style': 'tutorials/map_style.md'
47
- - 'Add aerial imagery': 'tutorials/aerial_imagery.md'
48
- - 'Server authentication': 'tutorials/authentication.md'
49
- - 'Custom widgets': 'tutorials/custom_widgets.md'
50
- - 'Synced coverage map': 'tutorials/synced_coverage.md'
51
- - 'Semantics overlays': 'tutorials/semantics_overlays.md'
52
- - 'Indoor maps': 'tutorials/indoor_maps.md'
53
- - Develop:
54
- - 'Where to start': '09_Develop.md'
55
- - 'STAC API compatibility': '05_Compatibility.md'
56
- - 'Make a release': '90_Releases.md'
57
- - 'API reference':
58
- - Overview: 'reference.md'
59
- - components:
60
- - core:
61
- - Basic: 'reference/components/core/Basic.md'
62
- - CoverageMap: 'reference/components/core/CoverageMap.md'
63
- - Editor: 'reference/components/core/Editor.md'
64
- - PhotoViewer: 'reference/components/core/PhotoViewer.md'
65
- - Viewer: 'reference/components/core/Viewer.md'
66
- - layout:
67
- - BottomDrawer: 'reference/components/layout/BottomDrawer.md'
68
- - CorneredGrid: 'reference/components/layout/CorneredGrid.md'
69
- - Mini: 'reference/components/layout/Mini.md'
70
- - Tabs: 'reference/components/layout/Tabs.md'
71
- - menus:
72
- - LocationPrecisionDoc: 'reference/components/menus/LocationPrecisionDoc.md'
73
- - MapBackground: 'reference/components/menus/MapBackground.md'
74
- - MapFilters: 'reference/components/menus/MapFilters.md'
75
- - MapLayers: 'reference/components/menus/MapLayers.md'
76
- - MapLegend: 'reference/components/menus/MapLegend.md'
77
- - MiniPictureLegend: 'reference/components/menus/MiniPictureLegend.md'
78
- - PictureLegend: 'reference/components/menus/PictureLegend.md'
79
- - PictureMetadata: 'reference/components/menus/PictureMetadata.md'
80
- - PlayerOptions: 'reference/components/menus/PlayerOptions.md'
81
- - QualityScoreDoc: 'reference/components/menus/QualityScoreDoc.md'
82
- - ReportForm: 'reference/components/menus/ReportForm.md'
83
- - SemanticsDoc: 'reference/components/menus/SemanticsDoc.md'
84
- - SemanticsDownload: 'reference/components/menus/SemanticsDownload.md'
85
- - SemanticsFilters: 'reference/components/menus/SemanticsFilters.md'
86
- - SemanticsList: 'reference/components/menus/SemanticsList.md'
87
- - SemanticsMetadata: 'reference/components/menus/SemanticsMetadata.md'
88
- - ShareMenu: 'reference/components/menus/ShareMenu.md'
89
- - ui:
90
- - widgets:
91
- - CopyCoordinates: 'reference/components/ui/widgets/CopyCoordinates.md'
92
- - GeoSearch: 'reference/components/ui/widgets/GeoSearch.md'
93
- - Legend: 'reference/components/ui/widgets/Legend.md'
94
- - LevelSelect: 'reference/components/ui/widgets/LevelSelect.md'
95
- - MapFiltersButton: 'reference/components/ui/widgets/MapFiltersButton.md'
96
- - MapLayersButton: 'reference/components/ui/widgets/MapLayersButton.md'
97
- - OSMEditors: 'reference/components/ui/widgets/OSMEditors.md'
98
- - PictureLegendActions: 'reference/components/ui/widgets/PictureLegendActions.md'
99
- - Player: 'reference/components/ui/widgets/Player.md'
100
- - SemanticsFiltersButton: 'reference/components/ui/widgets/SemanticsFiltersButton.md'
101
- - Zoom: 'reference/components/ui/widgets/Zoom.md'
102
- - AnnotationsSwitch: 'reference/components/ui/AnnotationsSwitch.md'
103
- - Button: 'reference/components/ui/Button.md'
104
- - ButtonGroup: 'reference/components/ui/ButtonGroup.md'
105
- - CopyButton: 'reference/components/ui/CopyButton.md'
106
- - Grade: 'reference/components/ui/Grade.md'
107
- - GradeFilter: 'reference/components/ui/GradeFilter.md'
108
- - IconSwitch: 'reference/components/ui/IconSwitch.md'
109
- - LinkButton: 'reference/components/ui/LinkButton.md'
110
- - ListGroup: 'reference/components/ui/ListGroup.md'
111
- - ListItem: 'reference/components/ui/ListItem.md'
112
- - Loader: 'reference/components/ui/Loader.md'
113
- - Map: 'reference/components/ui/Map.md'
114
- - MapMore: 'reference/components/ui/MapMore.md'
115
- - Photo: 'reference/components/ui/Photo.md'
116
- - Popup: 'reference/components/ui/Popup.md'
117
- - ProgressBar: 'reference/components/ui/ProgressBar.md'
118
- - QualityScore: 'reference/components/ui/QualityScore.md'
119
- - SearchBar: 'reference/components/ui/SearchBar.md'
120
- - SemanticsEditor: 'reference/components/ui/SemanticsEditor.md'
121
- - SemanticsTable: 'reference/components/ui/SemanticsTable.md'
122
- - Switch: 'reference/components/ui/Switch.md'
123
- - TogglableGroup: 'reference/components/ui/TogglableGroup.md'
124
- - utils:
125
- - API: 'reference/utils/API.md'
126
- - InitParameters: 'reference/utils/InitParameters.md'
127
- - MapStyleComposer: 'reference/utils/MapStyleComposer.md'
128
- - PanoraMapProtocol: 'reference/utils/PanoraMapProtocol.md'
129
- - PresetsManager: 'reference/utils/PresetsManager.md'
130
- - URLHandler: 'reference/utils/URLHandler.md'
131
- - SemanticsMapProtocol: 'reference/utils/SemanticsMapProtocol.md'
@@ -1,53 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>Panoramax Editor</title>
7
- <style>
8
- #editor {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #editor.fullpage {
15
- position: fixed;
16
- inset: 0;
17
- height: unset;
18
- width: unset;
19
- margin: 0;
20
- }
21
- </style>
22
- </head>
23
- <body>
24
- <noscript>
25
- You need to enable JavaScript to run this app.
26
- </noscript>
27
-
28
- <pnx-editor
29
- id="editor"
30
- class="fullpage"
31
- sequence="ecfe4b2c-0acd-4d3a-a10d-c3e6818755c8"
32
- picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6"
33
- background="aerial"
34
- raster='{
35
- type: "raster",
36
- tiles: [
37
- "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
38
- ],
39
- minzoom: 0,
40
- maxzoom: 19,
41
- attribution: "&copy; IGN",
42
- tileSize: 256
43
- }'
44
- ></pnx-editor>
45
-
46
- <script src="./servers.js"></script>
47
- <script>
48
- var editor = document.getElementById("editor");
49
- editor.setAttribute("endpoint", server);
50
- </script>
51
-
52
- </body>
53
- </html>
package/public/index.html DELETED
@@ -1,70 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax JS Library</title>
7
- <style>
8
- body {
9
- font-family: sans-serif;
10
- text-align: center;
11
- }
12
- .allViews {
13
- display: flex;
14
- flex-wrap: wrap;
15
- justify-content: space-around;
16
- align-items: flex-start;
17
- gap: 10px;
18
- }
19
- .oneView {
20
- text-align: center;
21
- flex: 1;
22
- min-width: 400px;
23
- }
24
- iframe {
25
- width: 100%;
26
- height: 300px;
27
- border: none;
28
- }
29
- </style>
30
- </head>
31
- <body>
32
- <noscript>
33
- You need to enable JavaScript to run this app.
34
- </noscript>
35
- <h1>Panoramax JavaScript Client</h1>
36
- <p>Panoramax JS library offers different views to suit your needs.<br />You can also give a look at the <a href="./widgets.html">widgets test page</a>.</p>
37
-
38
- <div class="allViews">
39
- <div class="oneView">
40
- <h2>Viewer</h2>
41
- <p>General-purpose map and picture display.<br /><a href="./viewer.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/Viewer/">Docs</a></p>
42
- <iframe src="./viewer.html"></iframe>
43
- </div>
44
-
45
- <div class="oneView">
46
- <h2>Photo Viewer</h2>
47
- <p>Picture-only display.<br /><a href="./photo.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/PhotoViewer/">Docs</a></p>
48
- <iframe src="./photo.html"></iframe>
49
- </div>
50
-
51
- <div class="oneView">
52
- <h2>Coverage Map</h2>
53
- <p>A map-only view, to locate sequences and pictures.<br /><a href="./map.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/CoverageMap/">Docs</a></p>
54
- <iframe src="./map.html"></iframe>
55
- </div>
56
-
57
- <div class="oneView">
58
- <h2>Editor</h2>
59
- <p>A map and picture view, focused around metadata editing.<br /><a href="./editor.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/reference/components/core/Editor/">Docs</a></p>
60
- <iframe src="./editor.html"></iframe>
61
- </div>
62
-
63
- <div class="oneView">
64
- <h2>Viewer with Indoor Maps</h2>
65
- <p>Using OSM & indoor= map data.<br /><a href="./viewer_indoor.html">Full page</a> | <a href="https://viewer.geovisio.fr/docs/tutorials/indoor_maps/">Docs</a></p>
66
- <iframe src="./viewer_indoor.html"></iframe>
67
- </div>
68
- </div>
69
- </body>
70
- </html>
package/public/map.html DELETED
@@ -1,55 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
- <title>Panoramax Coverage Map</title>
7
- <style>
8
- #coverage {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #coverage.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-coverage-map
32
- id="coverage"
33
- class="fullpage"
34
- ></pnx-coverage-map>
35
-
36
- <script src="./servers.js"></script>
37
- <script>
38
- // Retrieve component from DOM
39
- var coverage = document.getElementById("coverage");
40
- coverage.setAttribute("endpoint", server);
41
-
42
- coverage.addEventListener("ready", () => {
43
- // Listen to sequence hovered on map
44
- coverage.map.on("sequence-hover", e => {
45
- console.log("Hovered sequence", e.seqId);
46
- });
47
-
48
- // Listen to user clicks on map
49
- coverage.addEventListener("select", e => {
50
- console.log("Selected sequence", e.detail.seqId, "picture", e.detail.picId);
51
- });
52
- }, {once: true});
53
- </script>
54
- </body>
55
- </html>
package/public/photo.html DELETED
@@ -1,43 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Photo Viewer</title>
7
- <style>
8
- #viewer {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #viewer.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-photo-viewer
32
- id="viewer"
33
- class="fullpage"
34
- picture="329af5c6-4761-4a6d-9c1e-674fd6daa8b6"
35
- ></pnx-photo-viewer>
36
-
37
- <script src="./servers.js"></script>
38
- <script>
39
- var viewer = document.getElementById("viewer");
40
- viewer.setAttribute("endpoint", server);
41
- </script>
42
- </body>
43
- </html>
package/public/servers.js DELETED
@@ -1,15 +0,0 @@
1
- var servers = {
2
- meta: "https://explore.panoramax.fr/api",
3
- ign: "https://panoramax.ign.fr/api",
4
- osmfr: "https://panoramax.openstreetmap.fr/api",
5
- local: "http://localhost:5000/api",
6
- dev: "https://dev.panoramax.xyz/api",
7
- cartocite: "https://panoramax.cartocite.fr/api",
8
- };
9
- var urlParams = new URLSearchParams(window.location.search);
10
- // eslint-disable-next-line no-unused-vars
11
- var server = servers[urlParams.get("server") || "meta"];
12
- if(!server) {
13
- console.error("Unrecognized server: "+urlParams.get("server"));
14
- server = servers.meta;
15
- }
@@ -1,79 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Web Viewer</title>
7
- <style>
8
- #viewer {
9
- position: relative;
10
- width: 95%;
11
- margin: 2.5%;
12
- height: 400px;
13
- }
14
- #viewer.fullpage {
15
- position: fixed;
16
- top: 0;
17
- bottom: 0;
18
- left: 0;
19
- right: 0;
20
- height: unset;
21
- width: unset;
22
- margin: 0;
23
- }
24
- </style>
25
- </head>
26
- <body>
27
- <noscript>
28
- You need to enable JavaScript to run this app.
29
- </noscript>
30
-
31
- <pnx-viewer
32
- id="viewer"
33
- class="fullpage"
34
- map-options='{
35
- raster: {
36
- type: "raster",
37
- tiles: [
38
- "https://data.geopf.fr/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ORTHOIMAGERY.ORTHOPHOTOS&STYLE=normal&FORMAT=image/jpeg&TILEMATRIXSET=PM_0_19&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}"
39
- ],
40
- minzoom: 0,
41
- maxzoom: 19,
42
- attribution: "&copy; IGN",
43
- tileSize: 256
44
- },
45
- basemaps: {
46
- "OSM Topo": "https://tile-vect.openstreetmap.fr/styles/topo/style.json",
47
- "OSM FR": "https://a.tile.openstreetmap.fr/osmfr/{z:19}/{x}/{y}.png",
48
- osmbzh: {
49
- sources: {
50
- "osmbzh": {
51
- "type": "raster",
52
- "tiles": ["https://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png"],
53
- "tileSize": 256,
54
- "minzoom": 0,
55
- "maxzoom": 19,
56
- "attribution": "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> & <a href=\"http://www.openstreetmap.bzh/\">Breton OpenStreetMap Team</a>",
57
- }
58
- },
59
- "layers": [
60
- {
61
- "id": "osmbzh",
62
- "type": "raster",
63
- "source": "osmbzh",
64
- "metadata": {"name": "OSM e brezhoneg"}
65
- }
66
- ]
67
- }
68
- }
69
- }'
70
- ></pnx-viewer>
71
-
72
- <script src="./servers.js"></script>
73
- <script>
74
- var viewer = document.getElementById("viewer");
75
- if(server === servers.meta) { viewer.setAttribute("metacatalog", "false"); }
76
- viewer.setAttribute("endpoint", server);
77
- </script>
78
- </body>
79
- </html>
@@ -1,48 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
6
- <title>Panoramax Web Viewer - Indoor</title>
7
- <script src="https://unpkg.com/maplibre-gl-indoorequal@1.3.0/dist/maplibre-gl-indoorequal.umd.min.js"></script>
8
- <link href="https://unpkg.com/maplibre-gl-indoorequal@1.3.0/maplibre-gl-indoorequal.css" rel="stylesheet" />
9
- <style>
10
- #viewer {
11
- position: relative;
12
- width: 95%;
13
- margin: 2.5%;
14
- height: 400px;
15
- }
16
- #viewer.fullpage {
17
- position: fixed;
18
- top: 0;
19
- bottom: 0;
20
- left: 0;
21
- right: 0;
22
- height: unset;
23
- width: unset;
24
- margin: 0;
25
- }
26
- </style>
27
- </head>
28
- <body>
29
- <noscript>
30
- You need to enable JavaScript to run this app.
31
- </noscript>
32
-
33
- <pnx-viewer
34
- id="viewer"
35
- class="fullpage"
36
- endpoint="https://panoramax.openstreetmap.fr/api"
37
- map-options='{
38
- center: [-1.55958, 47.2135],
39
- zoom: 19,
40
- indoor: {
41
- apiKey: "iek_yFQp8AMQpK78c8wPyAvbXY3ko6nh",
42
- heatmap: false,
43
- level: "2"
44
- }
45
- }'
46
- ></pnx-viewer>
47
- </body>
48
- </html>