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

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,7 +1,5 @@
1
- import { LitElement, html, css } from "lit";
2
- import BackgroundAerial from "../../img/bg_aerial.jpg";
3
- import BackgroundStreets from "../../img/bg_streets.jpg";
4
- import { onceParentAvailable } from "../../utils/widgets";
1
+ import { LitElement, css, html } from "lit";
2
+ import { onceParentAvailable } from "../../utils/widgets.js";
5
3
 
6
4
 
7
5
  /**
@@ -89,7 +87,7 @@ export default class MapBackground extends LitElement {
89
87
  .checked=${this.bg == "streets"}
90
88
  />
91
89
  <label for="bg-streets">
92
- <img src=${BackgroundStreets} class=${this.size} alt="" />
90
+ <img src="${new URL("../../img/bg_streets.jpg", import.meta.url).href}" class=${this.size} alt="" />
93
91
  ${this._parent?._t.pnx.map_background_streets}
94
92
  </label>
95
93
  <input
@@ -101,7 +99,7 @@ export default class MapBackground extends LitElement {
101
99
  .checked=${this.bg == "aerial"}
102
100
  />
103
101
  <label for="bg-aerial">
104
- <img src=${BackgroundAerial} class=${this.size} alt="" />
102
+ <img src="${new URL("../../img/bg_aerial.jpg", import.meta.url).href}" class=${this.size} alt="" />
105
103
  ${this._parent?._t.pnx.map_background_aerial}
106
104
  </label>
107
105
  `;
@@ -1,19 +1,13 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { fa } from "../../utils/widgets";
3
- import { getUserAccount } from "../../utils/utils";
4
- import { faSvg, titles } from "../styles";
5
- import { faImage } from "@fortawesome/free-solid-svg-icons/faImage";
6
- import { faCalendar } from "@fortawesome/free-solid-svg-icons/faCalendar";
7
- import { faArrowRight } from "@fortawesome/free-solid-svg-icons/faArrowRight";
8
- import { faMedal } from "@fortawesome/free-solid-svg-icons/faMedal";
9
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
10
- import { faUser } from "@fortawesome/free-solid-svg-icons/faUser";
11
- import { faMapMarkerAlt } from "@fortawesome/free-solid-svg-icons/faMapMarkerAlt";
12
- import { faGlobeEurope } from "@fortawesome/free-solid-svg-icons/faGlobeEurope";
13
- import { faStar } from "@fortawesome/free-solid-svg-icons/faStar";
14
- import { onceParentAvailable } from "../../utils/widgets";
15
- import { QUALITYSCORE_GPS_VALUES } from "../../utils/utils";
16
- import { isPanoramaxEndpointSingleUser } from "../../utils/map";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
3
+ import { QUALITYSCORE_GPS_VALUES, getUserAccount } from "../../utils/utils.js";
4
+ import { isPanoramaxEndpointSingleUser } from "../../utils/map.js";
5
+ import { faSvg, titles } from "../styles.js";
6
+ import {
7
+ faArrowRight, faCalendar, faGlobeEurope, faImage, faInfoCircle,
8
+ faMapMarkerAlt, faMedal, faStar, faUser,
9
+ } from "@fortawesome/free-solid-svg-icons";
10
+
17
11
 
18
12
  /**
19
13
  * Map Filters menu allows user to select map data they want displayed.
@@ -208,7 +202,7 @@ export default class MapFilters extends LitElement {
208
202
  }
209
203
 
210
204
  // Map zoom
211
- onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(async () => {
205
+ onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(() => {
212
206
  this._parent.map.on("zoomend", this._onMapZoom.bind(this));
213
207
  this._parent.mapStyleComposer.addEventListener("filters-changed", e => this._onParentFilterChange(e.detail));
214
208
  this._parent.mapStyleComposer.addEventListener("panoramax-changed", () => this._onParentFilterChange(this._parent.mapStyleComposer.panoramaxFilters));
@@ -245,8 +239,8 @@ export default class MapFilters extends LitElement {
245
239
  this.gps = e?.gps && Array.isArray(e.gps) ? e.gps.join(",") : (e?.gps?.length > 0 ? e.gps : "");
246
240
 
247
241
  this.type = "";
248
- if(e?.pic_type && e.pic_type != "") {
249
- this.type = e.pic_type == "flat" ? "flat" : "equirectangular";
242
+ if(e?.pic_type && e.pic_type !== "") {
243
+ this.type = e.pic_type === "flat" ? "flat" : "equirectangular";
250
244
  }
251
245
 
252
246
  if(!isPanoramaxEndpointSingleUser(this._parent.mapStyleComposer.panoramax)) {
@@ -257,6 +251,7 @@ export default class MapFilters extends LitElement {
257
251
  this.source = this._parent.mapStyleComposer.panoramax.startsWith("metacatalog_") ? "metacatalog" : "default";
258
252
 
259
253
  // Find username if first load
254
+ // eslint-disable-next-line eqeqeq
260
255
  if(this.user == null) {
261
256
  let userId = this._parent.mapStyleComposer.panoramax.replace("metacatalog_", "");
262
257
  this._parent.getAPI().getUserName(userId).then(username => {
@@ -498,14 +493,14 @@ export default class MapFilters extends LitElement {
498
493
  type="date"
499
494
  id="pnx-filter-date-from"
500
495
  .value=${this.minDate}
501
- class=${this.minDate && this.minDate != "" ? "pnx-filter-active" : ""}
496
+ class=${this.minDate && this.minDate !== "" ? "pnx-filter-active" : ""}
502
497
  />
503
498
  ${fa(faArrowRight)}
504
499
  <input
505
500
  type="date"
506
501
  id="pnx-filter-date-end"
507
502
  .value=${this.maxDate}
508
- class=${this.maxDate && this.maxDate != "" ? "pnx-filter-active" : ""}
503
+ class=${this.maxDate && this.maxDate !== "" ? "pnx-filter-active" : ""}
509
504
  />
510
505
  </div>
511
506
  </div>`}
@@ -1,14 +1,11 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { fa } from "../../utils/widgets";
3
- import { faSvg, titles, select } from "../styles";
4
- import { COLORS, GPS_VALUES } from "../../utils/utils";
5
- import { faEarthEurope } from "@fortawesome/free-solid-svg-icons/faEarthEurope";
6
- import { faPalette } from "@fortawesome/free-solid-svg-icons/faPalette";
7
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
8
- import { onceParentAvailable } from "../../utils/widgets";
9
- import { MAP_THEMES_STYLES } from "../../utils/map";
10
- import { DISABLED_LEVEL, initIndoorEqualOnMap } from "../../utils/indoor";
11
- import { BASEMAPS_DEFAULT_IDS } from "../../utils/MapStyleComposer";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
3
+ import { faSvg, select, titles } from "../styles.js";
4
+ import { COLORS, GPS_VALUES } from "../../utils/utils.js";
5
+ import { faEarthEurope, faInfoCircle, faPalette } from "@fortawesome/free-solid-svg-icons";
6
+ import { MAP_THEMES_STYLES } from "../../utils/map.js";
7
+ import { DISABLED_LEVEL, initIndoorEqualOnMap } from "../../utils/indoor.js";
8
+ import { BASEMAPS_DEFAULT_IDS } from "../../utils/MapStyleComposer.js";
12
9
 
13
10
  /**
14
11
  * Map Layers menu allows user to select background and map theme.
@@ -108,7 +105,6 @@ export default class MapLayers extends LitElement {
108
105
  `);
109
106
  }
110
107
  if(this._parent.mapStyleComposer.hasComplementaryBasemaps()) {
111
- /* eslint-disable indent */
112
108
  const defaultOpt = html`
113
109
  <option value="" .selected=${BASEMAPS_DEFAULT_IDS.includes(this._parent.mapStyleComposer.basemap)}>
114
110
  ${this._parent.mapStyleComposer.hasStreetsAerialBasemaps()
@@ -154,19 +150,19 @@ export default class MapLayers extends LitElement {
154
150
  parts.push(html`
