@igo2/integration 1.15.3 → 16.0.0-rc.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 (275) hide show
  1. package/{esm2020 → esm2022}/igo2-integration.mjs +4 -4
  2. package/esm2022/lib/about/about-tool/about-tool.component.mjs +205 -0
  3. package/{esm2020 → esm2022}/lib/about/about-tool/index.mjs +2 -2
  4. package/{esm2020 → esm2022}/lib/about/about.module.mjs +55 -55
  5. package/{esm2020 → esm2022}/lib/about/index.mjs +2 -2
  6. package/esm2022/lib/analytics/analytics-listener.service.mjs +156 -0
  7. package/{esm2020 → esm2022}/lib/analytics/analytics.module.mjs +16 -16
  8. package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
  9. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +133 -0
  10. package/esm2022/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +24 -0
  11. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +103 -0
  12. package/esm2022/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +24 -0
  13. package/esm2022/lib/catalog/catalog.module.mjs +19 -0
  14. package/esm2022/lib/catalog/catalog.state.mjs +58 -0
  15. package/{esm2020 → esm2022}/lib/catalog/index.mjs +6 -6
  16. package/esm2022/lib/context/context-editor-tool/context-editor-tool.component.mjs +36 -0
  17. package/esm2022/lib/context/context-manager-tool/context-manager-tool.component.mjs +51 -0
  18. package/esm2022/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +24 -0
  19. package/esm2022/lib/context/context-share-tool/context-share-tool.component.mjs +43 -0
  20. package/{esm2020 → esm2022}/lib/context/context.module.mjs +39 -39
  21. package/esm2022/lib/context/context.state.mjs +96 -0
  22. package/{esm2020 → esm2022}/lib/context/index.mjs +6 -6
  23. package/esm2022/lib/directions/directions-tool/directions-tool.component.mjs +116 -0
  24. package/{esm2020 → esm2022}/lib/directions/directions-tool/index.mjs +2 -2
  25. package/{esm2020 → esm2022}/lib/directions/directions.module.mjs +26 -26
  26. package/esm2022/lib/directions/directions.state.mjs +69 -0
  27. package/{esm2020 → esm2022}/lib/directions/index.mjs +3 -3
  28. package/esm2022/lib/draw/draw.module.mjs +18 -0
  29. package/esm2022/lib/draw/draw.state.mjs +42 -0
  30. package/esm2022/lib/draw/drawing-tool/drawing-tool.component.mjs +77 -0
  31. package/esm2022/lib/draw/drawing-tool/drawing-tool.module.mjs +23 -0
  32. package/{esm2020 → esm2022}/lib/draw/index.mjs +3 -3
  33. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs +10 -10
  34. package/esm2022/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +46 -0
  35. package/{esm2020 → esm2022}/lib/filter/active-ogc-filter-tool/index.mjs +2 -2
  36. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs +10 -10
  37. package/esm2022/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +46 -0
  38. package/{esm2020 → esm2022}/lib/filter/active-time-filter-tool/index.mjs +2 -2
  39. package/{esm2020 → esm2022}/lib/filter/filter.module.mjs +51 -51
  40. package/{esm2020 → esm2022}/lib/filter/index.mjs +6 -6
  41. package/{esm2020 → esm2022}/lib/filter/ogc-filter-tool/index.mjs +2 -2
  42. package/esm2022/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +25 -0
  43. package/{esm2020 → esm2022}/lib/filter/spatial-filter-tool/index.mjs +2 -2
  44. package/esm2022/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +605 -0
  45. package/{esm2020 → esm2022}/lib/filter/time-filter-tool/index.mjs +2 -2
  46. package/esm2022/lib/filter/time-filter-tool/time-filter-tool.component.mjs +25 -0
  47. package/esm2022/lib/import-export/import-export-tool/import-export-tool.component.mjs +154 -0
  48. package/{esm2020 → esm2022}/lib/import-export/import-export-tool/index.mjs +2 -2
  49. package/{esm2020 → esm2022}/lib/import-export/import-export.module.mjs +51 -51
  50. package/esm2022/lib/import-export/import-export.state.mjs +39 -0
  51. package/{esm2020 → esm2022}/lib/import-export/index.mjs +3 -3
  52. package/{esm2020 → esm2022}/lib/integration.module.mjs +72 -72
  53. package/esm2022/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +524 -0
  54. package/esm2022/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +92 -0
  55. package/esm2022/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +231 -0
  56. package/{esm2020 → esm2022}/lib/map/advanced-map-tool/index.mjs +2 -2
  57. package/{esm2020 → esm2022}/lib/map/index.mjs +9 -9
  58. package/esm2022/lib/map/layer-list-tool.state.mjs +40 -0
  59. package/{esm2020 → esm2022}/lib/map/map-details-tool/index.mjs +2 -2
  60. package/esm2022/lib/map/map-details-tool/map-details-tool.component.mjs +269 -0
  61. package/{esm2020 → esm2022}/lib/map/map-legend/index.mjs +2 -2
  62. package/esm2022/lib/map/map-legend/map-legend-tool.component.mjs +285 -0
  63. package/{esm2020 → esm2022}/lib/map/map-proximity-tool/index.mjs +2 -2
  64. package/esm2022/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +220 -0
  65. package/esm2022/lib/map/map-proximity.state.mjs +180 -0
  66. package/{esm2020 → esm2022}/lib/map/map-tool/index.mjs +2 -2
  67. package/esm2022/lib/map/map-tool/map-tool.component.mjs +140 -0
  68. package/{esm2020 → esm2022}/lib/map/map-tools/index.mjs +2 -2
  69. package/esm2022/lib/map/map-tools/map-tools.component.mjs +521 -0
  70. package/esm2022/lib/map/map.module.mjs +168 -0
  71. package/esm2022/lib/map/map.state.mjs +56 -0
  72. package/{esm2020 → esm2022}/lib/measure/index.mjs +4 -4
  73. package/esm2022/lib/measure/measure.module.mjs +18 -0
  74. package/esm2022/lib/measure/measure.state.mjs +40 -0
  75. package/esm2022/lib/measure/measurer-tool/measurer-tool.component.mjs +54 -0
  76. package/{esm2020 → esm2022}/lib/measure/measurer-tool/measurer-tool.module.mjs +23 -25
  77. package/{esm2020 → esm2022}/lib/print/index.mjs +2 -2
  78. package/{esm2020 → esm2022}/lib/print/print-tool/index.mjs +2 -2
  79. package/esm2022/lib/print/print-tool/print-tool.component.mjs +35 -0
  80. package/{esm2020 → esm2022}/lib/print/print.module.mjs +26 -26
  81. package/{esm2020 → esm2022}/lib/search/index.mjs +7 -7
  82. package/esm2022/lib/search/query.state.mjs +48 -0
  83. package/esm2022/lib/search/search-bar/search-bar-binding.directive.mjs +72 -0
  84. package/{esm2020 → esm2022}/lib/search/search-bar/search-bar.module.mjs +22 -22
  85. package/esm2022/lib/search/search-results-tool/search-results-tool.component.mjs +631 -0
  86. package/esm2022/lib/search/search-results-tool/search-results-tool.module.mjs +65 -0
  87. package/esm2022/lib/search/search.module.mjs +19 -0
  88. package/esm2022/lib/search/search.state.mjs +145 -0
  89. package/{esm2020 → esm2022}/lib/storage/index.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/storage/storage.module.mjs +16 -16
  91. package/esm2022/lib/storage/storage.state.mjs +25 -0
  92. package/{esm2020 → esm2022}/lib/tool/index.mjs +2 -2
  93. package/{esm2020 → esm2022}/lib/tool/tool.module.mjs +16 -16
  94. package/esm2022/lib/tool/tool.state.mjs +56 -0
  95. package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
  96. package/esm2022/lib/workspace/shared/edition-actions.service.mjs +74 -0
  97. package/esm2022/lib/workspace/shared/feature-actions.service.mjs +66 -0
  98. package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +3 -3
  99. package/esm2022/lib/workspace/shared/wfs-actions.service.mjs +76 -0
  100. package/esm2022/lib/workspace/shared/workspace.utils.mjs +162 -0
  101. package/{esm2020 → esm2022}/lib/workspace/workspace-button/index.mjs +2 -2
  102. package/esm2022/lib/workspace/workspace-button/workspace-button.component.mjs +76 -0
  103. package/esm2022/lib/workspace/workspace.module.mjs +38 -0
  104. package/esm2022/lib/workspace/workspace.state.mjs +204 -0
  105. package/{esm2020 → esm2022}/public_api.mjs +34 -34
  106. package/{fesm2020 → fesm2022}/igo2-integration.mjs +6522 -6139
  107. package/fesm2022/igo2-integration.mjs.map +1 -0
  108. package/index.d.ts +5 -5
  109. package/lib/about/about-tool/about-tool.component.d.ts +34 -34
  110. package/lib/about/about-tool/index.d.ts +1 -1
  111. package/lib/about/about.module.d.ts +16 -16
  112. package/lib/about/index.d.ts +1 -1
  113. package/lib/analytics/analytics-listener.service.d.ts +33 -33
  114. package/lib/analytics/analytics.module.d.ts +6 -6
  115. package/lib/analytics/index.d.ts +1 -1
  116. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +57 -57
  117. package/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.d.ts +12 -12
  118. package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +50 -50
  119. package/lib/catalog/catalog-library-tool/catalog-library-tool.module.d.ts +12 -12
  120. package/lib/catalog/catalog.module.d.ts +8 -8
  121. package/lib/catalog/catalog.state.d.ts +37 -37
  122. package/lib/catalog/index.d.ts +5 -5
  123. package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +9 -9
  124. package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +15 -15
  125. package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +5 -5
  126. package/lib/context/context-share-tool/context-share-tool.component.d.ts +13 -13
  127. package/lib/context/context.module.d.ts +11 -11
  128. package/lib/context/context.state.d.ts +37 -37
  129. package/lib/context/index.d.ts +5 -5
  130. package/lib/directions/directions-tool/directions-tool.component.d.ts +54 -54
  131. package/lib/directions/directions-tool/index.d.ts +1 -1
  132. package/lib/directions/directions.module.d.ts +10 -10
  133. package/lib/directions/directions.state.d.ts +28 -28
  134. package/lib/directions/index.d.ts +2 -2
  135. package/lib/draw/draw.module.d.ts +8 -8
  136. package/lib/draw/draw.state.d.ts +16 -16
  137. package/lib/draw/drawing-tool/drawing-tool.component.d.ts +31 -31
  138. package/lib/draw/drawing-tool/drawing-tool.module.d.ts +11 -0
  139. package/lib/draw/index.d.ts +2 -2
  140. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.d.ts +2 -2
  141. package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +12 -12
  142. package/lib/filter/active-ogc-filter-tool/index.d.ts +1 -1
  143. package/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.d.ts +2 -2
  144. package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +12 -12
  145. package/lib/filter/active-time-filter-tool/index.d.ts +1 -1
  146. package/lib/filter/filter.module.d.ts +15 -15
  147. package/lib/filter/index.d.ts +5 -5
  148. package/lib/filter/ogc-filter-tool/index.d.ts +1 -1
  149. package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +6 -6
  150. package/lib/filter/spatial-filter-tool/index.d.ts +1 -1
  151. package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +82 -82
  152. package/lib/filter/time-filter-tool/index.d.ts +1 -1
  153. package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +6 -6
  154. package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +33 -33
  155. package/lib/import-export/import-export-tool/index.d.ts +1 -1
  156. package/lib/import-export/import-export.module.d.ts +15 -15
  157. package/lib/import-export/import-export.state.d.ts +24 -24
  158. package/lib/import-export/index.d.ts +2 -2
  159. package/lib/integration.module.d.ts +20 -20
  160. package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +97 -97
  161. package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +12 -12
  162. package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +65 -65
  163. package/lib/map/advanced-map-tool/index.d.ts +1 -1
  164. package/lib/map/index.d.ts +8 -8
  165. package/lib/map/layer-list-tool.state.d.ts +19 -19
  166. package/lib/map/map-details-tool/index.d.ts +1 -1
  167. package/lib/map/map-details-tool/map-details-tool.component.d.ts +38 -38
  168. package/lib/map/map-legend/index.d.ts +1 -1
  169. package/lib/map/map-legend/map-legend-tool.component.d.ts +40 -40
  170. package/lib/map/map-proximity-tool/index.d.ts +1 -1
  171. package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -36
  172. package/lib/map/map-proximity.state.d.ts +31 -31
  173. package/lib/map/map-tool/index.d.ts +1 -1
  174. package/lib/map/map-tool/map-tool.component.d.ts +27 -27
  175. package/lib/map/map-tools/index.d.ts +1 -1
  176. package/lib/map/map-tools/map-tools.component.d.ts +66 -66
  177. package/lib/map/map.module.d.ts +38 -38
  178. package/lib/map/map.state.d.ts +24 -24
  179. package/lib/measure/index.d.ts +3 -3
  180. package/lib/measure/measure.module.d.ts +7 -7
  181. package/lib/measure/measure.state.d.ts +16 -16
  182. package/lib/measure/measurer-tool/measurer-tool.component.d.ts +24 -24
  183. package/lib/measure/measurer-tool/measurer-tool.module.d.ts +11 -11
  184. package/lib/print/index.d.ts +1 -1
  185. package/lib/print/print-tool/index.d.ts +1 -1
  186. package/lib/print/print-tool/print-tool.component.d.ts +10 -10
  187. package/lib/print/print.module.d.ts +10 -10
  188. package/lib/search/index.d.ts +6 -6
  189. package/lib/search/query.state.d.ts +26 -20
  190. package/lib/search/search-bar/search-bar-binding.directive.d.ts +20 -20
  191. package/lib/search/search-bar/search-bar.module.d.ts +11 -11
  192. package/lib/search/search-results-tool/search-results-tool.component.d.ts +100 -100
  193. package/lib/search/search-results-tool/search-results-tool.module.d.ts +18 -18
  194. package/lib/search/search.module.d.ts +8 -8
  195. package/lib/search/search.state.d.ts +62 -60
  196. package/lib/storage/index.d.ts +1 -1
  197. package/lib/storage/storage.module.d.ts +6 -6
  198. package/lib/storage/storage.state.d.ts +12 -12
  199. package/lib/tool/index.d.ts +1 -1
  200. package/lib/tool/tool.module.d.ts +6 -6
  201. package/lib/tool/tool.state.d.ts +22 -22
  202. package/lib/workspace/index.d.ts +3 -3
  203. package/lib/workspace/shared/edition-actions.service.d.ts +28 -26
  204. package/lib/workspace/shared/feature-actions.service.d.ts +27 -25
  205. package/lib/workspace/shared/index.d.ts +2 -2
  206. package/lib/workspace/shared/wfs-actions.service.d.ts +29 -27
  207. package/lib/workspace/shared/workspace.utils.d.ts +9 -2
  208. package/lib/workspace/workspace-button/index.d.ts +1 -1
  209. package/lib/workspace/workspace-button/workspace-button.component.d.ts +21 -21
  210. package/lib/workspace/workspace.module.d.ts +12 -12
  211. package/lib/workspace/workspace.state.d.ts +63 -63
  212. package/locale/en.integration.json +126 -0
  213. package/locale/fr.integration.json +126 -0
  214. package/package.json +14 -18
  215. package/public_api.d.ts +31 -31
  216. package/esm2020/lib/about/about-tool/about-tool.component.mjs +0 -185
  217. package/esm2020/lib/analytics/analytics-listener.service.mjs +0 -127
  218. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs +0 -113
  219. package/esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs +0 -29
  220. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs +0 -89
  221. package/esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs +0 -29
  222. package/esm2020/lib/catalog/catalog.module.mjs +0 -24
  223. package/esm2020/lib/catalog/catalog.state.mjs +0 -54
  224. package/esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs +0 -34
  225. package/esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs +0 -44
  226. package/esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs +0 -25
  227. package/esm2020/lib/context/context-share-tool/context-share-tool.component.mjs +0 -34
  228. package/esm2020/lib/context/context.state.mjs +0 -88
  229. package/esm2020/lib/directions/directions-tool/directions-tool.component.mjs +0 -84
  230. package/esm2020/lib/directions/directions.state.mjs +0 -64
  231. package/esm2020/lib/draw/draw.module.mjs +0 -21
  232. package/esm2020/lib/draw/draw.state.mjs +0 -39
  233. package/esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs +0 -72
  234. package/esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs +0 -44
  235. package/esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs +0 -44
  236. package/esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs +0 -25
  237. package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +0 -535
  238. package/esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs +0 -25
  239. package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +0 -141
  240. package/esm2020/lib/import-export/import-export.state.mjs +0 -41
  241. package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +0 -472
  242. package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +0 -89
  243. package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +0 -218
  244. package/esm2020/lib/map/layer-list-tool.state.mjs +0 -42
  245. package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +0 -256
  246. package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +0 -275
  247. package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +0 -203
  248. package/esm2020/lib/map/map-proximity.state.mjs +0 -167
  249. package/esm2020/lib/map/map-tool/map-tool.component.mjs +0 -130
  250. package/esm2020/lib/map/map-tools/map-tools.component.mjs +0 -495
  251. package/esm2020/lib/map/map.module.mjs +0 -144
  252. package/esm2020/lib/map/map.state.mjs +0 -47
  253. package/esm2020/lib/measure/measure.module.mjs +0 -20
  254. package/esm2020/lib/measure/measure.state.mjs +0 -35
  255. package/esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs +0 -45
  256. package/esm2020/lib/print/print-tool/print-tool.component.mjs +0 -33
  257. package/esm2020/lib/search/query.state.mjs +0 -34
  258. package/esm2020/lib/search/search-bar/search-bar-binding.directive.mjs +0 -61
  259. package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +0 -593
  260. package/esm2020/lib/search/search-results-tool/search-results-tool.module.mjs +0 -65
  261. package/esm2020/lib/search/search.module.mjs +0 -24
  262. package/esm2020/lib/search/search.state.mjs +0 -132
  263. package/esm2020/lib/storage/storage.state.mjs +0 -23
  264. package/esm2020/lib/tool/tool.state.mjs +0 -52
  265. package/esm2020/lib/workspace/shared/edition-actions.service.mjs +0 -156
  266. package/esm2020/lib/workspace/shared/feature-actions.service.mjs +0 -144
  267. package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +0 -158
  268. package/esm2020/lib/workspace/shared/workspace.utils.mjs +0 -7
  269. package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +0 -69
  270. package/esm2020/lib/workspace/workspace.module.mjs +0 -37
  271. package/esm2020/lib/workspace/workspace.state.mjs +0 -188
  272. package/fesm2015/igo2-integration.mjs +0 -6759
  273. package/fesm2015/igo2-integration.mjs.map +0 -1
  274. package/fesm2020/igo2-integration.mjs.map +0 -1
  275. package/ngcc.config.js +0 -3
