@panoramax/web-viewer 4.4.0-develop-746bcb00 → 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}/translations/pt.json +7 -2
  81. package/{src → build}/utils/API.js +33 -33
  82. package/{src → build}/utils/InitParameters.js +11 -9
  83. package/{src → build}/utils/MapStyleComposer.js +39 -37
  84. package/{src → build}/utils/PhotoAdapter.js +1 -0
  85. package/{src → build}/utils/PresetsManager.js +4 -4
  86. package/{src → build}/utils/SemanticsMapProtocol.js +3 -4
  87. package/{src → build}/utils/URLHandler.js +16 -14
  88. package/{src → build}/utils/geocoder.js +5 -5
  89. package/{src → build}/utils/i18n.js +21 -20
  90. package/build/utils/index.js +17 -0
  91. package/build/utils/index_photoviewer.js +14 -0
  92. package/{src → build}/utils/indoor.js +9 -5
  93. package/{src → build}/utils/map.js +15 -11
  94. package/{src → build}/utils/picture.js +22 -17
  95. package/{src → build}/utils/semantics.js +9 -5
  96. package/{src → build}/utils/utils.js +8 -4
  97. package/{src → build}/utils/widgets.js +2 -2
  98. package/build/viewer.html +120 -35
  99. package/build/viewer_indoor.html +90 -8
  100. package/build/widgets.html +410 -1
  101. package/package.json +81 -204
  102. package/.dockerignore +0 -7
  103. package/.gitlab-ci.yml +0 -78
  104. package/CHANGELOG.md +0 -853
  105. package/CODE_OF_CONDUCT.md +0 -134
  106. package/Dockerfile +0 -14
  107. package/build/index.css +0 -36
  108. package/build/index.css.map +0 -1
  109. package/build/index.js.map +0 -1
  110. package/build/photoviewer.css +0 -36
  111. package/build/photoviewer.css.map +0 -1
  112. package/build/photoviewer.js +0 -86
  113. package/build/photoviewer.js.map +0 -1
  114. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff +0 -0
  115. package/build/static/media/atkinson-hyperlegible-next-latin-400-normal..woff2 +0 -0
  116. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff +0 -0
  117. package/build/static/media/atkinson-hyperlegible-next-latin-ext-400-normal..woff2 +0 -0
  118. package/config/env.js +0 -104
  119. package/config/getHttpsConfig.js +0 -69
  120. package/config/getPackageJson.js +0 -25
  121. package/config/jest/babelTransform.js +0 -29
  122. package/config/jest/cssTransform.js +0 -14
  123. package/config/jest/fileTransform.js +0 -40
  124. package/config/jest/mocks.js +0 -230
  125. package/config/modules.js +0 -134
  126. package/config/paths.js +0 -76
  127. package/config/pnpTs.js +0 -35
  128. package/config/webpack/persistentCache/createEnvironmentHash.js +0 -9
  129. package/config/webpack.config.js +0 -825
  130. package/config/webpackDevServer.config.js +0 -131
  131. package/docs/03_URL_settings.md +0 -218
  132. package/docs/05_Compatibility.md +0 -83
  133. package/docs/09_Develop.md +0 -141
  134. package/docs/90_Releases.md +0 -27
  135. package/docs/images/class_diagram.drawio +0 -144
  136. package/docs/images/class_diagram.jpg +0 -0
  137. package/docs/images/comparative_3drender.jpg +0 -0
  138. package/docs/images/indoor_level.png +0 -0
  139. package/docs/images/screenshot.jpg +0 -0
  140. package/docs/index.md +0 -159
  141. package/docs/reference/components/core/Basic.md +0 -211
  142. package/docs/reference/components/core/CoverageMap.md +0 -220
  143. package/docs/reference/components/core/Editor.md +0 -252
  144. package/docs/reference/components/core/PhotoViewer.md +0 -320
  145. package/docs/reference/components/core/Viewer.md +0 -398
  146. package/docs/reference/components/layout/BottomDrawer.md +0 -35
  147. package/docs/reference/components/layout/CorneredGrid.md +0 -29
  148. package/docs/reference/components/layout/Mini.md +0 -45
  149. package/docs/reference/components/layout/Tabs.md +0 -46
  150. package/docs/reference/components/menus/LocationPrecisionDoc.md +0 -15
  151. package/docs/reference/components/menus/MapBackground.md +0 -32
  152. package/docs/reference/components/menus/MapFilters.md +0 -37
  153. package/docs/reference/components/menus/MapLayers.md +0 -15
  154. package/docs/reference/components/menus/MapLegend.md +0 -32
  155. package/docs/reference/components/menus/MiniPictureLegend.md +0 -15
  156. package/docs/reference/components/menus/PictureLegend.md +0 -45
  157. package/docs/reference/components/menus/PictureMetadata.md +0 -32
  158. package/docs/reference/components/menus/PlayerOptions.md +0 -15
  159. package/docs/reference/components/menus/QualityScoreDoc.md +0 -15
  160. package/docs/reference/components/menus/ReportForm.md +0 -15
  161. package/docs/reference/components/menus/SemanticsDoc.md +0 -15
  162. package/docs/reference/components/menus/SemanticsDownload.md +0 -15
  163. package/docs/reference/components/menus/SemanticsFilters.md +0 -33
  164. package/docs/reference/components/menus/SemanticsList.md +0 -97
  165. package/docs/reference/components/menus/SemanticsMetadata.md +0 -15
  166. package/docs/reference/components/menus/ShareMenu.md +0 -32
  167. package/docs/reference/components/ui/AnnotationsSwitch.md +0 -32
  168. package/docs/reference/components/ui/Button.md +0 -40
  169. package/docs/reference/components/ui/ButtonGroup.md +0 -36
  170. package/docs/reference/components/ui/CopyButton.md +0 -41
  171. package/docs/reference/components/ui/Grade.md +0 -32
  172. package/docs/reference/components/ui/GradeFilter.md +0 -42
  173. package/docs/reference/components/ui/IconSwitch.md +0 -53
  174. package/docs/reference/components/ui/LinkButton.md +0 -45
  175. package/docs/reference/components/ui/ListGroup.md +0 -22
  176. package/docs/reference/components/ui/ListItem.md +0 -39
  177. package/docs/reference/components/ui/Loader.md +0 -56
  178. package/docs/reference/components/ui/Map.md +0 -150
  179. package/docs/reference/components/ui/MapMore.md +0 -150
  180. package/docs/reference/components/ui/Photo.md +0 -495
  181. package/docs/reference/components/ui/Popup.md +0 -56
  182. package/docs/reference/components/ui/ProgressBar.md +0 -32
  183. package/docs/reference/components/ui/QualityScore.md +0 -45
  184. package/docs/reference/components/ui/SearchBar.md +0 -63
  185. package/docs/reference/components/ui/SemanticsEditor.md +0 -113
  186. package/docs/reference/components/ui/SemanticsTable.md +0 -32
  187. package/docs/reference/components/ui/Switch.md +0 -49
  188. package/docs/reference/components/ui/TogglableGroup.md +0 -39
  189. package/docs/reference/components/ui/widgets/CopyCoordinates.md +0 -32
  190. package/docs/reference/components/ui/widgets/GeoSearch.md +0 -36
  191. package/docs/reference/components/ui/widgets/Legend.md +0 -58
  192. package/docs/reference/components/ui/widgets/LevelSelect.md +0 -16
  193. package/docs/reference/components/ui/widgets/MapFiltersButton.md +0 -37
  194. package/docs/reference/components/ui/widgets/MapLayersButton.md +0 -15
  195. package/docs/reference/components/ui/widgets/OSMEditors.md +0 -15
  196. package/docs/reference/components/ui/widgets/PictureLegendActions.md +0 -32
  197. package/docs/reference/components/ui/widgets/Player.md +0 -34
  198. package/docs/reference/components/ui/widgets/SemanticsFiltersButton.md +0 -15
  199. package/docs/reference/components/ui/widgets/Zoom.md +0 -15
  200. package/docs/reference/utils/API.md +0 -389
  201. package/docs/reference/utils/InitParameters.md +0 -68
  202. package/docs/reference/utils/MapStyleComposer.md +0 -408
  203. package/docs/reference/utils/PanoraMapProtocol.md +0 -28
  204. package/docs/reference/utils/PresetsManager.md +0 -43
  205. package/docs/reference/utils/SemanticsMapProtocol.md +0 -43
  206. package/docs/reference/utils/URLHandler.md +0 -114
  207. package/docs/reference.md +0 -99
  208. package/docs/shortcuts.md +0 -11
  209. package/docs/tutorials/aerial_imagery.md +0 -21
  210. package/docs/tutorials/authentication.md +0 -10
  211. package/docs/tutorials/custom_widgets.md +0 -59
  212. package/docs/tutorials/indoor_maps.md +0 -50
  213. package/docs/tutorials/map_style.md +0 -83
  214. package/docs/tutorials/migrate_v4.md +0 -153
  215. package/docs/tutorials/migrate_v5.md +0 -103
  216. package/docs/tutorials/semantics_overlays.md +0 -74
  217. package/docs/tutorials/synced_coverage.md +0 -43
  218. package/mkdocs.yml +0 -131
  219. package/public/editor.html +0 -53
  220. package/public/index.html +0 -70
  221. package/public/map.html +0 -55
  222. package/public/photo.html +0 -43
  223. package/public/servers.js +0 -15
  224. package/public/viewer.html +0 -79
  225. package/public/viewer_indoor.html +0 -48
  226. package/public/widgets.html +0 -366
  227. package/scripts/build.js +0 -217
  228. package/scripts/doc.js +0 -79
  229. package/scripts/start.js +0 -172
  230. package/scripts/test.js +0 -52
  231. package/src/components/core/index.js +0 -12
  232. package/src/components/index.js +0 -13
  233. package/src/components/index_photoviewer.js +0 -8
  234. package/src/components/layout/index.js +0 -9
  235. package/src/components/menus/index.js +0 -22
  236. package/src/components/menus/index_photoviewer.js +0 -13
  237. package/src/components/ui/index.js +0 -29
  238. package/src/components/ui/index_photoviewer.js +0 -23
  239. package/src/components/ui/widgets/index.js +0 -16
  240. package/src/components/ui/widgets/index_photoviewer.js +0 -9
  241. package/src/index.js +0 -8
  242. package/src/index_photoviewer.js +0 -6
  243. package/src/utils/index.js +0 -17
  244. package/src/utils/index_photoviewer.js +0 -16
  245. package/tests/components/core/Basic.test.js +0 -168
  246. package/tests/components/core/BasicMock.js +0 -25
  247. package/tests/components/core/CoverageMap.test.js +0 -20
  248. package/tests/components/core/Editor.test.js +0 -20
  249. package/tests/components/core/PhotoViewer.test.js +0 -57
  250. package/tests/components/core/Viewer.test.js +0 -85
  251. package/tests/components/core/__snapshots__/PhotoViewer.test.js.snap +0 -96
  252. package/tests/components/core/__snapshots__/Viewer.test.js.snap +0 -188
  253. package/tests/components/ui/CopyButton.test.js +0 -52
  254. package/tests/components/ui/Loader.test.js +0 -55
  255. package/tests/components/ui/Map.test.js +0 -145
  256. package/tests/components/ui/Photo.test.js +0 -437
  257. package/tests/components/ui/Popup.test.js +0 -26
  258. package/tests/components/ui/QualityScore.test.js +0 -18
  259. package/tests/components/ui/SearchBar.test.js +0 -110
  260. package/tests/components/ui/__snapshots__/CopyButton.test.js.snap +0 -33
  261. package/tests/components/ui/__snapshots__/Loader.test.js.snap +0 -56
  262. package/tests/components/ui/__snapshots__/Map.test.js.snap +0 -16
  263. package/tests/components/ui/__snapshots__/Photo.test.js.snap +0 -263
  264. package/tests/components/ui/__snapshots__/Popup.test.js.snap +0 -29
  265. package/tests/components/ui/__snapshots__/QualityScore.test.js.snap +0 -11
  266. package/tests/components/ui/__snapshots__/SearchBar.test.js.snap +0 -65
  267. package/tests/data/Map_geocoder_ban.json +0 -36
  268. package/tests/data/Map_geocoder_nominatim.json +0 -41
  269. package/tests/data/Viewer_pictures_1.json +0 -148
  270. package/tests/setupTests.js +0 -5
  271. package/tests/utils/API.test.js +0 -752
  272. package/tests/utils/InitParameters.test.js +0 -599
  273. package/tests/utils/MapStyleComposer.test.js +0 -697
  274. package/tests/utils/PresetsManager.test.js +0 -123
  275. package/tests/utils/URLHandler.test.js +0 -587
  276. package/tests/utils/__snapshots__/API.test.js.snap +0 -40
  277. package/tests/utils/__snapshots__/MapStyleComposer.test.js.snap +0 -767
  278. package/tests/utils/__snapshots__/URLHandler.test.js.snap +0 -21
  279. package/tests/utils/__snapshots__/geocoder.test.js.snap +0 -37
  280. package/tests/utils/__snapshots__/map.test.js.snap +0 -1249
  281. package/tests/utils/__snapshots__/picture.test.js.snap +0 -327
  282. package/tests/utils/__snapshots__/widgets.test.js.snap +0 -19
  283. package/tests/utils/geocoder.test.js +0 -37
  284. package/tests/utils/i18n.test.js +0 -111
  285. package/tests/utils/map.test.js +0 -200
  286. package/tests/utils/picture.test.js +0 -745
  287. package/tests/utils/semantics.test.js +0 -174
  288. package/tests/utils/utils.test.js +0 -358
  289. package/tests/utils/widgets.test.js +0 -31
  290. /package/{src → build}/components/core/Basic.css +0 -0
  291. /package/{src → build}/components/core/CoverageMap.css +0 -0
  292. /package/{src → build}/components/core/Editor.css +0 -0
  293. /package/{src → build}/components/core/PhotoViewer.css +0 -0
  294. /package/{src → build}/components/core/Viewer.css +0 -0
  295. /package/{src → build}/components/ui/ButtonGroup.css +0 -0
  296. /package/{src → build}/components/ui/Map.css +0 -0
  297. /package/{src → build}/components/ui/Photo.css +0 -0
  298. /package/{src → build}/components/ui/ProgressBar.js +0 -0
  299. /package/{src → build}/components/ui/widgets/GeoSearch.css +0 -0
  300. /package/{src → build}/components/ui/widgets/LevelSelect.css +0 -0
  301. /package/{src → build}/components/ui/widgets/Player.css +0 -0
  302. /package/{public → build}/favicon.ico +0 -0
  303. /package/{src → build}/img/arrow_360.svg +0 -0
  304. /package/{src → build}/img/arrow_flat.svg +0 -0
  305. /package/{src → build}/img/bg_aerial.jpg +0 -0
  306. /package/{src → build}/img/bg_streets.jpg +0 -0
  307. /package/{src → build}/img/loader_base.jpg +0 -0
  308. /package/{src → build}/img/logo_dead.svg +0 -0
  309. /package/{src → build}/img/marker.svg +0 -0
  310. /package/{src → build}/img/marker_blue.svg +0 -0
  311. /package/{src → build}/img/osm.svg +0 -0
  312. /package/{src → build}/img/panoramax.svg +0 -0
  313. /package/{src → build}/img/switch_big.svg +0 -0
  314. /package/{src → build}/img/switch_mini.svg +0 -0
  315. /package/{src → build}/img/wd.svg +0 -0
  316. /package/{src → build}/translations/ar.json +0 -0
  317. /package/{src → build}/translations/be.json +0 -0
  318. /package/{src → build}/translations/br.json +0 -0
  319. /package/{src → build}/translations/cy.json +0 -0
  320. /package/{src → build}/translations/da.json +0 -0
  321. /package/{src → build}/translations/de.json +0 -0
  322. /package/{src → build}/translations/en.json +0 -0
  323. /package/{src → build}/translations/eo.json +0 -0
  324. /package/{src → build}/translations/es.json +0 -0
  325. /package/{src → build}/translations/fi.json +0 -0
  326. /package/{src → build}/translations/fr.json +0 -0
  327. /package/{src → build}/translations/hu.json +0 -0
  328. /package/{src → build}/translations/it.json +0 -0
  329. /package/{src → build}/translations/ja.json +0 -0
  330. /package/{src → build}/translations/ko.json +0 -0
  331. /package/{src → build}/translations/nl.json +0 -0
  332. /package/{src → build}/translations/nn.json +0 -0
  333. /package/{src → build}/translations/pl.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 {