155
151
  <h4>${fa(faPalette)} ${this._parent?._t.pnx.map_theme}</h4>
156
152
  <select id="pnx-map-theme" style="width: 100%;" @change=${this._onThemeSelect}>
157
- <option value=${MAP_THEMES_STYLES.default.id} .selected=${this.theme == MAP_THEMES_STYLES.default.id}>${this._parent?._t.pnx.map_theme_default}</option>
158
- <option value=${MAP_THEMES_STYLES.age.id} .selected=${this.theme == MAP_THEMES_STYLES.age.id}>${this._parent?._t.pnx.map_theme_age}</option>
159
- <option value=${MAP_THEMES_STYLES.type.id} .selected=${this.theme == MAP_THEMES_STYLES.type.id}>${this._parent?._t.pnx.map_theme_type}</option>
153
+ <option value=${MAP_THEMES_STYLES.default.id} .selected=${this.theme === MAP_THEMES_STYLES.default.id}>${this._parent?._t.pnx.map_theme_default}</option>
154
+ <option value=${MAP_THEMES_STYLES.age.id} .selected=${this.theme === MAP_THEMES_STYLES.age.id}>${this._parent?._t.pnx.map_theme_age}</option>
155
+ <option value=${MAP_THEMES_STYLES.type.id} .selected=${this.theme === MAP_THEMES_STYLES.type.id}>${this._parent?._t.pnx.map_theme_type}</option>
160
156
  ${this._parent?.map?._hasQualityScore?.() && html`
161
- <option value=${MAP_THEMES_STYLES.score.id} .selected=${this.theme == MAP_THEMES_STYLES.score.id}>${this._parent?._t.pnx.map_theme_score}</option>
162
- <option value=${MAP_THEMES_STYLES.gps.id} .selected=${this.theme == MAP_THEMES_STYLES.gps.id}>${this._parent?._t.pnx.map_theme_gps}</option>
157
+ <option value=${MAP_THEMES_STYLES.score.id} .selected=${this.theme === MAP_THEMES_STYLES.score.id}>${this._parent?._t.pnx.map_theme_score}</option>
158
+ <option value=${MAP_THEMES_STYLES.gps.id} .selected=${this.theme === MAP_THEMES_STYLES.gps.id}>${this._parent?._t.pnx.map_theme_gps}</option>
163
159
  `}
