@itwin/map-layers 5.4.3 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/CHANGELOG.md +19 -2
  2. package/README.md +7 -7
  3. package/lib/cjs/BrowserStorage.d.ts +1 -1
  4. package/lib/cjs/BrowserStorage.d.ts.map +1 -1
  5. package/lib/cjs/BrowserStorage.js +24 -14
  6. package/lib/cjs/BrowserStorage.js.map +1 -1
  7. package/lib/cjs/CustomParamUtils.d.ts +1 -1
  8. package/lib/cjs/CustomParamUtils.d.ts.map +1 -1
  9. package/lib/cjs/CustomParamUtils.js +18 -7
  10. package/lib/cjs/CustomParamUtils.js.map +1 -1
  11. package/lib/cjs/CustomParamsMappingStorage.d.ts +1 -1
  12. package/lib/cjs/CustomParamsMappingStorage.d.ts.map +1 -1
  13. package/lib/cjs/CustomParamsMappingStorage.js +3 -3
  14. package/lib/cjs/CustomParamsMappingStorage.js.map +1 -1
  15. package/lib/cjs/CustomParamsStorage.d.ts +1 -1
  16. package/lib/cjs/CustomParamsStorage.d.ts.map +1 -1
  17. package/lib/cjs/CustomParamsStorage.js +3 -3
  18. package/lib/cjs/CustomParamsStorage.js.map +1 -1
  19. package/lib/cjs/MapLayerPreferences.d.ts +2 -1
  20. package/lib/cjs/MapLayerPreferences.d.ts.map +1 -1
  21. package/lib/cjs/MapLayerPreferences.js +50 -25
  22. package/lib/cjs/MapLayerPreferences.js.map +1 -1
  23. package/lib/cjs/MapLayersActionIds.d.ts +5 -0
  24. package/lib/cjs/MapLayersActionIds.d.ts.map +1 -0
  25. package/lib/cjs/MapLayersActionIds.js +10 -0
  26. package/lib/cjs/MapLayersActionIds.js.map +1 -0
  27. package/lib/cjs/MapLayersPrefBrowserStorage.d.ts.map +1 -1
  28. package/lib/cjs/MapLayersPrefBrowserStorage.js +4 -5
  29. package/lib/cjs/MapLayersPrefBrowserStorage.js.map +1 -1
  30. package/lib/cjs/PreferencesBrowserStorage.d.ts +18 -18
  31. package/lib/cjs/PreferencesBrowserStorage.d.ts.map +1 -1
  32. package/lib/cjs/PreferencesBrowserStorage.js +14 -14
  33. package/lib/cjs/PreferencesBrowserStorage.js.map +1 -1
  34. package/lib/cjs/map-layers.d.ts +1 -0
  35. package/lib/cjs/map-layers.d.ts.map +1 -1
  36. package/lib/cjs/map-layers.js +4 -3
  37. package/lib/cjs/map-layers.js.map +1 -1
  38. package/lib/cjs/mapLayers.d.ts +2 -2
  39. package/lib/cjs/mapLayers.d.ts.map +1 -1
  40. package/lib/cjs/mapLayers.js.map +1 -1
  41. package/lib/cjs/public/locales/en/mapLayers.json +179 -184
  42. package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts +3 -2
  43. package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
  44. package/lib/cjs/ui/FeatureInfoUiItemsProvider.js +48 -16
  45. package/lib/cjs/ui/FeatureInfoUiItemsProvider.js.map +1 -1
  46. package/lib/cjs/ui/Interfaces.d.ts +3 -3
  47. package/lib/cjs/ui/Interfaces.d.ts.map +1 -1
  48. package/lib/cjs/ui/Interfaces.js.map +1 -1
  49. package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts +3 -2
  50. package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
  51. package/lib/cjs/ui/MapLayersUiItemsProvider.js +2 -6
  52. package/lib/cjs/ui/MapLayersUiItemsProvider.js.map +1 -1
  53. package/lib/cjs/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
  54. package/lib/cjs/ui/widget/AttachLayerPopupButton.js +81 -46
  55. package/lib/cjs/ui/widget/AttachLayerPopupButton.js.map +1 -1
  56. package/lib/cjs/ui/widget/BasemapPanel.d.ts.map +1 -1
  57. package/lib/cjs/ui/widget/BasemapPanel.js +44 -25
  58. package/lib/cjs/ui/widget/BasemapPanel.js.map +1 -1
  59. package/lib/cjs/ui/widget/BasemapPanel.scss +2 -4
  60. package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts +1 -1
  61. package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
  62. package/lib/cjs/ui/widget/ConfirmMessageDialog.js +31 -8
  63. package/lib/cjs/ui/widget/ConfirmMessageDialog.js.map +1 -1
  64. package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts +1 -1
  65. package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
  66. package/lib/cjs/ui/widget/CustomParamEditDialog.js +34 -20
  67. package/lib/cjs/ui/widget/CustomParamEditDialog.js.map +1 -1
  68. package/lib/cjs/ui/widget/CustomParamEditDialog.scss +1 -2
  69. package/lib/cjs/ui/widget/CustomParamsSettings.d.ts.map +1 -1
  70. package/lib/cjs/ui/widget/CustomParamsSettings.js +43 -28
  71. package/lib/cjs/ui/widget/CustomParamsSettings.js.map +1 -1
  72. package/lib/cjs/ui/widget/CustomParamsSettings.scss +7 -9
  73. package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
  74. package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
  75. package/lib/cjs/ui/widget/FeatureInfoDataProvider.js +4 -2
  76. package/lib/cjs/ui/widget/FeatureInfoDataProvider.js.map +1 -1
  77. package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts +1 -1
  78. package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
  79. package/lib/cjs/ui/widget/FeatureInfoWidget.js +36 -6
  80. package/lib/cjs/ui/widget/FeatureInfoWidget.js.map +1 -1
  81. package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts +1 -1
  82. package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
  83. package/lib/cjs/ui/widget/MapLayerActionButtons.js +30 -17
  84. package/lib/cjs/ui/widget/MapLayerActionButtons.js.map +1 -1
  85. package/lib/cjs/ui/widget/MapLayerDroppable.d.ts +2 -2
  86. package/lib/cjs/ui/widget/MapLayerDroppable.d.ts.map +1 -1
  87. package/lib/cjs/ui/widget/MapLayerDroppable.js +64 -50
  88. package/lib/cjs/ui/widget/MapLayerDroppable.js.map +1 -1
  89. package/lib/cjs/ui/widget/MapLayerManager.d.ts +2 -2
  90. package/lib/cjs/ui/widget/MapLayerManager.d.ts.map +1 -1
  91. package/lib/cjs/ui/widget/MapLayerManager.js +160 -86
  92. package/lib/cjs/ui/widget/MapLayerManager.js.map +1 -1
  93. package/lib/cjs/ui/widget/MapLayerManager.scss +3 -6
  94. package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
  95. package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
  96. package/lib/cjs/ui/widget/MapLayerSettingsMenu.js +33 -13
  97. package/lib/cjs/ui/widget/MapLayerSettingsMenu.js.map +1 -1
  98. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
  99. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js +36 -14
  100. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
  101. package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
  102. package/lib/cjs/ui/widget/MapLayersWidget.d.ts +1 -1
  103. package/lib/cjs/ui/widget/MapLayersWidget.d.ts.map +1 -1
  104. package/lib/cjs/ui/widget/MapLayersWidget.js +34 -11
  105. package/lib/cjs/ui/widget/MapLayersWidget.js.map +1 -1
  106. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
  107. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js +5 -8
  108. package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
  109. package/lib/cjs/ui/widget/MapManagerSettings.d.ts.map +1 -1
  110. package/lib/cjs/ui/widget/MapManagerSettings.js +55 -56
  111. package/lib/cjs/ui/widget/MapManagerSettings.js.map +1 -1
  112. package/lib/cjs/ui/widget/MapManagerSettings.scss +1 -1
  113. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
  114. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
  115. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js +33 -18
  116. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
  117. package/lib/cjs/ui/widget/MapSelectFeaturesDialog.scss +1 -3
  118. package/lib/cjs/ui/widget/MapUrlDialog.d.ts +4 -3
  119. package/lib/cjs/ui/widget/MapUrlDialog.d.ts.map +1 -1
  120. package/lib/cjs/ui/widget/MapUrlDialog.js +125 -96
  121. package/lib/cjs/ui/widget/MapUrlDialog.js.map +1 -1
  122. package/lib/cjs/ui/widget/MapUrlDialog.scss +6 -7
  123. package/lib/cjs/ui/widget/SelectApiKey.d.ts.map +1 -1
  124. package/lib/cjs/ui/widget/SelectApiKey.js +38 -10
  125. package/lib/cjs/ui/widget/SelectApiKey.js.map +1 -1
  126. package/lib/cjs/ui/widget/SelectCustomParam.d.ts.map +1 -1
  127. package/lib/cjs/ui/widget/SelectCustomParam.js +40 -11
  128. package/lib/cjs/ui/widget/SelectCustomParam.js.map +1 -1
  129. package/lib/cjs/ui/widget/SelectMapFormat.d.ts +3 -3
  130. package/lib/cjs/ui/widget/SelectMapFormat.d.ts.map +1 -1
  131. package/lib/cjs/ui/widget/SelectMapFormat.js +35 -13
  132. package/lib/cjs/ui/widget/SelectMapFormat.js.map +1 -1
  133. package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts +2 -2
  134. package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
  135. package/lib/cjs/ui/widget/SubLayersDataProvider.js +13 -9
  136. package/lib/cjs/ui/widget/SubLayersDataProvider.js.map +1 -1
  137. package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts +1 -1
  138. package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
  139. package/lib/cjs/ui/widget/SubLayersPopupButton.js +30 -12
  140. package/lib/cjs/ui/widget/SubLayersPopupButton.js.map +1 -1
  141. package/lib/cjs/ui/widget/SubLayersTree.d.ts +2 -2
  142. package/lib/cjs/ui/widget/SubLayersTree.d.ts.map +1 -1
  143. package/lib/cjs/ui/widget/SubLayersTree.js +83 -45
  144. package/lib/cjs/ui/widget/SubLayersTree.js.map +1 -1
  145. package/lib/cjs/ui/widget/SubLayersTree.scss +4 -7
  146. package/lib/cjs/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
  147. package/lib/cjs/ui/widget/TransparencyPopupButton.js +33 -16
  148. package/lib/cjs/ui/widget/TransparencyPopupButton.js.map +1 -1
  149. package/lib/cjs/ui/widget/TransparencyPopupButton.scss +1 -2
  150. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
  151. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
  152. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js +2 -8
  153. package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
  154. package/lib/esm/BrowserStorage.d.ts +1 -1
  155. package/lib/esm/BrowserStorage.d.ts.map +1 -1
  156. package/lib/esm/BrowserStorage.js +24 -14
  157. package/lib/esm/BrowserStorage.js.map +1 -1
  158. package/lib/esm/CustomParamUtils.d.ts +1 -1
  159. package/lib/esm/CustomParamUtils.d.ts.map +1 -1
  160. package/lib/esm/CustomParamUtils.js +18 -7
  161. package/lib/esm/CustomParamUtils.js.map +1 -1
  162. package/lib/esm/CustomParamsMappingStorage.d.ts +1 -1
  163. package/lib/esm/CustomParamsMappingStorage.d.ts.map +1 -1
  164. package/lib/esm/CustomParamsMappingStorage.js +3 -3
  165. package/lib/esm/CustomParamsMappingStorage.js.map +1 -1
  166. package/lib/esm/CustomParamsStorage.d.ts +1 -1
  167. package/lib/esm/CustomParamsStorage.d.ts.map +1 -1
  168. package/lib/esm/CustomParamsStorage.js +3 -3
  169. package/lib/esm/CustomParamsStorage.js.map +1 -1
  170. package/lib/esm/MapLayerPreferences.d.ts +2 -1
  171. package/lib/esm/MapLayerPreferences.d.ts.map +1 -1
  172. package/lib/esm/MapLayerPreferences.js +50 -25
  173. package/lib/esm/MapLayerPreferences.js.map +1 -1
  174. package/lib/esm/MapLayersActionIds.d.ts +5 -0
  175. package/lib/esm/MapLayersActionIds.d.ts.map +1 -0
  176. package/lib/esm/MapLayersActionIds.js +7 -0
  177. package/lib/esm/MapLayersActionIds.js.map +1 -0
  178. package/lib/esm/MapLayersPrefBrowserStorage.d.ts.map +1 -1
  179. package/lib/esm/MapLayersPrefBrowserStorage.js +4 -5
  180. package/lib/esm/MapLayersPrefBrowserStorage.js.map +1 -1
  181. package/lib/esm/PreferencesBrowserStorage.d.ts +18 -18
  182. package/lib/esm/PreferencesBrowserStorage.d.ts.map +1 -1
  183. package/lib/esm/PreferencesBrowserStorage.js +14 -14
  184. package/lib/esm/PreferencesBrowserStorage.js.map +1 -1
  185. package/lib/esm/map-layers.d.ts +1 -0
  186. package/lib/esm/map-layers.d.ts.map +1 -1
  187. package/lib/esm/map-layers.js +4 -3
  188. package/lib/esm/map-layers.js.map +1 -1
  189. package/lib/esm/mapLayers.d.ts +2 -2
  190. package/lib/esm/mapLayers.d.ts.map +1 -1
  191. package/lib/esm/mapLayers.js.map +1 -1
  192. package/lib/esm/public/locales/en/mapLayers.json +179 -184
  193. package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts +3 -2
  194. package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
  195. package/lib/esm/ui/FeatureInfoUiItemsProvider.js +48 -16
  196. package/lib/esm/ui/FeatureInfoUiItemsProvider.js.map +1 -1
  197. package/lib/esm/ui/Interfaces.d.ts +3 -3
  198. package/lib/esm/ui/Interfaces.d.ts.map +1 -1
  199. package/lib/esm/ui/Interfaces.js.map +1 -1
  200. package/lib/esm/ui/MapLayersUiItemsProvider.d.ts +3 -2
  201. package/lib/esm/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
  202. package/lib/esm/ui/MapLayersUiItemsProvider.js +2 -6
  203. package/lib/esm/ui/MapLayersUiItemsProvider.js.map +1 -1
  204. package/lib/esm/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
  205. package/lib/esm/ui/widget/AttachLayerPopupButton.js +57 -45
  206. package/lib/esm/ui/widget/AttachLayerPopupButton.js.map +1 -1
  207. package/lib/esm/ui/widget/BasemapPanel.d.ts.map +1 -1
  208. package/lib/esm/ui/widget/BasemapPanel.js +19 -23
  209. package/lib/esm/ui/widget/BasemapPanel.js.map +1 -1
  210. package/lib/esm/ui/widget/BasemapPanel.scss +2 -4
  211. package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts +1 -1
  212. package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
  213. package/lib/esm/ui/widget/ConfirmMessageDialog.js +5 -5
  214. package/lib/esm/ui/widget/ConfirmMessageDialog.js.map +1 -1
  215. package/lib/esm/ui/widget/CustomParamEditDialog.d.ts +1 -1
  216. package/lib/esm/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
  217. package/lib/esm/ui/widget/CustomParamEditDialog.js +9 -18
  218. package/lib/esm/ui/widget/CustomParamEditDialog.js.map +1 -1
  219. package/lib/esm/ui/widget/CustomParamEditDialog.scss +1 -2
  220. package/lib/esm/ui/widget/CustomParamsSettings.d.ts.map +1 -1
  221. package/lib/esm/ui/widget/CustomParamsSettings.js +18 -26
  222. package/lib/esm/ui/widget/CustomParamsSettings.js.map +1 -1
  223. package/lib/esm/ui/widget/CustomParamsSettings.scss +7 -9
  224. package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
  225. package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
  226. package/lib/esm/ui/widget/FeatureInfoDataProvider.js +4 -2
  227. package/lib/esm/ui/widget/FeatureInfoDataProvider.js.map +1 -1
  228. package/lib/esm/ui/widget/FeatureInfoWidget.d.ts +1 -1
  229. package/lib/esm/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
  230. package/lib/esm/ui/widget/FeatureInfoWidget.js +12 -5
  231. package/lib/esm/ui/widget/FeatureInfoWidget.js.map +1 -1
  232. package/lib/esm/ui/widget/MapLayerActionButtons.d.ts +1 -1
  233. package/lib/esm/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
  234. package/lib/esm/ui/widget/MapLayerActionButtons.js +6 -16
  235. package/lib/esm/ui/widget/MapLayerActionButtons.js.map +1 -1
  236. package/lib/esm/ui/widget/MapLayerDroppable.d.ts +2 -2
  237. package/lib/esm/ui/widget/MapLayerDroppable.d.ts.map +1 -1
  238. package/lib/esm/ui/widget/MapLayerDroppable.js +38 -47
  239. package/lib/esm/ui/widget/MapLayerDroppable.js.map +1 -1
  240. package/lib/esm/ui/widget/MapLayerManager.d.ts +2 -2
  241. package/lib/esm/ui/widget/MapLayerManager.d.ts.map +1 -1
  242. package/lib/esm/ui/widget/MapLayerManager.js +136 -85
  243. package/lib/esm/ui/widget/MapLayerManager.js.map +1 -1
  244. package/lib/esm/ui/widget/MapLayerManager.scss +3 -6
  245. package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
  246. package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
  247. package/lib/esm/ui/widget/MapLayerSettingsMenu.js +9 -12
  248. package/lib/esm/ui/widget/MapLayerSettingsMenu.js.map +1 -1
  249. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
  250. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js +11 -12
  251. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
  252. package/lib/esm/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
  253. package/lib/esm/ui/widget/MapLayersWidget.d.ts +1 -1
  254. package/lib/esm/ui/widget/MapLayersWidget.d.ts.map +1 -1
  255. package/lib/esm/ui/widget/MapLayersWidget.js +9 -9
  256. package/lib/esm/ui/widget/MapLayersWidget.js.map +1 -1
  257. package/lib/esm/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
  258. package/lib/esm/ui/widget/MapManagerMapLayersHeader.js +5 -8
  259. package/lib/esm/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
  260. package/lib/esm/ui/widget/MapManagerSettings.d.ts.map +1 -1
  261. package/lib/esm/ui/widget/MapManagerSettings.js +29 -53
  262. package/lib/esm/ui/widget/MapManagerSettings.js.map +1 -1
  263. package/lib/esm/ui/widget/MapManagerSettings.scss +1 -1
  264. package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
  265. package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
  266. package/lib/esm/ui/widget/MapSelectFeaturesDialog.js +7 -15
  267. package/lib/esm/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
  268. package/lib/esm/ui/widget/MapSelectFeaturesDialog.scss +1 -3
  269. package/lib/esm/ui/widget/MapUrlDialog.d.ts +4 -3
  270. package/lib/esm/ui/widget/MapUrlDialog.d.ts.map +1 -1
  271. package/lib/esm/ui/widget/MapUrlDialog.js +100 -94
  272. package/lib/esm/ui/widget/MapUrlDialog.js.map +1 -1
  273. package/lib/esm/ui/widget/MapUrlDialog.scss +6 -7
  274. package/lib/esm/ui/widget/SelectApiKey.d.ts.map +1 -1
  275. package/lib/esm/ui/widget/SelectApiKey.js +12 -7
  276. package/lib/esm/ui/widget/SelectApiKey.js.map +1 -1
  277. package/lib/esm/ui/widget/SelectCustomParam.d.ts.map +1 -1
  278. package/lib/esm/ui/widget/SelectCustomParam.js +14 -8
  279. package/lib/esm/ui/widget/SelectCustomParam.js.map +1 -1
  280. package/lib/esm/ui/widget/SelectMapFormat.d.ts +3 -3
  281. package/lib/esm/ui/widget/SelectMapFormat.d.ts.map +1 -1
  282. package/lib/esm/ui/widget/SelectMapFormat.js +9 -10
  283. package/lib/esm/ui/widget/SelectMapFormat.js.map +1 -1
  284. package/lib/esm/ui/widget/SubLayersDataProvider.d.ts +2 -2
  285. package/lib/esm/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
  286. package/lib/esm/ui/widget/SubLayersDataProvider.js +13 -9
  287. package/lib/esm/ui/widget/SubLayersDataProvider.js.map +1 -1
  288. package/lib/esm/ui/widget/SubLayersPopupButton.d.ts +1 -1
  289. package/lib/esm/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
  290. package/lib/esm/ui/widget/SubLayersPopupButton.js +6 -11
  291. package/lib/esm/ui/widget/SubLayersPopupButton.js.map +1 -1
  292. package/lib/esm/ui/widget/SubLayersTree.d.ts +2 -2
  293. package/lib/esm/ui/widget/SubLayersTree.d.ts.map +1 -1
  294. package/lib/esm/ui/widget/SubLayersTree.js +59 -44
  295. package/lib/esm/ui/widget/SubLayersTree.js.map +1 -1
  296. package/lib/esm/ui/widget/SubLayersTree.scss +4 -7
  297. package/lib/esm/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
  298. package/lib/esm/ui/widget/TransparencyPopupButton.js +8 -14
  299. package/lib/esm/ui/widget/TransparencyPopupButton.js.map +1 -1
  300. package/lib/esm/ui/widget/TransparencyPopupButton.scss +1 -2
  301. package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
  302. package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
  303. package/lib/esm/ui/widget/UserPreferencesStorageOptions.js +2 -8
  304. package/lib/esm/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
  305. package/lib/public/locales/en/mapLayers.json +179 -184
  306. package/package.json +9 -21
