@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,220 +0,0 @@
1
- <a name="Panoramax.components.core.CoverageMap"></a>
2
-
3
- ## Panoramax.components.core.CoverageMap ⇐ [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
4
- **Kind**: static class of <code>Panoramax.components.core</code>
5
- **Extends**: [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
6
- **Emits**: [<code>select</code>](Basic.md/#Panoramax.components.core.Basic+event_select), [<code>ready</code>](Basic.md/#Panoramax.components.core.Basic+event_ready), [<code>broken</code>](Basic.md/#Panoramax.components.core.Basic+event_broken)
7
- **Element**: pnx-coverage-map
8
- **Properties**
9
-
10
- | Name | Type | Description |
11
- | --- | --- | --- |
12
- | loader | [<code>Loader</code>](../ui/Loader.md/#Panoramax.components.ui.Loader) | The loader screen |
13
- | api | [<code>API</code>](../../utils/API.md/#Panoramax.utils.API) | The API manager |
14
- | map | [<code>Map</code>](../ui/Map.md/#Panoramax.components.ui.Map) | The MapLibre GL map itself |
15
- | mapStyleComposer | [<code>MapStyleComposer</code>](../../utils/MapStyleComposer.md/#Panoramax.utils.MapStyleComposer) | The map style helper |
16
-
17
-
18
- * [.CoverageMap](#Panoramax.components.core.CoverageMap) ⇐ [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
19
- * [new CoverageMap()](#new_Panoramax.components.core.CoverageMap_new)
20
- * [.properties](#Panoramax.components.core.CoverageMap+properties) : <code>Object</code>
21
- * [.onceReady()](Basic.md/#Panoramax.components.core.Basic+onceReady) ⇒ <code>Promise</code>
22
- * [.onceAPIReady()](Basic.md/#Panoramax.components.core.Basic+onceAPIReady) ⇒ <code>Promise</code>
23
- * [.getClassName()](Basic.md/#Panoramax.components.core.Basic+getClassName) ⇒ <code>string</code>
24
- * [.select([seqId], [picId], [force])](#Panoramax.components.core.Basic+select)
25
- * [.isWidthSmall()](Basic.md/#Panoramax.components.core.Basic+isWidthSmall) ⇒ <code>boolean</code>
26
- * [.isWidthMedium()](Basic.md/#Panoramax.components.core.Basic+isWidthMedium) ⇒ <code>boolean</code>
27
- * [.isHeightSmall()](Basic.md/#Panoramax.components.core.Basic+isHeightSmall) ⇒ <code>boolean</code>
28
- * [.getSubComponentsNames()](Basic.md/#Panoramax.components.core.Basic+getSubComponentsNames) ⇒ <code>Array.&lt;string&gt;</code>
29
- * [.addEventListener(type, listener, [options])](#Panoramax.components.core.Basic+addEventListener)
30
- * ["menu-opened"](Basic.md/#Panoramax.components.core.Basic+event_menu-opened)
31
- * ["select"](Basic.md/#Panoramax.components.core.Basic+event_select)
32
- * ["ready"](Basic.md/#Panoramax.components.core.Basic+event_ready)
33
- * ["broken"](Basic.md/#Panoramax.components.core.Basic+event_broken)
34
-
35
- <a name="new_Panoramax.components.core.CoverageMap_new"></a>
36
-
37
- ### new CoverageMap()
38
- Coverage Map is a basic map showing Panoramax coverage.
39
-
40
- Make sure to set width/height through CSS for proper display.
41
-
42
- **Example**
43
- ```html
44
- <pnx-coverage-map
45
- endpoint="https://panoramax.openstreetmap.fr/"
46
- map-options='{"bounds": [[-73.9876, 40.7661], [-73.9397, 40.8002]]}'
47
- style="width: 300px; height: 250px"
48
- />
49
- ```
50
- <a name="Panoramax.components.core.CoverageMap+properties"></a>
51
-
52
- ### coverageMap.properties : <code>Object</code>
53
- Component properties.
54
-
55
- **Kind**: instance property of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
56
- **Mixes**: [<code>properties</code>](Basic.md/#Panoramax.components.core.Basic+properties)
57
- **Overrides**: [<code>properties</code>](Basic.md/#Panoramax.components.core.Basic+properties)
58
- **Properties**
59
-
60
- | Name | Type | Description |
61
- | --- | --- | --- |
62
- | endpoint | <code>string</code> | URL to API to use (must be a [STAC API](https://github.com/radiantearth/stac-api-spec/blob/main/overview.md)) |
63
- | [picture] | <code>string</code> | The picture ID to display |
64
- | [sequence] | <code>string</code> | The sequence ID of the picture displayed |
65
- | [fetch-options] | <code>object</code> | Set custom options for fetch calls made against API ([same syntax as fetch options parameter](https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters)) |
66
- | [map-style] | <code>string</code> \| <code>object</code> | The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/), or a URL string pointing to one. Defaults to OSM vector tiles. |
67
- | [lang] | <code>string</code> | To override language used for labels. Defaults to using user's preferred languages. |
68
- | [map-options] | <code>object</code> | [Any map option available in Map class](../ui/Map.md/#Panoramax.components.ui.Map).<br />Example: `map-options='{"bounds": [[-73.9876, 40.7661], [-73.9397, 40.8002]]}'` |
69
- | [user] | <code>string</code> | To filter on a specific user UUID |
70
-
71
- <a name="Panoramax.components.core.Basic+onceReady"></a>
72
-
73
- ### coverageMap.onceReady() ⇒ <code>Promise</code>
74
- Waits for component to have its first loading done.
75
-
76
- Each inheriting class must override this method.
77
-
78
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
79
- **Fulfil**: <code>null</code> When initialization is complete.
80
- **Reject**: <code>string</code> Error message
81
- <a name="Panoramax.components.core.Basic+onceAPIReady"></a>
82
-
83
- ### coverageMap.onceAPIReady() ⇒ <code>Promise</code>
84
- Waits for initial API setup.
85
-
86
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
87
- **Overrides**: [<code>onceAPIReady</code>](Basic.md/#Panoramax.components.core.Basic+onceAPIReady)
88
- **Fulfil**: <code>null</code> When API is ready.
89
- **Reject**: <code>string</code> Error message
90
- <a name="Panoramax.components.core.Basic+getClassName"></a>
91
-
92
- ### coverageMap.getClassName() ⇒ <code>string</code>
93
- This allows to retrieve an always correct class name.
94
- This is crap, but avoids issues with Webpack & so on.
95
-
96
- Each inheriting class must override this method.
97
-
98
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
99
- **Returns**: <code>string</code> - The class name (for example "Basic")
100
- <a name="Panoramax.components.core.Basic+select"></a>
101
-
102
- ### coverageMap.select([seqId], [picId], [force])
103
- Change the currently picture and/or sequence.
104
- Calling the method without parameters unselects.
105
-
106
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
107
-
108
- | Param | Type | Default | Description |
109
- | --- | --- | --- | --- |
110
- | [seqId] | <code>string</code> | <code>null</code> | The sequence UUID |
111
- | [picId] | <code>string</code> | <code>null</code> | The picture UUID |
112
- | [force] | <code>boolean</code> | <code>false</code> | Force select even if already selected |
113
-
114
- <a name="Panoramax.components.core.Basic+isWidthSmall"></a>
115
-
116
- ### coverageMap.isWidthSmall() ⇒ <code>boolean</code>
117
- Is the view running in a small container (small embed or smartphone)
118
-
119
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
120
- **Returns**: <code>boolean</code> - True if container is small
121
- <a name="Panoramax.components.core.Basic+isWidthMedium"></a>
122
-
123
- ### coverageMap.isWidthMedium() ⇒ <code>boolean</code>
124
- Is the view running in a medium container (576-768px)
125
-
126
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
127
- **Returns**: <code>boolean</code> - True if container is medium
128
- <a name="Panoramax.components.core.Basic+isHeightSmall"></a>
129
-
130
- ### coverageMap.isHeightSmall() ⇒ <code>boolean</code>
131
- Is the view running in a small-height container (small embed or smartphone)
132
-
133
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
134
- **Returns**: <code>boolean</code> - True if container height is small
135
- <a name="Panoramax.components.core.Basic+getSubComponentsNames"></a>
136
-
137
- ### coverageMap.getSubComponentsNames() ⇒ <code>Array.&lt;string&gt;</code>
138
- List names of sub-components (like loader, api, map, psv) available in this component.
139
-
140
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
141
- **Returns**: <code>Array.&lt;string&gt;</code> - Sub-components names.
142
- <a name="Panoramax.components.core.Basic+addEventListener"></a>
143
-
144
- ### coverageMap.addEventListener(type, listener, [options])
145
- Listen to events from this components or one of its sub-components.
146
-
147
- For example, you can listen to `map` events using prefix `map:`.
148
-
149
- ```js
150
- me.addEventListener("map:move", doSomething);
151
- ```
152
-
153
- **Kind**: instance method of [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
154
-
155
- | Param | Type | Description |
156
- | --- | --- | --- |
157
- | type | <code>string</code> | The event type to listen for |
158
- | listener | <code>function</code> | The event handler |
159
- | [options] | <code>object</code> | [Any original addEventListener available options](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#options) |
160
-
161
- <a name="Panoramax.components.core.Basic+event_menu-opened"></a>
162
-
163
- ### "menu-opened"
164
- Event for overlaying menu opening
165
-
166
- **Kind**: event emitted by [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
167
- **Properties**
168
-
169
- | Name | Type | Description |
170
- | --- | --- | --- |
171
- | detail.menu | <code>Element</code> | The opened menu |
172
-
173
- <a name="Panoramax.components.core.Basic+event_select"></a>
174
-
175
- ### "select"
176
- Event for sequence/picture selection
177
-
178
- **Kind**: event emitted by [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
179
- **Properties**
180
-
181
- | Name | Type | Description |
182
- | --- | --- | --- |
183
- | detail.seqId | <code>string</code> | The selected sequence ID |
184
- | detail.picId | <code>string</code> | The selected picture ID (or null if not a precise picture clicked) |
185
- | [detail.prevSeqId] | <code>string</code> | The previously selected sequence ID (or null if none) |
186
- | [detail.prevPicId] | <code>string</code> | The previously selected picture ID (or null if none) |
187
-
188
- <a name="Panoramax.components.core.Basic+event_ready"></a>
189
-
190
- ### "ready"
191
- Event when component is ready to use.
192
- This happens when loader screen disappear, with picture and map loaded.
193
-
194
- To follow more precisely loading steps, you can also watch for sub-components `ready` events.
195
- ```js
196
- // Watch API-readiness
197
- viewer.addEventListener("api:ready", ...); // From parent
198
- viewer.api.addEventListener("ready", ...); // Or on sub-component
199
- ```
200
-
201
- **Kind**: event emitted by [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
202
- <a name="Panoramax.components.core.Basic+event_broken"></a>
203
-
204
- ### "broken"
205
- Event for viewer failing to initially load.
206
-
207
- To follow more precisely loading failures, you can also watch for sub-components `broken` events.
208
- ```js
209
- // Watch API breaks
210
- viewer.addEventListener("api:broken", ...); // From parent
211
- viewer.api.addEventListener("broken", ...); // Or on sub-component
212
- ```
213
-
214
- **Kind**: event emitted by [<code>CoverageMap</code>](#Panoramax.components.core.CoverageMap)
215
- **Properties**
216
-
217
- | Name | Type | Description |
218
- | --- | --- | --- |
219
- | detail.error | <code>string</code> | The user-friendly error message to display |
220
-
@@ -1,252 +0,0 @@
1
- <a name="Panoramax.components.core.Editor"></a>
2
-
3
- ## Panoramax.components.core.Editor ⇐ [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
4
- **Kind**: static class of <code>Panoramax.components.core</code>
5
- **Extends**: [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
6
- **Emits**: [<code>select</code>](Basic.md/#Panoramax.components.core.Basic+event_select), [<code>ready</code>](Basic.md/#Panoramax.components.core.Basic+event_ready), [<code>broken</code>](Basic.md/#Panoramax.components.core.Basic+event_broken)
7
- **Element**: pnx-editor
8
- **Slot**: `top-left` The top-left corner
9
- **Slot**: `top` The top middle corner
10
- **Slot**: `top-right` The top-right corner
11
- **Slot**: `bottom-left` The bottom-left corner
12
- **Slot**: `bottom` The bottom middle corner
13
- **Slot**: `bottom-right` The bottom-right corner
14
- **Properties**
15
-
16
- | Name | Type | Description |
17
- | --- | --- | --- |
18
- | loader | [<code>Loader</code>](../ui/Loader.md/#Panoramax.components.ui.Loader) | The loader screen |
19
- | api | [<code>API</code>](../../utils/API.md/#Panoramax.utils.API) | The API manager |
20
- | map | [<code>Map</code>](../ui/Map.md/#Panoramax.components.ui.Map) | The MapLibre GL map itself |
21
- | mapStyleComposer | [<code>MapStyleComposer</code>](../../utils/MapStyleComposer.md/#Panoramax.utils.MapStyleComposer) | The map style helper |
22
- | psv | [<code>Photo</code>](../ui/Photo.md/#Panoramax.components.ui.Photo) | The Photo Sphere Viewer component itself |
23
- | grid | [<code>CorneredGrid</code>](../layout/CorneredGrid.md/#Panoramax.components.layout.CorneredGrid) | The grid layout manager |
24
-
25
-
26
- * [.Editor](#Panoramax.components.core.Editor) ⇐ [<code>Basic</code>](Basic.md/#Panoramax.components.core.Basic)
27
- * [new Editor()](#new_Panoramax.components.core.Editor_new)
28
- * [.properties](#Panoramax.components.core.Editor+properties) : <code>Object</code>
29
- * [.previewSequenceHeadingChange([relHeading])](#Panoramax.components.core.Editor+previewSequenceHeadingChange)
30
- * [.onceReady()](Basic.md/#Panoramax.components.core.Basic+onceReady) ⇒ <code>Promise</code>
31
- * [.onceAPIReady()](Basic.md/#Panoramax.components.core.Basic+onceAPIReady) ⇒ <code>Promise</code>
32
- * [.getClassName()](Basic.md/#Panoramax.components.core.Basic+getClassName) ⇒ <code>string</code>
33
- * [.select([seqId], [picId], [force])](#Panoramax.components.core.Basic+select)
34
- * [.isWidthSmall()](Basic.md/#Panoramax.components.core.Basic+isWidthSmall) ⇒ <code>boolean</code>
35
- * [.isWidthMedium()](Basic.md/#Panoramax.components.core.Basic+isWidthMedium) ⇒ <code>boolean</code>
36
- * [.isHeightSmall()](Basic.md/#Panoramax.components.core.Basic+isHeightSmall) ⇒ <code>boolean</code>
37
- * [.getSubComponentsNames()](Basic.md/#Panoramax.components.core.Basic+getSubComponentsNames) ⇒ <code>Array.&lt;string&gt;</code>
38
- * [.addEventListener(type, listener, [options])](#Panoramax.components.core.Basic+addEventListener)
39
- * ["menu-opened"](Basic.md/#Panoramax.components.core.Basic+event_menu-opened)
40
- * ["select"](Basic.md/#Panoramax.components.core.Basic+event_select)
41
- * ["ready"](Basic.md/#Panoramax.components.core.Basic+event_ready)
42
- * ["broken"](Basic.md/#Panoramax.components.core.Basic+event_broken)
43
-
44
- <a name="new_Panoramax.components.core.Editor_new"></a>
45
-
46
- ### new Editor()
47
- Editor allows to focus on a single sequence, and preview what you edits would look like.
48
- It shows both picture and map.
49
-
50
- Make sure to set width/height through CSS for proper display.
51
-
52
- This component has a [CorneredGrid](../layout/CorneredGrid.md/#Panoramax.components.layout.CorneredGrid) layout, you can use directly any slot element to pass custom widgets.
53
-
54
- **Example**
55
- ```html
56
- <!-- Basic example -->
57
- <pnx-editor
58
- endpoint="https://panoramax.openstreetmap.fr/"
59
- style="width: 300px; height: 250px"
60
- />
61
-
62
- <!-- With slotted widgets -->
63
- <pnx-editor
64
- endpoint="https://panoramax.openstreetmap.fr/"
65
- style="width: 300px; height: 250px"
66
- >
67
- <p slot="top-right">My custom text</p>
68
- </pnx-editor>
69
- ```
70
- <a name="Panoramax.components.core.Editor+properties"></a>
71
-
72
- ### editor.properties : <code>Object</code>
73
- Component properties. All of [Basic properties](Basic.md/#Panoramax.components.core.Basic+properties) are available as well.
74
-
75
- **Kind**: instance property of [<code>Editor</code>](#Panoramax.components.core.Editor)
76
- **Mixes**: [<code>properties</code>](Basic.md/#Panoramax.components.core.Basic+properties)
77
- **Overrides**: [<code>properties</code>](Basic.md/#Panoramax.components.core.Basic+properties)
78
- **Properties**
79
-
80
- | Name | Type | Default | Description |
81
- | --- | --- | --- | --- |
82
- | endpoint | <code>string</code> | | URL to API to use (must be a [STAC API](https://github.com/radiantearth/stac-api-spec/blob/main/overview.md)) |
83
- | [picture] | <code>string</code> | | The picture ID to display |
84
- | [sequence] | <code>string</code> | | The sequence ID of the picture displayed |
85
- | [fetch-options] | <code>object</code> | | Set custom options for fetch calls made against API ([same syntax as fetch options parameter](https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters)) |
86
- | [map-style] | <code>string</code> \| <code>object</code> | | The map's MapLibre style. This can be an a JSON object conforming to the schema described in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/), or a URL string pointing to one. Defaults to OSM vector tiles. |
87
- | [lang] | <code>string</code> | | To override language used for labels. Defaults to using user's preferred languages. |
88
- | [raster] | <code>object</code> | | The MapLibre raster source for aerial background. This must be a JSON object following [MapLibre raster source definition](https://maplibre.org/maplibre-style-spec/sources/#raster). |
89
- | [background] | <code>string</code> | <code>&quot;streets&quot;</code> | Choose default map background to display (streets or aerial, if raster aerial background available). Defaults to street. |
90
-
91
- <a name="Panoramax.components.core.Editor+previewSequenceHeadingChange"></a>
92
-
93
- ### editor.previewSequenceHeadingChange([relHeading])
94
- Preview on map how the new relative heading would reflect on all pictures.
95
- This doesn't change anything on API-side, it's just a preview.
96
-
97
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
98
-
99
- | Param | Type | Description |
100
- | --- | --- | --- |
101
- | [relHeading] | <code>number</code> | The new relative heading compared to sequence path. In degrees, between -180 and 180 (0 = front, -90 = left, 90 = right). Set to null to remove preview. |
102
-
103
- <a name="Panoramax.components.core.Basic+onceReady"></a>
104
-
105
- ### editor.onceReady() ⇒ <code>Promise</code>
106
- Waits for component to have its first loading done.
107
-
108
- Each inheriting class must override this method.
109
-
110
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
111
- **Fulfil**: <code>null</code> When initialization is complete.
112
- **Reject**: <code>string</code> Error message
113
- <a name="Panoramax.components.core.Basic+onceAPIReady"></a>
114
-
115
- ### editor.onceAPIReady() ⇒ <code>Promise</code>
116
- Waits for initial API setup.
117
-
118
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
119
- **Overrides**: [<code>onceAPIReady</code>](Basic.md/#Panoramax.components.core.Basic+onceAPIReady)
120
- **Fulfil**: <code>null</code> When API is ready.
121
- **Reject**: <code>string</code> Error message
122
- <a name="Panoramax.components.core.Basic+getClassName"></a>
123
-
124
- ### editor.getClassName() ⇒ <code>string</code>
125
- This allows to retrieve an always correct class name.
126
- This is crap, but avoids issues with Webpack & so on.
127
-
128
- Each inheriting class must override this method.
129
-
130
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
131
- **Returns**: <code>string</code> - The class name (for example "Basic")
132
- <a name="Panoramax.components.core.Basic+select"></a>
133
-
134
- ### editor.select([seqId], [picId], [force])
135
- Change the currently picture and/or sequence.
136
- Calling the method without parameters unselects.
137
-
138
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
139
-
140
- | Param | Type | Default | Description |
141
- | --- | --- | --- | --- |
142
- | [seqId] | <code>string</code> | <code>null</code> | The sequence UUID |
143
- | [picId] | <code>string</code> | <code>null</code> | The picture UUID |
144
- | [force] | <code>boolean</code> | <code>false</code> | Force select even if already selected |
145
-
146
- <a name="Panoramax.components.core.Basic+isWidthSmall"></a>
147
-
148
- ### editor.isWidthSmall() ⇒ <code>boolean</code>
149
- Is the view running in a small container (small embed or smartphone)
150
-
151
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
152
- **Returns**: <code>boolean</code> - True if container is small
153
- <a name="Panoramax.components.core.Basic+isWidthMedium"></a>
154
-
155
- ### editor.isWidthMedium() ⇒ <code>boolean</code>
156
- Is the view running in a medium container (576-768px)
157
-
158
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
159
- **Returns**: <code>boolean</code> - True if container is medium
160
- <a name="Panoramax.components.core.Basic+isHeightSmall"></a>
161
-
162
- ### editor.isHeightSmall() ⇒ <code>boolean</code>
163
- Is the view running in a small-height container (small embed or smartphone)
164
-
165
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
166
- **Returns**: <code>boolean</code> - True if container height is small
167
- <a name="Panoramax.components.core.Basic+getSubComponentsNames"></a>
168
-
169
- ### editor.getSubComponentsNames() ⇒ <code>Array.&lt;string&gt;</code>
170
- List names of sub-components (like loader, api, map, psv) available in this component.
171
-
172
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
173
- **Returns**: <code>Array.&lt;string&gt;</code> - Sub-components names.
174
- <a name="Panoramax.components.core.Basic+addEventListener"></a>
175
-
176
- ### editor.addEventListener(type, listener, [options])
177
- Listen to events from this components or one of its sub-components.
178
-
179
- For example, you can listen to `map` events using prefix `map:`.
180
-
181
- ```js
182
- me.addEventListener("map:move", doSomething);
183
- ```
184
-
185
- **Kind**: instance method of [<code>Editor</code>](#Panoramax.components.core.Editor)
186
-
187
- | Param | Type | Description |
188
- | --- | --- | --- |
189
- | type | <code>string</code> | The event type to listen for |
190
- | listener | <code>function</code> | The event handler |
191
- | [options] | <code>object</code> | [Any original addEventListener available options](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#options) |
192
-
193
- <a name="Panoramax.components.core.Basic+event_menu-opened"></a>
194
-
195
- ### "menu-opened"
196
- Event for overlaying menu opening
197
-
198
- **Kind**: event emitted by [<code>Editor</code>](#Panoramax.components.core.Editor)
199
- **Properties**
200
-
201
- | Name | Type | Description |
202
- | --- | --- | --- |
203
- | detail.menu | <code>Element</code> | The opened menu |
204
-
205
- <a name="Panoramax.components.core.Basic+event_select"></a>
206
-
207
- ### "select"
208
- Event for sequence/picture selection
209
-
210
- **Kind**: event emitted by [<code>Editor</code>](#Panoramax.components.core.Editor)
211
- **Properties**
212
-
213
- | Name | Type | Description |
214
- | --- | --- | --- |
215
- | detail.seqId | <code>string</code> | The selected sequence ID |
216
- | detail.picId | <code>string</code> | The selected picture ID (or null if not a precise picture clicked) |
217
- | [detail.prevSeqId] | <code>string</code> | The previously selected sequence ID (or null if none) |
218
- | [detail.prevPicId] | <code>string</code> | The previously selected picture ID (or null if none) |
219
-
220
- <a name="Panoramax.components.core.Basic+event_ready"></a>
221
-
222
- ### "ready"
223
- Event when component is ready to use.
224
- This happens when loader screen disappear, with picture and map loaded.
225
-
226
- To follow more precisely loading steps, you can also watch for sub-components `ready` events.
227
- ```js
228
- // Watch API-readiness
229
- viewer.addEventListener("api:ready", ...); // From parent
230
- viewer.api.addEventListener("ready", ...); // Or on sub-component
231
- ```
232
-
233
- **Kind**: event emitted by [<code>Editor</code>](#Panoramax.components.core.Editor)
234
- <a name="Panoramax.components.core.Basic+event_broken"></a>
235
-
236
- ### "broken"
237
- Event for viewer failing to initially load.
238
-
239
- To follow more precisely loading failures, you can also watch for sub-components `broken` events.
240
- ```js
241
- // Watch API breaks
242
- viewer.addEventListener("api:broken", ...); // From parent
243
- viewer.api.addEventListener("broken", ...); // Or on sub-component
244
- ```
245
-
246
- **Kind**: event emitted by [<code>Editor</code>](#Panoramax.components.core.Editor)
247
- **Properties**
248
-
249
- | Name | Type | Description |
250
- | --- | --- | --- |
251
- | detail.error | <code>string</code> | The user-friendly error message to display |
252
-