164
160
  </select>
165
161
  `);
166
162
 
167
163
  // Map legend
168
164
  parts.push(html`<div class="legend">
169
- ${this.theme == MAP_THEMES_STYLES.age.id ? html`
165
+ ${this.theme === MAP_THEMES_STYLES.age.id ? html`
170
166
  <div>
171
167
  <div class="legend-entry">
172
168
  <span class="legend-color" style="background-color: ${COLORS["PALETTE_4"]}"></span>
@@ -187,8 +183,8 @@ export default class MapLayers extends LitElement {
187
183
  ${this._parent?._t.pnx["map_theme_age_1"]}
188
184
  </div>
189
185
  </div>` : nothing}
190
-
191
- ${this.theme == MAP_THEMES_STYLES.type.id ? html`
186
+
187
+ ${this.theme === MAP_THEMES_STYLES.type.id ? html`
192
188
  <div class="legend-entry">
193
189
  <span class="legend-color" style="background-color: ${COLORS.QUALI_1}"></span>
194
190
  ${this._parent?._t.pnx.picture_360}
@@ -197,8 +193,8 @@ export default class MapLayers extends LitElement {
197
193
  <span class="legend-color" style="background-color: ${COLORS.QUALI_2}"></span>
198
194
  ${this._parent?._t.pnx.picture_flat}
199
195
  </div>` : nothing}
200
-
201
- ${this.theme == MAP_THEMES_STYLES.score.id ? html`<div>
196
+
197
+ ${this.theme === MAP_THEMES_STYLES.score.id ? html`<div>
202
198
  <pnx-quality-score></pnx-quality-score>
203
199
  <pnx-button
204
200
  title="${this._parent?._t.pnx.metadata_quality_help}"
@@ -207,8 +203,8 @@ export default class MapLayers extends LitElement {
207
203
  >
208
204
  ${fa(faInfoCircle)}
209
205
  </pnx-button></div>` : nothing}
210
-
211
- ${this.theme == MAP_THEMES_STYLES.gps.id ? html`
206
+
207
+ ${this.theme === MAP_THEMES_STYLES.gps.id ? html`
212
208
  <div>
213
209
  <div class="legend-entry">
214
210
  <span class="legend-color" style="background-color: ${GPS_VALUES[0].color}"></span>
@@ -1,5 +1,5 @@
1
- import {LitElement, html, nothing, css} from "lit";
2
- import {onceParentAvailable} from "../../utils/widgets";
1
+ import {LitElement, css, html, nothing} from "lit";
2
+ import {onceParentAvailable} from "../../utils/widgets.js";
3
3
 
4
4
  /**
5
5
  * Map legend displays information about map sources.
@@ -44,7 +44,7 @@ export default class MapLegend extends LitElement {
44
44
  connectedCallback() {
45
45
  super.connectedCallback();
46
46
  onceParentAvailable(this).then(() => this.requestUpdate());
47
- onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(async () => {
47
+ onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(() => {
48
48
  this._parent.map.on("styledata", () => this.requestUpdate());
49
49
  this.requestUpdate();
50
50
  }));
@@ -52,7 +52,6 @@ export default class MapLegend extends LitElement {
52
52
 
53
53
  /** @private */
54
54
  render() {
55
- /* eslint-disable indent */
56
55
  const mapAttrib = this._parent?.map?._attribution?._innerContainer;
57
56
  const mapLabelParts = this._parent?._t.map.map_data.split("{m}");
58
57
 
@@ -1,6 +1,6 @@
1
- import { LitElement, nothing, css, html } from "lit";
2
- import { onceParentAvailable } from "../../utils/widgets";
3
- import { panel } from "../styles";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { onceParentAvailable } from "../../utils/widgets.js";
3
+ import { panel } from "../styles.js";
4
4
 
5
5
  /**
6
6
  * Mini picture legend shows info about picture capture date, when seen in mini component of viewer.
@@ -59,7 +59,6 @@ export default class MiniPictureLegend extends LitElement {
59
59
 
60
60
  /** @private */
61
61
  render() {
62
- /* eslint-disable indent */
63
62
  return this._caption?.date ?
64
63
  html`<div class="pnx-panel">${
65
64
  this._caption.date.toLocaleDateString(
@@ -1,18 +1,14 @@
1
- import { LitElement, nothing, css } from "lit";
1
+ import { LitElement, css, nothing } from "lit";
2
2
  import { html, unsafeStatic } from "lit/static-html.js";
3
3
  import { classMap } from "lit/directives/class-map.js";
4
- import { fa, onceParentAvailable } from "../../utils/widgets";
5
- import { faArrowLeft } from "@fortawesome/free-solid-svg-icons/faArrowLeft";
6
- import { faChevronUp } from "@fortawesome/free-solid-svg-icons/faChevronUp";
7
- import { faChevronDown } from "@fortawesome/free-solid-svg-icons/faChevronDown";
8
- import { faUser } from "@fortawesome/free-solid-svg-icons/faUser";
9
- import { faUserLock } from "@fortawesome/free-solid-svg-icons/faUserLock";
10
- import { faCalendarAlt } from "@fortawesome/free-solid-svg-icons/faCalendarAlt";
11
- import { faTriangleExclamation } from "@fortawesome/free-solid-svg-icons/faTriangleExclamation";
12
- import { faShareNodes } from "@fortawesome/free-solid-svg-icons/faShareNodes";
13
- import { placeholder, panel, hidden } from "../styles";
14
- import { reverseGeocodingNominatim } from "../../utils/geocoder";
15
- import { PanoramaxMetaCatalogURL } from "../../utils/services";
4
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
5
+ import {
6
+ faArrowLeft, faCalendarAlt, faChevronDown, faChevronUp, faShareNodes,
7
+ faTriangleExclamation, faUser, faUserLock,
8
+ } from "@fortawesome/free-solid-svg-icons";
9
+ import { hidden, panel, placeholder } from "../styles.js";
10
+ import { reverseGeocodingNominatim } from "../../utils/geocoder.js";
11
+ import { PanoramaxMetaCatalogURL } from "../../utils/services.js";
16
12
 
17
13
  /**
18
14
  * Picture legend shows info about picture author, capture date, address, and access to metadata popup.
@@ -217,7 +213,7 @@ export default class PictureLegend extends LitElement {
217
213
  _onPicChange(picMeta) {
218
214
  clearTimeout(this._addrTimer1);
219
215
  this._caption = picMeta?.caption;
220
-
216
+
221
217
  if(picMeta) {
222
218
  this._visibility = picMeta.properties?.["geovisio:visibility"] || null;
223
219
  if(this._visibility === "anyone") { this._visibility = null; }
@@ -265,7 +261,6 @@ export default class PictureLegend extends LitElement {
265
261
 
266
262
  /** @private */
267
263
  render() {
268
- /* eslint-disable indent */
269
264
  if(!this._caption) { return nothing; }
270
265
 
271
266
  const lang = this._parent?.lang || window.navigator.language;
@@ -1,23 +1,17 @@
1
- import { LitElement, nothing, css } from "lit";
1
+ import { LitElement, css, nothing } from "lit";
2
2
  import { html, unsafeStatic } from "lit/static-html.js";
3
- import { fa, onceParentAvailable } from "../../utils/widgets";
4
- import { faLocationDot } from "@fortawesome/free-solid-svg-icons/faLocationDot";
5
- import { faMedal } from "@fortawesome/free-solid-svg-icons/faMedal";
6
- import { faCamera } from "@fortawesome/free-solid-svg-icons/faCamera";
7
- import { faImage } from "@fortawesome/free-solid-svg-icons/faImage";
8
- import { faImages } from "@fortawesome/free-solid-svg-icons/faImages";
9
- import { faScroll } from "@fortawesome/free-solid-svg-icons/faScroll";
10
- import { faQuestion } from "@fortawesome/free-solid-svg-icons/faQuestion";
11
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
12
- import { faTags } from "@fortawesome/free-solid-svg-icons/faTags";
13
- import { faSvg, titles, textarea, hidden, dataBlocks } from "../styles";
14
- import { createWebComp } from "../../utils/widgets";
15
- import { getGPSPrecision } from "../../utils/picture";
16
- import { PanoramaxMetaCatalogURL } from "../../utils/services";
3
+ import { fa, onceParentAvailable, createWebComp } from "../../utils/widgets.js";
17
4
  import {
18
- getGrade, QUALITYSCORE_GPS_VALUES, QUALITYSCORE_RES_360_VALUES,
19
- QUALITYSCORE_RES_FLAT_VALUES, QUALITYSCORE_POND_GPS, QUALITYSCORE_POND_RES
20
- } from "../../utils/utils";
5
+ faCamera, faImage, faImages, faInfoCircle, faLocationDot,
6
+ faMedal, faQuestion, faScroll, faTags,
7
+ } from "@fortawesome/free-solid-svg-icons";
8
+ import { dataBlocks, faSvg, hidden, textarea, titles } from "../styles.js";
9
+ import { getGPSPrecision } from "../../utils/picture.js";
10
+ import { PanoramaxMetaCatalogURL } from "../../utils/services.js";
11
+ import {
12
+ QUALITYSCORE_GPS_VALUES, QUALITYSCORE_POND_GPS, QUALITYSCORE_POND_RES,
13
+ QUALITYSCORE_RES_360_VALUES, QUALITYSCORE_RES_FLAT_VALUES, getGrade
14
+ } from "../../utils/utils.js";
21
15
 
22
16
  const missing = () => fa(faQuestion, {styles: {height: "16px"}});
23
17
 
@@ -125,7 +119,6 @@ export default class PictureMetadata extends LitElement {
125
119
 
126
120
  /** @private */
127
121
  render() {
128
- /* eslint-disable indent */
129
122
  if(!this._meta) { return nothing; }
130
123
 
131
124
  const lang = this._parent?.lang || window.navigator.language;
@@ -1,10 +1,8 @@
1
- import { LitElement, html, css } from "lit";
2
- import { faSvg } from "../styles";
3
- import { faRocket } from "@fortawesome/free-solid-svg-icons/faRocket";
4
- import { faLightbulb } from "@fortawesome/free-solid-svg-icons/faLightbulb";
5
- import { faPersonBiking } from "@fortawesome/free-solid-svg-icons/faPersonBiking";
6
- import { PIC_MAX_STAY_DURATION } from "../ui/Photo";
7
- import { fa, onceParentAvailable } from "../../utils/widgets";
1
+ import { LitElement, css, html } from "lit";
2
+ import { faSvg } from "../styles.js";
3
+ import { faLightbulb, faPersonBiking, faRocket } from "@fortawesome/free-solid-svg-icons";
4
+ import { PIC_MAX_STAY_DURATION } from "../ui/Photo.js";
5
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
8
6
 
9
7
  /**
10
8
  * Player Options menu displays player speed and contrast settings.
@@ -1,8 +1,7 @@
1
1
  import { LitElement, html } from "lit";
2
- import { faSvg, titles, docPopup } from "../styles";
3
- import { fa } from "../../utils/widgets";
4
- import { faMedal } from "@fortawesome/free-solid-svg-icons/faMedal";
5
- import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons/faExternalLinkAlt";
2
+ import { docPopup, faSvg, titles } from "../styles.js";
3
+ import { fa } from "../../utils/widgets.js";
4
+ import { faExternalLinkAlt, faMedal } from "@fortawesome/free-solid-svg-icons";
6
5
 
7
6
  /**
8
7
  * Quality Score Doc displays a synthetic summary of how Quality Score is computed.
@@ -1,12 +1,11 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { faSvg, titles, select, textarea, input } from "../styles";
3
- import { fa } from "../../utils/widgets";
4
- import { faAt } from "@fortawesome/free-solid-svg-icons/faAt";
5
- import { faTriangleExclamation } from "@fortawesome/free-solid-svg-icons/faTriangleExclamation";
6
- import { faCircleInfo } from "@fortawesome/free-solid-svg-icons/faCircleInfo";
7
- import { faCommentDots } from "@fortawesome/free-solid-svg-icons/faCommentDots";
8
- import { faPaperPlane } from "@fortawesome/free-solid-svg-icons/faPaperPlane";
9
- import { getUserAccount } from "../../utils/utils";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { faSvg, input, select, textarea, titles } from "../styles.js";
3
+ import { fa } from "../../utils/widgets.js";
4
+ import {
5
+ faAt, faCircleInfo, faCommentDots,
6
+ faPaperPlane, faTriangleExclamation,
7
+ } from "@fortawesome/free-solid-svg-icons";
8
+ import { getUserAccount } from "../../utils/utils.js";
10
9
 
11
10
  const REPORT_NATURE = [
12
11
  "", "blur_missing", "blur_excess", "inappropriate", "privacy",
@@ -1,8 +1,7 @@
1
1
  import { LitElement, html } from "lit";
2
- import { faSvg, titles, docPopup } from "../styles";
3
- import { fa } from "../../utils/widgets";
4
- import { faTags } from "@fortawesome/free-solid-svg-icons/faTags";
5
- import { faExternalLinkAlt } from "@fortawesome/free-solid-svg-icons/faExternalLinkAlt";
2
+ import { docPopup, faSvg, titles } from "../styles.js";
3
+ import { fa } from "../../utils/widgets.js";
4
+ import { faExternalLinkAlt, faTags } from "@fortawesome/free-solid-svg-icons";
6
5
 
7
6
  /**
8
7
  * Semantics Doc displays a synthetic summary of what are semantics and how to use it.
@@ -1,7 +1,7 @@
1
1
  import { LitElement, html } from "lit";
2
- import { faSvg, titles } from "../styles";
3
- import { fa } from "../../utils/widgets";
4
- import { faDownload } from "@fortawesome/free-solid-svg-icons/faDownload";
2
+ import { faSvg, titles } from "../styles.js";
3
+ import { fa } from "../../utils/widgets.js";
4
+ import { faDownload } from "@fortawesome/free-solid-svg-icons";
5
5
 
6
6
  /**
7
7
  * Semantics Download docs displays a synthetic summary of you can download semantics metadata.
@@ -1,9 +1,7 @@
1
- import { LitElement, html, css } from "lit";
2
- import { fa } from "../../utils/widgets";
3
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
4
- import { faDownload } from "@fortawesome/free-solid-svg-icons/faDownload";
5
- import { SEMANTICS_OVERLAY_MINZOOM } from "../../utils/SemanticsMapProtocol";
6
- import { onceParentAvailable } from "../../utils/widgets";
1
+ import { LitElement, css, html } from "lit";
2
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
3
+ import { faDownload, faInfoCircle } from "@fortawesome/free-solid-svg-icons";
4
+ import { SEMANTICS_OVERLAY_MINZOOM } from "../../utils/SemanticsMapProtocol.js";
7
5
 
8
6
  /**
9
7
  * Semantics Filters menu allows user to show/hide specific semantic tags over the map.
@@ -60,7 +58,7 @@ export default class SemanticsFilters extends LitElement {
60
58
  this._layers = [];
61
59
 
62
60
  // Map zoom
63
- onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(async () => {
61
+ onceParentAvailable(this).then(() => this._parent.onceMapReady?.().then(() => {
64
62
  const postUpdate = () => {
65
63
  this._onLayersChange();
66
64
  this.requestUpdate();
@@ -87,6 +85,7 @@ export default class SemanticsFilters extends LitElement {
87
85
  this._debouncedChange = setTimeout(
88
86
  () => {
89
87
  const newlayers = this._parent?.map?.getSemanticOverlays();
88
+ // eslint-disable-next-line eqeqeq
90
89
  if(this._layersToSet(newlayers) != this._layersToSet(this._layers)) {
91
90
  this._layers = newlayers;
92
91
 
@@ -114,7 +113,7 @@ export default class SemanticsFilters extends LitElement {
114
113
  _onMapZoom() {
115
114
  this._showZoomIn = this._parent.map.getZoom() < SEMANTICS_OVERLAY_MINZOOM;
116
115
  }
117
-
116
+
118
117
  /** @private */
119
118
  render() {
120
119
  if(!this._layers || this._layers.length === 0) { return; }
@@ -1,23 +1,17 @@
1
- import { LitElement, html, css, nothing } from "lit";
2
- import { faSvg, iconify, badgeCount } from "../styles";
3
- import { fa, moreIcons } from "../../utils/widgets";
4
- import { semanticsToString } from "../../utils/semantics";
5
- import { faChevronRight } from "@fortawesome/free-solid-svg-icons/faChevronRight";
6
- import { faPen } from "@fortawesome/free-solid-svg-icons/faPen";
7
- import { faTrash } from "@fortawesome/free-solid-svg-icons/faTrash";
8
- import { faArrowLeft } from "@fortawesome/free-solid-svg-icons/faArrowLeft";
9
- import { faImages } from "@fortawesome/free-solid-svg-icons/faImages";
10
- import { faVectorSquare } from "@fortawesome/free-solid-svg-icons/faVectorSquare";
11
- import { faCopy } from "@fortawesome/free-solid-svg-icons/faCopy";
12
- import { faCheck } from "@fortawesome/free-solid-svg-icons/faCheck";
13
- import { onceParentAvailable } from "../../utils/widgets";
14
- import { groupByPrefix } from "../../utils/semantics";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { badgeCount, faSvg, iconify } from "../styles.js";
3
+ import { fa, moreIcons, onceParentAvailable } from "../../utils/widgets.js";
4
+ import { groupByPrefix, semanticsToString } from "../../utils/semantics.js";
5
+ import {
6
+ faArrowLeft, faCheck, faChevronRight, faCopy,
7
+ faImages, faPen, faTrash, faVectorSquare
8
+ } from "@fortawesome/free-solid-svg-icons";
15
9
  import "iconify-icon";
16
10
 
17
11
  /**
18
12
  * Semantics list shows listing of both picture tags and annotations.
19
13
  * It uses the parent component currently selected picture.
20
- *
14
+ *
21
15
  * @class Panoramax.components.menus.SemanticsList
22
16
  * @element pnx-semantics-list
23
17
  * @extends [lit.LitElement](https://lit.dev/docs/api/LitElement/)
@@ -74,7 +68,7 @@ export default class SemanticsList extends LitElement {
74
68
  super.connectedCallback();
75
69
 
76
70
  this._onPicChange();
77
-
71
+
78
72
  onceParentAvailable(this).then(() => {
79
73
  this._parent.psv?.addEventListener("picture-loaded", this._onPicChange.bind(this));
80
74
  this._parent.psv?.addEventListener("annotation-focused", e => this.showAnnotation(e.detail.annotationId));
@@ -329,7 +323,6 @@ export default class SemanticsList extends LitElement {
329
323
 
330
324
  /** @private */
331
325
  render() {
332
- /* eslint-disable indent */
333
326
  if(!this._meta) { return nothing; }
334
327
 
335
328
  // Selected entry
@@ -356,7 +349,7 @@ export default class SemanticsList extends LitElement {
356
349
  ${fa(faCopy, {transform: {size: 18}})}
357
350
  ${fa(faCheck, {attributes: {slot: "oncopy"}, transform: {size: 18}})}
358
351
  </pnx-copy-button>
359
-
352
+
360
353
  ${this.editable && this._selectedEntry.type !== "seqtags" ? html`
361
354
  <pnx-button
362
355
  kind="superinline"
@@ -1,12 +1,10 @@
1
- import { LitElement, html, nothing, css } from "lit";
2
- import { fa, onceParentAvailable } from "../../utils/widgets";
3
- import { faFloppyDisk } from "@fortawesome/free-solid-svg-icons/faFloppyDisk";
4
- import { faTimes } from "@fortawesome/free-solid-svg-icons/faTimes";
5
- import { faPlusSquare } from "@fortawesome/free-solid-svg-icons/faPlusSquare";
6
- import { faEraser } from "@fortawesome/free-solid-svg-icons/faEraser";
7
- import { faInfoCircle } from "@fortawesome/free-solid-svg-icons/faInfoCircle";
8
- import { hidden, dataBlocks } from "../styles";
9
- import { getUserAccount } from "../../utils/utils";
1
+ import { LitElement, css, html, nothing } from "lit";
2
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
3
+ import {
4
+ faEraser, faFloppyDisk, faInfoCircle, faPlusSquare, faTimes
5
+ } from "@fortawesome/free-solid-svg-icons";
6
+ import { dataBlocks, hidden } from "../styles.js";
7
+ import { getUserAccount } from "../../utils/utils.js";
10
8
 
11
9
  /**
12
10
  * Semantics metadata displays detailed info about semantic attributes of a single picture.
@@ -287,7 +285,6 @@ export default class SemanticsMetadata extends LitElement {
287
285
 
288
286
  /** @private */
289
287
  render() {
290
- /* eslint-disable indent */
291
288
  if(!this._meta?.properties) { return; }
292
289
 
293
290
  const canEdit = !this._meta.origInstance && (this._authUrl || getUserAccount() !== null);
@@ -354,7 +351,7 @@ export default class SemanticsMetadata extends LitElement {
354
351
  >${fa(faInfoCircle)} ${this._parent?._t.pnx.semantics_doc}</pnx-button>
355
352
  </div>
356
353
  ` : nothing}
357
-
354
+
358
355
  <pnx-semantics-list
359
356
  id="pnx-sem-list"
360
357
  .editable=${canEdit}
@@ -1,10 +1,9 @@
1
1
  import { LitElement, css, html } from "lit";
2
- import { fa, onceParentAvailable } from "../../utils/widgets";
3
- import { faSvg, textarea, titles, input } from "../styles";
4
- import { faMap } from "@fortawesome/free-solid-svg-icons/faMap";
5
- import { faCircleInfo } from "@fortawesome/free-solid-svg-icons/faCircleInfo";
6
- import { faShareAlt } from "@fortawesome/free-solid-svg-icons/faShareAlt";
7
- import { faLink } from "@fortawesome/free-solid-svg-icons/faLink";
2
+ import { fa, onceParentAvailable } from "../../utils/widgets.js";
3
+ import { faSvg, input, textarea, titles } from "../styles.js";
4
+ import {
5
+ faCircleInfo, faLink, faMap, faShareAlt
6
+ } from "@fortawesome/free-solid-svg-icons";
8
7
 
9
8
  /**
10
9
  * Share Menu displays links for quick picture sharing.
@@ -79,7 +78,7 @@ export default class ShareMenu extends LitElement {
79
78
  <pnx-copy-button ._t=${this._parent?._t} text=${this._url}></pnx-copy-button>
80
79
  </div>
81
80
  </div>
82
-
81
+
83
82
  <h4 slot="title">${fa(faMap)} ${this._parent?._t.pnx.share_embed}</h4>
84
83
  <div slot="content">
85
84
  <div class="embed">
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Complex menus components
3
+ * @module Panoramax:components:menus
4
+ */
5
+
6
+ export {default as LocationPrecisionDoc} from "./LocationPrecisionDoc.js";
7
+ export {default as MapBackground} from "./MapBackground.js";
8
+ export {default as MapFilters} from "./MapFilters.js";
9
+ export {default as MapLayers} from "./MapLayers.js";
10
+ export {default as MapLegend} from "./MapLegend.js";
11
+ export {default as MiniPictureLegend} from "./MiniPictureLegend.js";
12
+ export {default as PictureLegend} from "./PictureLegend.js";
13
+ export {default as PictureMetadata} from "./PictureMetadata.js";
14
+ export {default as PlayerOptions} from "./PlayerOptions.js";
15
+ export {default as QualityScoreDoc} from "./QualityScoreDoc.js";
16
+ export {default as ReportForm} from "./ReportForm.js";
17
+ export {default as SemanticsDoc} from "./SemanticsDoc.js";
18
+ export {default as SemanticsDownload} from "./SemanticsDownload.js";
19
+ export {default as SemanticsFilters} from "./SemanticsFilters.js";
20
+ export {default as SemanticsList} from "./SemanticsList.js";
21
+ export {default as SemanticsMetadata} from "./SemanticsMetadata.js";
22
+ export {default as Share} from "./Share.js";
@@ -0,0 +1,11 @@
1
+ // Lightweight export for PhotoViewer
2
+ export {default as PictureLegend} from "./PictureLegend.js";
3
+ export {default as PictureMetadata} from "./PictureMetadata.js";
4
+ export {default as PlayerOptions} from "./PlayerOptions.js";
5
+ export {default as QualityScoreDoc} from "./QualityScoreDoc.js";
6
+ export {default as ReportForm} from "./ReportForm.js";
7
+ export {default as SemanticsDoc} from "./SemanticsDoc.js";
8
+ export {default as SemanticsDownload} from "./SemanticsDownload.js";
9
+ export {default as SemanticsList} from "./SemanticsList.js";
10
+ export {default as SemanticsMetadata} from "./SemanticsMetadata.js";
11
+ export {default as Share} from "./Share.js";
@@ -1,7 +1,5 @@
1
1
  import { css } from "lit";
2
2
 
3
- /* eslint-disable import/no-unused-modules */
4
-
5
3
  // Classic panel
6
4
  export const panel = css`
7
5
  .pnx-panel {