@@ -1,5 +1,5 @@
1
1
  import { BrowserStorage } from "./BrowserStorage";
2
- import { CustomParamsMappingItem } from "./ui/Interfaces";
2
+ import type { CustomParamsMappingItem } from "./ui/Interfaces";
3
3
  export declare class CustomParamsMappingStorage extends BrowserStorage<CustomParamsMappingItem> {
4
4
  constructor();
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CustomParamsMappingStorage.d.ts","sourceRoot":"","sources":["../../src/CustomParamsMappingStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,qBAAa,0BAA2B,SAAQ,cAAc,CAAC,uBAAuB,CAAC;;CAItF"}
1
+ {"version":3,"file":"CustomParamsMappingStorage.d.ts","sourceRoot":"","sources":["../../src/CustomParamsMappingStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,qBAAa,0BAA2B,SAAQ,cAAc,CAAC,uBAAuB,CAAC;;CAItF"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { BrowserStorage } from "./BrowserStorage";
6
6
  export class CustomParamsMappingStorage extends BrowserStorage {
7
7
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomParamsMappingStorage.js","sourceRoot":"","sources":["../../src/CustomParamsMappingStorage.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,OAAO,0BAA2B,SAAQ,cAAuC;IACrF;QACE,KAAK,CAAC,EAAC,WAAW,EAAE,uCAAuC,EAAC,CAAC,CAAC;IAChE,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport { CustomParamsMappingItem } from \"./ui/Interfaces\";\n\nexport class CustomParamsMappingStorage extends BrowserStorage<CustomParamsMappingItem> {\n constructor() {\n super({itemKeyName: \"itwinjs.mapLayers.customParamsMapping\"});\n }\n}\n"]}
1
+ {"version":3,"file":"CustomParamsMappingStorage.js","sourceRoot":"","sources":["../../src/CustomParamsMappingStorage.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,OAAO,0BAA2B,SAAQ,cAAuC;IACrF;QACE,KAAK,CAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC,CAAC;IAClE,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport type { CustomParamsMappingItem } from \"./ui/Interfaces\";\n\nexport class CustomParamsMappingStorage extends BrowserStorage<CustomParamsMappingItem> {\n constructor() {\n super({ itemKeyName: \"itwinjs.mapLayers.customParamsMapping\" });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { BrowserStorage } from "./BrowserStorage";
2
- import { CustomParamItem } from "./ui/Interfaces";
2
+ import type { CustomParamItem } from "./ui/Interfaces";
3
3
  export declare class CustomParamsStorage extends BrowserStorage<CustomParamItem> {
4
4
  constructor();
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CustomParamsStorage.d.ts","sourceRoot":"","sources":["../../src/CustomParamsStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,eAAe,CAAC;;CAIvE"}
1
+ {"version":3,"file":"CustomParamsStorage.d.ts","sourceRoot":"","sources":["../../src/CustomParamsStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,eAAe,CAAC;;CAIvE"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { BrowserStorage } from "./BrowserStorage";
6
6
  export class CustomParamsStorage extends BrowserStorage {
7
7
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomParamsStorage.js","sourceRoot":"","sources":["../../src/CustomParamsStorage.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,OAAO,mBAAoB,SAAQ,cAA+B;IACtE;QACE,KAAK,CAAC,EAAC,WAAW,EAAE,gCAAgC,EAAC,CAAC,CAAC;IACzD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport { CustomParamItem } from \"./ui/Interfaces\";\n\nexport class CustomParamsStorage extends BrowserStorage<CustomParamItem> {\n constructor() {\n super({itemKeyName: \"itwinjs.mapLayers.customParams\"});\n }\n}\n"]}
1
+ {"version":3,"file":"CustomParamsStorage.js","sourceRoot":"","sources":["../../src/CustomParamsStorage.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,OAAO,mBAAoB,SAAQ,cAA+B;IACtE;QACE,KAAK,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport type { CustomParamItem } from \"./ui/Interfaces\";\n\nexport class CustomParamsStorage extends BrowserStorage<CustomParamItem> {\n constructor() {\n super({ itemKeyName: \"itwinjs.mapLayers.customParams\" });\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { MapLayerSource } from "@itwin/core-frontend";
2
- import { BeEvent, GuidString } from "@itwin/core-bentley";
2
+ import type { GuidString } from "@itwin/core-bentley";
3
+ import { BeEvent } from "@itwin/core-bentley";
3
4
  /** @internal */
4
5
  export interface MapLayerPreferencesContent {
5
6
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerPreferences.d.ts","sourceRoot":"","sources":["../../src/MapLayerPreferences.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,cAAc,EAA+C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG1D,gBAAgB;AAChB,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C;AAED,gBAAgB;AAChB,oBAAY,wBAAwB;IAClC,KAAK,IAAI;IACT,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,gBAAuB,oBAAoB,uBAA4B,wBAAwB,qFAA6D,IAAI,EAAI;IAEpK;;;;;;OAMG;WACiB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC9I;;;;;;;;OAQG;WACiB,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2ClJ;;;;;OAKG;WACiB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnH;;;;;;;;;;;OAWG;mBACkB,MAAM;IA+E3B;;;;OAIG;WACiB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IA0B9H;;;;OAIG;WACiB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA6CrG,OAAO,CAAC,MAAM,KAAK,oBAAoB,GAEtC;CACF"}
1
+ {"version":3,"file":"MapLayerPreferences.d.ts","sourceRoot":"","sources":["../../src/MapLayerPreferences.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,cAAc,EAA+C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,gBAAgB;AAChB,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C;AAED,gBAAgB;AAChB,oBAAY,wBAAwB;IAClC,KAAK,IAAI;IACT,OAAO,IAAI;IACX,QAAQ,IAAI;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;CAC/B;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,gBAAuB,oBAAoB,uBAC5B,wBAAwB,qFAA6D,IAAI,EACpG;IAEJ;;;;;;OAMG;WACiB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC9I;;;;;;;;OAQG;WACiB,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4ClJ;;;;;OAKG;WACiB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnH;;;;;;;;;;;OAWG;mBACkB,MAAM;IA8F3B;;;;OAIG;WACiB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IA4B9H;;;;OAIG;WACiB,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiDrG,OAAO,CAAC,MAAM,KAAK,oBAAoB,GAEtC;CACF"}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { IModelApp, MapLayerSource, NotifyMessageDetails, OutputMessagePriority } from "@itwin/core-frontend";
6
6
  import { BeEvent } from "@itwin/core-bentley";
7
7
  import { MapLayersUI } from "./mapLayers";
@@ -27,12 +27,14 @@ export class MapLayerPreferences {
27
27
  * @param storeOnIModel if true store the settings object on the model, if false store it on the project
28
28
  */
29
29
  static async storeSource(source, iTwinId, iModelId, storeOnIModel) {
30
- if (!MapLayersUI.iTwinConfig)
30
+ if (!MapLayersUI.iTwinConfig) {
31
31
  return false;
32
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
32
+ }
33
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
33
34
  const sourceJSON = source.toJSON();
34
- if (!sourceJSON.formatId)
35
+ if (!sourceJSON.formatId) {
35
36
  return false;
37
+ }
36
38
  const mapLayerSetting = {
37
39
  url: sourceJSON.url,
38
40
  name: sourceJSON.name,
@@ -66,9 +68,10 @@ export class MapLayerPreferences {
66
68
  * @param iModelId
67
69
  */
68
70
  static async replaceSource(oldSource, newSource, iTwinId, iModelId) {
69
- if (!MapLayersUI.iTwinConfig)
71
+ if (!MapLayersUI.iTwinConfig) {
70
72
  return;
71
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
73
+ }
74
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
72
75
  let storeOnIModel = false;
73
76
  try {
74
77
  await MapLayersUI.iTwinConfig.delete({
@@ -111,9 +114,10 @@ export class MapLayerPreferences {
111
114
  * @param iModelId
112
115
  */
113
116
  static async deleteByName(source, iTwinId, iModelId) {
114
- if (!MapLayersUI.iTwinConfig)
117
+ if (!MapLayersUI.iTwinConfig) {
115
118
  return;
116
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
119
+ }
120
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
117
121
  try {
118
122
  await MapLayersUI.iTwinConfig.delete({
119
123
  accessToken,
@@ -147,9 +151,10 @@ export class MapLayerPreferences {
147
151
  * @param storeOnIModel
148
152
  */
149
153
  static async delete(url, name, iTwinId, iModelId, storeOnIModel) {
150
- if (!MapLayersUI.iTwinConfig)
154
+ if (!MapLayersUI.iTwinConfig) {
151
155
  return true;
152
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
156
+ }
157
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
153
158
  const iTwinPreferenceByName = await MapLayersUI.iTwinConfig.get({
154
159
  accessToken,
155
160
  namespace: MapLayerPreferences._preferenceNamespace,
@@ -157,7 +162,9 @@ export class MapLayerPreferences {
157
162
  iTwinId,
158
163
  });
159
164
  if (undefined !== iTwinPreferenceByName && storeOnIModel) {
160
- const errorMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerExistsAsProjectSetting", { layer: iTwinPreferenceByName.name });
165
+ const errorMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerExistsAsProjectSetting", {
166
+ layer: iTwinPreferenceByName.name,
167
+ });
161
168
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));
162
169
  return false;
163
170
  }
@@ -174,12 +181,19 @@ export class MapLayerPreferences {
174
181
  // check if setting with url already exists, if it does, delete it
175
182
  const settingFromUrl = await MapLayerPreferences.getByUrl(url, iTwinId, undefined);
176
183
  if (settingFromUrl && storeOnIModel) {
177
- const errorMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsAsProjectSetting", { url: settingFromUrl.url, name: settingFromUrl.name });
184
+ const errorMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsAsProjectSetting", {
185
+ url: settingFromUrl.url,
186
+ name: settingFromUrl.name,
187
+ });
178
188
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));
179
189
  return false;
180
190
  }
181
191
  else if (settingFromUrl) {
182
- const infoMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsOverwriting", { url: settingFromUrl.url, oldName: settingFromUrl.name, newName: name });
192
+ const infoMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsOverwriting", {
193
+ url: settingFromUrl.url,
194
+ oldName: settingFromUrl.name,
195
+ newName: name,
196
+ });
183
197
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));
184
198
  await MapLayersUI.iTwinConfig.delete({
185
199
  accessToken,
@@ -188,7 +202,8 @@ export class MapLayerPreferences {
188
202
  iTwinId,
189
203
  });
190
204
  }
191
- if (iModelId) { // delete any settings on model so user can update them if theres collisions
205
+ if (iModelId) {
206
+ // delete any settings on model so user can update them if theres collisions
192
207
  const settingOnIModelFromName = await MapLayersUI.iTwinConfig.get({
193
208
  accessToken,
194
209
  namespace: MapLayerPreferences._preferenceNamespace,
@@ -209,7 +224,11 @@ export class MapLayerPreferences {
209
224
  });
210
225
  }
211
226
  if (settingFromUrlOnIModel) {
212
- const infoMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsOverwriting", { url: settingFromUrlOnIModel.url, oldName: settingFromUrlOnIModel.name, newName: name });
227
+ const infoMessage = IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.LayerWithUrlExistsOverwriting", {
228
+ url: settingFromUrlOnIModel.url,
229
+ oldName: settingFromUrlOnIModel.name,
230
+ newName: name,
231
+ });
213
232
  IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));
214
233
  await MapLayersUI.iTwinConfig.delete({
215
234
  accessToken,
@@ -228,9 +247,10 @@ export class MapLayerPreferences {
228
247
  * @param iModelId
229
248
  */
230
249
  static async getByUrl(url, iTwinId, iModelId) {
231
- if (!MapLayersUI.iTwinConfig)
250
+ if (!MapLayersUI.iTwinConfig) {
232
251
  return undefined;
233
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
252
+ }
253
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
234
254
  const settingResponse = await MapLayersUI.iTwinConfig.get({
235
255
  accessToken,
236
256
  namespace: MapLayerPreferences._preferenceNamespace,
@@ -238,8 +258,9 @@ export class MapLayerPreferences {
238
258
  iTwinId,
239
259
  iModelId,
240
260
  });
241
- if (undefined === settingResponse || 0 === settingResponse.length)
261
+ if (undefined === settingResponse || 0 === settingResponse.length) {
242
262
  return undefined;
263
+ }
243
264
  let savedMapLayer;
244
265
  settingResponse.settingsMap?.forEach((savedLayer) => {
245
266
  if (savedLayer.url === url) {
@@ -254,9 +275,10 @@ export class MapLayerPreferences {
254
275
  * @throws if any of the calls to grab settings fail.
255
276
  */
256
277
  static async getSources(iTwinId, iModelId) {
257
- if (!MapLayersUI.iTwinConfig)
278
+ if (!MapLayersUI.iTwinConfig) {
258
279
  return [];
259
- const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;
280
+ }
281
+ const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;
260
282
  const mapLayerList = [];
261
283
  try {
262
284
  const userResultByProject = await MapLayersUI.iTwinConfig.get({
@@ -265,8 +287,9 @@ export class MapLayerPreferences {
265
287
  key: "",
266
288
  iTwinId,
267
289
  });
268
- if (undefined !== userResultByProject)
290
+ if (undefined !== userResultByProject) {
269
291
  mapLayerList.push(userResultByProject);
292
+ }
270
293
  }
271
294
  catch (err) {
272
295
  throw new Error(IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.ErrorRetrieveUserProject", { errorMessage: err }));
@@ -279,8 +302,9 @@ export class MapLayerPreferences {
279
302
  iTwinId,
280
303
  iModelId,
281
304
  });
282
- if (undefined !== userResultByIModel)
305
+ if (undefined !== userResultByIModel) {
283
306
  mapLayerList.push(userResultByIModel);
307
+ }
284
308
  }
285
309
  catch (err) {
286
310
  throw new Error(IModelApp.localization.getLocalizedString("mapLayers:CustomAttach.ErrorRetrieveUserProject", { errorMessage: err }));
@@ -289,8 +313,9 @@ export class MapLayerPreferences {
289
313
  for (const mapLayer of mapLayerList) {
290
314
  mapLayer.forEach((savedLayer) => {
291
315
  const mapLayerSource = MapLayerSource.fromJSON(savedLayer);
292
- if (mapLayerSource)
316
+ if (mapLayerSource) {
293
317
  savedMapLayerSources.push(mapLayerSource);
318
+ }
294
319
  });
295
320
  }
296
321
  return savedMapLayerSources;
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerPreferences.js","sourceRoot":"","sources":["../../src/MapLayerPreferences.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { IModelApp, MapLayerSource, NotifyMessageDetails, OutputMessagePriority } from \"@itwin/core-frontend\";\nimport { BeEvent, GuidString } from \"@itwin/core-bentley\";\nimport { MapLayersUI } from \"./mapLayers\";\n\n/** @internal */\nexport interface MapLayerPreferencesContent {\n url: string;\n name: string;\n formatId: string;\n transparentBackground: boolean | undefined;\n}\n\n/** @internal */\nexport enum MapLayerSourceChangeType {\n Added = 0,\n Removed = 1,\n Replaced = 2,\n}\n\n/** @internal */\nexport interface MapLayerSourceArg {\n readonly source: MapLayerSource;\n readonly iTwinId: GuidString;\n readonly iModelId: GuidString;\n}\n\n/** A wrapper around user preferences to provide a way to store [[MapLayerSettings]].\n *\n * Note: This is currently internal only and used directly by the MapLayersExtension. It makes use of the IModelApp.authorizationClient if it exists.\n *\n * @internal\n */\nexport class MapLayerPreferences {\n /** Event raised whenever a source is added, replaced or removed:\n * changeType : Type of changed occurred.\n * oldSource : Source that was removed or replaced.\n * newSource : Source that was added or replacement of oldSource.\n *\n * @see [[MapLayerSourceChangeType]]\n */\n public static readonly onLayerSourceChanged = new BeEvent<(changeType: MapLayerSourceChangeType, oldSource?: MapLayerSource, newSource?: MapLayerSource) => void>(); // Used to notify the frontend that it needs to update its list of available layers\n\n /** Store the Map Layer source preference. If the same setting exists at a higher level, an error will be thrown and the setting will not be updated.\n *\n * Returns false if the settings object would override some other settings object in a larger scope i.e. storing settings on model when\n * a project setting exists with same name or map layer url.\n * @param source source to be stored on the setting service\n * @param storeOnIModel if true store the settings object on the model, if false store it on the project\n */\n public static async storeSource(source: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString, storeOnIModel?: boolean): Promise<boolean> {\n if (!MapLayersUI.iTwinConfig)\n return false;\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n const sourceJSON = source.toJSON();\n if (!sourceJSON.formatId)\n return false;\n const mapLayerSetting: MapLayerPreferencesContent = {\n url: sourceJSON.url,\n name: sourceJSON.name,\n formatId: sourceJSON.formatId,\n transparentBackground: sourceJSON.transparentBackground,\n };\n\n const result: boolean = await MapLayerPreferences.delete(sourceJSON.url, sourceJSON.name, iTwinId, iModelId, storeOnIModel);\n if (result) {\n await MapLayersUI.iTwinConfig.save({\n accessToken,\n content: mapLayerSetting,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: sourceJSON.name,\n iTwinId,\n iModelId: storeOnIModel ? iModelId : undefined,\n });\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Added, undefined, MapLayerSource.fromJSON(mapLayerSetting));\n return true;\n } else {\n return false;\n }\n }\n\n /** Replace the old map layer source with a new map layer source.\n *\n * The source is replaced at the same level that the original source is defined. (i.e. if the old source is defined at a project level, the new source will also be defined there.)\n *\n * @param oldSource\n * @param newSource\n * @param iTwinId\n * @param iModelId\n */\n public static async replaceSource(oldSource: MapLayerSource, newSource: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString): Promise<void> {\n if (!MapLayersUI.iTwinConfig)\n return;\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n let storeOnIModel = false;\n try {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: oldSource.name,\n iTwinId,\n iModelId,\n });\n } catch (_err) {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: oldSource.name,\n iTwinId,\n });\n storeOnIModel = true;\n }\n\n const mapLayerSetting: MapLayerPreferencesContent = {\n url: newSource.url,\n name: newSource.name,\n formatId: newSource.formatId,\n transparentBackground: newSource.transparentBackground,\n };\n\n await MapLayersUI.iTwinConfig.save({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: newSource.name,\n iTwinId,\n iModelId: storeOnIModel ? iModelId : undefined,\n content: mapLayerSetting,\n });\n\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Replaced, oldSource, newSource);\n }\n\n /** Deletes the provided MapLayerSource by name from both the iTwin or iModel level.\n *\n * @param source The source to delete. The name is used to identify the source.\n * @param iTwinId\n * @param iModelId\n */\n public static async deleteByName(source: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString): Promise<void> {\n if (!MapLayersUI.iTwinConfig)\n return;\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n try {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: source.name,\n iTwinId,\n iModelId,\n });\n } catch (_err) {\n // failed to store based on iModelId, attempt using iTwinId\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: source.name,\n iTwinId,\n });\n }\n\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Removed, source, undefined);\n }\n\n /** Deletes the current setting with the provided key if it is defined at the same preference level.\n *\n * If the preference is defined within a different level, false will be returned indicating the setting should not be overriden.\n *\n * The two potential preference levels are iTwin and iModel.\n *\n * @param url\n * @param name\n * @param iTwinId\n * @param iModelId\n * @param storeOnIModel\n */\n private static async delete(url: string, name: string, iTwinId: GuidString, iModelId?: GuidString, storeOnIModel?: boolean): Promise<boolean> {\n if (!MapLayersUI.iTwinConfig)\n return true;\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n const iTwinPreferenceByName = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: name,\n iTwinId,\n });\n\n if (undefined !== iTwinPreferenceByName && storeOnIModel) {\n const errorMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsAsProjectSetting\", { layer: iTwinPreferenceByName.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));\n return false;\n } else if (iTwinPreferenceByName) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsOverwriting\", { layer: iTwinPreferenceByName.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: iTwinPreferenceByName.name,\n iTwinId,\n });\n }\n\n // check if setting with url already exists, if it does, delete it\n const settingFromUrl = await MapLayerPreferences.getByUrl(url, iTwinId, undefined);\n if (settingFromUrl && storeOnIModel) {\n const errorMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsAsProjectSetting\", { url: settingFromUrl.url, name: settingFromUrl.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));\n return false;\n } else if (settingFromUrl) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsOverwriting\", { url: settingFromUrl.url, oldName: settingFromUrl.name, newName: name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingFromUrl.name,\n iTwinId,\n });\n }\n\n if (iModelId) { // delete any settings on model so user can update them if theres collisions\n const settingOnIModelFromName = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: name,\n iTwinId,\n iModelId,\n });\n const settingFromUrlOnIModel = await MapLayerPreferences.getByUrl(url, iTwinId, iModelId);\n if (settingOnIModelFromName) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsOverwriting\", { layer: settingOnIModelFromName.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingOnIModelFromName.name,\n iTwinId,\n iModelId,\n });\n }\n if (settingFromUrlOnIModel) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsOverwriting\", { url: settingFromUrlOnIModel.url, oldName: settingFromUrlOnIModel.name, newName: name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingFromUrlOnIModel.name,\n iTwinId,\n iModelId,\n });\n }\n }\n return true;\n }\n\n /** Attempts to get a map layer based off a specific url.\n * @param url\n * @param iTwinId\n * @param iModelId\n */\n public static async getByUrl(url: string, iTwinId: string, iModelId?: string): Promise<MapLayerPreferencesContent | undefined> {\n if (!MapLayersUI.iTwinConfig)\n return undefined;\n\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n const settingResponse = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n iModelId,\n });\n\n if (undefined === settingResponse || 0 === settingResponse.length)\n return undefined;\n\n let savedMapLayer;\n settingResponse.settingsMap?.forEach((savedLayer: any) => {\n if (savedLayer.url === url) {\n savedMapLayer = savedLayer;\n }\n });\n return savedMapLayer;\n }\n\n /** Get all MapLayerSources from the user's preferences, iTwin setting and iModel settings.\n * @param iTwinId id of the iTwin\n * @param iModelId id of the iModel\n * @throws if any of the calls to grab settings fail.\n */\n public static async getSources(iTwinId: GuidString, iModelId?: GuidString): Promise<MapLayerSource[]> {\n if (!MapLayersUI.iTwinConfig)\n return [];\n const accessToken = undefined !== IModelApp.authorizationClient ? (await IModelApp.authorizationClient.getAccessToken()) : undefined;\n\n const mapLayerList = [];\n\n try {\n const userResultByProject = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n });\n if (undefined !== userResultByProject)\n mapLayerList.push(userResultByProject);\n } catch (err: any) {\n throw new Error(IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.ErrorRetrieveUserProject\", { errorMessage: err }));\n }\n\n try {\n const userResultByIModel = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n iModelId,\n });\n if (undefined !== userResultByIModel)\n mapLayerList.push(userResultByIModel);\n } catch (err: any) {\n throw new Error(IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.ErrorRetrieveUserProject\", { errorMessage: err }));\n }\n\n const savedMapLayerSources: MapLayerSource[] = [];\n for (const mapLayer of mapLayerList) {\n mapLayer.forEach((savedLayer: any) => {\n const mapLayerSource = MapLayerSource.fromJSON(savedLayer as MapLayerPreferencesContent);\n if (mapLayerSource)\n savedMapLayerSources.push(mapLayerSource);\n });\n }\n return savedMapLayerSources;\n }\n\n private static get _preferenceNamespace() {\n return \"MapLayerSource-SettingsService\";\n }\n}\n"]}
1
+ {"version":3,"file":"MapLayerPreferences.js","sourceRoot":"","sources":["../../src/MapLayerPreferences.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { IModelApp, MapLayerSource, NotifyMessageDetails, OutputMessagePriority } from \"@itwin/core-frontend\";\nimport type { GuidString } from \"@itwin/core-bentley\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { MapLayersUI } from \"./mapLayers\";\n\n/** @internal */\nexport interface MapLayerPreferencesContent {\n url: string;\n name: string;\n formatId: string;\n transparentBackground: boolean | undefined;\n}\n\n/** @internal */\nexport enum MapLayerSourceChangeType {\n Added = 0,\n Removed = 1,\n Replaced = 2,\n}\n\n/** @internal */\nexport interface MapLayerSourceArg {\n readonly source: MapLayerSource;\n readonly iTwinId: GuidString;\n readonly iModelId: GuidString;\n}\n\n/** A wrapper around user preferences to provide a way to store [[MapLayerSettings]].\n *\n * Note: This is currently internal only and used directly by the MapLayersExtension. It makes use of the IModelApp.authorizationClient if it exists.\n *\n * @internal\n */\nexport class MapLayerPreferences {\n /** Event raised whenever a source is added, replaced or removed:\n * changeType : Type of changed occurred.\n * oldSource : Source that was removed or replaced.\n * newSource : Source that was added or replacement of oldSource.\n *\n * @see [[MapLayerSourceChangeType]]\n */\n public static readonly onLayerSourceChanged = new BeEvent<\n (changeType: MapLayerSourceChangeType, oldSource?: MapLayerSource, newSource?: MapLayerSource) => void\n >(); // Used to notify the frontend that it needs to update its list of available layers\n\n /** Store the Map Layer source preference. If the same setting exists at a higher level, an error will be thrown and the setting will not be updated.\n *\n * Returns false if the settings object would override some other settings object in a larger scope i.e. storing settings on model when\n * a project setting exists with same name or map layer url.\n * @param source source to be stored on the setting service\n * @param storeOnIModel if true store the settings object on the model, if false store it on the project\n */\n public static async storeSource(source: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString, storeOnIModel?: boolean): Promise<boolean> {\n if (!MapLayersUI.iTwinConfig) {\n return false;\n }\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n const sourceJSON = source.toJSON();\n if (!sourceJSON.formatId) {\n return false;\n }\n const mapLayerSetting: MapLayerPreferencesContent = {\n url: sourceJSON.url,\n name: sourceJSON.name,\n formatId: sourceJSON.formatId,\n transparentBackground: sourceJSON.transparentBackground,\n };\n\n const result: boolean = await MapLayerPreferences.delete(sourceJSON.url, sourceJSON.name, iTwinId, iModelId, storeOnIModel);\n if (result) {\n await MapLayersUI.iTwinConfig.save({\n accessToken,\n content: mapLayerSetting,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: sourceJSON.name,\n iTwinId,\n iModelId: storeOnIModel ? iModelId : undefined,\n });\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Added, undefined, MapLayerSource.fromJSON(mapLayerSetting));\n return true;\n } else {\n return false;\n }\n }\n\n /** Replace the old map layer source with a new map layer source.\n *\n * The source is replaced at the same level that the original source is defined. (i.e. if the old source is defined at a project level, the new source will also be defined there.)\n *\n * @param oldSource\n * @param newSource\n * @param iTwinId\n * @param iModelId\n */\n public static async replaceSource(oldSource: MapLayerSource, newSource: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString): Promise<void> {\n if (!MapLayersUI.iTwinConfig) {\n return;\n }\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n let storeOnIModel = false;\n try {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: oldSource.name,\n iTwinId,\n iModelId,\n });\n } catch (_err) {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: oldSource.name,\n iTwinId,\n });\n storeOnIModel = true;\n }\n\n const mapLayerSetting: MapLayerPreferencesContent = {\n url: newSource.url,\n name: newSource.name,\n formatId: newSource.formatId,\n transparentBackground: newSource.transparentBackground,\n };\n\n await MapLayersUI.iTwinConfig.save({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: newSource.name,\n iTwinId,\n iModelId: storeOnIModel ? iModelId : undefined,\n content: mapLayerSetting,\n });\n\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Replaced, oldSource, newSource);\n }\n\n /** Deletes the provided MapLayerSource by name from both the iTwin or iModel level.\n *\n * @param source The source to delete. The name is used to identify the source.\n * @param iTwinId\n * @param iModelId\n */\n public static async deleteByName(source: MapLayerSource, iTwinId: GuidString, iModelId?: GuidString): Promise<void> {\n if (!MapLayersUI.iTwinConfig) {\n return;\n }\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n try {\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: source.name,\n iTwinId,\n iModelId,\n });\n } catch (_err) {\n // failed to store based on iModelId, attempt using iTwinId\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: source.name,\n iTwinId,\n });\n }\n\n MapLayerPreferences.onLayerSourceChanged.raiseEvent(MapLayerSourceChangeType.Removed, source, undefined);\n }\n\n /** Deletes the current setting with the provided key if it is defined at the same preference level.\n *\n * If the preference is defined within a different level, false will be returned indicating the setting should not be overriden.\n *\n * The two potential preference levels are iTwin and iModel.\n *\n * @param url\n * @param name\n * @param iTwinId\n * @param iModelId\n * @param storeOnIModel\n */\n private static async delete(url: string, name: string, iTwinId: GuidString, iModelId?: GuidString, storeOnIModel?: boolean): Promise<boolean> {\n if (!MapLayersUI.iTwinConfig) {\n return true;\n }\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n const iTwinPreferenceByName = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: name,\n iTwinId,\n });\n\n if (undefined !== iTwinPreferenceByName && storeOnIModel) {\n const errorMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsAsProjectSetting\", {\n layer: iTwinPreferenceByName.name,\n });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));\n return false;\n } else if (iTwinPreferenceByName) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsOverwriting\", { layer: iTwinPreferenceByName.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: iTwinPreferenceByName.name,\n iTwinId,\n });\n }\n\n // check if setting with url already exists, if it does, delete it\n const settingFromUrl = await MapLayerPreferences.getByUrl(url, iTwinId, undefined);\n if (settingFromUrl && storeOnIModel) {\n const errorMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsAsProjectSetting\", {\n url: settingFromUrl.url,\n name: settingFromUrl.name,\n });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, errorMessage));\n return false;\n } else if (settingFromUrl) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsOverwriting\", {\n url: settingFromUrl.url,\n oldName: settingFromUrl.name,\n newName: name,\n });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingFromUrl.name,\n iTwinId,\n });\n }\n\n if (iModelId) {\n // delete any settings on model so user can update them if theres collisions\n const settingOnIModelFromName = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: name,\n iTwinId,\n iModelId,\n });\n const settingFromUrlOnIModel = await MapLayerPreferences.getByUrl(url, iTwinId, iModelId);\n if (settingOnIModelFromName) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerExistsOverwriting\", { layer: settingOnIModelFromName.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingOnIModelFromName.name,\n iTwinId,\n iModelId,\n });\n }\n if (settingFromUrlOnIModel) {\n const infoMessage = IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.LayerWithUrlExistsOverwriting\", {\n url: settingFromUrlOnIModel.url,\n oldName: settingFromUrlOnIModel.name,\n newName: name,\n });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, infoMessage));\n await MapLayersUI.iTwinConfig.delete({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: settingFromUrlOnIModel.name,\n iTwinId,\n iModelId,\n });\n }\n }\n return true;\n }\n\n /** Attempts to get a map layer based off a specific url.\n * @param url\n * @param iTwinId\n * @param iModelId\n */\n public static async getByUrl(url: string, iTwinId: string, iModelId?: string): Promise<MapLayerPreferencesContent | undefined> {\n if (!MapLayersUI.iTwinConfig) {\n return undefined;\n }\n\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n const settingResponse = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n iModelId,\n });\n\n if (undefined === settingResponse || 0 === settingResponse.length) {\n return undefined;\n }\n\n let savedMapLayer;\n settingResponse.settingsMap?.forEach((savedLayer: any) => {\n if (savedLayer.url === url) {\n savedMapLayer = savedLayer;\n }\n });\n return savedMapLayer;\n }\n\n /** Get all MapLayerSources from the user's preferences, iTwin setting and iModel settings.\n * @param iTwinId id of the iTwin\n * @param iModelId id of the iModel\n * @throws if any of the calls to grab settings fail.\n */\n public static async getSources(iTwinId: GuidString, iModelId?: GuidString): Promise<MapLayerSource[]> {\n if (!MapLayersUI.iTwinConfig) {\n return [];\n }\n const accessToken = undefined !== IModelApp.authorizationClient ? await IModelApp.authorizationClient.getAccessToken() : undefined;\n\n const mapLayerList = [];\n\n try {\n const userResultByProject = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n });\n if (undefined !== userResultByProject) {\n mapLayerList.push(userResultByProject);\n }\n } catch (err: any) {\n throw new Error(IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.ErrorRetrieveUserProject\", { errorMessage: err }));\n }\n\n try {\n const userResultByIModel = await MapLayersUI.iTwinConfig.get({\n accessToken,\n namespace: MapLayerPreferences._preferenceNamespace,\n key: \"\",\n iTwinId,\n iModelId,\n });\n if (undefined !== userResultByIModel) {\n mapLayerList.push(userResultByIModel);\n }\n } catch (err: any) {\n throw new Error(IModelApp.localization.getLocalizedString(\"mapLayers:CustomAttach.ErrorRetrieveUserProject\", { errorMessage: err }));\n }\n\n const savedMapLayerSources: MapLayerSource[] = [];\n for (const mapLayer of mapLayerList) {\n mapLayer.forEach((savedLayer: any) => {\n const mapLayerSource = MapLayerSource.fromJSON(savedLayer as MapLayerPreferencesContent);\n if (mapLayerSource) {\n savedMapLayerSources.push(mapLayerSource);\n }\n });\n }\n return savedMapLayerSources;\n }\n\n private static get _preferenceNamespace() {\n return \"MapLayerSource-SettingsService\";\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export declare enum MapLayersSyncUiEventId {
2
+ /** The display style settings map imagery has changed. */
3
+ MapImageryChanged = "mapimagerychanged"
4
+ }
5
+ //# sourceMappingURL=MapLayersActionIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapLayersActionIds.d.ts","sourceRoot":"","sources":["../../src/MapLayersActionIds.ts"],"names":[],"mappings":"AAEA,oBAAY,sBAAsB;IAChC,0DAA0D;IAC1D,iBAAiB,sBAAsB;CACxC"}
@@ -0,0 +1,7 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ export var MapLayersSyncUiEventId;
3
+ (function (MapLayersSyncUiEventId) {
4
+ /** The display style settings map imagery has changed. */
5
+ MapLayersSyncUiEventId["MapImageryChanged"] = "mapimagerychanged";
6
+ })(MapLayersSyncUiEventId || (MapLayersSyncUiEventId = {}));
7
+ //# sourceMappingURL=MapLayersActionIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapLayersActionIds.js","sourceRoot":"","sources":["../../src/MapLayersActionIds.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,0DAA0D;IAC1D,iEAAuC,CAAA;AACzC,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC","sourcesContent":["// Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n\nexport enum MapLayersSyncUiEventId {\n /** The display style settings map imagery has changed. */\n MapImageryChanged = \"mapimagerychanged\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayersPrefBrowserStorage.d.ts","sourceRoot":"","sources":["../../src/MapLayersPrefBrowserStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,qBAAa,2BAA4B,SAAQ,yBAAyB;;CAMzE"}
1
+ {"version":3,"file":"MapLayersPrefBrowserStorage.d.ts","sourceRoot":"","sources":["../../src/MapLayersPrefBrowserStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,qBAAa,2BAA4B,SAAQ,yBAAyB;;CAOzE"}
@@ -1,12 +1,11 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { PreferencesBrowserStorage } from "./PreferencesBrowserStorage";
6
6
  export class MapLayersPrefBrowserStorage extends PreferencesBrowserStorage {
7
7
  constructor() {
8
- super("itwinjs.mapLayers", { throwOnDeleteMissingKey: true } // 'MapLayerPreferences.replaceSource' expect 'delete' to throw when there is no match for the provided key.
9
- );
8
+ super("itwinjs.mapLayers", { throwOnDeleteMissingKey: true });
10
9
  }
11
10
  }
12
11
  //# sourceMappingURL=MapLayersPrefBrowserStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayersPrefBrowserStorage.js","sourceRoot":"","sources":["../../src/MapLayersPrefBrowserStorage.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,OAAO,2BAA4B,SAAQ,yBAAyB;IACxE;QACE,KAAK,CAAC,mBAAmB,EACvB,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAG,4GAA4G;SACjJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { PreferencesBrowserStorage } from \"./PreferencesBrowserStorage\";\n\nexport class MapLayersPrefBrowserStorage extends PreferencesBrowserStorage {\n constructor() {\n super(\"itwinjs.mapLayers\",\n { throwOnDeleteMissingKey: true } // 'MapLayerPreferences.replaceSource' expect 'delete' to throw when there is no match for the provided key.\n );\n }\n}\n"]}
1
+ {"version":3,"file":"MapLayersPrefBrowserStorage.js","sourceRoot":"","sources":["../../src/MapLayersPrefBrowserStorage.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,OAAO,2BAA4B,SAAQ,yBAAyB;IACxE;QACE,KAAK,CACH,mBAAmB,EACnB,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAClC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { PreferencesBrowserStorage } from \"./PreferencesBrowserStorage\";\n\nexport class MapLayersPrefBrowserStorage extends PreferencesBrowserStorage {\n constructor() {\n super(\n \"itwinjs.mapLayers\",\n { throwOnDeleteMissingKey: true }, // 'MapLayerPreferences.replaceSource' expect 'delete' to throw when there is no match for the provided key.\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ITwinIdArg, PreferenceArg, PreferenceKeyArg, UserPreferencesAccess } from "@itwin/core-frontend";
1
+ import type { ITwinIdArg, PreferenceArg, PreferenceKeyArg, UserPreferencesAccess } from "@itwin/core-frontend";
2
2
  /** Index signature holding preferences content
3
3
  *
4
4
  * @internal
@@ -7,35 +7,35 @@ interface KeyContentProps {
7
7
  [preferenceKey: string]: any;
8
8
  }
9
9
  /**
10
- * @beta
11
- */
10
+ * @beta
11
+ */
12
12
  export interface PreferencesBrowserStorageOptions {
13
13
  /** indicate whether or not delete function should throw an error if the provided key cannot be found. */
14
14
  throwOnDeleteMissingKey?: boolean;
15
15
  }
16
16
  /** User preferences implementation using browser's local storage.
17
- * It creates storage item key in the form of:
18
- * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>
19
- *
20
- * <itwin_guid> and <imodel_guid> being optional.
21
- *
22
- * Each entry in the storage is a serialized JSON of the following index signature:
23
- * {
24
- * "<preference_namespace?>.<preference_key>": {
25
- * ...
26
- * <preferences_json_content>
27
- * },
28
- * ...
29
- * }
17
+ * It creates storage item key in the form of:
18
+ * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>
19
+ *
20
+ * <itwin_guid> and <imodel_guid> being optional.
21
+ *
22
+ * Each entry in the storage is a serialized JSON of the following index signature:
23
+ * {
24
+ * "<preference_namespace?>.<preference_key>": {
25
+ * ...
26
+ * <preferences_json_content>
27
+ * },
28
+ * ...
29
+ * }
30
30
  * @beta
31
- */
31
+ */
32
32
  export declare class PreferencesBrowserStorage implements UserPreferencesAccess {
33
33
  private readonly _options;
34
34
  private readonly _storageItemKeyPrefix;
35
35
  constructor(storageItemKeyPrefix: string, opts?: PreferencesBrowserStorageOptions);
36
36
  private getStorageItemKey;
37
37
  private static getPreferenceKey;
38
- get(arg: PreferenceKeyArg & ITwinIdArg): Promise<KeyContentProps[] | undefined>;
38
+ get(arg: PreferenceKeyArg & ITwinIdArg): Promise<KeyContentProps | KeyContentProps[] | undefined>;
39
39
  delete(arg: PreferenceKeyArg & ITwinIdArg): Promise<void>;
40
40
  save(arg: PreferenceArg & ITwinIdArg): Promise<void>;
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PreferencesBrowserStorage.d.ts","sourceRoot":"","sources":["../../src/PreferencesBrowserStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG1G;;;GAGG;AACH,UAAU,eAAe;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;EAEE;AACF,MAAM,WAAW,gCAAgC;IAC/C,yGAAyG;IACzG,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;EAeE;AACF,qBAAa,yBAA0B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAEnC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gCAAgC;IAKjF,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IASlB,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU;IAKtC,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU;IAKzC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU;CAIlD"}
1
+ {"version":3,"file":"PreferencesBrowserStorage.d.ts","sourceRoot":"","sources":["../../src/PreferencesBrowserStorage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG/G;;;GAGG;AACH,UAAU,eAAe;IACvB,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,yGAAyG;IACzG,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;gBAEnC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gCAAgC;IAKjF,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IASlB,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU;IAKtC,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU;IAKzC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU;CAIlD"}
@@ -1,20 +1,20 @@
1
1
  import { BrowserStorage } from "./BrowserStorage";
2
2
  /** User preferences implementation using browser's local storage.
3
- * It creates storage item key in the form of:
4
- * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>
5
- *
6
- * <itwin_guid> and <imodel_guid> being optional.
7
- *
8
- * Each entry in the storage is a serialized JSON of the following index signature:
9
- * {
10
- * "<preference_namespace?>.<preference_key>": {
11
- * ...
12
- * <preferences_json_content>
13
- * },
14
- * ...
15
- * }
3
+ * It creates storage item key in the form of:
4
+ * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>
5
+ *
6
+ * <itwin_guid> and <imodel_guid> being optional.
7
+ *
8
+ * Each entry in the storage is a serialized JSON of the following index signature:
9
+ * {
10
+ * "<preference_namespace?>.<preference_key>": {
11
+ * ...
12
+ * <preferences_json_content>
13
+ * },
14
+ * ...
15
+ * }
16
16
  * @beta
17
- */
17
+ */
18
18
  export class PreferencesBrowserStorage {
19
19
  constructor(storageItemKeyPrefix, opts) {
20
20
  this._options = opts;
@@ -1 +1 @@
1
- {"version":3,"file":"PreferencesBrowserStorage.js","sourceRoot":"","sources":["../../src/PreferencesBrowserStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAkBlD;;;;;;;;;;;;;;;EAeE;AACF,MAAM,OAAO,yBAAyB;IAKpC,YAAY,oBAA4B,EAAE,IAAuC;QAC/E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAEO,iBAAiB,CAAC,GAAe;QACvC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,IAAI,CAAC,qBAAqB,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IACpE,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,GAAqB;QACnD,IAAI,GAAG,CAAC,GAAG,EAAE;YACX,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;SAC7B;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAkC;QACjD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAkC;QACpD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;QAChG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAA+B;QAC/C,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;QAChG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { ITwinIdArg, PreferenceArg, PreferenceKeyArg, UserPreferencesAccess } from \"@itwin/core-frontend\";\nimport { BrowserStorage } from \"./BrowserStorage\";\n\n/** Index signature holding preferences content\n *\n * @internal\n */\ninterface KeyContentProps {\n [preferenceKey: string]: any;\n}\n\n/**\n* @beta\n*/\nexport interface PreferencesBrowserStorageOptions {\n /** indicate whether or not delete function should throw an error if the provided key cannot be found. */\n throwOnDeleteMissingKey?: boolean;\n}\n\n/** User preferences implementation using browser's local storage.\n * It creates storage item key in the form of:\n * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>\n *\n * <itwin_guid> and <imodel_guid> being optional.\n *\n * Each entry in the storage is a serialized JSON of the following index signature:\n * {\n * \"<preference_namespace?>.<preference_key>\": {\n * ...\n * <preferences_json_content>\n * },\n * ...\n * }\n * @beta\n*/\nexport class PreferencesBrowserStorage implements UserPreferencesAccess {\n\n private readonly _options: PreferencesBrowserStorageOptions | undefined;\n private readonly _storageItemKeyPrefix: string;\n\n constructor(storageItemKeyPrefix: string, opts?: PreferencesBrowserStorageOptions) {\n this._options = opts;\n this._storageItemKeyPrefix = storageItemKeyPrefix;\n }\n\n private getStorageItemKey(arg: ITwinIdArg) {\n const itwinIdStr = arg.iTwinId ? `.${arg.iTwinId}` : \"\";\n const imodelIdStr = arg.iModelId ? `.${arg.iModelId}` : \"\";\n return `${this._storageItemKeyPrefix}${itwinIdStr}${imodelIdStr}`;\n }\n\n private static getPreferenceKey(arg: PreferenceKeyArg) {\n if (arg.key) {\n const nsStr = arg.namespace ? `${arg.namespace}.` : \"\";\n return `${nsStr}${arg.key}`;\n }\n\n return \"\";\n }\n\n public async get(arg: PreferenceKeyArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({itemKeyName: this.getStorageItemKey(arg)});\n return storage.get(PreferencesBrowserStorage.getPreferenceKey(arg));\n }\n\n public async delete(arg: PreferenceKeyArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({itemKeyName: this.getStorageItemKey(arg)});\n storage.delete(PreferencesBrowserStorage.getPreferenceKey(arg));\n }\n\n public async save(arg: PreferenceArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({itemKeyName: this.getStorageItemKey(arg)});\n storage.save(PreferencesBrowserStorage.getPreferenceKey(arg), arg.content);\n }\n}\n"]}
1
+ {"version":3,"file":"PreferencesBrowserStorage.js","sourceRoot":"","sources":["../../src/PreferencesBrowserStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAkBlD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,yBAAyB;IAIpC,YAAY,oBAA4B,EAAE,IAAuC;QAC/E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAEO,iBAAiB,CAAC,GAAe;QACvC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,IAAI,CAAC,qBAAqB,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC;IACpE,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,GAAqB;QACnD,IAAI,GAAG,CAAC,GAAG,EAAE;YACX,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;SAC7B;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAkC;QACjD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAkC;QACpD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,GAA+B;QAC/C,MAAM,OAAO,GAAG,IAAI,cAAc,CAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport type { ITwinIdArg, PreferenceArg, PreferenceKeyArg, UserPreferencesAccess } from \"@itwin/core-frontend\";\nimport { BrowserStorage } from \"./BrowserStorage\";\n\n/** Index signature holding preferences content\n *\n * @internal\n */\ninterface KeyContentProps {\n [preferenceKey: string]: any;\n}\n\n/**\n * @beta\n */\nexport interface PreferencesBrowserStorageOptions {\n /** indicate whether or not delete function should throw an error if the provided key cannot be found. */\n throwOnDeleteMissingKey?: boolean;\n}\n\n/** User preferences implementation using browser's local storage.\n * It creates storage item key in the form of:\n * <storageItemKeyPrefix>.<itwin_guid?>.<imodel_guid?>\n *\n * <itwin_guid> and <imodel_guid> being optional.\n *\n * Each entry in the storage is a serialized JSON of the following index signature:\n * {\n * \"<preference_namespace?>.<preference_key>\": {\n * ...\n * <preferences_json_content>\n * },\n * ...\n * }\n * @beta\n */\nexport class PreferencesBrowserStorage implements UserPreferencesAccess {\n private readonly _options: PreferencesBrowserStorageOptions | undefined;\n private readonly _storageItemKeyPrefix: string;\n\n constructor(storageItemKeyPrefix: string, opts?: PreferencesBrowserStorageOptions) {\n this._options = opts;\n this._storageItemKeyPrefix = storageItemKeyPrefix;\n }\n\n private getStorageItemKey(arg: ITwinIdArg) {\n const itwinIdStr = arg.iTwinId ? `.${arg.iTwinId}` : \"\";\n const imodelIdStr = arg.iModelId ? `.${arg.iModelId}` : \"\";\n return `${this._storageItemKeyPrefix}${itwinIdStr}${imodelIdStr}`;\n }\n\n private static getPreferenceKey(arg: PreferenceKeyArg) {\n if (arg.key) {\n const nsStr = arg.namespace ? `${arg.namespace}.` : \"\";\n return `${nsStr}${arg.key}`;\n }\n\n return \"\";\n }\n\n public async get(arg: PreferenceKeyArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({ itemKeyName: this.getStorageItemKey(arg) });\n return storage.get(PreferencesBrowserStorage.getPreferenceKey(arg));\n }\n\n public async delete(arg: PreferenceKeyArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({ itemKeyName: this.getStorageItemKey(arg) });\n storage.delete(PreferencesBrowserStorage.getPreferenceKey(arg));\n }\n\n public async save(arg: PreferenceArg & ITwinIdArg) {\n const storage = new BrowserStorage<KeyContentProps>({ itemKeyName: this.getStorageItemKey(arg) });\n storage.save(PreferencesBrowserStorage.getPreferenceKey(arg), arg.content);\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export * from "./mapLayers";
2
+ export * from "./MapLayersActionIds";
2
3
  export * from "./MapLayersPrefBrowserStorage";
3
4
  export * from "./ui/Interfaces";
4
5
  export * from "./ui/MapLayersUiItemsProvider";
@@ -1 +1 @@
1
- {"version":3,"file":"map-layers.d.ts","sourceRoot":"","sources":["../../src/map-layers.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"map-layers.d.ts","sourceRoot":"","sources":["../../src/map-layers.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export * from "./mapLayers";
6
+ export * from "./MapLayersActionIds";
6
7
  export * from "./MapLayersPrefBrowserStorage";
7
8
  export * from "./ui/Interfaces";
8
9
  export * from "./ui/MapLayersUiItemsProvider";
@@ -1 +1 @@
1
- {"version":3,"file":"map-layers.js","sourceRoot":"","sources":["../../src/map-layers.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,cAAc,aAAa,CAAC;AAC5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nexport * from \"./mapLayers\";\r\nexport * from \"./MapLayersPrefBrowserStorage\";\r\nexport * from \"./ui/Interfaces\";\r\nexport * from \"./ui/MapLayersUiItemsProvider\";\r\nexport * from \"./ui/FeatureInfoUiItemsProvider\";\r\nexport * from \"./ui/widget/MapLayersWidget\";\r\n"]}
1
+ {"version":3,"file":"map-layers.js","sourceRoot":"","sources":["../../src/map-layers.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport * from \"./mapLayers\";\nexport * from \"./MapLayersActionIds\";\nexport * from \"./MapLayersPrefBrowserStorage\";\nexport * from \"./ui/Interfaces\";\nexport * from \"./ui/MapLayersUiItemsProvider\";\nexport * from \"./ui/FeatureInfoUiItemsProvider\";\nexport * from \"./ui/widget/MapLayersWidget\";\n"]}