@@ -0,0 +1,65 @@
1
+ import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatBadgeModule } from '@angular/material/badge';
6
+ import { MatTooltipModule } from '@angular/material/tooltip';
7
+ import { IgoLanguageModule } from '@igo2/core';
8
+ import { IgoFlexibleModule, IgoCustomHtmlModule, IgoPanelModule } from '@igo2/common';
9
+ import { IgoFeatureModule, IgoSearchModule, IgoFeatureDetailsModule } from '@igo2/geo';
10
+ import { SearchResultsToolComponent } from './search-results-tool.component';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * @ignore
14
+ */
15
+ export class IgoAppSearchResultsToolModule {
16
+ static ɵfac = function IgoAppSearchResultsToolModule_Factory(t) { return new (t || IgoAppSearchResultsToolModule)(); };
17
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchResultsToolModule });
18
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
19
+ MatIconModule,
20
+ MatBadgeModule,
21
+ MatTooltipModule,
22
+ MatButtonModule,
23
+ IgoLanguageModule,
24
+ IgoFeatureModule,
25
+ IgoSearchModule,
26
+ IgoFlexibleModule,
27
+ IgoPanelModule,
28
+ IgoFeatureDetailsModule,
29
+ IgoCustomHtmlModule] });
30
+ }
31
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchResultsToolModule, [{
32
+ type: NgModule,
33
+ args: [{
34
+ imports: [
35
+ CommonModule,
36
+ MatIconModule,
37
+ MatBadgeModule,
38
+ MatTooltipModule,
39
+ MatButtonModule,
40
+ IgoLanguageModule,
41
+ IgoFeatureModule,
42
+ IgoSearchModule,
43
+ IgoFlexibleModule,
44
+ IgoPanelModule,
45
+ IgoFeatureDetailsModule,
46
+ IgoCustomHtmlModule
47
+ ],
48
+ declarations: [SearchResultsToolComponent],
49
+ exports: [SearchResultsToolComponent],
50
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
51
+ }]
52
+ }], null, null); })();
53
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchResultsToolModule, { declarations: [SearchResultsToolComponent], imports: [CommonModule,
54
+ MatIconModule,
55
+ MatBadgeModule,
56
+ MatTooltipModule,
57
+ MatButtonModule,
58
+ IgoLanguageModule,
59
+ IgoFeatureModule,
60
+ IgoSearchModule,
61
+ IgoFlexibleModule,
62
+ IgoPanelModule,
63
+ IgoFeatureDetailsModule,
64
+ IgoCustomHtmlModule], exports: [SearchResultsToolComponent] }); })();
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtdG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3hCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUU3RTs7R0FFRztBQW9CSCxNQUFNLE9BQU8sNkJBQTZCO3VGQUE3Qiw2QkFBNkI7NERBQTdCLDZCQUE2QjtnRUFqQnRDLFlBQVk7WUFDWixhQUFhO1lBQ2IsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx1QkFBdUI7WUFDdkIsbUJBQW1COzt1RkFNViw2QkFBNkI7Y0FuQnpDLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCx1QkFBdUI7b0JBQ3ZCLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQzs7d0ZBQ1ksNkJBQTZCLG1CQUp6QiwwQkFBMEIsYUFidkMsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2QixtQkFBbUIsYUFHWCwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHtcclxuICBJZ29GbGV4aWJsZU1vZHVsZSxcclxuICBJZ29DdXN0b21IdG1sTW9kdWxlLFxyXG4gIElnb1BhbmVsTW9kdWxlXHJcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBJZ29GZWF0dXJlTW9kdWxlLFxyXG4gIElnb1NlYXJjaE1vZHVsZSxcclxuICBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzVG9vbENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMtdG9vbC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJhZGdlTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvRmVhdHVyZU1vZHVsZSxcclxuICAgIElnb1NlYXJjaE1vZHVsZSxcclxuICAgIElnb0ZsZXhpYmxlTW9kdWxlLFxyXG4gICAgSWdvUGFuZWxNb2R1bGUsXHJcbiAgICBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSxcclxuICAgIElnb0N1c3RvbUh0bWxNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1NlYXJjaFJlc3VsdHNUb29sQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbU2VhcmNoUmVzdWx0c1Rvb2xDb21wb25lbnRdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvQXBwU2VhcmNoUmVzdWx0c1Rvb2xNb2R1bGUge31cclxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { IgoAppSearchBarModule } from './search-bar/search-bar.module';
3
+ import { IgoAppSearchResultsToolModule } from './search-results-tool/search-results-tool.module';
4
+ import * as i0 from "@angular/core";
5
+ export class IgoAppSearchModule {
6
+ static ɵfac = function IgoAppSearchModule_Factory(t) { return new (t || IgoAppSearchModule)(); };
7
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppSearchModule });
8
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule] });
9
+ }
10
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppSearchModule, [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [],
14
+ declarations: [],
15
+ exports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule]
16
+ }]
17
+ }], null, null); })();
18
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAppSearchModule, { exports: [IgoAppSearchBarModule, IgoAppSearchResultsToolModule] }); })();
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUFPakcsTUFBTSxPQUFPLGtCQUFrQjs0RUFBbEIsa0JBQWtCOzREQUFsQixrQkFBa0I7Z0VBRm5CLHFCQUFxQixFQUFFLDZCQUE2Qjs7dUZBRW5ELGtCQUFrQjtjQUw5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLDZCQUE2QixDQUFDO2FBQ2hFOzt3RkFDWSxrQkFBa0IsY0FGbkIscUJBQXFCLEVBQUUsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb0FwcFNlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb0FwcFNlYXJjaFJlc3VsdHNUb29sTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy10b29sL3NlYXJjaC1yZXN1bHRzLXRvb2wubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW10sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbSWdvQXBwU2VhcmNoQmFyTW9kdWxlLCBJZ29BcHBTZWFyY2hSZXN1bHRzVG9vbE1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcFNlYXJjaE1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,145 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EntityStoreFilterCustomFuncStrategy, EntityStoreWithStrategy } from '@igo2/common';
3
+ import { ConfigService, StorageService } from '@igo2/core';
4
+ import { SearchSourceService, FeatureWorkspace } from '@igo2/geo';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { WorkspaceState } from '../workspace/workspace.state';
7
+ import { MapState } from '../map';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@igo2/geo";
10
+ import * as i2 from "@igo2/core";
11
+ import * as i3 from "../workspace/workspace.state";
12
+ import * as i4 from "../map";
13
+ /**
14
+ * Service that holds the state of the search module
15
+ */
16
+ export class SearchState {
17
+ searchSourceService;
18
+ storageService;
19
+ workspaceState;
20
+ configService;
21
+ mapState;
22
+ searchLayerStores = [];
23
+ searchOverlayStyle = {};
24
+ searchOverlayStyleSelection = {};
25
+ searchOverlayStyleFocus = {};
26
+ focusedOrResolution$$;
27
+ selectedOrResolution$$;
28
+ searchTermSplitter$ = new BehaviorSubject('|');
29
+ searchTerm$ = new BehaviorSubject(undefined);
30
+ searchType$ = new BehaviorSubject(undefined);
31
+ searchDisabled$ = new BehaviorSubject(false);
32
+ searchResultsGeometryEnabled$ = new BehaviorSubject(false);
33
+ searchSettingsChange$ = new BehaviorSubject(undefined);
34
+ selectedResult$ = new BehaviorSubject(undefined);
35
+ /**
36
+ * Store that holds the search results
37
+ */
38
+ store = new EntityStoreWithStrategy([]);
39
+ /**
40
+ * Search types currently enabled in the search source service
41
+ */
42
+ get searchTypes() {
43
+ return this.searchSourceService
44
+ .getEnabledSources()
45
+ .map((source) => source.constructor.type);
46
+ }
47
+ constructor(searchSourceService, storageService, workspaceState, configService, mapState) {
48
+ this.searchSourceService = searchSourceService;
49
+ this.storageService = storageService;
50
+ this.workspaceState = workspaceState;
51
+ this.configService = configService;
52
+ this.mapState = mapState;
53
+ const searchOverlayStyle = this.configService.getConfig('searchOverlayStyle');
54
+ if (searchOverlayStyle) {
55
+ this.searchOverlayStyle = searchOverlayStyle.base;
56
+ this.searchOverlayStyleSelection = searchOverlayStyle.selection;
57
+ this.searchOverlayStyleFocus = searchOverlayStyle.focus;
58
+ }
59
+ const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled');
60
+ if (searchResultsGeometryEnabled) {
61
+ this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);
62
+ }
63
+ this.store.addStrategy(this.createCustomFilterTermStrategy(), false);
64
+ const wksSource = this.searchSourceService
65
+ .getSources()
66
+ .find((source) => source.getId() === 'workspace');
67
+ this.workspaceState.store.entities$.subscribe((e) => {
68
+ const searchableWks = e.filter((fw) => fw instanceof FeatureWorkspace &&
69
+ fw.layer.options.workspace.searchIndexEnabled);
70
+ this.searchSourceService.setWorkspaces(wksSource, searchableWks);
71
+ });
72
+ this.monitorLayerDeletion();
73
+ }
74
+ monitorLayerDeletion() {
75
+ this.mapState.map.layers$.subscribe((layers) => {
76
+ this.searchLayerStores.forEach((store) => {
77
+ let layer = layers.find((l) => l.id === store.layer.id);
78
+ if (!layer) {
79
+ const index = this.searchLayerStores.indexOf(store);
80
+ this.searchLayerStores.splice(index, 1);
81
+ }
82
+ });
83
+ });
84
+ }
85
+ createCustomFilterTermStrategy() {
86
+ const filterClauseFunc = (record) => {
87
+ return record.entity.meta.score === 100;
88
+ };
89
+ return new EntityStoreFilterCustomFuncStrategy({
90
+ filterClauseFunc
91
+ });
92
+ }
93
+ /**
94
+ * Activate custom strategy
95
+ *
96
+ */
97
+ activateCustomFilterTermStrategy() {
98
+ const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
99
+ if (strategy !== undefined) {
100
+ strategy.activate();
101
+ }
102
+ }
103
+ /**
104
+ * Deactivate custom strategy
105
+ *
106
+ */
107
+ deactivateCustomFilterTermStrategy() {
108
+ const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
109
+ if (strategy !== undefined) {
110
+ strategy.deactivate();
111
+ }
112
+ }
113
+ enableSearch() {
114
+ this.searchDisabled$.next(false);
115
+ }
116
+ disableSearch() {
117
+ this.searchDisabled$.next(true);
118
+ }
119
+ setSearchTerm(searchTerm) {
120
+ this.searchTerm$.next(searchTerm);
121
+ }
122
+ setSearchType(searchType) {
123
+ this.searchSourceService.enableSourcesByType(searchType);
124
+ this.searchType$.next(searchType);
125
+ }
126
+ setSearchSettingsChange() {
127
+ this.searchSettingsChange$.next(true);
128
+ }
129
+ setSelectedResult(result) {
130
+ this.selectedResult$.next(result);
131
+ }
132
+ setSearchResultsGeometryStatus(value) {
133
+ this.storageService.set('searchResultsGeometryEnabled', value);
134
+ this.searchResultsGeometryEnabled$.next(value);
135
+ }
136
+ static ɵfac = function SearchState_Factory(t) { return new (t || SearchState)(i0.ɵɵinject(i1.SearchSourceService), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i3.WorkspaceState), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i4.MapState)); };
137
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchState, factory: SearchState.ɵfac, providedIn: 'root' });
138
+ }
139
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchState, [{
140
+ type: Injectable,
141
+ args: [{
142
+ providedIn: 'root'
143
+ }]
144
+ }], function () { return [{ type: i1.SearchSourceService }, { type: i2.StorageService }, { type: i3.WorkspaceState }, { type: i2.ConfigService }, { type: i4.MapState }]; }, null); })();
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaW50ZWdyYXRpb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUVMLG1DQUFtQyxFQUVuQyx1QkFBdUIsRUFDeEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUVMLG1CQUFtQixFQUduQixnQkFBZ0IsRUFHakIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQUVsQzs7R0FFRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBa0RaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFyREgsaUJBQWlCLEdBQTRCLEVBQUUsQ0FBQztJQUNoRCxrQkFBa0IsR0FBNkIsRUFBRSxDQUFDO0lBQ2xELDJCQUEyQixHQUE2QixFQUFFLENBQUM7SUFDM0QsdUJBQXVCLEdBQTZCLEVBQUUsQ0FBQztJQUV2RCxxQkFBcUIsQ0FBZTtJQUNwQyxzQkFBc0IsQ0FBZTtJQUVuQyxtQkFBbUIsR0FBNEIsSUFBSSxlQUFlLENBQ3pFLEdBQUcsQ0FDSixDQUFDO0lBRU8sV0FBVyxHQUE0QixJQUFJLGVBQWUsQ0FDakUsU0FBUyxDQUNWLENBQUM7SUFFTyxXQUFXLEdBQTRCLElBQUksZUFBZSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztJQUVPLGVBQWUsR0FBNkIsSUFBSSxlQUFlLENBQ3RFLEtBQUssQ0FDTixDQUFDO0lBRU8s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QUM7SUFFRCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFvQjtRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsOEJBQThCLENBQUMsS0FBSztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7cUVBdEtVLFdBQVc7Z0VBQVgsV0FBVyxXQUFYLFdBQVcsbUJBRlYsTUFBTTs7dUZBRVAsV0FBVztjQUh2QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEVudGl0eVJlY29yZCxcclxuICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSxcclxuICBFbnRpdHlTdG9yZVN0cmF0ZWd5RnVuY09wdGlvbnMsXHJcbiAgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3lcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFNlYXJjaFJlc3VsdCxcclxuICBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gIFNlYXJjaFNvdXJjZSxcclxuICBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMsXHJcbiAgRmVhdHVyZVdvcmtzcGFjZSxcclxuICBGZWF0dXJlU3RvcmUsXHJcbiAgRmVhdHVyZVxyXG59IGZyb20gJ0BpZ28yL2dlbyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZVN0YXRlIH0gZnJvbSAnLi4vd29ya3NwYWNlL3dvcmtzcGFjZS5zdGF0ZSc7XHJcbmltcG9ydCB7IE1hcFN0YXRlIH0gZnJvbSAnLi4vbWFwJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHRoZSBzZWFyY2ggbW9kdWxlXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTdGF0ZSB7XHJcbiAgcHVibGljIHNlYXJjaExheWVyU3RvcmVzOiBGZWF0dXJlU3RvcmU8RmVhdHVyZT5bXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWFyY2hPdmVybGF5U3R5bGU6IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyA9IHt9O1xyXG4gIHB1YmxpYyBzZWFyY2hPdmVybGF5U3R5bGVTZWxlY3Rpb246IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyA9IHt9O1xyXG4gIHB1YmxpYyBzZWFyY2hPdmVybGF5U3R5bGVGb2N1czogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zID0ge307XHJcblxyXG4gIHB1YmxpYyBmb2N1c2VkT3JSZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwdWJsaWMgc2VsZWN0ZWRPclJlc29sdXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hUZXJtU3BsaXR0ZXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICAnfCdcclxuICApO1xyXG5cclxuICByZWFkb25seSBzZWFyY2hUZXJtJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoVHlwZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcblxyXG4gIHJlYWRvbmx5IHNlYXJjaERpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIGZhbHNlXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcmVhZG9ubHkgc2VhcmNoU2V0dGluZ3NDaGFuZ2UkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPVxyXG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICByZWFkb25seSBzZWxlY3RlZFJlc3VsdCQ6IEJlaGF2aW9yU3ViamVjdDxTZWFyY2hSZXN1bHQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3JlIHRoYXQgaG9sZHMgdGhlIHNlYXJjaCByZXN1bHRzXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc3RvcmUgPSBuZXcgRW50aXR5U3RvcmVXaXRoU3RyYXRlZ3k8U2VhcmNoUmVzdWx0PihbXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaCB0eXBlcyBjdXJyZW50bHkgZW5hYmxlZCBpbiB0aGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0IHNlYXJjaFR5cGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IChzb3VyY2UuY29uc3RydWN0b3IgYXMgYW55KS50eXBlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHdvcmtzcGFjZVN0YXRlOiBXb3Jrc3BhY2VTdGF0ZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbWFwU3RhdGU6IE1hcFN0YXRlXHJcbiAgKSB7XHJcbiAgICBjb25zdCBzZWFyY2hPdmVybGF5U3R5bGUgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFxyXG4gICAgICAnc2VhcmNoT3ZlcmxheVN0eWxlJ1xyXG4gICAgKSBhcyB7XHJcbiAgICAgIGJhc2U/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICAgIHNlbGVjdGlvbj86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcclxuICAgICAgZm9jdXM/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICB9O1xyXG4gICAgaWYgKHNlYXJjaE92ZXJsYXlTdHlsZSkge1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZSA9IHNlYXJjaE92ZXJsYXlTdHlsZS5iYXNlO1xyXG4gICAgICB0aGlzLnNlYXJjaE92ZXJsYXlTdHlsZVNlbGVjdGlvbiA9IHNlYXJjaE92ZXJsYXlTdHlsZS5zZWxlY3Rpb247XHJcbiAgICAgIHRoaXMuc2VhcmNoT3ZlcmxheVN0eWxlRm9jdXMgPSBzZWFyY2hPdmVybGF5U3R5bGUuZm9jdXM7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxyXG4gICAgICAnc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCdcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIGlmIChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCQubmV4dChzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RvcmUuYWRkU3RyYXRlZ3kodGhpcy5jcmVhdGVDdXN0b21GaWx0ZXJUZXJtU3RyYXRlZ3koKSwgZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IHdrc1NvdXJjZSA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAuZ2V0U291cmNlcygpXHJcbiAgICAgIC5maW5kKChzb3VyY2UpID0+IHNvdXJjZS5nZXRJZCgpID09PSAnd29ya3NwYWNlJyk7XHJcbiAgICB0aGlzLndvcmtzcGFjZVN0YXRlLnN0b3JlLmVudGl0aWVzJC5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgY29uc3Qgc2VhcmNoYWJsZVdrcyA9IGUuZmlsdGVyKFxyXG4gICAgICAgIChmdykgPT5cclxuICAgICAgICAgIGZ3IGluc3RhbmNlb2YgRmVhdHVyZVdvcmtzcGFjZSAmJlxyXG4gICAgICAgICAgZncubGF5ZXIub3B0aW9ucy53b3Jrc3BhY2Uuc2VhcmNoSW5kZXhFbmFibGVkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5zZXRXb3Jrc3BhY2VzKHdrc1NvdXJjZSwgc2VhcmNoYWJsZVdrcyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9uaXRvckxheWVyRGVsZXRpb24oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbW9uaXRvckxheWVyRGVsZXRpb24oKSB7XHJcbiAgICB0aGlzLm1hcFN0YXRlLm1hcC5sYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VhcmNoTGF5ZXJTdG9yZXMuZm9yRWFjaCgoc3RvcmUpID0+IHtcclxuICAgICAgICBsZXQgbGF5ZXIgPSBsYXllcnMuZmluZCgobCkgPT4gbC5pZCA9PT0gc3RvcmUubGF5ZXIuaWQpO1xyXG4gICAgICAgIGlmICghbGF5ZXIpIHtcclxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWFyY2hMYXllclN0b3Jlcy5pbmRleE9mKHN0b3JlKTtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoTGF5ZXJTdG9yZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUN1c3RvbUZpbHRlclRlcm1TdHJhdGVneSgpOiBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneSB7XHJcbiAgICBjb25zdCBmaWx0ZXJDbGF1c2VGdW5jID0gKHJlY29yZDogRW50aXR5UmVjb3JkPFNlYXJjaFJlc3VsdD4pID0+IHtcclxuICAgICAgcmV0dXJuIHJlY29yZC5lbnRpdHkubWV0YS5zY29yZSA9PT0gMTAwO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBuZXcgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3koe1xyXG4gICAgICBmaWx0ZXJDbGF1c2VGdW5jXHJcbiAgICB9IGFzIEVudGl0eVN0b3JlU3RyYXRlZ3lGdW5jT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBY3RpdmF0ZSBjdXN0b20gc3RyYXRlZ3lcclxuICAgKlxyXG4gICAqL1xyXG4gIGFjdGl2YXRlQ3VzdG9tRmlsdGVyVGVybVN0cmF0ZWd5KCkge1xyXG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLnN0b3JlLmdldFN0cmF0ZWd5T2ZUeXBlKFxyXG4gICAgICBFbnRpdHlTdG9yZUZpbHRlckN1c3RvbUZ1bmNTdHJhdGVneVxyXG4gICAgKTtcclxuICAgIGlmIChzdHJhdGVneSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN0cmF0ZWd5LmFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWFjdGl2YXRlIGN1c3RvbSBzdHJhdGVneVxyXG4gICAqXHJcbiAgICovXHJcbiAgZGVhY3RpdmF0ZUN1c3RvbUZpbHRlclRlcm1TdHJhdGVneSgpIHtcclxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5zdG9yZS5nZXRTdHJhdGVneU9mVHlwZShcclxuICAgICAgRW50aXR5U3RvcmVGaWx0ZXJDdXN0b21GdW5jU3RyYXRlZ3lcclxuICAgICk7XHJcbiAgICBpZiAoc3RyYXRlZ3kgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdHJhdGVneS5kZWFjdGl2YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbmFibGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkJC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoVGVybShzZWFyY2hUZXJtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoVGVybSQubmV4dChzZWFyY2hUZXJtKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZW5hYmxlU291cmNlc0J5VHlwZShzZWFyY2hUeXBlKTtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSQubmV4dChzZWFyY2hUeXBlKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFNldHRpbmdzQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZWFyY2hTZXR0aW5nc0NoYW5nZSQubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkUmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzdWx0JC5uZXh0KHJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXModmFsdWUpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KCdzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJywgdmFsdWUpO1xyXG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export * from './storage.state';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zdGF0ZSc7XHJcbiJdfQ==
1
+ export * from './storage.state';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5zdGF0ZSc7XG4iXX0=
@@ -1,16 +1,16 @@
1
- import { NgModule } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class IgoAppStorageModule {
4
- }
5
- IgoAppStorageModule.ɵfac = function IgoAppStorageModule_Factory(t) { return new (t || IgoAppStorageModule)(); };
6
- IgoAppStorageModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppStorageModule });
7
- IgoAppStorageModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
8
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppStorageModule, [{
9
- type: NgModule,
10
- args: [{
11
- imports: [],
12
- declarations: [],
13
- exports: []
14
- }]
15
- }], null, null); })();
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLG1CQUFtQjs7c0ZBQW5CLG1CQUFtQjtxRUFBbkIsbUJBQW1COzt1RkFBbkIsbUJBQW1CO2NBTC9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcFN0b3JhZ2VNb2R1bGUge31cclxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IgoAppStorageModule {
4
+ static ɵfac = function IgoAppStorageModule_Factory(t) { return new (t || IgoAppStorageModule)(); };
5
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppStorageModule });
6
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
7
+ }
8
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppStorageModule, [{
9
+ type: NgModule,
10
+ args: [{
11
+ imports: [],
12
+ declarations: [],
13
+ exports: []
14
+ }]
15
+ }], null, null); })();
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLG1CQUFtQjs2RUFBbkIsbUJBQW1COzREQUFuQixtQkFBbUI7Ozt1RkFBbkIsbUJBQW1CO2NBTC9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBTdG9yYWdlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { StorageService } from '@igo2/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@igo2/core";
5
+ /**
6
+ * Service that holds the state of storage service
7
+ */
8
+ export class StorageState {
9
+ igoStorageService;
10
+ get storageService() {
11
+ return this.igoStorageService;
12
+ }
13
+ constructor(igoStorageService) {
14
+ this.igoStorageService = igoStorageService;
15
+ }
16
+ static ɵfac = function StorageState_Factory(t) { return new (t || StorageState)(i0.ɵɵinject(i1.StorageService)); };
17
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StorageState, factory: StorageState.ɵfac, providedIn: 'root' });
18
+ }
19
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StorageState, [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], function () { return [{ type: i1.StorageService }]; }, null); })();
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBRTVDOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFLSDtJQUpwQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQW9CLGlCQUFpQztRQUFqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWdCO0lBQUcsQ0FBQztzRUFMOUMsWUFBWTtnRUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOzt1RkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaG9sZHMgdGhlIHN0YXRlIG9mIHN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU3RhdGUge1xuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLmlnb1N0b3JhZ2VTZXJ2aWNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpZ29TdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHt9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './tool.state';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2wuc3RhdGUnO1xyXG4iXX0=
1
+ export * from './tool.state';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Rvb2wuc3RhdGUnO1xuIl19
@@ -1,16 +1,16 @@
1
- import { NgModule } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class IgoAppToolModule {
4
- }
5
- IgoAppToolModule.ɵfac = function IgoAppToolModule_Factory(t) { return new (t || IgoAppToolModule)(); };
6
- IgoAppToolModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppToolModule });
7
- IgoAppToolModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
8
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppToolModule, [{
9
- type: NgModule,
10
- args: [{
11
- imports: [],
12
- declarations: [],
13
- exports: []
14
- }]
15
- }], null, null); })();
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLGdCQUFnQjs7Z0ZBQWhCLGdCQUFnQjtrRUFBaEIsZ0JBQWdCOzt1RkFBaEIsZ0JBQWdCO2NBTDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtdLFxyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0FwcFRvb2xNb2R1bGUge31cclxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IgoAppToolModule {
4
+ static ɵfac = function IgoAppToolModule_Factory(t) { return new (t || IgoAppToolModule)(); };
5
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAppToolModule });
6
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
7
+ }
8
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAppToolModule, [{
9
+ type: NgModule,
10
+ args: [{
11
+ imports: [],
12
+ declarations: [],
13
+ exports: []
14
+ }]
15
+ }], null, null); })();
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3Rvb2wvdG9vbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekMsTUFBTSxPQUFPLGdCQUFnQjswRUFBaEIsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Ozt1RkFBaEIsZ0JBQWdCO2NBTDVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BcHBUb29sTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ToolService } from '@igo2/common';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { ImportExportMode, ImportExportState } from '../import-export/import-export.state';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@igo2/common";
7
+ import * as i2 from "../import-export/import-export.state";
8
+ /**
9
+ * Service that holds the state of the search module
10
+ */
11
+ export class ToolState {
12
+ toolService;
13
+ importExportState;
14
+ get toolbox() {
15
+ return this.toolService.toolbox;
16
+ }
17
+ openSidenav$ = new BehaviorSubject(undefined);
18
+ constructor(toolService, importExportState) {
19
+ this.toolService = toolService;
20
+ this.importExportState = importExportState;
21
+ }
22
+ toolToActivateFromOptions(toolToActivate) {
23
+ if (!toolToActivate) {
24
+ return;
25
+ }
26
+ if (toolToActivate.tool === 'importExport') {
27
+ let exportOptions = this.importExportState.exportOptions$.value;
28
+ if (!exportOptions) {
29
+ exportOptions = {
30
+ layers: toolToActivate.options.layers,
31
+ featureInMapExtent: toolToActivate.options.featureInMapExtent
32
+ };
33
+ }
34
+ else {
35
+ exportOptions.layers = toolToActivate.options.layers;
36
+ exportOptions.featureInMapExtent =
37
+ toolToActivate.options.featureInMapExtent;
38
+ }
39
+ this.importExportState.setsExportOptions(exportOptions);
40
+ this.importExportState.setMode(ImportExportMode.export);
41
+ }
42
+ if (this.toolbox.getTool(toolToActivate.tool)) {
43
+ this.toolbox.activateTool(toolToActivate.tool);
44
+ this.openSidenav$.next(true);
45
+ }
46
+ }
47
+ static ɵfac = function ToolState_Factory(t) { return new (t || ToolState)(i0.ɵɵinject(i1.ToolService), i0.ɵɵinject(i2.ImportExportState)); };
48
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ToolState, factory: ToolState.ɵfac, providedIn: 'root' });
49
+ }
50
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolState, [{
51
+ type: Injectable,
52
+ args: [{
53
+ providedIn: 'root'
54
+ }]
55
+ }], function () { return [{ type: i1.ToolService }, { type: i2.ImportExportState }]; }, null); })();
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2ludGVncmF0aW9uL3NyYy9saWIvdG9vbC90b29sLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFXLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sc0NBQXNDLENBQUM7Ozs7QUFFOUM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sU0FBUztJQVVWO0lBQ0E7SUFWVixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLEdBQTZCLElBQUksZUFBZSxDQUNqRSxTQUFTLENBQ1YsQ0FBQztJQUVGLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DO1FBRHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVKLHlCQUF5QixDQUFDLGNBR3pCO1FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQzFDLElBQUksYUFBYSxHQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xCLGFBQWEsR0FBRztvQkFDZCxNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNO29CQUNyQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQjtpQkFDOUQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLGFBQWEsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELGFBQWEsQ0FBQyxrQkFBa0I7b0JBQzlCLGNBQWMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7YUFDN0M7WUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6RDtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7bUVBMUNVLFNBQVM7Z0VBQVQsU0FBUyxXQUFULFNBQVMsbUJBRlIsTUFBTTs7dUZBRVAsU0FBUztjQUhyQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUb29sYm94LCBUb29sU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBFeHBvcnRPcHRpb25zIH0gZnJvbSAnQGlnbzIvZ2VvJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0RXhwb3J0TW9kZSxcclxuICBJbXBvcnRFeHBvcnRTdGF0ZVxyXG59IGZyb20gJy4uL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5zdGF0ZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0aGF0IGhvbGRzIHRoZSBzdGF0ZSBvZiB0aGUgc2VhcmNoIG1vZHVsZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbFN0YXRlIHtcclxuICBnZXQgdG9vbGJveCgpOiBUb29sYm94IHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xTZXJ2aWNlLnRvb2xib3g7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNpZGVuYXYkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvb2xTZXJ2aWNlOiBUb29sU2VydmljZSxcclxuICAgIHByaXZhdGUgaW1wb3J0RXhwb3J0U3RhdGU6IEltcG9ydEV4cG9ydFN0YXRlXHJcbiAgKSB7fVxyXG5cclxuICB0b29sVG9BY3RpdmF0ZUZyb21PcHRpb25zKHRvb2xUb0FjdGl2YXRlOiB7XHJcbiAgICB0b29sOiBzdHJpbmc7XHJcbiAgICBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIH0pIHtcclxuICAgIGlmICghdG9vbFRvQWN0aXZhdGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRvb2xUb0FjdGl2YXRlLnRvb2wgPT09ICdpbXBvcnRFeHBvcnQnKSB7XHJcbiAgICAgIGxldCBleHBvcnRPcHRpb25zOiBFeHBvcnRPcHRpb25zID1cclxuICAgICAgICB0aGlzLmltcG9ydEV4cG9ydFN0YXRlLmV4cG9ydE9wdGlvbnMkLnZhbHVlO1xyXG4gICAgICBpZiAoIWV4cG9ydE9wdGlvbnMpIHtcclxuICAgICAgICBleHBvcnRPcHRpb25zID0ge1xyXG4gICAgICAgICAgbGF5ZXJzOiB0b29sVG9BY3RpdmF0ZS5vcHRpb25zLmxheWVycyxcclxuICAgICAgICAgIGZlYXR1cmVJbk1hcEV4dGVudDogdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5mZWF0dXJlSW5NYXBFeHRlbnRcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGV4cG9ydE9wdGlvbnMubGF5ZXJzID0gdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5sYXllcnM7XHJcbiAgICAgICAgZXhwb3J0T3B0aW9ucy5mZWF0dXJlSW5NYXBFeHRlbnQgPVxyXG4gICAgICAgICAgdG9vbFRvQWN0aXZhdGUub3B0aW9ucy5mZWF0dXJlSW5NYXBFeHRlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRzRXhwb3J0T3B0aW9ucyhleHBvcnRPcHRpb25zKTtcclxuICAgICAgdGhpcy5pbXBvcnRFeHBvcnRTdGF0ZS5zZXRNb2RlKEltcG9ydEV4cG9ydE1vZGUuZXhwb3J0KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50b29sYm94LmdldFRvb2wodG9vbFRvQWN0aXZhdGUudG9vbCkpIHtcclxuICAgICAgdGhpcy50b29sYm94LmFjdGl2YXRlVG9vbCh0b29sVG9BY3RpdmF0ZS50b29sKTtcclxuICAgICAgdGhpcy5vcGVuU2lkZW5hdiQubmV4dCh0cnVlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- export * from './shared';
2
- export * from './workspace-button';
3
- export * from './workspace.state';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlLWJ1dHRvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlLnN0YXRlJztcclxuIl19
1
+ export * from './shared';
2
+ export * from './workspace-button';
3
+ export * from './workspace.state';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZS1idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2Uuc3RhdGUnO1xuIl19
@@ -0,0 +1,74 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Widget } from '@igo2/common';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { OgcFilterWidget } from '@igo2/geo';
5
+ import { StorageServiceEventEnum, LanguageService, MediaService } from '@igo2/core';
6
+ import { StorageState } from '../../storage/storage.state';
7
+ import { skipWhile } from 'rxjs/operators';
8
+ import { ToolState } from '../../tool/tool.state';
9
+ import { getWorkspaceActions, handleZoomAuto } from './workspace.utils';
10
+ import { DatePipe } from '@angular/common';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../storage/storage.state";
13
+ import * as i2 from "@igo2/core";
14
+ import * as i3 from "../../tool/tool.state";
15
+ import * as i4 from "@angular/common";
16
+ import * as i5 from "@igo2/common";
17
+ export class EditionActionsService {
18
+ ogcFilterWidget;
19
+ storageState;
20
+ languageService;
21
+ mediaService;
22
+ toolState;
23
+ datePipe;
24
+ maximize$;
25
+ zoomAuto$ = new BehaviorSubject(false);
26
+ storageChange$$;
27
+ get storageService() {
28
+ return this.storageState.storageService;
29
+ }
30
+ get zoomAuto() {
31
+ return this.storageService.get('zoomAuto');
32
+ }
33
+ constructor(ogcFilterWidget, storageState, languageService, mediaService, toolState, datePipe) {
34
+ this.ogcFilterWidget = ogcFilterWidget;
35
+ this.storageState = storageState;
36
+ this.languageService = languageService;
37
+ this.mediaService = mediaService;
38
+ this.toolState = toolState;
39
+ this.datePipe = datePipe;
40
+ this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
41
+ }
42
+ ngOnDestroy() {
43
+ if (this.storageChange$$) {
44
+ this.storageChange$$.unsubscribe();
45
+ }
46
+ }
47
+ loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
48
+ const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
49
+ workspace.actionStore.load(actions);
50
+ }
51
+ buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
52
+ this.zoomAuto$.next(this.zoomAuto);
53
+ this.storageChange$$ = this.storageService.storageChange$
54
+ .pipe(skipWhile((storageChange) => storageChange?.key !== 'zoomAuto' ||
55
+ storageChange?.event === StorageServiceEventEnum.CLEARED))
56
+ .subscribe(() => {
57
+ this.zoomAuto$.next(this.zoomAuto);
58
+ handleZoomAuto(workspace, this.storageService);
59
+ });
60
+ return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, this.ogcFilterWidget, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.datePipe);
61
+ }
62
+ static ɵfac = function EditionActionsService_Factory(t) { return new (t || EditionActionsService)(i0.ɵɵinject(OgcFilterWidget), i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i3.ToolState), i0.ɵɵinject(i4.DatePipe)); };
63
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionActionsService, factory: EditionActionsService.ɵfac, providedIn: 'root' });
64
+ }
65
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionActionsService, [{
66
+ type: Injectable,
67
+ args: [{
68
+ providedIn: 'root'
69
+ }]
70
+ }], function () { return [{ type: i5.Widget, decorators: [{
71
+ type: Inject,
72
+ args: [OgcFilterWidget]
73
+ }] }, { type: i1.StorageState }, { type: i2.LanguageService }, { type: i2.MediaService }, { type: i3.ToolState }, { type: i4.DatePipe }]; }, null); })();
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZWRpdGlvbi1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM5RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixZQUFZLEVBQ2IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBZUc7SUFDekI7SUFDRDtJQUNDO0lBQ0E7SUFDQTtJQW5CSCxTQUFTLENBQTJCO0lBRTNDLFNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsZUFBZSxDQUFlO0lBRXRDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFFRCxZQUNtQyxlQUF1QixFQUNoRCxZQUEwQixFQUMzQixlQUFnQyxFQUMvQixZQUEwQixFQUMxQixTQUFvQixFQUNwQixRQUFrQjtRQUxPLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUNULFNBQTJCLEVBQzNCLDhCQUF3RCxFQUN4RCx5QkFBbUQ7UUFFbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDL0IsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBMkIsRUFDM0IsOEJBQXdELEVBQ3hELHlCQUFtRDtRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDdEQsSUFBSSxDQUNILFNBQVMsQ0FDUCxDQUFDLGFBQWtDLEVBQUUsRUFBRSxDQUNyQyxhQUFhLEVBQUUsR0FBRyxLQUFLLFVBQVU7WUFDakMsYUFBYSxFQUFFLEtBQUssS0FBSyx1QkFBdUIsQ0FBQyxPQUFPLENBQzNELENBQ0Y7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxtQkFBbUIsQ0FDeEIsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO0lBQ0osQ0FBQzsrRUE3RVUscUJBQXFCLGNBZXRCLGVBQWU7Z0VBZmQscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTs7dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBZ0JJLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBY3Rpb24sIFdpZGdldCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFZGl0aW9uV29ya3NwYWNlLCBPZ2NGaWx0ZXJXaWRnZXQgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQge1xyXG4gIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gIFN0b3JhZ2VTZXJ2aWNlRXZlbnQsXHJcbiAgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sXHJcbiAgTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIE1lZGlhU2VydmljZVxyXG59IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yYWdlL3N0b3JhZ2Uuc3RhdGUnO1xyXG5pbXBvcnQgeyBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IGdldFdvcmtzcGFjZUFjdGlvbnMsIGhhbmRsZVpvb21BdXRvIH0gZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0aW9uQWN0aW9uc1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBtYXhpbWl6ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcclxuXHJcbiAgem9vbUF1dG8kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICBwcml2YXRlIHN0b3JhZ2VDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVN0YXRlLnN0b3JhZ2VTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHpvb21BdXRvKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoT2djRmlsdGVyV2lkZ2V0KSBwcml2YXRlIG9nY0ZpbHRlcldpZGdldDogV2lkZ2V0LFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU3RhdGU6IFN0b3JhZ2VTdGF0ZSxcclxuICAgIHB1YmxpYyBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuICApIHtcclxuICAgIHRoaXMubWF4aW1pemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5nZXQoJ3dvcmtzcGFjZU1heGltaXplJykgYXMgYm9vbGVhblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RvcmFnZUNoYW5nZSQkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZUNoYW5nZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkQWN0aW9ucyhcclxuICAgIHdvcmtzcGFjZTogRWRpdGlvbldvcmtzcGFjZSxcclxuICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+LFxyXG4gICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAgKSB7XHJcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5idWlsZEFjdGlvbnMoXHJcbiAgICAgIHdvcmtzcGFjZSxcclxuICAgICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kXHJcbiAgICApO1xyXG4gICAgd29ya3NwYWNlLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBidWlsZEFjdGlvbnMoXHJcbiAgICB3b3Jrc3BhY2U6IEVkaXRpb25Xb3Jrc3BhY2UsXHJcbiAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPixcclxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxyXG4gICk6IEFjdGlvbltdIHtcclxuICAgIHRoaXMuem9vbUF1dG8kLm5leHQodGhpcy56b29tQXV0byk7XHJcbiAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJCA9IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc3RvcmFnZUNoYW5nZSRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc2tpcFdoaWxlKFxyXG4gICAgICAgICAgKHN0b3JhZ2VDaGFuZ2U6IFN0b3JhZ2VTZXJ2aWNlRXZlbnQpID0+XHJcbiAgICAgICAgICAgIHN0b3JhZ2VDaGFuZ2U/LmtleSAhPT0gJ3pvb21BdXRvJyB8fFxyXG4gICAgICAgICAgICBzdG9yYWdlQ2hhbmdlPy5ldmVudCA9PT0gU3RvcmFnZVNlcnZpY2VFdmVudEVudW0uQ0xFQVJFRFxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xyXG4gICAgICAgIGhhbmRsZVpvb21BdXRvKHdvcmtzcGFjZSwgdGhpcy5zdG9yYWdlU2VydmljZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgcmV0dXJuIGdldFdvcmtzcGFjZUFjdGlvbnMoXHJcbiAgICAgIHdvcmtzcGFjZSxcclxuICAgICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kLFxyXG4gICAgICB0aGlzLm9nY0ZpbHRlcldpZGdldCxcclxuICAgICAgdGhpcy56b29tQXV0byQsXHJcbiAgICAgIHRoaXMubWF4aW1pemUkLFxyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZSxcclxuICAgICAgdGhpcy5tZWRpYVNlcnZpY2UsXHJcbiAgICAgIHRoaXMudG9vbFN0YXRlLFxyXG4gICAgICB0aGlzLmRhdGVQaXBlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { StorageServiceEventEnum, LanguageService, MediaService } from '@igo2/core';
4
+ import { StorageState } from '../../storage/storage.state';
5
+ import { skipWhile } from 'rxjs/operators';
6
+ import { ToolState } from '../../tool/tool.state';
7
+ import { getWorkspaceActions, handleZoomAuto } from './workspace.utils';
8
+ import { DatePipe } from '@angular/common';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../storage/storage.state";
11
+ import * as i2 from "@igo2/core";
12
+ import * as i3 from "../../tool/tool.state";
13
+ import * as i4 from "@angular/common";
14
+ export class FeatureActionsService {
15
+ storageState;
16
+ languageService;
17
+ toolState;
18
+ mediaService;
19
+ datePipe;
20
+ maximize$;
21
+ zoomAuto$ = new BehaviorSubject(false);
22
+ storageChange$$;
23
+ get storageService() {
24
+ return this.storageState.storageService;
25
+ }
26
+ get zoomAuto() {
27
+ return this.storageService.get('zoomAuto');
28
+ }
29
+ constructor(storageState, languageService, toolState, mediaService, datePipe) {
30
+ this.storageState = storageState;
31
+ this.languageService = languageService;
32
+ this.toolState = toolState;
33
+ this.mediaService = mediaService;
34
+ this.datePipe = datePipe;
35
+ this.maximize$ = new BehaviorSubject(this.storageService.get('workspaceMaximize'));
36
+ }
37
+ ngOnDestroy() {
38
+ if (this.storageChange$$) {
39
+ this.storageChange$$.unsubscribe();
40
+ }
41
+ }
42
+ loadActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
43
+ const actions = this.buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$);
44
+ workspace.actionStore.load(actions);
45
+ }
46
+ buildActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$) {
47
+ this.zoomAuto$.next(this.zoomAuto);
48
+ this.storageChange$$ = this.storageService.storageChange$
49
+ .pipe(skipWhile((storageChange) => storageChange?.key !== 'zoomAuto' ||
50
+ storageChange?.event === StorageServiceEventEnum.CLEARED))
51
+ .subscribe(() => {
52
+ this.zoomAuto$.next(this.zoomAuto);
53
+ handleZoomAuto(workspace, this.storageService);
54
+ });
55
+ return getWorkspaceActions(workspace, rowsInMapExtentCheckCondition$, selectOnlyCheckCondition$, undefined, this.zoomAuto$, this.maximize$, this.storageService, this.languageService, this.mediaService, this.toolState, this.datePipe);
56
+ }
57
+ static ɵfac = function FeatureActionsService_Factory(t) { return new (t || FeatureActionsService)(i0.ɵɵinject(i1.StorageState), i0.ɵɵinject(i2.LanguageService), i0.ɵɵinject(i3.ToolState), i0.ɵɵinject(i2.MediaService), i0.ɵɵinject(i4.DatePipe)); };
58
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeatureActionsService, factory: FeatureActionsService.ɵfac, providedIn: 'root' });
59
+ }
60
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureActionsService, [{
61
+ type: Injectable,
62
+ args: [{
63
+ providedIn: 'root'
64
+ }]
65
+ }], function () { return [{ type: i1.StorageState }, { type: i2.LanguageService }, { type: i3.ToolState }, { type: i2.MediaService }, { type: i4.DatePipe }]; }, null); })();
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pbnRlZ3JhdGlvbi9zcmMvbGliL3dvcmtzcGFjZS9zaGFyZWQvZmVhdHVyZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUl0RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDZixZQUFZLEVBQ2IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFldEI7SUFDRDtJQUNDO0lBQ0E7SUFDQTtJQWxCSCxTQUFTLENBQTJCO0lBRTNDLFNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsZUFBZSxDQUFlO0lBRXRDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFFRCxZQUNVLFlBQTBCLEVBQzNCLGVBQWdDLEVBQy9CLFNBQW9CLEVBQ3BCLFlBQTBCLEVBQzFCLFFBQWtCO1FBSmxCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUMvQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQVksQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUNULFNBQTJCLEVBQzNCLDhCQUF3RCxFQUN4RCx5QkFBbUQ7UUFFbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FDL0IsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsQ0FDMUIsQ0FBQztRQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQ1YsU0FBMkIsRUFDM0IsOEJBQXdELEVBQ3hELHlCQUFtRDtRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWM7YUFDdEQsSUFBSSxDQUNILFNBQVMsQ0FDUCxDQUFDLGFBQWtDLEVBQUUsRUFBRSxDQUNyQyxhQUFhLEVBQUUsR0FBRyxLQUFLLFVBQVU7WUFDakMsYUFBYSxFQUFFLEtBQUssS0FBSyx1QkFBdUIsQ0FBQyxPQUFPLENBQzNELENBQ0Y7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxtQkFBbUIsQ0FDeEIsU0FBUyxFQUNULDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztJQUNKLENBQUM7K0VBNUVVLHFCQUFxQjtnRUFBckIscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFGcEIsTUFBTTs7dUZBRVAscUJBQXFCO2NBSGpDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9nZW8nO1xyXG5pbXBvcnQge1xyXG4gIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gIFN0b3JhZ2VTZXJ2aWNlRXZlbnQsXHJcbiAgU3RvcmFnZVNlcnZpY2VFdmVudEVudW0sXHJcbiAgTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIE1lZGlhU2VydmljZVxyXG59IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yYWdlL3N0b3JhZ2Uuc3RhdGUnO1xyXG5pbXBvcnQgeyBza2lwV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRvb2xTdGF0ZSB9IGZyb20gJy4uLy4uL3Rvb2wvdG9vbC5zdGF0ZSc7XHJcbmltcG9ydCB7IGdldFdvcmtzcGFjZUFjdGlvbnMsIGhhbmRsZVpvb21BdXRvIH0gZnJvbSAnLi93b3Jrc3BhY2UudXRpbHMnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlQWN0aW9uc1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBtYXhpbWl6ZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcclxuXHJcbiAgem9vbUF1dG8kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuICBwcml2YXRlIHN0b3JhZ2VDaGFuZ2UkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBnZXQgc3RvcmFnZVNlcnZpY2UoKTogU3RvcmFnZVNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVN0YXRlLnN0b3JhZ2VTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHpvb21BdXRvKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd6b29tQXV0bycpIGFzIGJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc3RvcmFnZVN0YXRlOiBTdG9yYWdlU3RhdGUsXHJcbiAgICBwdWJsaWMgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvb2xTdGF0ZTogVG9vbFN0YXRlLFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm1heGltaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoXHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCd3b3Jrc3BhY2VNYXhpbWl6ZScpIGFzIGJvb2xlYW5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0b3JhZ2VDaGFuZ2UkJCkge1xyXG4gICAgICB0aGlzLnN0b3JhZ2VDaGFuZ2UkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEFjdGlvbnMoXHJcbiAgICB3b3Jrc3BhY2U6IEZlYXR1cmVXb3Jrc3BhY2UsXHJcbiAgICByb3dzSW5NYXBFeHRlbnRDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPixcclxuICAgIHNlbGVjdE9ubHlDaGVja0NvbmRpdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPlxyXG4gICkge1xyXG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuYnVpbGRBY3Rpb25zKFxyXG4gICAgICB3b3Jrc3BhY2UsXHJcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcclxuICAgICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJFxyXG4gICAgKTtcclxuICAgIHdvcmtzcGFjZS5hY3Rpb25TdG9yZS5sb2FkKGFjdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRBY3Rpb25zKFxyXG4gICAgd29ya3NwYWNlOiBGZWF0dXJlV29ya3NwYWNlLFxyXG4gICAgcm93c0luTWFwRXh0ZW50Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4sXHJcbiAgICBzZWxlY3RPbmx5Q2hlY2tDb25kaXRpb24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICApOiBBY3Rpb25bXSB7XHJcbiAgICB0aGlzLnpvb21BdXRvJC5uZXh0KHRoaXMuem9vbUF1dG8pO1xyXG4gICAgdGhpcy5zdG9yYWdlQ2hhbmdlJCQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnN0b3JhZ2VDaGFuZ2UkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHNraXBXaGlsZShcclxuICAgICAgICAgIChzdG9yYWdlQ2hhbmdlOiBTdG9yYWdlU2VydmljZUV2ZW50KSA9PlxyXG4gICAgICAgICAgICBzdG9yYWdlQ2hhbmdlPy5rZXkgIT09ICd6b29tQXV0bycgfHxcclxuICAgICAgICAgICAgc3RvcmFnZUNoYW5nZT8uZXZlbnQgPT09IFN0b3JhZ2VTZXJ2aWNlRXZlbnRFbnVtLkNMRUFSRURcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy56b29tQXV0byQubmV4dCh0aGlzLnpvb21BdXRvKTtcclxuICAgICAgICBoYW5kbGVab29tQXV0byh3b3Jrc3BhY2UsIHRoaXMuc3RvcmFnZVNlcnZpY2UpO1xyXG4gICAgICB9KTtcclxuICAgIHJldHVybiBnZXRXb3Jrc3BhY2VBY3Rpb25zKFxyXG4gICAgICB3b3Jrc3BhY2UsXHJcbiAgICAgIHJvd3NJbk1hcEV4dGVudENoZWNrQ29uZGl0aW9uJCxcclxuICAgICAgc2VsZWN0T25seUNoZWNrQ29uZGl0aW9uJCxcclxuICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICB0aGlzLnpvb21BdXRvJCxcclxuICAgICAgdGhpcy5tYXhpbWl6ZSQsXHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgICB0aGlzLm1lZGlhU2VydmljZSxcclxuICAgICAgdGhpcy50b29sU3RhdGUsXHJcbiAgICAgIHRoaXMuZGF0ZVBpcGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==