@provoly/dashboard 0.11.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 (1765) hide show
  1. package/README.md +5 -0
  2. package/admin/admin-routing.module.d.ts +9 -0
  3. package/admin/admin.module.d.ts +87 -0
  4. package/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.d.ts +14 -0
  5. package/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.d.ts +29 -0
  6. package/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.d.ts +12 -0
  7. package/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.d.ts +13 -0
  8. package/admin/components/admin-abac-rules/admin-abac-rules.component.d.ts +18 -0
  9. package/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.d.ts +26 -0
  10. package/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.d.ts +29 -0
  11. package/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.d.ts +28 -0
  12. package/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.d.ts +17 -0
  13. package/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.d.ts +14 -0
  14. package/admin/components/admin-abac-rules/store/abac-rules.actions.d.ts +147 -0
  15. package/admin/components/admin-abac-rules/store/abac-rules.effects.d.ts +67 -0
  16. package/admin/components/admin-abac-rules/store/abac-rules.model.d.ts +44 -0
  17. package/admin/components/admin-abac-rules/store/abac-rules.reducer.d.ts +10 -0
  18. package/admin/components/admin-abac-rules/store/abac-rules.selectors.d.ts +14 -0
  19. package/admin/components/admin-abac-rules/store/abac-rules.service.d.ts +21 -0
  20. package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +32 -0
  21. package/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.d.ts +46 -0
  22. package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +41 -0
  23. package/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.d.ts +16 -0
  24. package/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.d.ts +26 -0
  25. package/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.d.ts +5 -0
  26. package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +24 -0
  27. package/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.d.ts +17 -0
  28. package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +43 -0
  29. package/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.d.ts +17 -0
  30. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +27 -0
  31. package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +44 -0
  32. package/admin/components/admin-classes/admin-classes.component.d.ts +25 -0
  33. package/admin/components/admin-classes/store/admin-class.actions.d.ts +143 -0
  34. package/admin/components/admin-classes/store/admin-class.effects.d.ts +81 -0
  35. package/admin/components/admin-classes/store/admin-class.reducer.d.ts +11 -0
  36. package/admin/components/admin-classes/store/admin-class.selectors.d.ts +12 -0
  37. package/admin/components/admin-dataset/admin-dataset.component.d.ts +32 -0
  38. package/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.d.ts +15 -0
  39. package/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.d.ts +5 -0
  40. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +36 -0
  41. package/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.d.ts +34 -0
  42. package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +59 -0
  43. package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +30 -0
  44. package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +6 -0
  45. package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +5 -0
  46. package/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.d.ts +35 -0
  47. package/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.d.ts +5 -0
  48. package/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.d.ts +24 -0
  49. package/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.d.ts +15 -0
  50. package/admin/components/admin-environment/admin-environment.component.d.ts +20 -0
  51. package/admin/components/admin-environment/store/environment.actions.d.ts +82 -0
  52. package/admin/components/admin-environment/store/environment.effects.d.ts +44 -0
  53. package/admin/components/admin-environment/store/environment.reducer.d.ts +9 -0
  54. package/admin/components/admin-environment/store/environment.selectors.d.ts +8 -0
  55. package/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.d.ts +15 -0
  56. package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +30 -0
  57. package/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.d.ts +5 -0
  58. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +28 -0
  59. package/admin/components/admin-fields/admin-fields.component.d.ts +19 -0
  60. package/admin/components/admin-fields/store/admin-fields.model.d.ts +4 -0
  61. package/admin/components/admin-fields/store/fields.actions.d.ts +47 -0
  62. package/admin/components/admin-fields/store/fields.effects.d.ts +36 -0
  63. package/admin/components/admin-fields/store/fields.reducer.d.ts +8 -0
  64. package/admin/components/admin-fields/store/fields.selectors.d.ts +7 -0
  65. package/admin/components/admin-layout/admin-layout.component.d.ts +24 -0
  66. package/admin/components/admin-links/admin-links-new/admin-links-new.component.d.ts +33 -0
  67. package/admin/components/admin-links/admin-links.component.d.ts +19 -0
  68. package/admin/components/admin-links/store/links.actions.d.ts +31 -0
  69. package/admin/components/admin-links/store/links.effects.d.ts +28 -0
  70. package/admin/components/admin-links/store/links.reducer.d.ts +8 -0
  71. package/admin/components/admin-links/store/links.selectors.d.ts +5 -0
  72. package/admin/components/admin-menu/admin-menu.component.d.ts +14 -0
  73. package/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.d.ts +16 -0
  74. package/admin/components/admin-metadata/admin-metadata.component.d.ts +24 -0
  75. package/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.d.ts +10 -0
  76. package/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.d.ts +23 -0
  77. package/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.d.ts +36 -0
  78. package/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.d.ts +11 -0
  79. package/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.d.ts +40 -0
  80. package/admin/components/admin-metadata/store/metadata.action.d.ts +56 -0
  81. package/admin/components/admin-metadata/store/metadata.effects.d.ts +36 -0
  82. package/admin/components/admin-metadata/store/metadata.reducer.d.ts +13 -0
  83. package/admin/components/admin-metadata/store/metadata.selector.d.ts +10 -0
  84. package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +12 -0
  85. package/admin/components/admin-metadata-rules/admin-metadata-rules.component.d.ts +35 -0
  86. package/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.d.ts +5 -0
  87. package/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.d.ts +23 -0
  88. package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +41 -0
  89. package/admin/components/admin-metadata-rules/store/metadata-rules.actions.d.ts +49 -0
  90. package/admin/components/admin-metadata-rules/store/metadata-rules.effects.d.ts +39 -0
  91. package/admin/components/admin-metadata-rules/store/metadata-rules.reducer.d.ts +11 -0
  92. package/admin/components/admin-metadata-rules/store/metadata-rules.selectors.d.ts +7 -0
  93. package/admin/components/admin-metadata-user/admin-metadata-user.component.d.ts +25 -0
  94. package/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.d.ts +17 -0
  95. package/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.d.ts +10 -0
  96. package/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.d.ts +23 -0
  97. package/admin/components/admin-metadata-user/store/admin-metadata-user.action.d.ts +84 -0
  98. package/admin/components/admin-metadata-user/store/admin-metadata-user.effects.d.ts +48 -0
  99. package/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.d.ts +11 -0
  100. package/admin/components/admin-metadata-user/store/admin-metadata-user.selector.d.ts +14 -0
  101. package/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.d.ts +34 -0
  102. package/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.d.ts +5 -0
  103. package/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.d.ts +22 -0
  104. package/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.d.ts +16 -0
  105. package/admin/components/admin-predicates/admin-predicates.component.d.ts +19 -0
  106. package/admin/components/admin-predicates/store/predicates.actions.d.ts +46 -0
  107. package/admin/components/admin-predicates/store/predicates.effects.d.ts +33 -0
  108. package/admin/components/admin-predicates/store/predicates.reducer.d.ts +9 -0
  109. package/admin/components/admin-predicates/store/predicates.selectors.d.ts +8 -0
  110. package/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.d.ts +32 -0
  111. package/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.d.ts +19 -0
  112. package/admin/components/admin-relation-types/admin-relation-types.component.d.ts +15 -0
  113. package/admin/components/admin-title/admin-title.component.d.ts +15 -0
  114. package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +35 -0
  115. package/admin/components/admin-user/admin-user.component.d.ts +18 -0
  116. package/admin/components/admin-user/store/admin-user.action.d.ts +76 -0
  117. package/admin/components/admin-user/store/admin-user.effects.d.ts +43 -0
  118. package/admin/components/admin-user/store/admin-user.reducer.d.ts +10 -0
  119. package/admin/components/admin-user/store/admin-user.selector.d.ts +8 -0
  120. package/admin/components/admin.component.d.ts +17 -0
  121. package/admin/i18n/en.translations.d.ts +327 -0
  122. package/admin/i18n/fr.translations.d.ts +328 -0
  123. package/admin/index.d.ts +5 -0
  124. package/admin/public-api.d.ts +1 -0
  125. package/admin/store/admin.actions.d.ts +41 -0
  126. package/admin/store/admin.effects.d.ts +34 -0
  127. package/admin/store/admin.reducer.d.ts +13 -0
  128. package/admin/store/admin.selectors.d.ts +13 -0
  129. package/admin/store/admin.service.d.ts +45 -0
  130. package/assets/backgrounds/chart.svg +684 -0
  131. package/assets/backgrounds/detail.svg +27 -0
  132. package/assets/backgrounds/graph.svg +1775 -0
  133. package/assets/backgrounds/iframe.svg +799 -0
  134. package/assets/backgrounds/img_processus.png +0 -0
  135. package/assets/backgrounds/map.svg +154 -0
  136. package/assets/backgrounds/placeholder.png +0 -0
  137. package/assets/backgrounds/table.svg +48 -0
  138. package/assets/backgrounds/template.svg +26 -0
  139. package/assets/backgrounds/tile.svg +26 -0
  140. package/assets/fonts/ubuntu-latin-bold.woff2 +0 -0
  141. package/assets/fonts/ubuntu-latin-medium.woff2 +0 -0
  142. package/assets/fonts/ubuntu-latin-regular.woff2 +0 -0
  143. package/assets/svgs/add.svg +4 -0
  144. package/assets/svgs/add_column.svg +5 -0
  145. package/assets/svgs/admin-fill.svg +5 -0
  146. package/assets/svgs/admin.svg +8 -0
  147. package/assets/svgs/ads_click.svg +5 -0
  148. package/assets/svgs/apps.svg +5 -0
  149. package/assets/svgs/area_chart.svg +19 -0
  150. package/assets/svgs/arrow_back.svg +4 -0
  151. package/assets/svgs/arrow_right.svg +6 -0
  152. package/assets/svgs/auto_graph.svg +12 -0
  153. package/assets/svgs/bar_chart.svg +18 -0
  154. package/assets/svgs/bubble-chart-line.svg +18 -0
  155. package/assets/svgs/bulles.svg +5 -0
  156. package/assets/svgs/chart.svg +5 -0
  157. package/assets/svgs/chat-settings.svg +5 -0
  158. package/assets/svgs/check.svg +4 -0
  159. package/assets/svgs/checkbox-circle.svg +6 -0
  160. package/assets/svgs/chevron_bottom.svg +6 -0
  161. package/assets/svgs/chevron_bottom_rounded.svg +5 -0
  162. package/assets/svgs/chevron_left.svg +6 -0
  163. package/assets/svgs/chevron_right.svg +6 -0
  164. package/assets/svgs/chevron_top.svg +3 -0
  165. package/assets/svgs/chevron_top_rounded.svg +5 -0
  166. package/assets/svgs/click.svg +4 -0
  167. package/assets/svgs/close.svg +5 -0
  168. package/assets/svgs/control.svg +5 -0
  169. package/assets/svgs/control_point.svg +5 -0
  170. package/assets/svgs/danger.svg +5 -0
  171. package/assets/svgs/data.svg +5 -0
  172. package/assets/svgs/data_usage.svg +5 -0
  173. package/assets/svgs/dataset.svg +0 -0
  174. package/assets/svgs/default-restitution.svg +6 -0
  175. package/assets/svgs/default.svg +28 -0
  176. package/assets/svgs/delete.svg +5 -0
  177. package/assets/svgs/detail.svg +5 -0
  178. package/assets/svgs/donut_large.svg +14 -0
  179. package/assets/svgs/download.svg +4 -0
  180. package/assets/svgs/drag_indicator.svg +5 -0
  181. package/assets/svgs/edit.svg +5 -0
  182. package/assets/svgs/edit_off.svg +5 -0
  183. package/assets/svgs/epingle.svg +6 -0
  184. package/assets/svgs/event-fill.svg +5 -0
  185. package/assets/svgs/event.svg +5 -0
  186. package/assets/svgs/exposure_neg_1.svg +4 -0
  187. package/assets/svgs/exposure_plus_1.svg +4 -0
  188. package/assets/svgs/eye-arrow-down.svg +14 -0
  189. package/assets/svgs/eye-arrow-up.svg +14 -0
  190. package/assets/svgs/eye.svg +5 -0
  191. package/assets/svgs/file_download.svg +5 -0
  192. package/assets/svgs/file_upload.svg +5 -0
  193. package/assets/svgs/fleche_bas.svg +4 -0
  194. package/assets/svgs/fleche_haut.svg +4 -0
  195. package/assets/svgs/frequentation.svg +4 -0
  196. package/assets/svgs/fullscreen.svg +4 -0
  197. package/assets/svgs/globe.svg +5 -0
  198. package/assets/svgs/graph.svg +20 -0
  199. package/assets/svgs/grid_1_2_horizontal.svg +4 -0
  200. package/assets/svgs/grid_1_2_vertical.svg +4 -0
  201. package/assets/svgs/grid_1_3_horizontal.svg +5 -0
  202. package/assets/svgs/grid_1_3_vertical.svg +5 -0
  203. package/assets/svgs/grid_1_4.svg +6 -0
  204. package/assets/svgs/grid_2_gauche_1_droite.svg +5 -0
  205. package/assets/svgs/grid_composition_libre.svg +7 -0
  206. package/assets/svgs/grid_full.svg +3 -0
  207. package/assets/svgs/grid_view.svg +4 -0
  208. package/assets/svgs/heart-add-line.svg +5 -0
  209. package/assets/svgs/heart-fill.svg +5 -0
  210. package/assets/svgs/highlight_alt.svg +5 -0
  211. package/assets/svgs/history-line.svg +5 -0
  212. package/assets/svgs/home-fill.svg +5 -0
  213. package/assets/svgs/home-fill_old.svg +4 -0
  214. package/assets/svgs/home-line.svg +12 -0
  215. package/assets/svgs/home-line_old.svg +5 -0
  216. package/assets/svgs/home.svg +12 -0
  217. package/assets/svgs/iframe.svg +11 -0
  218. package/assets/svgs/image.svg +6 -0
  219. package/assets/svgs/info.svg +8 -0
  220. package/assets/svgs/information-point.svg +5 -0
  221. package/assets/svgs/lasso.svg +5 -0
  222. package/assets/svgs/launch.svg +5 -0
  223. package/assets/svgs/legend.svg +4 -0
  224. package/assets/svgs/library_add.svg +5 -0
  225. package/assets/svgs/links_line.svg +5 -0
  226. package/assets/svgs/map.svg +8 -0
  227. package/assets/svgs/marqueur.svg +5 -0
  228. package/assets/svgs/mode_clic.svg +5 -0
  229. package/assets/svgs/more_horiz.svg +5 -0
  230. package/assets/svgs/more_vertical.svg +5 -0
  231. package/assets/svgs/move.svg +5 -0
  232. package/assets/svgs/noise_aware.svg +12 -0
  233. package/assets/svgs/north_east.svg +6 -0
  234. package/assets/svgs/north_west.svg +6 -0
  235. package/assets/svgs/notification-4-line.svg +5 -0
  236. package/assets/svgs/notification.svg +5 -0
  237. package/assets/svgs/notifications.svg +5 -0
  238. package/assets/svgs/picture-in-picture.svg +7 -0
  239. package/assets/svgs/place.svg +5 -0
  240. package/assets/svgs/post_add.svg +8 -0
  241. package/assets/svgs/presentation-fill.svg +4 -0
  242. package/assets/svgs/presentation.svg +5 -0
  243. package/assets/svgs/private.svg +10 -0
  244. package/assets/svgs/pry_recherche.svg +81 -0
  245. package/assets/svgs/pry_recherche_pas_de_resultat.svg +81 -0
  246. package/assets/svgs/public.svg +16 -0
  247. package/assets/svgs/published_with_changes.svg +5 -0
  248. package/assets/svgs/question-line.svg +5 -0
  249. package/assets/svgs/radar_chart.svg +11 -0
  250. package/assets/svgs/rectangle.svg +5 -0
  251. package/assets/svgs/remove.svg +4 -0
  252. package/assets/svgs/renamed.svg +6 -0
  253. package/assets/svgs/reset.svg +4 -0
  254. package/assets/svgs/resize.svg +4 -0
  255. package/assets/svgs/restitution-fill.svg +11 -0
  256. package/assets/svgs/restitution.svg +15 -0
  257. package/assets/svgs/restricted.svg +18 -0
  258. package/assets/svgs/rotate-lock-line.svg +5 -0
  259. package/assets/svgs/save-fill.svg +4 -0
  260. package/assets/svgs/save-line.svg +5 -0
  261. package/assets/svgs/screenshot-fill.svg +5 -0
  262. package/assets/svgs/search-criteria.svg +5 -0
  263. package/assets/svgs/search-fill.svg +5 -0
  264. package/assets/svgs/search-line.svg +5 -0
  265. package/assets/svgs/search.svg +4 -0
  266. package/assets/svgs/settings_applications.svg +12 -0
  267. package/assets/svgs/share.svg +5 -0
  268. package/assets/svgs/share_location.svg +20 -0
  269. package/assets/svgs/shield-lock.svg +7 -0
  270. package/assets/svgs/show_chart.svg +12 -0
  271. package/assets/svgs/south_east.svg +6 -0
  272. package/assets/svgs/south_west.svg +6 -0
  273. package/assets/svgs/stack-fill.svg +5 -0
  274. package/assets/svgs/stack-line.svg +5 -0
  275. package/assets/svgs/stop.svg +5 -0
  276. package/assets/svgs/supervision.svg +13 -0
  277. package/assets/svgs/svg.svg +5 -0
  278. package/assets/svgs/synchro.svg +5 -0
  279. package/assets/svgs/table.svg +5 -0
  280. package/assets/svgs/table_chart.svg +18 -0
  281. package/assets/svgs/tags.svg +11 -0
  282. package/assets/svgs/tile.svg +12 -0
  283. package/assets/svgs/toc.svg +20 -0
  284. package/assets/svgs/transformation-fill.svg +21 -0
  285. package/assets/svgs/transformation.svg +20 -0
  286. package/assets/svgs/tune.svg +5 -0
  287. package/assets/svgs/unpublished.svg +5 -0
  288. package/assets/svgs/upload.svg +4 -0
  289. package/assets/svgs/user.svg +5 -0
  290. package/assets/svgs/warning-triangle.svg +5 -0
  291. package/assets/svgs/warning.svg +5 -0
  292. package/assets/svgs/zoom.svg +6 -0
  293. package/components/card/card.component.d.ts +69 -0
  294. package/components/card/card.module.d.ts +10 -0
  295. package/components/card/index.d.ts +5 -0
  296. package/components/card/public-api.d.ts +2 -0
  297. package/components/checkbox/checkbox.component.d.ts +20 -0
  298. package/components/checkbox/checkbox.module.d.ts +9 -0
  299. package/components/checkbox/index.d.ts +5 -0
  300. package/components/checkbox/public-api.d.ts +2 -0
  301. package/components/expand-panel/expand-panel.component.d.ts +14 -0
  302. package/components/expand-panel/expand-panel.module.d.ts +7 -0
  303. package/components/expand-panel/index.d.ts +5 -0
  304. package/components/expand-panel/public-api.d.ts +2 -0
  305. package/components/filter/filter.module.d.ts +7 -0
  306. package/components/filter/filter.pipe.d.ts +7 -0
  307. package/components/filter/index.d.ts +5 -0
  308. package/components/filter/public-api.d.ts +2 -0
  309. package/components/sinceDate/index.d.ts +5 -0
  310. package/components/sinceDate/public-api.d.ts +2 -0
  311. package/components/sinceDate/sinceDate.module.d.ts +7 -0
  312. package/components/sinceDate/sinceDate.pipe.d.ts +11 -0
  313. package/components/stepper/index.d.ts +5 -0
  314. package/components/stepper/public-api.d.ts +4 -0
  315. package/components/stepper/step/step.component.d.ts +15 -0
  316. package/components/stepper/step-title.directive.d.ts +8 -0
  317. package/components/stepper/stepper.component.d.ts +28 -0
  318. package/components/stepper/stepper.module.d.ts +10 -0
  319. package/dataset/components/dataset-card/dataset-card.component.d.ts +10 -0
  320. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +29 -0
  321. package/dataset/components/dataset.component.d.ts +17 -0
  322. package/dataset/dataset.module.d.ts +17 -0
  323. package/dataset/i18n/en.translations.d.ts +33 -0
  324. package/dataset/i18n/fr.translations.d.ts +38 -0
  325. package/dataset/index.d.ts +5 -0
  326. package/dataset/public-api.d.ts +5 -0
  327. package/dataset/style/_o-pry-dataset-card.scss +29 -0
  328. package/dataset/style/_o-pry-dataset-detail.scss +55 -0
  329. package/dataset/style/_o-pry-dataset.scss +31 -0
  330. package/dataset/style/css.component.d.ts +5 -0
  331. package/esm2022/admin/admin-routing.module.mjs +567 -0
  332. package/esm2022/admin/admin.module.mjs +366 -0
  333. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +50 -0
  334. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +57 -0
  335. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +34 -0
  336. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +54 -0
  337. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +47 -0
  338. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +81 -0
  339. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +66 -0
  340. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +69 -0
  341. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +29 -0
  342. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +24 -0
  343. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.actions.mjs +28 -0
  344. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +78 -0
  345. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.model.mjs +20 -0
  346. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.reducer.mjs +110 -0
  347. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.selectors.mjs +29 -0
  348. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +161 -0
  349. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +92 -0
  350. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +146 -0
  351. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +127 -0
  352. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +26 -0
  353. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +91 -0
  354. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +13 -0
  355. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +107 -0
  356. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +30 -0
  357. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +151 -0
  358. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +30 -0
  359. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +81 -0
  360. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +183 -0
  361. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +70 -0
  362. package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +32 -0
  363. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +139 -0
  364. package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +43 -0
  365. package/esm2022/admin/components/admin-classes/store/admin-class.selectors.mjs +23 -0
  366. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +79 -0
  367. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +26 -0
  368. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +13 -0
  369. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +155 -0
  370. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +98 -0
  371. package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +14 -0
  372. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +34 -0
  373. package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +11 -0
  374. package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +9 -0
  375. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +125 -0
  376. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +13 -0
  377. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +94 -0
  378. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +26 -0
  379. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +51 -0
  380. package/esm2022/admin/components/admin-environment/store/environment.actions.mjs +19 -0
  381. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +47 -0
  382. package/esm2022/admin/components/admin-environment/store/environment.reducer.mjs +39 -0
  383. package/esm2022/admin/components/admin-environment/store/environment.selectors.mjs +15 -0
  384. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +25 -0
  385. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +85 -0
  386. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +13 -0
  387. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +96 -0
  388. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +52 -0
  389. package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +2 -0
  390. package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +14 -0
  391. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +54 -0
  392. package/esm2022/admin/components/admin-fields/store/fields.reducer.mjs +14 -0
  393. package/esm2022/admin/components/admin-fields/store/fields.selectors.mjs +13 -0
  394. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +81 -0
  395. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +92 -0
  396. package/esm2022/admin/components/admin-links/admin-links.component.mjs +60 -0
  397. package/esm2022/admin/components/admin-links/store/links.actions.mjs +10 -0
  398. package/esm2022/admin/components/admin-links/store/links.effects.mjs +27 -0
  399. package/esm2022/admin/components/admin-links/store/links.reducer.mjs +19 -0
  400. package/esm2022/admin/components/admin-links/store/links.selectors.mjs +9 -0
  401. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +38 -0
  402. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +32 -0
  403. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +65 -0
  404. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +21 -0
  405. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +77 -0
  406. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +130 -0
  407. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +21 -0
  408. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +90 -0
  409. package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +19 -0
  410. package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +33 -0
  411. package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +35 -0
  412. package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +17 -0
  413. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +22 -0
  414. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +86 -0
  415. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +13 -0
  416. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +86 -0
  417. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +133 -0
  418. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.actions.mjs +23 -0
  419. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +51 -0
  420. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.reducer.mjs +28 -0
  421. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.selectors.mjs +13 -0
  422. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +65 -0
  423. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +33 -0
  424. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +21 -0
  425. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +77 -0
  426. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.action.mjs +23 -0
  427. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +38 -0
  428. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.mjs +45 -0
  429. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.selector.mjs +17 -0
  430. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +102 -0
  431. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +13 -0
  432. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +69 -0
  433. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +27 -0
  434. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +46 -0
  435. package/esm2022/admin/components/admin-predicates/store/predicates.actions.mjs +13 -0
  436. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +28 -0
  437. package/esm2022/admin/components/admin-predicates/store/predicates.reducer.mjs +40 -0
  438. package/esm2022/admin/components/admin-predicates/store/predicates.selectors.mjs +15 -0
  439. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +101 -0
  440. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +63 -0
  441. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +42 -0
  442. package/esm2022/admin/components/admin-title/admin-title.component.mjs +29 -0
  443. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +116 -0
  444. package/esm2022/admin/components/admin-user/admin-user.component.mjs +34 -0
  445. package/esm2022/admin/components/admin-user/store/admin-user.action.mjs +21 -0
  446. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +38 -0
  447. package/esm2022/admin/components/admin-user/store/admin-user.reducer.mjs +27 -0
  448. package/esm2022/admin/components/admin-user/store/admin-user.selector.mjs +15 -0
  449. package/esm2022/admin/components/admin.component.mjs +29 -0
  450. package/esm2022/admin/i18n/en.translations.mjs +328 -0
  451. package/esm2022/admin/i18n/fr.translations.mjs +329 -0
  452. package/esm2022/admin/provoly-dashboard-admin.mjs +5 -0
  453. package/esm2022/admin/public-api.mjs +2 -0
  454. package/esm2022/admin/store/admin.actions.mjs +12 -0
  455. package/esm2022/admin/store/admin.effects.mjs +66 -0
  456. package/esm2022/admin/store/admin.reducer.mjs +52 -0
  457. package/esm2022/admin/store/admin.selectors.mjs +32 -0
  458. package/esm2022/admin/store/admin.service.mjs +181 -0
  459. package/esm2022/components/card/card.component.mjs +270 -0
  460. package/esm2022/components/card/card.module.mjs +38 -0
  461. package/esm2022/components/card/provoly-dashboard-components-card.mjs +5 -0
  462. package/esm2022/components/card/public-api.mjs +3 -0
  463. package/esm2022/components/checkbox/checkbox.component.mjs +58 -0
  464. package/esm2022/components/checkbox/checkbox.module.mjs +20 -0
  465. package/esm2022/components/checkbox/provoly-dashboard-components-checkbox.mjs +5 -0
  466. package/esm2022/components/checkbox/public-api.mjs +3 -0
  467. package/esm2022/components/expand-panel/expand-panel.component.mjs +65 -0
  468. package/esm2022/components/expand-panel/expand-panel.module.mjs +19 -0
  469. package/esm2022/components/expand-panel/provoly-dashboard-components-expand-panel.mjs +5 -0
  470. package/esm2022/components/expand-panel/public-api.mjs +3 -0
  471. package/esm2022/components/filter/filter.module.mjs +16 -0
  472. package/esm2022/components/filter/filter.pipe.mjs +16 -0
  473. package/esm2022/components/filter/provoly-dashboard-components-filter.mjs +5 -0
  474. package/esm2022/components/filter/public-api.mjs +3 -0
  475. package/esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs +5 -0
  476. package/esm2022/components/sinceDate/public-api.mjs +3 -0
  477. package/esm2022/components/sinceDate/sinceDate.module.mjs +16 -0
  478. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +40 -0
  479. package/esm2022/components/stepper/provoly-dashboard-components-stepper.mjs +5 -0
  480. package/esm2022/components/stepper/public-api.mjs +5 -0
  481. package/esm2022/components/stepper/step/step.component.mjs +36 -0
  482. package/esm2022/components/stepper/step-title.directive.mjs +14 -0
  483. package/esm2022/components/stepper/stepper.component.mjs +109 -0
  484. package/esm2022/components/stepper/stepper.module.mjs +20 -0
  485. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +24 -0
  486. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +86 -0
  487. package/esm2022/dataset/components/dataset.component.mjs +35 -0
  488. package/esm2022/dataset/dataset.module.mjs +59 -0
  489. package/esm2022/dataset/i18n/en.translations.mjs +34 -0
  490. package/esm2022/dataset/i18n/fr.translations.mjs +39 -0
  491. package/esm2022/dataset/provoly-dashboard-dataset.mjs +5 -0
  492. package/esm2022/dataset/public-api.mjs +6 -0
  493. package/esm2022/dataset/style/css.component.mjs +11 -0
  494. package/esm2022/filters/date/date-filter.component.mjs +50 -0
  495. package/esm2022/filters/date/date-filter.module.mjs +25 -0
  496. package/esm2022/filters/date/provoly-dashboard-filters-date.mjs +5 -0
  497. package/esm2022/filters/date/public-api.mjs +4 -0
  498. package/esm2022/filters/date/style/css.component.mjs +11 -0
  499. package/esm2022/filters/list/list-filter.component.mjs +31 -0
  500. package/esm2022/filters/list/list-filter.module.mjs +24 -0
  501. package/esm2022/filters/list/provoly-dashboard-filters-list.mjs +5 -0
  502. package/esm2022/filters/list/public-api.mjs +4 -0
  503. package/esm2022/filters/list/style/css.component.mjs +11 -0
  504. package/esm2022/filters/number/number-filter.component.mjs +26 -0
  505. package/esm2022/filters/number/number-filter.module.mjs +24 -0
  506. package/esm2022/filters/number/provoly-dashboard-filters-number.mjs +5 -0
  507. package/esm2022/filters/number/public-api.mjs +3 -0
  508. package/esm2022/filters/text/provoly-dashboard-filters-text.mjs +5 -0
  509. package/esm2022/filters/text/public-api.mjs +3 -0
  510. package/esm2022/filters/text/text-filter.component.mjs +29 -0
  511. package/esm2022/filters/text/text-filter.module.mjs +24 -0
  512. package/esm2022/import/components/import.component.mjs +72 -0
  513. package/esm2022/import/i18n/en.translations.mjs +28 -0
  514. package/esm2022/import/i18n/fr.translations.mjs +28 -0
  515. package/esm2022/import/import-routing.module.mjs +32 -0
  516. package/esm2022/import/import.module.mjs +61 -0
  517. package/esm2022/import/provoly-dashboard-import.mjs +5 -0
  518. package/esm2022/import/public-api.mjs +3 -0
  519. package/esm2022/import/store/import.actions.mjs +7 -0
  520. package/esm2022/import/store/import.effects.mjs +32 -0
  521. package/esm2022/import/store/import.reducer.mjs +23 -0
  522. package/esm2022/import/store/import.selectors.mjs +10 -0
  523. package/esm2022/import/store/import.service.mjs +29 -0
  524. package/esm2022/import/style/css.component.mjs +11 -0
  525. package/esm2022/lib/core/access/access.directive.mjs +45 -0
  526. package/esm2022/lib/core/access/access.guard.mjs +21 -0
  527. package/esm2022/lib/core/access/access.model.mjs +2 -0
  528. package/esm2022/lib/core/access/access.service.mjs +20 -0
  529. package/esm2022/lib/core/access/access.utils.mjs +83 -0
  530. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +44 -0
  531. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +29 -0
  532. package/esm2022/lib/core/components/base-toolbox/base-toolbox-action.interface.mjs +2 -0
  533. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +23 -0
  534. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +64 -0
  535. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +206 -0
  536. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +36 -0
  537. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +42 -0
  538. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +92 -0
  539. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +81 -0
  540. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +60 -0
  541. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +22 -0
  542. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +25 -0
  543. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +30 -0
  544. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +20 -0
  545. package/esm2022/lib/core/components/icon/icon.component.mjs +92 -0
  546. package/esm2022/lib/core/components/icon/icon.module.mjs +19 -0
  547. package/esm2022/lib/core/components/modal/modal.component.mjs +34 -0
  548. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +22 -0
  549. package/esm2022/lib/core/components/modalStatus/modalStatus.component.mjs +35 -0
  550. package/esm2022/lib/core/components/modalStatus/modalStatus.module.mjs +28 -0
  551. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +77 -0
  552. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +57 -0
  553. package/esm2022/lib/core/components/overlay/dialog-ref.mjs +15 -0
  554. package/esm2022/lib/core/components/overlay/dialog.service.mjs +71 -0
  555. package/esm2022/lib/core/components/overlay/overlay.constantes.mjs +9 -0
  556. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +125 -0
  557. package/esm2022/lib/core/components/overlay/overlay.module.mjs +23 -0
  558. package/esm2022/lib/core/components/overlay/tooltip.directive.mjs +121 -0
  559. package/esm2022/lib/core/components/range/range.component.mjs +106 -0
  560. package/esm2022/lib/core/components/range/range.module.mjs +19 -0
  561. package/esm2022/lib/core/components/select/select.component.mjs +118 -0
  562. package/esm2022/lib/core/components/select/select.module.mjs +22 -0
  563. package/esm2022/lib/core/components/select-image/select-image.component.mjs +84 -0
  564. package/esm2022/lib/core/components/share/share.component.mjs +83 -0
  565. package/esm2022/lib/core/components/share/share.model.mjs +7 -0
  566. package/esm2022/lib/core/components/share/share.module.mjs +21 -0
  567. package/esm2022/lib/core/components/snackbar/snack.interface.mjs +2 -0
  568. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +65 -0
  569. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +19 -0
  570. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +63 -0
  571. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +54 -0
  572. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +52 -0
  573. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +13 -0
  574. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +64 -0
  575. package/esm2022/lib/core/components/sort/sort.model.mjs +2 -0
  576. package/esm2022/lib/core/components/sort/sort.module.mjs +23 -0
  577. package/esm2022/lib/core/components/title-presentation/title-presentation.component.mjs +26 -0
  578. package/esm2022/lib/core/components/toggle/toggle.component.mjs +100 -0
  579. package/esm2022/lib/core/components/toggle/toggle.module.mjs +21 -0
  580. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +115 -0
  581. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +27 -0
  582. package/esm2022/lib/core/components/upload/upload.component.mjs +88 -0
  583. package/esm2022/lib/core/core.module.mjs +179 -0
  584. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +44 -0
  585. package/esm2022/lib/core/i18n/deep-merge.function.mjs +21 -0
  586. package/esm2022/lib/core/i18n/en.translations.mjs +323 -0
  587. package/esm2022/lib/core/i18n/fr.translations.mjs +323 -0
  588. package/esm2022/lib/core/i18n/i18n.module.mjs +16 -0
  589. package/esm2022/lib/core/i18n/i18n.pipe.mjs +42 -0
  590. package/esm2022/lib/core/i18n/i18n.service.mjs +88 -0
  591. package/esm2022/lib/core/model/admin-api.model.mjs +45 -0
  592. package/esm2022/lib/core/model/dataset.interface.mjs +13 -0
  593. package/esm2022/lib/core/model/filter.interface.mjs +2 -0
  594. package/esm2022/lib/core/model/item.interface.mjs +2 -0
  595. package/esm2022/lib/core/model/manifest.interface.mjs +11 -0
  596. package/esm2022/lib/core/model/mimetype-resultset.constant.mjs +2 -0
  597. package/esm2022/lib/core/model/notification-interface.mjs +2 -0
  598. package/esm2022/lib/core/model/public-api.mjs +25 -0
  599. package/esm2022/lib/core/model/relation.interface.mjs +2 -0
  600. package/esm2022/lib/core/model/result-order.interface.mjs +2 -0
  601. package/esm2022/lib/core/model/result-set.interface.mjs +2 -0
  602. package/esm2022/lib/core/model/search-mono-class.model.mjs +17 -0
  603. package/esm2022/lib/core/model/search-multi-class.model.mjs +2 -0
  604. package/esm2022/lib/core/model/tooltip-of-class.interface.mjs +2 -0
  605. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +26 -0
  606. package/esm2022/lib/core/model/widget-chart-manifest.interface.mjs +63 -0
  607. package/esm2022/lib/core/model/widget-detail-manifest.interface.mjs +2 -0
  608. package/esm2022/lib/core/model/widget-graph-manifest.interface.mjs +2 -0
  609. package/esm2022/lib/core/model/widget-iframe-manifest.interface.mjs +2 -0
  610. package/esm2022/lib/core/model/widget-image-manifest.interface.mjs +2 -0
  611. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +19 -0
  612. package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +2 -0
  613. package/esm2022/lib/core/model/widget-template-manifest.interface.mjs +2 -0
  614. package/esm2022/lib/core/model/widget-tile-manifest.interface.mjs +2 -0
  615. package/esm2022/lib/core/model/widget.interface.mjs +2 -0
  616. package/esm2022/lib/core/public-api.mjs +113 -0
  617. package/esm2022/lib/core/store/category/category.actions.mjs +7 -0
  618. package/esm2022/lib/core/store/category/category.effects.mjs +20 -0
  619. package/esm2022/lib/core/store/category/category.interface.mjs +2 -0
  620. package/esm2022/lib/core/store/category/category.reducer.mjs +19 -0
  621. package/esm2022/lib/core/store/category/category.selectors.mjs +11 -0
  622. package/esm2022/lib/core/store/category/category.service.mjs +26 -0
  623. package/esm2022/lib/core/store/class/class.actions.mjs +13 -0
  624. package/esm2022/lib/core/store/class/class.effects.mjs +26 -0
  625. package/esm2022/lib/core/store/class/class.interface.mjs +2 -0
  626. package/esm2022/lib/core/store/class/class.reducer.mjs +42 -0
  627. package/esm2022/lib/core/store/class/class.selectors.mjs +31 -0
  628. package/esm2022/lib/core/store/class/class.service.mjs +42 -0
  629. package/esm2022/lib/core/store/config/config.actions.mjs +31 -0
  630. package/esm2022/lib/core/store/config/config.effects.mjs +100 -0
  631. package/esm2022/lib/core/store/config/config.reducer.mjs +122 -0
  632. package/esm2022/lib/core/store/config/config.selectors.mjs +82 -0
  633. package/esm2022/lib/core/store/config/config.service.mjs +106 -0
  634. package/esm2022/lib/core/store/config/config.widget.constants.mjs +55 -0
  635. package/esm2022/lib/core/store/config/icon-definitions.interface.mjs +19 -0
  636. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +37 -0
  637. package/esm2022/lib/core/store/context-menu/context-menu.actions.mjs +6 -0
  638. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +14 -0
  639. package/esm2022/lib/core/store/context-menu/context-menu.reducer.mjs +29 -0
  640. package/esm2022/lib/core/store/context-menu/context-menu.selectors.mjs +19 -0
  641. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +53 -0
  642. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +151 -0
  643. package/esm2022/lib/core/store/data-source/data-source.model.mjs +2 -0
  644. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +87 -0
  645. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +66 -0
  646. package/esm2022/lib/core/store/data-source/data-source.service.mjs +123 -0
  647. package/esm2022/lib/core/store/data-source/named-query-types.model.mjs +7 -0
  648. package/esm2022/lib/core/store/data-source/named-query-utils.mjs +13 -0
  649. package/esm2022/lib/core/store/field/field.actions.mjs +7 -0
  650. package/esm2022/lib/core/store/field/field.effects.mjs +20 -0
  651. package/esm2022/lib/core/store/field/field.interface.mjs +18 -0
  652. package/esm2022/lib/core/store/field/field.reducer.mjs +19 -0
  653. package/esm2022/lib/core/store/field/field.selectors.mjs +19 -0
  654. package/esm2022/lib/core/store/field/field.service.mjs +36 -0
  655. package/esm2022/lib/core/store/image/image.actions.mjs +10 -0
  656. package/esm2022/lib/core/store/image/image.effects.mjs +21 -0
  657. package/esm2022/lib/core/store/image/image.reducer.mjs +23 -0
  658. package/esm2022/lib/core/store/image/image.selectors.mjs +19 -0
  659. package/esm2022/lib/core/store/image/image.service.mjs +72 -0
  660. package/esm2022/lib/core/store/item/item.actions.mjs +7 -0
  661. package/esm2022/lib/core/store/item/item.effects.mjs +44 -0
  662. package/esm2022/lib/core/store/item/item.service.mjs +50 -0
  663. package/esm2022/lib/core/store/raw/raw.service.mjs +50 -0
  664. package/esm2022/lib/core/store/relation-types/relation-types.actions.mjs +22 -0
  665. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +48 -0
  666. package/esm2022/lib/core/store/relation-types/relation-types.interface.mjs +2 -0
  667. package/esm2022/lib/core/store/relation-types/relation-types.reducer.mjs +33 -0
  668. package/esm2022/lib/core/store/relation-types/relation-types.selectors.mjs +18 -0
  669. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +46 -0
  670. package/esm2022/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.mjs +35 -0
  671. package/esm2022/lib/core/store/search/search.actions.mjs +9 -0
  672. package/esm2022/lib/core/store/search/search.constants.mjs +3 -0
  673. package/esm2022/lib/core/store/search/search.effects.mjs +36 -0
  674. package/esm2022/lib/core/store/search/search.reducer.mjs +25 -0
  675. package/esm2022/lib/core/store/search/search.selectors.mjs +9 -0
  676. package/esm2022/lib/core/store/search/search.service.mjs +96 -0
  677. package/esm2022/lib/core/symbol/symbol.service.mjs +182 -0
  678. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +335 -0
  679. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +167 -0
  680. package/esm2022/lib/core/ws/websocket.service.mjs +92 -0
  681. package/esm2022/lib/dashboard/action-bus/bus-action.interface.mjs +2 -0
  682. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +23 -0
  683. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +86 -0
  684. package/esm2022/lib/dashboard/action-bus/service/control-message.interface.mjs +2 -0
  685. package/esm2022/lib/dashboard/base-widget.module.mjs +16 -0
  686. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +131 -0
  687. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +267 -0
  688. package/esm2022/lib/dashboard/components/dashboard.component.mjs +558 -0
  689. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +60 -0
  690. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +33 -0
  691. package/esm2022/lib/dashboard/components/solve-collisions.function.mjs +88 -0
  692. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +17 -0
  693. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +45 -0
  694. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +62 -0
  695. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +59 -0
  696. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +45 -0
  697. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +474 -0
  698. package/esm2022/lib/dashboard/components/widgets/public-api.mjs +10 -0
  699. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +97 -0
  700. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +20 -0
  701. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +60 -0
  702. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +90 -0
  703. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.mjs +2 -0
  704. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +17 -0
  705. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +183 -0
  706. package/esm2022/lib/dashboard/dashboard.module.mjs +172 -0
  707. package/esm2022/lib/dashboard/date-utils.mjs +7 -0
  708. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +32 -0
  709. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +15 -0
  710. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +42 -0
  711. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +67 -0
  712. package/esm2022/lib/dashboard/filter/filter-loader.function.mjs +21 -0
  713. package/esm2022/lib/dashboard/filter/public-api.mjs +6 -0
  714. package/esm2022/lib/dashboard/guard/default-view.guard.mjs +41 -0
  715. package/esm2022/lib/dashboard/item-utils.mjs +167 -0
  716. package/esm2022/lib/dashboard/public-api.mjs +31 -0
  717. package/esm2022/lib/dashboard/resultset-utils.mjs +30 -0
  718. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +37 -0
  719. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +76 -0
  720. package/esm2022/lib/dashboard/store/dashboard.contants.mjs +5 -0
  721. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +333 -0
  722. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +590 -0
  723. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +118 -0
  724. package/esm2022/lib/dashboard/store/geocoding.service.mjs +44 -0
  725. package/esm2022/lib/dashboard/store/manifest.service.mjs +95 -0
  726. package/esm2022/lib/dashboard/store/refresh.service.mjs +37 -0
  727. package/esm2022/lib/dashboard/store/title.service.mjs +39 -0
  728. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +20 -0
  729. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +16 -0
  730. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +15 -0
  731. package/esm2022/lib/dashboard/tooltip/public-api.mjs +6 -0
  732. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +77 -0
  733. package/esm2022/lib/dashboard/tooltip/tooltip-loader.function.mjs +22 -0
  734. package/esm2022/lib/dashboard/widget-loader.function.mjs +22 -0
  735. package/esm2022/notification/components/notification/content/notification-content.component.mjs +62 -0
  736. package/esm2022/notification/components/notification/notification.component.mjs +59 -0
  737. package/esm2022/notification/i18n/en.translations.mjs +23 -0
  738. package/esm2022/notification/i18n/fr.translations.mjs +23 -0
  739. package/esm2022/notification/notification.module.mjs +53 -0
  740. package/esm2022/notification/provoly-dashboard-notification.mjs +5 -0
  741. package/esm2022/notification/public-api.mjs +9 -0
  742. package/esm2022/notification/store/notification.actions.mjs +9 -0
  743. package/esm2022/notification/store/notification.effects.mjs +37 -0
  744. package/esm2022/notification/store/notification.reducer.mjs +20 -0
  745. package/esm2022/notification/store/notification.selectors.mjs +9 -0
  746. package/esm2022/notification/store/notification.service.mjs +31 -0
  747. package/esm2022/notification/style/css.component.mjs +11 -0
  748. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +103 -0
  749. package/esm2022/pipeline/components/pipeline-editor/graph-serializer.utils.mjs +101 -0
  750. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +305 -0
  751. package/esm2022/pipeline/components/pipeline-editor/pipeline.interface.mjs +7 -0
  752. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +174 -0
  753. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +22 -0
  754. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +58 -0
  755. package/esm2022/pipeline/i18n/en.translations.mjs +74 -0
  756. package/esm2022/pipeline/i18n/fr.translations.mjs +74 -0
  757. package/esm2022/pipeline/node-class/base-node.class.mjs +44 -0
  758. package/esm2022/pipeline/pipeline.module.mjs +83 -0
  759. package/esm2022/pipeline/provoly-dashboard-pipeline.mjs +5 -0
  760. package/esm2022/pipeline/public-api.mjs +17 -0
  761. package/esm2022/pipeline/store/pipeline.actions.mjs +15 -0
  762. package/esm2022/pipeline/store/pipeline.effects.mjs +71 -0
  763. package/esm2022/pipeline/store/pipeline.reducer.mjs +41 -0
  764. package/esm2022/pipeline/store/pipeline.selectors.mjs +18 -0
  765. package/esm2022/pipeline/store/pipeline.service.mjs +51 -0
  766. package/esm2022/pipeline/style/css.component.mjs +11 -0
  767. package/esm2022/pipeline-components/filter/component/filter.component.mjs +62 -0
  768. package/esm2022/pipeline-components/filter/filter.module.mjs +52 -0
  769. package/esm2022/pipeline-components/filter/i18n/en.translations.mjs +16 -0
  770. package/esm2022/pipeline-components/filter/i18n/fr.translations.mjs +16 -0
  771. package/esm2022/pipeline-components/filter/node-class/filter-node.class.mjs +10 -0
  772. package/esm2022/pipeline-components/filter/provoly-dashboard-pipeline-components-filter.mjs +5 -0
  773. package/esm2022/pipeline-components/filter/public-api.mjs +4 -0
  774. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +28 -0
  775. package/esm2022/pipeline-components/input-datasource/i18n/en.translations.mjs +8 -0
  776. package/esm2022/pipeline-components/input-datasource/i18n/fr.translations.mjs +8 -0
  777. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +59 -0
  778. package/esm2022/pipeline-components/input-datasource/node-class/input-datasourse-node.class.mjs +16 -0
  779. package/esm2022/pipeline-components/input-datasource/provoly-dashboard-pipeline-components-input-datasource.mjs +5 -0
  780. package/esm2022/pipeline-components/input-datasource/public-api.mjs +4 -0
  781. package/esm2022/pipeline-components/noop/component/noop.component.mjs +18 -0
  782. package/esm2022/pipeline-components/noop/node-class/noop-node.class.mjs +10 -0
  783. package/esm2022/pipeline-components/noop/noop.module.mjs +46 -0
  784. package/esm2022/pipeline-components/noop/provoly-dashboard-pipeline-components-noop.mjs +5 -0
  785. package/esm2022/pipeline-components/noop/public-api.mjs +4 -0
  786. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +30 -0
  787. package/esm2022/pipeline-components/output-dataset/i18n/en.translations.mjs +8 -0
  788. package/esm2022/pipeline-components/output-dataset/i18n/fr.translations.mjs +8 -0
  789. package/esm2022/pipeline-components/output-dataset/node-class/output-dataset-node.class.mjs +17 -0
  790. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +60 -0
  791. package/esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs +5 -0
  792. package/esm2022/pipeline-components/output-dataset/public-api.mjs +4 -0
  793. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +18 -0
  794. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-input.class.mjs +15 -0
  795. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-node.class.mjs +96 -0
  796. package/esm2022/pipeline-components/subgraph/node-class/sub-graph-output.class.mjs +15 -0
  797. package/esm2022/pipeline-components/subgraph/provoly-dashboard-pipeline-components-subgraph.mjs +5 -0
  798. package/esm2022/pipeline-components/subgraph/public-api.mjs +6 -0
  799. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +50 -0
  800. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +119 -0
  801. package/esm2022/presentation/components/presentation.component.mjs +231 -0
  802. package/esm2022/presentation/i18n/en.translations.mjs +40 -0
  803. package/esm2022/presentation/i18n/fr.translations.mjs +41 -0
  804. package/esm2022/presentation/presentation.module.mjs +72 -0
  805. package/esm2022/presentation/provoly-dashboard-presentation.mjs +5 -0
  806. package/esm2022/presentation/public-api.mjs +5 -0
  807. package/esm2022/presentation/style/css.component.mjs +11 -0
  808. package/esm2022/provoly-dashboard.mjs +5 -0
  809. package/esm2022/public-api.mjs +6 -0
  810. package/esm2022/restitution/components/restitution/restitution.component.mjs +216 -0
  811. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +114 -0
  812. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +68 -0
  813. package/esm2022/restitution/i18n/en.translations.mjs +44 -0
  814. package/esm2022/restitution/i18n/fr.translations.mjs +44 -0
  815. package/esm2022/restitution/model/restitution.model.mjs +2 -0
  816. package/esm2022/restitution/provoly-dashboard-restitution.mjs +5 -0
  817. package/esm2022/restitution/public-api.mjs +5 -0
  818. package/esm2022/restitution/restitution.module.mjs +86 -0
  819. package/esm2022/restitution/style/css.component.mjs +11 -0
  820. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +67 -0
  821. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +101 -0
  822. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +55 -0
  823. package/esm2022/search/components/save-query/save-query.component.mjs +106 -0
  824. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +76 -0
  825. package/esm2022/search/i18n/en.translations.mjs +132 -0
  826. package/esm2022/search/i18n/fr.translations.mjs +132 -0
  827. package/esm2022/search/provoly-dashboard-search.mjs +5 -0
  828. package/esm2022/search/public-api.mjs +13 -0
  829. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +207 -0
  830. package/esm2022/search/search-fulltext/store/search-fulltext.actions.mjs +6 -0
  831. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +38 -0
  832. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +22 -0
  833. package/esm2022/search/search-home/search-home.component.mjs +199 -0
  834. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +78 -0
  835. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +139 -0
  836. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +34 -0
  837. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +69 -0
  838. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +37 -0
  839. package/esm2022/search/search-mono-class/store/search-mono-class.actions.mjs +26 -0
  840. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +112 -0
  841. package/esm2022/search/search-mono-class/store/search-mono-class.reducer.mjs +139 -0
  842. package/esm2022/search/search-mono-class/store/search-mono-class.selectors.mjs +38 -0
  843. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +161 -0
  844. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +150 -0
  845. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +62 -0
  846. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +37 -0
  847. package/esm2022/search/search-multi-class/store/search-multi-class.actions.mjs +16 -0
  848. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +66 -0
  849. package/esm2022/search/search-multi-class/store/search-multi-class.reducer.mjs +59 -0
  850. package/esm2022/search/search-multi-class/store/search-multi-class.selectors.mjs +32 -0
  851. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +125 -0
  852. package/esm2022/search/search-tools/search-tools.component.mjs +151 -0
  853. package/esm2022/search/search.module.mjs +156 -0
  854. package/esm2022/search/style/css.component.mjs +11 -0
  855. package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +34 -0
  856. package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +33 -0
  857. package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +51 -0
  858. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +27 -0
  859. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +100 -0
  860. package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +47 -0
  861. package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +32 -0
  862. package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +24 -0
  863. package/esm2022/supervision/components/supervision.component.mjs +19 -0
  864. package/esm2022/supervision/i18n/en.translations.mjs +58 -0
  865. package/esm2022/supervision/i18n/fr.translations.mjs +58 -0
  866. package/esm2022/supervision/provoly-dashboard-supervision.mjs +5 -0
  867. package/esm2022/supervision/public-api.mjs +2 -0
  868. package/esm2022/supervision/store/supervision-api.model.mjs +2 -0
  869. package/esm2022/supervision/store/supervision.actions.mjs +33 -0
  870. package/esm2022/supervision/store/supervision.effects.mjs +60 -0
  871. package/esm2022/supervision/store/supervision.reducer.mjs +115 -0
  872. package/esm2022/supervision/store/supervision.selectors.mjs +35 -0
  873. package/esm2022/supervision/store/supervision.service.mjs +54 -0
  874. package/esm2022/supervision/supervision-routing.module.mjs +96 -0
  875. package/esm2022/supervision/supervision.module.mjs +96 -0
  876. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +24 -0
  877. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +43 -0
  878. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +27 -0
  879. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +235 -0
  880. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +24 -0
  881. package/esm2022/toolbox/components/named-query/named-query.component.mjs +35 -0
  882. package/esm2022/toolbox/components/save-view/save-view.component.mjs +207 -0
  883. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +109 -0
  884. package/esm2022/toolbox/components/toolbox.component.mjs +32 -0
  885. package/esm2022/toolbox/provoly-dashboard-toolbox.mjs +5 -0
  886. package/esm2022/toolbox/public-api.mjs +12 -0
  887. package/esm2022/toolbox/style/css.component.mjs +11 -0
  888. package/esm2022/toolbox/toolbox.module.mjs +107 -0
  889. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +33 -0
  890. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +24 -0
  891. package/esm2022/tooltips/attribute/provoly-dashboard-tooltips-attribute.mjs +5 -0
  892. package/esm2022/tooltips/attribute/public-api.mjs +3 -0
  893. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +12 -0
  894. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +24 -0
  895. package/esm2022/tooltips/cluster/provoly-dashboard-tooltips-cluster.mjs +5 -0
  896. package/esm2022/tooltips/cluster/public-api.mjs +3 -0
  897. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +633 -0
  898. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +104 -0
  899. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +104 -0
  900. package/esm2022/widgets/widget-aggregated-chart/provoly-dashboard-widgets-widget-aggregated-chart.mjs +5 -0
  901. package/esm2022/widgets/widget-aggregated-chart/public-api.mjs +6 -0
  902. package/esm2022/widgets/widget-aggregated-chart/service/backend-aggregation.service.mjs +103 -0
  903. package/esm2022/widgets/widget-aggregated-chart/service/base-aggregation.service.mjs +16 -0
  904. package/esm2022/widgets/widget-aggregated-chart/service/frontend-aggregation.service.mjs +206 -0
  905. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +11 -0
  906. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +72 -0
  907. package/esm2022/widgets/widget-chart/component/vega-error.handler.mjs +36 -0
  908. package/esm2022/widgets/widget-chart/component/vega-spec.constant.mjs +248 -0
  909. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +652 -0
  910. package/esm2022/widgets/widget-chart/i18n/en.translations.mjs +114 -0
  911. package/esm2022/widgets/widget-chart/i18n/fr.translations.mjs +114 -0
  912. package/esm2022/widgets/widget-chart/provoly-dashboard-widgets-widget-chart.mjs +5 -0
  913. package/esm2022/widgets/widget-chart/public-api.mjs +3 -0
  914. package/esm2022/widgets/widget-chart/style/css.component.mjs +11 -0
  915. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +70 -0
  916. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +131 -0
  917. package/esm2022/widgets/widget-detail/i18n/en.translations.mjs +14 -0
  918. package/esm2022/widgets/widget-detail/i18n/fr.translations.mjs +14 -0
  919. package/esm2022/widgets/widget-detail/provoly-dashboard-widgets-widget-detail.mjs +5 -0
  920. package/esm2022/widgets/widget-detail/public-api.mjs +3 -0
  921. package/esm2022/widgets/widget-detail/style/css.component.mjs +11 -0
  922. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +64 -0
  923. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +448 -0
  924. package/esm2022/widgets/widget-graph/i18n/en.translations.mjs +15 -0
  925. package/esm2022/widgets/widget-graph/i18n/fr.translations.mjs +15 -0
  926. package/esm2022/widgets/widget-graph/layout/node.interface.mjs +2 -0
  927. package/esm2022/widgets/widget-graph/layout/simple.function.mjs +99 -0
  928. package/esm2022/widgets/widget-graph/provoly-dashboard-widgets-widget-graph.mjs +5 -0
  929. package/esm2022/widgets/widget-graph/public-api.mjs +4 -0
  930. package/esm2022/widgets/widget-graph/style/css.component.mjs +11 -0
  931. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +73 -0
  932. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +53 -0
  933. package/esm2022/widgets/widget-iframe/i18n/en.translations.mjs +11 -0
  934. package/esm2022/widgets/widget-iframe/i18n/fr.translations.mjs +11 -0
  935. package/esm2022/widgets/widget-iframe/messaging/iframe-message-type.interface.mjs +2 -0
  936. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +30 -0
  937. package/esm2022/widgets/widget-iframe/provoly-dashboard-widgets-widget-iframe.mjs +5 -0
  938. package/esm2022/widgets/widget-iframe/public-api.mjs +5 -0
  939. package/esm2022/widgets/widget-iframe/style/css.component.mjs +11 -0
  940. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +66 -0
  941. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +33 -0
  942. package/esm2022/widgets/widget-image/provoly-dashboard-widgets-widget-image.mjs +5 -0
  943. package/esm2022/widgets/widget-image/public-api.mjs +3 -0
  944. package/esm2022/widgets/widget-image/style/css.component.mjs +11 -0
  945. package/esm2022/widgets/widget-image/widget-image.module.mjs +24 -0
  946. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +317 -0
  947. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +822 -0
  948. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +81 -0
  949. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +81 -0
  950. package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +170 -0
  951. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +52 -0
  952. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +22 -0
  953. package/esm2022/widgets/widget-map/provoly-dashboard-widgets-widget-map.mjs +5 -0
  954. package/esm2022/widgets/widget-map/public-api.mjs +7 -0
  955. package/esm2022/widgets/widget-map/reader/kmz-zip-reader.class.mjs +57 -0
  956. package/esm2022/widgets/widget-map/reader/map-formats-reader.class.mjs +37 -0
  957. package/esm2022/widgets/widget-map/reader/random-color-style.function.mjs +32 -0
  958. package/esm2022/widgets/widget-map/reader/read-as-text.class.mjs +30 -0
  959. package/esm2022/widgets/widget-map/reader/shp-zip-reader.class.mjs +35 -0
  960. package/esm2022/widgets/widget-map/search-bar/search-bar.control.mjs +66 -0
  961. package/esm2022/widgets/widget-map/style/css.component.mjs +11 -0
  962. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +229 -0
  963. package/esm2022/widgets/widget-map/widget-map.module.mjs +72 -0
  964. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +187 -0
  965. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +30 -0
  966. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +32 -0
  967. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +29 -0
  968. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +43 -0
  969. package/esm2022/widgets/widget-table/i18n/en.translations.mjs +15 -0
  970. package/esm2022/widgets/widget-table/i18n/fr.translations.mjs +15 -0
  971. package/esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs +5 -0
  972. package/esm2022/widgets/widget-table/public-api.mjs +6 -0
  973. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +21 -0
  974. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +34 -0
  975. package/esm2022/widgets/widget-table/style/css.component.mjs +11 -0
  976. package/esm2022/widgets/widget-table/widget-table.module.mjs +86 -0
  977. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +86 -0
  978. package/esm2022/widgets/widget-template/provoly-dashboard-widgets-widget-template.mjs +5 -0
  979. package/esm2022/widgets/widget-template/public-api.mjs +3 -0
  980. package/esm2022/widgets/widget-template/style/css.component.mjs +11 -0
  981. package/esm2022/widgets/widget-template/widget-template.module.mjs +52 -0
  982. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +114 -0
  983. package/esm2022/widgets/widget-tile/i18n/en.translations.mjs +13 -0
  984. package/esm2022/widgets/widget-tile/i18n/fr.translations.mjs +13 -0
  985. package/esm2022/widgets/widget-tile/provoly-dashboard-widgets-widget-tile.mjs +5 -0
  986. package/esm2022/widgets/widget-tile/public-api.mjs +3 -0
  987. package/esm2022/widgets/widget-tile/style/css.component.mjs +11 -0
  988. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +72 -0
  989. package/fesm2022/provoly-dashboard-admin.mjs +6992 -0
  990. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -0
  991. package/fesm2022/provoly-dashboard-components-card.mjs +312 -0
  992. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -0
  993. package/fesm2022/provoly-dashboard-components-checkbox.mjs +81 -0
  994. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -0
  995. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +88 -0
  996. package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -0
  997. package/fesm2022/provoly-dashboard-components-filter.mjs +36 -0
  998. package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -0
  999. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +60 -0
  1000. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -0
  1001. package/fesm2022/provoly-dashboard-components-stepper.mjs +175 -0
  1002. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -0
  1003. package/fesm2022/provoly-dashboard-dataset.mjs +268 -0
  1004. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -0
  1005. package/fesm2022/provoly-dashboard-filters-date.mjs +85 -0
  1006. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -0
  1007. package/fesm2022/provoly-dashboard-filters-list.mjs +65 -0
  1008. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -0
  1009. package/fesm2022/provoly-dashboard-filters-number.mjs +53 -0
  1010. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -0
  1011. package/fesm2022/provoly-dashboard-filters-text.mjs +56 -0
  1012. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -0
  1013. package/fesm2022/provoly-dashboard-import.mjs +302 -0
  1014. package/fesm2022/provoly-dashboard-import.mjs.map +1 -0
  1015. package/fesm2022/provoly-dashboard-notification.mjs +303 -0
  1016. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -0
  1017. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +154 -0
  1018. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -0
  1019. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +116 -0
  1020. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -0
  1021. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +76 -0
  1022. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -0
  1023. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +120 -0
  1024. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -0
  1025. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +188 -0
  1026. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -0
  1027. package/fesm2022/provoly-dashboard-pipeline.mjs +1183 -0
  1028. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -0
  1029. package/fesm2022/provoly-dashboard-presentation.mjs +498 -0
  1030. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -0
  1031. package/fesm2022/provoly-dashboard-restitution.mjs +557 -0
  1032. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -0
  1033. package/fesm2022/provoly-dashboard-search.mjs +2590 -0
  1034. package/fesm2022/provoly-dashboard-search.mjs.map +1 -0
  1035. package/fesm2022/provoly-dashboard-supervision.mjs +866 -0
  1036. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -0
  1037. package/fesm2022/provoly-dashboard-toolbox.mjs +774 -0
  1038. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -0
  1039. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +60 -0
  1040. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -0
  1041. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +39 -0
  1042. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -0
  1043. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1228 -0
  1044. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -0
  1045. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1238 -0
  1046. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -0
  1047. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +230 -0
  1048. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -0
  1049. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +656 -0
  1050. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -0
  1051. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +173 -0
  1052. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -0
  1053. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +67 -0
  1054. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -0
  1055. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +2055 -0
  1056. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -0
  1057. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +464 -0
  1058. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -0
  1059. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +148 -0
  1060. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -0
  1061. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +219 -0
  1062. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -0
  1063. package/fesm2022/provoly-dashboard.mjs +10650 -0
  1064. package/fesm2022/provoly-dashboard.mjs.map +1 -0
  1065. package/filters/date/date-filter.component.d.ts +17 -0
  1066. package/filters/date/date-filter.module.d.ts +15 -0
  1067. package/filters/date/index.d.ts +5 -0
  1068. package/filters/date/public-api.d.ts +3 -0
  1069. package/filters/date/style/_m-date.scss +6 -0
  1070. package/filters/date/style/css.component.d.ts +5 -0
  1071. package/filters/list/index.d.ts +5 -0
  1072. package/filters/list/list-filter.component.d.ts +12 -0
  1073. package/filters/list/list-filter.module.d.ts +14 -0
  1074. package/filters/list/public-api.d.ts +3 -0
  1075. package/filters/list/style/_m-list.scss +7 -0
  1076. package/filters/list/style/css.component.d.ts +5 -0
  1077. package/filters/number/index.d.ts +5 -0
  1078. package/filters/number/number-filter.component.d.ts +11 -0
  1079. package/filters/number/number-filter.module.d.ts +14 -0
  1080. package/filters/number/public-api.d.ts +2 -0
  1081. package/filters/text/index.d.ts +5 -0
  1082. package/filters/text/public-api.d.ts +2 -0
  1083. package/filters/text/text-filter.component.d.ts +12 -0
  1084. package/filters/text/text-filter.module.d.ts +14 -0
  1085. package/import/components/import.component.d.ts +29 -0
  1086. package/import/i18n/en.translations.d.ts +27 -0
  1087. package/import/i18n/fr.translations.d.ts +27 -0
  1088. package/import/import-routing.module.d.ts +7 -0
  1089. package/import/import.module.d.ts +17 -0
  1090. package/import/index.d.ts +5 -0
  1091. package/import/public-api.d.ts +2 -0
  1092. package/import/store/import.actions.d.ts +33 -0
  1093. package/import/store/import.effects.d.ts +18 -0
  1094. package/import/store/import.reducer.d.ts +11 -0
  1095. package/import/store/import.selectors.d.ts +9 -0
  1096. package/import/store/import.service.d.ts +12 -0
  1097. package/import/style/_o-import.scss +51 -0
  1098. package/import/style/css.component.d.ts +5 -0
  1099. package/index.d.ts +5 -0
  1100. package/lib/core/access/access.directive.d.ts +16 -0
  1101. package/lib/core/access/access.guard.d.ts +13 -0
  1102. package/lib/core/access/access.model.d.ts +24 -0
  1103. package/lib/core/access/access.service.d.ts +13 -0
  1104. package/lib/core/access/access.utils.d.ts +6 -0
  1105. package/lib/core/components/base-layout/base-layout.component.d.ts +20 -0
  1106. package/lib/core/components/base-menu/base-menu.component.d.ts +27 -0
  1107. package/lib/core/components/base-toolbox/base-toolbox-action.interface.d.ts +12 -0
  1108. package/lib/core/components/base-toolbox/base-toolbox.component.d.ts +10 -0
  1109. package/lib/core/components/base-toolbox-action/base-toolbox-action.component.d.ts +23 -0
  1110. package/lib/core/components/date-picker/date-picker.component.d.ts +47 -0
  1111. package/lib/core/components/date-picker/date-picker.module.d.ts +14 -0
  1112. package/lib/core/components/date-picker/date-range-highlight.pipe.d.ts +8 -0
  1113. package/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.d.ts +26 -0
  1114. package/lib/core/components/date-picker/time-picker/time-picker.component.d.ts +28 -0
  1115. package/lib/core/components/edit-input/edit-input.component.d.ts +21 -0
  1116. package/lib/core/components/edit-input/edit-input.module.d.ts +11 -0
  1117. package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +16 -0
  1118. package/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.d.ts +12 -0
  1119. package/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.d.ts +9 -0
  1120. package/lib/core/components/icon/icon.component.d.ts +32 -0
  1121. package/lib/core/components/icon/icon.module.d.ts +8 -0
  1122. package/lib/core/components/modal/modal.component.d.ts +11 -0
  1123. package/lib/core/components/modal/pry-modal.module.d.ts +11 -0
  1124. package/lib/core/components/modalStatus/modalStatus.component.d.ts +17 -0
  1125. package/lib/core/components/modalStatus/modalStatus.module.d.ts +13 -0
  1126. package/lib/core/components/nq-color-selector/nq-color-selector.component.d.ts +23 -0
  1127. package/lib/core/components/overlay/dialog-confirm.component.d.ts +29 -0
  1128. package/lib/core/components/overlay/dialog-ref.d.ts +9 -0
  1129. package/lib/core/components/overlay/dialog.service.d.ts +27 -0
  1130. package/lib/core/components/overlay/overlay.constantes.d.ts +4 -0
  1131. package/lib/core/components/overlay/overlay.directive.d.ts +27 -0
  1132. package/lib/core/components/overlay/overlay.module.d.ts +13 -0
  1133. package/lib/core/components/overlay/tooltip.directive.d.ts +28 -0
  1134. package/lib/core/components/range/range.component.d.ts +35 -0
  1135. package/lib/core/components/range/range.module.d.ts +9 -0
  1136. package/lib/core/components/select/select.component.d.ts +42 -0
  1137. package/lib/core/components/select/select.module.d.ts +12 -0
  1138. package/lib/core/components/select-image/select-image.component.d.ts +28 -0
  1139. package/lib/core/components/share/share.component.d.ts +31 -0
  1140. package/lib/core/components/share/share.model.d.ts +9 -0
  1141. package/lib/core/components/share/share.module.d.ts +11 -0
  1142. package/lib/core/components/snackbar/snack.interface.d.ts +6 -0
  1143. package/lib/core/components/snackbar/snackbar/snackbar.component.d.ts +25 -0
  1144. package/lib/core/components/snackbar/snackbar.module.d.ts +9 -0
  1145. package/lib/core/components/snackbar/snackbar.service.d.ts +22 -0
  1146. package/lib/core/components/sort/sort-data.pipe.d.ts +10 -0
  1147. package/lib/core/components/sort/sort-header/sort-header.component.d.ts +16 -0
  1148. package/lib/core/components/sort/sort-header.directive.d.ts +5 -0
  1149. package/lib/core/components/sort/sort-table.directive.d.ts +17 -0
  1150. package/lib/core/components/sort/sort.model.d.ts +4 -0
  1151. package/lib/core/components/sort/sort.module.d.ts +12 -0
  1152. package/lib/core/components/title-presentation/title-presentation.component.d.ts +12 -0
  1153. package/lib/core/components/toggle/toggle.component.d.ts +31 -0
  1154. package/lib/core/components/toggle/toggle.module.d.ts +10 -0
  1155. package/lib/core/components/translate-id/translate-id.pipe.d.ts +20 -0
  1156. package/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.d.ts +18 -0
  1157. package/lib/core/components/upload/upload.component.d.ts +19 -0
  1158. package/lib/core/core.module.d.ts +36 -0
  1159. package/lib/core/errors/http-error-interceptor.service.d.ts +16 -0
  1160. package/lib/core/i18n/deep-merge.function.d.ts +1 -0
  1161. package/lib/core/i18n/en.translations.d.ts +322 -0
  1162. package/lib/core/i18n/fr.translations.d.ts +322 -0
  1163. package/lib/core/i18n/i18n.module.d.ts +7 -0
  1164. package/lib/core/i18n/i18n.pipe.d.ts +16 -0
  1165. package/lib/core/i18n/i18n.service.d.ts +35 -0
  1166. package/lib/core/model/admin-api.model.d.ts +111 -0
  1167. package/lib/core/model/dataset.interface.d.ts +29 -0
  1168. package/lib/core/model/filter.interface.d.ts +20 -0
  1169. package/lib/core/model/item.interface.d.ts +38 -0
  1170. package/lib/core/model/manifest.interface.d.ts +84 -0
  1171. package/lib/core/model/mimetype-resultset.constant.d.ts +1 -0
  1172. package/lib/core/model/notification-interface.d.ts +13 -0
  1173. package/lib/core/model/public-api.d.ts +24 -0
  1174. package/lib/core/model/relation.interface.d.ts +5 -0
  1175. package/lib/core/model/result-order.interface.d.ts +5 -0
  1176. package/lib/core/model/result-set.interface.d.ts +19 -0
  1177. package/lib/core/model/search-mono-class.model.d.ts +49 -0
  1178. package/lib/core/model/search-multi-class.model.d.ts +38 -0
  1179. package/lib/core/model/tooltip-of-class.interface.d.ts +4 -0
  1180. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +60 -0
  1181. package/lib/core/model/widget-chart-manifest.interface.d.ts +150 -0
  1182. package/lib/core/model/widget-detail-manifest.interface.d.ts +4 -0
  1183. package/lib/core/model/widget-graph-manifest.interface.d.ts +14 -0
  1184. package/lib/core/model/widget-iframe-manifest.interface.d.ts +3 -0
  1185. package/lib/core/model/widget-image-manifest.interface.d.ts +4 -0
  1186. package/lib/core/model/widget-map-manifest.interface.d.ts +97 -0
  1187. package/lib/core/model/widget-table-manifest.interface.d.ts +9 -0
  1188. package/lib/core/model/widget-template-manifest.interface.d.ts +5 -0
  1189. package/lib/core/model/widget-tile-manifest.interface.d.ts +10 -0
  1190. package/lib/core/model/widget.interface.d.ts +13 -0
  1191. package/lib/core/public-api.d.ts +113 -0
  1192. package/lib/core/store/category/category.actions.d.ts +14 -0
  1193. package/lib/core/store/category/category.effects.d.ts +15 -0
  1194. package/lib/core/store/category/category.interface.d.ts +4 -0
  1195. package/lib/core/store/category/category.reducer.d.ts +11 -0
  1196. package/lib/core/store/category/category.selectors.d.ts +6 -0
  1197. package/lib/core/store/category/category.service.d.ts +13 -0
  1198. package/lib/core/store/class/class.actions.d.ts +37 -0
  1199. package/lib/core/store/class/class.effects.d.ts +25 -0
  1200. package/lib/core/store/class/class.interface.d.ts +19 -0
  1201. package/lib/core/store/class/class.reducer.d.ts +15 -0
  1202. package/lib/core/store/class/class.selectors.d.ts +14 -0
  1203. package/lib/core/store/class/class.service.d.ts +22 -0
  1204. package/lib/core/store/config/config.actions.d.ts +185 -0
  1205. package/lib/core/store/config/config.effects.d.ts +51 -0
  1206. package/lib/core/store/config/config.reducer.d.ts +37 -0
  1207. package/lib/core/store/config/config.selectors.d.ts +52 -0
  1208. package/lib/core/store/config/config.service.d.ts +51 -0
  1209. package/lib/core/store/config/config.widget.constants.d.ts +12 -0
  1210. package/lib/core/store/config/icon-definitions.interface.d.ts +34 -0
  1211. package/lib/core/store/config/open-map-tiles.service.d.ts +17 -0
  1212. package/lib/core/store/context-menu/context-menu.actions.d.ts +18 -0
  1213. package/lib/core/store/context-menu/context-menu.effects.d.ts +8 -0
  1214. package/lib/core/store/context-menu/context-menu.reducer.d.ts +12 -0
  1215. package/lib/core/store/context-menu/context-menu.selectors.d.ts +16 -0
  1216. package/lib/core/store/data-source/data-source.actions.d.ts +238 -0
  1217. package/lib/core/store/data-source/data-source.effects.d.ts +106 -0
  1218. package/lib/core/store/data-source/data-source.model.d.ts +32 -0
  1219. package/lib/core/store/data-source/data-source.reducer.d.ts +21 -0
  1220. package/lib/core/store/data-source/data-source.selectors.d.ts +31 -0
  1221. package/lib/core/store/data-source/data-source.service.d.ts +40 -0
  1222. package/lib/core/store/data-source/named-query-types.model.d.ts +5 -0
  1223. package/lib/core/store/data-source/named-query-utils.d.ts +6 -0
  1224. package/lib/core/store/field/field.actions.d.ts +14 -0
  1225. package/lib/core/store/field/field.effects.d.ts +15 -0
  1226. package/lib/core/store/field/field.interface.d.ts +21 -0
  1227. package/lib/core/store/field/field.reducer.d.ts +11 -0
  1228. package/lib/core/store/field/field.selectors.d.ts +7 -0
  1229. package/lib/core/store/field/field.service.d.ts +15 -0
  1230. package/lib/core/store/image/image.actions.d.ts +32 -0
  1231. package/lib/core/store/image/image.effects.d.ts +20 -0
  1232. package/lib/core/store/image/image.reducer.d.ts +9 -0
  1233. package/lib/core/store/image/image.selectors.d.ts +7 -0
  1234. package/lib/core/store/image/image.service.d.ts +29 -0
  1235. package/lib/core/store/item/item.actions.d.ts +18 -0
  1236. package/lib/core/store/item/item.effects.d.ts +27 -0
  1237. package/lib/core/store/item/item.service.d.ts +28 -0
  1238. package/lib/core/store/raw/raw.service.d.ts +18 -0
  1239. package/lib/core/store/relation-types/relation-types.actions.d.ts +65 -0
  1240. package/lib/core/store/relation-types/relation-types.effects.d.ts +31 -0
  1241. package/lib/core/store/relation-types/relation-types.interface.d.ts +8 -0
  1242. package/lib/core/store/relation-types/relation-types.reducer.d.ts +11 -0
  1243. package/lib/core/store/relation-types/relation-types.selectors.d.ts +8 -0
  1244. package/lib/core/store/relation-types/relation-types.service.d.ts +17 -0
  1245. package/lib/core/store/search/lat-lon-to-geographic-field-transformation.function.d.ts +2 -0
  1246. package/lib/core/store/search/search.actions.d.ts +33 -0
  1247. package/lib/core/store/search/search.constants.d.ts +2 -0
  1248. package/lib/core/store/search/search.effects.d.ts +33 -0
  1249. package/lib/core/store/search/search.reducer.d.ts +10 -0
  1250. package/lib/core/store/search/search.selectors.d.ts +5 -0
  1251. package/lib/core/store/search/search.service.d.ts +50 -0
  1252. package/lib/core/symbol/symbol.service.d.ts +27 -0
  1253. package/lib/core/toolbox/toolbox-manifest.service.d.ts +21 -0
  1254. package/lib/core/toolbox/toolbox-menu.service.d.ts +45 -0
  1255. package/lib/core/ws/websocket.service.d.ts +26 -0
  1256. package/lib/dashboard/action-bus/bus-action.interface.d.ts +4 -0
  1257. package/lib/dashboard/action-bus/effect/action-bus.effects.d.ts +13 -0
  1258. package/lib/dashboard/action-bus/service/bus.service.d.ts +22 -0
  1259. package/lib/dashboard/action-bus/service/control-message.interface.d.ts +6 -0
  1260. package/lib/dashboard/base-widget.module.d.ts +9 -0
  1261. package/lib/dashboard/components/context-menu/context-menu.component.d.ts +59 -0
  1262. package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +78 -0
  1263. package/lib/dashboard/components/dashboard.component.d.ts +99 -0
  1264. package/lib/dashboard/components/manifests/manifests.component.d.ts +20 -0
  1265. package/lib/dashboard/components/metadata/metadata.component.d.ts +16 -0
  1266. package/lib/dashboard/components/solve-collisions.function.d.ts +15 -0
  1267. package/lib/dashboard/components/subscriptionner.directive.d.ts +9 -0
  1268. package/lib/dashboard/components/vizualize-raw/vizualize-raw.component.d.ts +26 -0
  1269. package/lib/dashboard/components/widgets/base-widget.component.d.ts +36 -0
  1270. package/lib/dashboard/components/widgets/data-widget.component.d.ts +20 -0
  1271. package/lib/dashboard/components/widgets/header/resultset-size.pipe.d.ts +18 -0
  1272. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +115 -0
  1273. package/lib/dashboard/components/widgets/public-api.d.ts +9 -0
  1274. package/lib/dashboard/components/widgets/settings/settings.component.d.ts +35 -0
  1275. package/lib/dashboard/components/widgets/widget-filler/widget-filler.component.d.ts +10 -0
  1276. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +24 -0
  1277. package/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.d.ts +34 -0
  1278. package/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.d.ts +11 -0
  1279. package/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.d.ts +9 -0
  1280. package/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.d.ts +39 -0
  1281. package/lib/dashboard/dashboard.module.d.ts +59 -0
  1282. package/lib/dashboard/date-utils.d.ts +3 -0
  1283. package/lib/dashboard/filter/base-filter.component.d.ts +13 -0
  1284. package/lib/dashboard/filter/base-filter.module.d.ts +9 -0
  1285. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +20 -0
  1286. package/lib/dashboard/filter/filter-factory.service.d.ts +40 -0
  1287. package/lib/dashboard/filter/filter-loader.function.d.ts +3 -0
  1288. package/lib/dashboard/filter/public-api.d.ts +5 -0
  1289. package/lib/dashboard/guard/default-view.guard.d.ts +14 -0
  1290. package/lib/dashboard/item-utils.d.ts +35 -0
  1291. package/lib/dashboard/public-api.d.ts +30 -0
  1292. package/lib/dashboard/resultset-utils.d.ts +4 -0
  1293. package/lib/dashboard/store/dashboard-init.service.d.ts +20 -0
  1294. package/lib/dashboard/store/dashboard.actions.d.ts +455 -0
  1295. package/lib/dashboard/store/dashboard.contants.d.ts +4 -0
  1296. package/lib/dashboard/store/dashboard.effects.d.ts +226 -0
  1297. package/lib/dashboard/store/dashboard.reducers.d.ts +48 -0
  1298. package/lib/dashboard/store/dashboard.selectors.d.ts +374 -0
  1299. package/lib/dashboard/store/geocoding.service.d.ts +56 -0
  1300. package/lib/dashboard/store/manifest.service.d.ts +26 -0
  1301. package/lib/dashboard/store/refresh.service.d.ts +12 -0
  1302. package/lib/dashboard/store/title.service.d.ts +17 -0
  1303. package/lib/dashboard/tooltip/base-tooltip.component.d.ts +15 -0
  1304. package/lib/dashboard/tooltip/base-tooltip.module.d.ts +9 -0
  1305. package/lib/dashboard/tooltip/components/default/default.tooltip.component.d.ts +6 -0
  1306. package/lib/dashboard/tooltip/public-api.d.ts +5 -0
  1307. package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +42 -0
  1308. package/lib/dashboard/tooltip/tooltip-loader.function.d.ts +3 -0
  1309. package/lib/dashboard/widget-loader.function.d.ts +3 -0
  1310. package/notification/components/notification/content/notification-content.component.d.ts +25 -0
  1311. package/notification/components/notification/notification.component.d.ts +20 -0
  1312. package/notification/i18n/en.translations.d.ts +22 -0
  1313. package/notification/i18n/fr.translations.d.ts +22 -0
  1314. package/notification/index.d.ts +5 -0
  1315. package/notification/notification.module.d.ts +17 -0
  1316. package/notification/public-api.d.ts +9 -0
  1317. package/notification/store/notification.actions.d.ts +20 -0
  1318. package/notification/store/notification.effects.d.ts +18 -0
  1319. package/notification/store/notification.reducer.d.ts +6 -0
  1320. package/notification/store/notification.selectors.d.ts +5 -0
  1321. package/notification/store/notification.service.d.ts +12 -0
  1322. package/notification/style/_m-notifications.scss +127 -0
  1323. package/notification/style/css.component.d.ts +5 -0
  1324. package/package.json +266 -0
  1325. package/pipeline/components/pipeline-details/pipeline-details.component.d.ts +27 -0
  1326. package/pipeline/components/pipeline-editor/graph-serializer.utils.d.ts +8 -0
  1327. package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +73 -0
  1328. package/pipeline/components/pipeline-editor/pipeline.interface.d.ts +52 -0
  1329. package/pipeline/components/pipeline-list/pipeline-list.component.d.ts +46 -0
  1330. package/pipeline/components/pipeline-properties-panel.component.d.ts +11 -0
  1331. package/pipeline/factory/pipeline-component-factory.service.d.ts +29 -0
  1332. package/pipeline/i18n/en.translations.d.ts +73 -0
  1333. package/pipeline/i18n/fr.translations.d.ts +73 -0
  1334. package/pipeline/index.d.ts +5 -0
  1335. package/pipeline/node-class/base-node.class.d.ts +13 -0
  1336. package/pipeline/pipeline.module.d.ts +20 -0
  1337. package/pipeline/public-api.d.ts +16 -0
  1338. package/pipeline/store/pipeline.actions.d.ts +81 -0
  1339. package/pipeline/store/pipeline.effects.d.ts +30 -0
  1340. package/pipeline/store/pipeline.reducer.d.ts +13 -0
  1341. package/pipeline/store/pipeline.selectors.d.ts +8 -0
  1342. package/pipeline/store/pipeline.service.d.ts +19 -0
  1343. package/pipeline/style/_o-pipeline.scss +274 -0
  1344. package/pipeline/style/css.component.d.ts +5 -0
  1345. package/pipeline-components/filter/component/filter.component.d.ts +16 -0
  1346. package/pipeline-components/filter/filter.module.d.ts +15 -0
  1347. package/pipeline-components/filter/i18n/en.translations.d.ts +15 -0
  1348. package/pipeline-components/filter/i18n/fr.translations.d.ts +15 -0
  1349. package/pipeline-components/filter/index.d.ts +5 -0
  1350. package/pipeline-components/filter/node-class/filter-node.class.d.ts +4 -0
  1351. package/pipeline-components/filter/public-api.d.ts +3 -0
  1352. package/pipeline-components/input-datasource/component/input-datasource.component.d.ts +13 -0
  1353. package/pipeline-components/input-datasource/i18n/en.translations.d.ts +10 -0
  1354. package/pipeline-components/input-datasource/i18n/fr.translations.d.ts +10 -0
  1355. package/pipeline-components/input-datasource/index.d.ts +5 -0
  1356. package/pipeline-components/input-datasource/input-datasource.module.d.ts +17 -0
  1357. package/pipeline-components/input-datasource/node-class/input-datasourse-node.class.d.ts +5 -0
  1358. package/pipeline-components/input-datasource/public-api.d.ts +3 -0
  1359. package/pipeline-components/noop/component/noop.component.d.ts +7 -0
  1360. package/pipeline-components/noop/index.d.ts +5 -0
  1361. package/pipeline-components/noop/node-class/noop-node.class.d.ts +4 -0
  1362. package/pipeline-components/noop/noop.module.d.ts +13 -0
  1363. package/pipeline-components/noop/public-api.d.ts +3 -0
  1364. package/pipeline-components/output-dataset/component/output-dataset.component.d.ts +13 -0
  1365. package/pipeline-components/output-dataset/i18n/en.translations.d.ts +9 -0
  1366. package/pipeline-components/output-dataset/i18n/fr.translations.d.ts +9 -0
  1367. package/pipeline-components/output-dataset/index.d.ts +5 -0
  1368. package/pipeline-components/output-dataset/node-class/output-dataset-node.class.d.ts +5 -0
  1369. package/pipeline-components/output-dataset/output-dataset.module.d.ts +17 -0
  1370. package/pipeline-components/output-dataset/public-api.d.ts +3 -0
  1371. package/pipeline-components/subgraph/component/empty.component.d.ts +7 -0
  1372. package/pipeline-components/subgraph/index.d.ts +5 -0
  1373. package/pipeline-components/subgraph/node-class/sub-graph-input.class.d.ts +4 -0
  1374. package/pipeline-components/subgraph/node-class/sub-graph-node.class.d.ts +17 -0
  1375. package/pipeline-components/subgraph/node-class/sub-graph-output.class.d.ts +4 -0
  1376. package/pipeline-components/subgraph/public-api.d.ts +5 -0
  1377. package/pipeline-components/subgraph/subgraph.module.d.ts +13 -0
  1378. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +28 -0
  1379. package/presentation/components/presentation.component.d.ts +55 -0
  1380. package/presentation/i18n/en.translations.d.ts +39 -0
  1381. package/presentation/i18n/fr.translations.d.ts +40 -0
  1382. package/presentation/index.d.ts +5 -0
  1383. package/presentation/presentation.module.d.ts +18 -0
  1384. package/presentation/public-api.d.ts +4 -0
  1385. package/presentation/style/_o-pry-new-presentation.scss +78 -0
  1386. package/presentation/style/_o-pry-presentation.scss +93 -0
  1387. package/presentation/style/css.component.d.ts +5 -0
  1388. package/public-api.d.ts +2 -0
  1389. package/restitution/components/restitution/restitution.component.d.ts +54 -0
  1390. package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +40 -0
  1391. package/restitution/components/restitution-list/restitution-list.component.d.ts +33 -0
  1392. package/restitution/i18n/en.translations.d.ts +43 -0
  1393. package/restitution/i18n/fr.translations.d.ts +43 -0
  1394. package/restitution/index.d.ts +5 -0
  1395. package/restitution/model/restitution.model.d.ts +8 -0
  1396. package/restitution/public-api.d.ts +4 -0
  1397. package/restitution/restitution.module.d.ts +21 -0
  1398. package/restitution/style/_o-restitution-list.scss +161 -0
  1399. package/restitution/style/_o-restitution.scss +32 -0
  1400. package/restitution/style/css.component.d.ts +5 -0
  1401. package/search/components/choose-widget/choose-widget.component.d.ts +34 -0
  1402. package/search/components/edit-named-query/edit-named-query.component.d.ts +37 -0
  1403. package/search/components/edit-named-query-modal/edit-named-query-modal.component.d.ts +17 -0
  1404. package/search/components/save-query/save-query.component.d.ts +36 -0
  1405. package/search/components/save-query-button/save-query-button.component.d.ts +23 -0
  1406. package/search/i18n/en.translations.d.ts +131 -0
  1407. package/search/i18n/fr.translations.d.ts +131 -0
  1408. package/search/index.d.ts +5 -0
  1409. package/search/public-api.d.ts +12 -0
  1410. package/search/search-fulltext/search-fulltext/search-fulltext.component.d.ts +56 -0
  1411. package/search/search-fulltext/store/search-fulltext.actions.d.ts +21 -0
  1412. package/search/search-fulltext/store/search-fulltext.effects.d.ts +25 -0
  1413. package/search/search-fulltext/store/search-fulltext.service.d.ts +7 -0
  1414. package/search/search-home/search-home.component.d.ts +76 -0
  1415. package/search/search-mono-class/components/search-composed/search-composed.component.d.ts +27 -0
  1416. package/search/search-mono-class/components/search-condition/search-condition.component.d.ts +42 -0
  1417. package/search/search-mono-class/components/search-mono-class/search-mono-class.component.d.ts +15 -0
  1418. package/search/search-mono-class/components/search-order/search-order.component.d.ts +25 -0
  1419. package/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.d.ts +16 -0
  1420. package/search/search-mono-class/store/search-mono-class.actions.d.ts +119 -0
  1421. package/search/search-mono-class/store/search-mono-class.effects.d.ts +64 -0
  1422. package/search/search-mono-class/store/search-mono-class.reducer.d.ts +10 -0
  1423. package/search/search-mono-class/store/search-mono-class.selectors.d.ts +13 -0
  1424. package/search/search-mono-class/store/search-mono-class.service.d.ts +20 -0
  1425. package/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.d.ts +39 -0
  1426. package/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.d.ts +24 -0
  1427. package/search/search-multi-class/components/search-multi-class/search-multi-class.component.d.ts +15 -0
  1428. package/search/search-multi-class/store/search-multi-class.actions.d.ts +65 -0
  1429. package/search/search-multi-class/store/search-multi-class.effects.d.ts +39 -0
  1430. package/search/search-multi-class/store/search-multi-class.reducer.d.ts +8 -0
  1431. package/search/search-multi-class/store/search-multi-class.selectors.d.ts +9 -0
  1432. package/search/search-multi-class/store/search-multi-class.service.d.ts +15 -0
  1433. package/search/search-tools/search-tools.component.d.ts +52 -0
  1434. package/search/search.module.d.ts +37 -0
  1435. package/search/style/_m-choose-widget.scss +108 -0
  1436. package/search/style/_m-pry-search-select-attribute.scss +28 -0
  1437. package/search/style/_o-edit-named-query-modal.scss +9 -0
  1438. package/search/style/_o-edit-named-query.scss +29 -0
  1439. package/search/style/_o-multi-class-condition.scss +65 -0
  1440. package/search/style/_o-multi-class-field-selection.scss +64 -0
  1441. package/search/style/_o-pry-search-composed.scss +89 -0
  1442. package/search/style/_o-pry-search-condition.scss +54 -0
  1443. package/search/style/_o-pry-search-home.scss +91 -0
  1444. package/search/style/_o-pry-search-order.scss +14 -0
  1445. package/search/style/_o-pry-search-tools.scss +150 -0
  1446. package/search/style/_o-search-fulltext.scss +154 -0
  1447. package/search/style/_o-search-mono-class.scss +45 -0
  1448. package/search/style/_o-search-multi-class.scss +34 -0
  1449. package/search/style/css.component.d.ts +5 -0
  1450. package/styles/abstracts/_abstracts-overlays.scss +13 -0
  1451. package/styles/abstracts/_abstracts-utils.scss +82 -0
  1452. package/styles/abstracts/_functions.scss +229 -0
  1453. package/styles/abstracts/_index.scss +5 -0
  1454. package/styles/abstracts/_mixins.scss +309 -0
  1455. package/styles/abstracts/_variables.scss +3 -0
  1456. package/styles/base/_custom-scrollbar.scss +9 -0
  1457. package/styles/base/_html-body.scss +5 -0
  1458. package/styles/base/_index.scss +6 -0
  1459. package/styles/base/_normalize.scss +351 -0
  1460. package/styles/base/_reboot.scss +376 -0
  1461. package/styles/base/_typography.scss +25 -0
  1462. package/styles/base/_utils.scss +67 -0
  1463. package/styles/components/_a-badge.scss +8 -0
  1464. package/styles/components/_a-btn.scss +207 -0
  1465. package/styles/components/_a-checkbox.scss +80 -0
  1466. package/styles/components/_a-checkmark.scss +1 -0
  1467. package/styles/components/_a-expandable-value.scss +51 -0
  1468. package/styles/components/_a-form-field.scss +96 -0
  1469. package/styles/components/_a-icon.scss +16 -0
  1470. package/styles/components/_a-label.scss +16 -0
  1471. package/styles/components/_a-link.scss +17 -0
  1472. package/styles/components/_a-loader.scss +30 -0
  1473. package/styles/components/_a-pastille.scss +14 -0
  1474. package/styles/components/_a-pry-select-image.scss +16 -0
  1475. package/styles/components/_a-pry-select.scss +19 -0
  1476. package/styles/components/_a-range-slider.scss +105 -0
  1477. package/styles/components/_a-table.scss +128 -0
  1478. package/styles/components/_a-toggle.scss +150 -0
  1479. package/styles/components/_m-actions-list.scss +25 -0
  1480. package/styles/components/_m-btn-group.scss +58 -0
  1481. package/styles/components/_m-btn-sorttable.scss +75 -0
  1482. package/styles/components/_m-color-selector.scss +58 -0
  1483. package/styles/components/_m-context-menu.scss +52 -0
  1484. package/styles/components/_m-filter.scss +7 -0
  1485. package/styles/components/_m-form-label-field.scss +55 -0
  1486. package/styles/components/_m-form-radio-group.scss +47 -0
  1487. package/styles/components/_m-image-selector.scss +11 -0
  1488. package/styles/components/_m-metadata-tag.scss +55 -0
  1489. package/styles/components/_m-minus-plus.scss +81 -0
  1490. package/styles/components/_m-nav-links.scss +34 -0
  1491. package/styles/components/_m-pry-overlay.scss +56 -0
  1492. package/styles/components/_m-snackbar.scss +52 -0
  1493. package/styles/components/_m-time-picker.scss +55 -0
  1494. package/styles/components/_m-toolbox.scss +21 -0
  1495. package/styles/components/_m-tooltip.scss +91 -0
  1496. package/styles/components/_o-accordion.scss +24 -0
  1497. package/styles/components/_o-card.scss +131 -0
  1498. package/styles/components/_o-cards-list.scss +11 -0
  1499. package/styles/components/_o-dashboard.scss +169 -0
  1500. package/styles/components/_o-datasources.scss +83 -0
  1501. package/styles/components/_o-date-picker.scss +141 -0
  1502. package/styles/components/_o-draggable-menu.scss +54 -0
  1503. package/styles/components/_o-form.scss +29 -0
  1504. package/styles/components/_o-modal.scss +94 -0
  1505. package/styles/components/_o-named-query.scss +43 -0
  1506. package/styles/components/_o-object-panel.scss +109 -0
  1507. package/styles/components/_o-panel.scss +37 -0
  1508. package/styles/components/_o-properties.scss +42 -0
  1509. package/styles/components/_o-pry-admin-classes-customize.scss +130 -0
  1510. package/styles/components/_o-pry-card-menu.scss +105 -0
  1511. package/styles/components/_o-pry-card.scss +97 -0
  1512. package/styles/components/_o-pry-composed-condition.scss +84 -0
  1513. package/styles/components/_o-pry-edit.scss +9 -0
  1514. package/styles/components/_o-pry-expand-panel.scss +36 -0
  1515. package/styles/components/_o-pry-stepper.scss +103 -0
  1516. package/styles/components/_o-search-mono-class.scss +45 -0
  1517. package/styles/components/_o-search-multi-class.scss +34 -0
  1518. package/styles/components/_o-settings.scss +123 -0
  1519. package/styles/components/_o-tabs.scss +108 -0
  1520. package/styles/components/_o-widget.scss +208 -0
  1521. package/styles/components/_overlay.scss +82 -0
  1522. package/styles/layout/_o-base-layout.scss +113 -0
  1523. package/styles/layout/_o-main-layout.scss +38 -0
  1524. package/styles/layout/_o-manifest-layout.scss +89 -0
  1525. package/styles/layout/_o-workspace.scss +61 -0
  1526. package/styles/layout/grid/_grid.scss +141 -0
  1527. package/styles/layout/grid/_visibility.scss +71 -0
  1528. package/styles/layout/grid/mixins/_grid-mixins.scss +368 -0
  1529. package/styles/layout/grid/mixins/_visibility-mixins.scss +115 -0
  1530. package/styles/layout/grid/variables/_grid-variables.scss +41 -0
  1531. package/styles/libs/_reset-lib-ol.scss +35 -0
  1532. package/styles/main.scss +78 -0
  1533. package/styles-theme/abstracts-theme/_abstracts-cards.theme.scss +22 -0
  1534. package/styles-theme/abstracts-theme/_abstracts-overlays.theme.scss +10 -0
  1535. package/styles-theme/abstracts-theme/_index.scss +3 -0
  1536. package/styles-theme/abstracts-theme/_variables.theme.scss +5 -0
  1537. package/styles-theme/abstracts-theme/variables/_index.scss +4 -0
  1538. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +113 -0
  1539. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +49 -0
  1540. package/styles-theme/abstracts-theme/variables/_variables-fonts.scss +40 -0
  1541. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +138 -0
  1542. package/styles-theme/base-theme/_custom-scrollbar.theme.scss +8 -0
  1543. package/styles-theme/base-theme/_fonts.theme.scss +37 -0
  1544. package/styles-theme/base-theme/_html-body.theme.scss +6 -0
  1545. package/styles-theme/base-theme/_index.scss +4 -0
  1546. package/styles-theme/base-theme/_typography.theme.scss +27 -0
  1547. package/styles-theme/components-theme/_a-badge.theme.scss +21 -0
  1548. package/styles-theme/components-theme/_a-btn.theme.scss +214 -0
  1549. package/styles-theme/components-theme/_a-checkbox.theme.scss +68 -0
  1550. package/styles-theme/components-theme/_a-checkmark.theme.scss +4 -0
  1551. package/styles-theme/components-theme/_a-expandable-value.theme.scss +23 -0
  1552. package/styles-theme/components-theme/_a-form-field.theme.scss +63 -0
  1553. package/styles-theme/components-theme/_a-icon.theme.scss +17 -0
  1554. package/styles-theme/components-theme/_a-label.theme.scss +16 -0
  1555. package/styles-theme/components-theme/_a-link.theme.scss +12 -0
  1556. package/styles-theme/components-theme/_a-pastille.theme.scss +14 -0
  1557. package/styles-theme/components-theme/_a-pry-select.theme.scss +117 -0
  1558. package/styles-theme/components-theme/_a-range-slider.theme.scss +54 -0
  1559. package/styles-theme/components-theme/_a-table.theme.scss +49 -0
  1560. package/styles-theme/components-theme/_a-toggle.theme.scss +62 -0
  1561. package/styles-theme/components-theme/_m-btn-sorttable.theme.scss +45 -0
  1562. package/styles-theme/components-theme/_m-choose-widget.theme.scss +4 -0
  1563. package/styles-theme/components-theme/_m-context-menu.theme.scss +46 -0
  1564. package/styles-theme/components-theme/_m-metadata-tag.theme.scss +17 -0
  1565. package/styles-theme/components-theme/_m-minus-plus.theme.scss +51 -0
  1566. package/styles-theme/components-theme/_m-nav-links.theme.scss +4 -0
  1567. package/styles-theme/components-theme/_m-notifications.theme.scss +90 -0
  1568. package/styles-theme/components-theme/_m-pry-search-select-attribute.theme.scss +15 -0
  1569. package/styles-theme/components-theme/_m-snackbar.theme.scss +42 -0
  1570. package/styles-theme/components-theme/_m-time-picker.theme.scss +36 -0
  1571. package/styles-theme/components-theme/_m-toolbox.theme.scss +15 -0
  1572. package/styles-theme/components-theme/_m-tooltip.theme.scss +66 -0
  1573. package/styles-theme/components-theme/_o-card.theme.scss +45 -0
  1574. package/styles-theme/components-theme/_o-catalog.theme.scss +74 -0
  1575. package/styles-theme/components-theme/_o-datasources.theme.scss +38 -0
  1576. package/styles-theme/components-theme/_o-date-picker.theme.scss +37 -0
  1577. package/styles-theme/components-theme/_o-draggable-menu.theme.scss +26 -0
  1578. package/styles-theme/components-theme/_o-modal.theme.scss +28 -0
  1579. package/styles-theme/components-theme/_o-multi-class-condition.theme.scss +22 -0
  1580. package/styles-theme/components-theme/_o-multi-class-field-selection.theme.scss +43 -0
  1581. package/styles-theme/components-theme/_o-named-query.theme.scss +19 -0
  1582. package/styles-theme/components-theme/_o-object-panel.theme.scss +11 -0
  1583. package/styles-theme/components-theme/_o-panel.theme.scss +18 -0
  1584. package/styles-theme/components-theme/_o-pipeline.theme.scss +88 -0
  1585. package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +14 -0
  1586. package/styles-theme/components-theme/_o-pry-card-menu.theme.scss +55 -0
  1587. package/styles-theme/components-theme/_o-pry-card.theme.scss +44 -0
  1588. package/styles-theme/components-theme/_o-pry-composed-condition.theme.scss +60 -0
  1589. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +18 -0
  1590. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +12 -0
  1591. package/styles-theme/components-theme/_o-pry-expand-panel.theme.scss +12 -0
  1592. package/styles-theme/components-theme/_o-pry-new-presentation.theme.scss +20 -0
  1593. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +39 -0
  1594. package/styles-theme/components-theme/_o-pry-search-composed.theme.scss +44 -0
  1595. package/styles-theme/components-theme/_o-pry-search-condition.theme.scss +10 -0
  1596. package/styles-theme/components-theme/_o-pry-search-home.theme.scss +25 -0
  1597. package/styles-theme/components-theme/_o-pry-search-tools.theme.scss +54 -0
  1598. package/styles-theme/components-theme/_o-pry-stepper.theme.scss +35 -0
  1599. package/styles-theme/components-theme/_o-restitution-list.theme.scss +27 -0
  1600. package/styles-theme/components-theme/_o-restitution.theme.scss +7 -0
  1601. package/styles-theme/components-theme/_o-search-fulltext.theme.scss +83 -0
  1602. package/styles-theme/components-theme/_o-search-multi-class.theme.scss +28 -0
  1603. package/styles-theme/components-theme/_o-select-grid-layout.theme.scss +33 -0
  1604. package/styles-theme/components-theme/_o-settings.theme.scss +64 -0
  1605. package/styles-theme/components-theme/_o-tabs.theme.scss +37 -0
  1606. package/styles-theme/components-theme/_o-widget-detail.theme.scss +21 -0
  1607. package/styles-theme/components-theme/_o-widget-graph.theme.scss +32 -0
  1608. package/styles-theme/components-theme/_o-widget-iframe.theme.scss +30 -0
  1609. package/styles-theme/components-theme/_o-widget-map.theme.scss +5 -0
  1610. package/styles-theme/components-theme/_o-widget-table.theme.scss +18 -0
  1611. package/styles-theme/components-theme/_o-widget-tile.theme.scss +21 -0
  1612. package/styles-theme/components-theme/_o-widget.theme.scss +70 -0
  1613. package/styles-theme/components-theme/_overlay.theme.scss +44 -0
  1614. package/styles-theme/layout-theme/_o-base-layout.theme.scss +24 -0
  1615. package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +33 -0
  1616. package/styles-theme/layout-theme/_o-workspace.theme.scss +18 -0
  1617. package/styles-theme/libs-theme/_reset-lib-ol.theme.scss +38 -0
  1618. package/styles-theme/main-theme.scss +83 -0
  1619. package/supervision/components/supervision-business-data/supervision-business-data.component.d.ts +14 -0
  1620. package/supervision/components/supervision-flow/supervision-flow.component.d.ts +14 -0
  1621. package/supervision/components/supervision-infrastructures/supervision-infrastructures.component.d.ts +18 -0
  1622. package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +14 -0
  1623. package/supervision/components/supervision-integration-errors/supervision-integration-errors.component.d.ts +29 -0
  1624. package/supervision/components/supervision-layout/supervision-layout.component.d.ts +21 -0
  1625. package/supervision/components/supervision-menu/supervision-menu.component.d.ts +13 -0
  1626. package/supervision/components/supervision-title/supervision-title.component.d.ts +11 -0
  1627. package/supervision/components/supervision.component.d.ts +9 -0
  1628. package/supervision/i18n/en.translations.d.ts +57 -0
  1629. package/supervision/i18n/fr.translations.d.ts +57 -0
  1630. package/supervision/index.d.ts +5 -0
  1631. package/supervision/public-api.d.ts +1 -0
  1632. package/supervision/store/supervision-api.model.d.ts +36 -0
  1633. package/supervision/store/supervision.actions.d.ts +121 -0
  1634. package/supervision/store/supervision.effects.d.ts +51 -0
  1635. package/supervision/store/supervision.reducer.d.ts +22 -0
  1636. package/supervision/store/supervision.selectors.d.ts +18 -0
  1637. package/supervision/store/supervision.service.d.ts +19 -0
  1638. package/supervision/supervision-routing.module.d.ts +7 -0
  1639. package/supervision/supervision.module.d.ts +25 -0
  1640. package/toolbox/components/clear-view/clear-view.component.d.ts +10 -0
  1641. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +19 -0
  1642. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +12 -0
  1643. package/toolbox/components/filter-settings/filter-settings.component.d.ts +80 -0
  1644. package/toolbox/components/launch-tab/launch-tab.component.d.ts +10 -0
  1645. package/toolbox/components/named-query/named-query.component.d.ts +15 -0
  1646. package/toolbox/components/save-view/save-view.component.d.ts +53 -0
  1647. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +35 -0
  1648. package/toolbox/components/toolbox.component.d.ts +11 -0
  1649. package/toolbox/index.d.ts +5 -0
  1650. package/toolbox/public-api.d.ts +11 -0
  1651. package/toolbox/style/_o-filter-settings.scss +96 -0
  1652. package/toolbox/style/_o-select-grid-layout.scss +43 -0
  1653. package/toolbox/style/css.component.d.ts +5 -0
  1654. package/toolbox/toolbox.module.d.ts +23 -0
  1655. package/tooltips/attribute/attribute-tooltip.component.d.ts +10 -0
  1656. package/tooltips/attribute/attribute-tooltip.module.d.ts +14 -0
  1657. package/tooltips/attribute/index.d.ts +5 -0
  1658. package/tooltips/attribute/public-api.d.ts +2 -0
  1659. package/tooltips/cluster/cluster-tooltip.component.d.ts +6 -0
  1660. package/tooltips/cluster/cluster-tooltip.module.d.ts +13 -0
  1661. package/tooltips/cluster/index.d.ts +5 -0
  1662. package/tooltips/cluster/public-api.d.ts +2 -0
  1663. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +101 -0
  1664. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +103 -0
  1665. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +103 -0
  1666. package/widgets/widget-aggregated-chart/index.d.ts +5 -0
  1667. package/widgets/widget-aggregated-chart/public-api.d.ts +5 -0
  1668. package/widgets/widget-aggregated-chart/service/backend-aggregation.service.d.ts +21 -0
  1669. package/widgets/widget-aggregated-chart/service/base-aggregation.service.d.ts +21 -0
  1670. package/widgets/widget-aggregated-chart/service/frontend-aggregation.service.d.ts +32 -0
  1671. package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +43 -0
  1672. package/widgets/widget-aggregated-chart/style/css.component.d.ts +5 -0
  1673. package/widgets/widget-aggregated-chart/widget-aggregated-chart.module.d.ts +18 -0
  1674. package/widgets/widget-chart/component/vega-error.handler.d.ts +6 -0
  1675. package/widgets/widget-chart/component/vega-spec.constant.d.ts +98 -0
  1676. package/widgets/widget-chart/component/widget-chart.component.d.ts +151 -0
  1677. package/widgets/widget-chart/i18n/en.translations.d.ts +113 -0
  1678. package/widgets/widget-chart/i18n/fr.translations.d.ts +113 -0
  1679. package/widgets/widget-chart/index.d.ts +5 -0
  1680. package/widgets/widget-chart/public-api.d.ts +2 -0
  1681. package/widgets/widget-chart/style/_o-widget-chart.scss +43 -0
  1682. package/widgets/widget-chart/style/css.component.d.ts +5 -0
  1683. package/widgets/widget-chart/widget-chart.module.d.ts +18 -0
  1684. package/widgets/widget-detail/component/widget-detail.component.d.ts +45 -0
  1685. package/widgets/widget-detail/i18n/en.translations.d.ts +13 -0
  1686. package/widgets/widget-detail/i18n/fr.translations.d.ts +13 -0
  1687. package/widgets/widget-detail/index.d.ts +5 -0
  1688. package/widgets/widget-detail/public-api.d.ts +2 -0
  1689. package/widgets/widget-detail/style/_o-widget-detail.scss +60 -0
  1690. package/widgets/widget-detail/style/css.component.d.ts +5 -0
  1691. package/widgets/widget-detail/widget-detail.module.d.ts +18 -0
  1692. package/widgets/widget-graph/component/widget-graph.component.d.ts +101 -0
  1693. package/widgets/widget-graph/i18n/en.translations.d.ts +14 -0
  1694. package/widgets/widget-graph/i18n/fr.translations.d.ts +14 -0
  1695. package/widgets/widget-graph/index.d.ts +5 -0
  1696. package/widgets/widget-graph/layout/node.interface.d.ts +12 -0
  1697. package/widgets/widget-graph/layout/simple.function.d.ts +9 -0
  1698. package/widgets/widget-graph/public-api.d.ts +3 -0
  1699. package/widgets/widget-graph/style/_o-widget-graph.scss +4 -0
  1700. package/widgets/widget-graph/style/css.component.d.ts +5 -0
  1701. package/widgets/widget-graph/widget-graph.module.d.ts +18 -0
  1702. package/widgets/widget-iframe/component/widget-iframe.component.d.ts +20 -0
  1703. package/widgets/widget-iframe/i18n/en.translations.d.ts +10 -0
  1704. package/widgets/widget-iframe/i18n/fr.translations.d.ts +10 -0
  1705. package/widgets/widget-iframe/index.d.ts +5 -0
  1706. package/widgets/widget-iframe/messaging/iframe-message-type.interface.d.ts +8 -0
  1707. package/widgets/widget-iframe/messaging/iframe-messaging.service.d.ts +10 -0
  1708. package/widgets/widget-iframe/public-api.d.ts +4 -0
  1709. package/widgets/widget-iframe/style/_o-widget-iframe.scss +19 -0
  1710. package/widgets/widget-iframe/style/css.component.d.ts +5 -0
  1711. package/widgets/widget-iframe/widget-iframe.module.d.ts +18 -0
  1712. package/widgets/widget-image/component/widget-image.component.d.ts +13 -0
  1713. package/widgets/widget-image/index.d.ts +5 -0
  1714. package/widgets/widget-image/public-api.d.ts +2 -0
  1715. package/widgets/widget-image/style/_o-widget-image.scss +7 -0
  1716. package/widgets/widget-image/style/css.component.d.ts +5 -0
  1717. package/widgets/widget-image/widget-image.module.d.ts +14 -0
  1718. package/widgets/widget-map/component/widget-map-layer.service.d.ts +98 -0
  1719. package/widgets/widget-map/component/widget-map.component.d.ts +136 -0
  1720. package/widgets/widget-map/i18n/en.translations.d.ts +80 -0
  1721. package/widgets/widget-map/i18n/fr.translations.d.ts +80 -0
  1722. package/widgets/widget-map/index.d.ts +5 -0
  1723. package/widgets/widget-map/interaction/selection-interaction.class.d.ts +25 -0
  1724. package/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.d.ts +14 -0
  1725. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +8 -0
  1726. package/widgets/widget-map/public-api.d.ts +6 -0
  1727. package/widgets/widget-map/reader/kmz-zip-reader.class.d.ts +12 -0
  1728. package/widgets/widget-map/reader/map-formats-reader.class.d.ts +15 -0
  1729. package/widgets/widget-map/reader/random-color-style.function.d.ts +6 -0
  1730. package/widgets/widget-map/reader/read-as-text.class.d.ts +10 -0
  1731. package/widgets/widget-map/reader/shp-zip-reader.class.d.ts +10 -0
  1732. package/widgets/widget-map/search-bar/search-bar.control.d.ts +27 -0
  1733. package/widgets/widget-map/style/_o-layer-legend.scss +42 -0
  1734. package/widgets/widget-map/style/_o-widget-map.scss +69 -0
  1735. package/widgets/widget-map/style/css.component.d.ts +5 -0
  1736. package/widgets/widget-map/utils/widget-map.utils.d.ts +29 -0
  1737. package/widgets/widget-map/widget-map.module.d.ts +20 -0
  1738. package/widgets/widget-table/component/widget-table.component.d.ts +41 -0
  1739. package/widgets/widget-table/expand-value/detach-row.directive.d.ts +12 -0
  1740. package/widgets/widget-table/expand-value/expand-value.component.d.ts +10 -0
  1741. package/widgets/widget-table/expand-value/format-number.pipe.d.ts +12 -0
  1742. package/widgets/widget-table/get-value/get-value.pipe.d.ts +11 -0
  1743. package/widgets/widget-table/i18n/en.translations.d.ts +14 -0
  1744. package/widgets/widget-table/i18n/fr.translations.d.ts +14 -0
  1745. package/widgets/widget-table/index.d.ts +5 -0
  1746. package/widgets/widget-table/public-api.d.ts +5 -0
  1747. package/widgets/widget-table/resizable/resizable.component.d.ts +7 -0
  1748. package/widgets/widget-table/resizable/resizable.directive.d.ts +10 -0
  1749. package/widgets/widget-table/style/_o-widget-table.scss +64 -0
  1750. package/widgets/widget-table/style/css.component.d.ts +5 -0
  1751. package/widgets/widget-table/widget-table.module.d.ts +24 -0
  1752. package/widgets/widget-template/component/widget-template.component.d.ts +21 -0
  1753. package/widgets/widget-template/index.d.ts +5 -0
  1754. package/widgets/widget-template/public-api.d.ts +2 -0
  1755. package/widgets/widget-template/style/_o-widget-template.scss +8 -0
  1756. package/widgets/widget-template/style/css.component.d.ts +5 -0
  1757. package/widgets/widget-template/widget-template.module.d.ts +16 -0
  1758. package/widgets/widget-tile/component/widget-tile.component.d.ts +47 -0
  1759. package/widgets/widget-tile/i18n/en.translations.d.ts +12 -0
  1760. package/widgets/widget-tile/i18n/fr.translations.d.ts +12 -0
  1761. package/widgets/widget-tile/index.d.ts +5 -0
  1762. package/widgets/widget-tile/public-api.d.ts +2 -0
  1763. package/widgets/widget-tile/style/_o-widget-tile.scss +83 -0
  1764. package/widgets/widget-tile/style/css.component.d.ts +5 -0
  1765. package/widgets/widget-tile/widget-tile.module.d.ts +20 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provoly-dashboard-widgets-widget-map.mjs","sources":["../../../../projects/provoly/dashboard/widgets/widget-map/interaction/selection-interaction.class.ts","../../../../projects/provoly/dashboard/widgets/widget-map/reader/kmz-zip-reader.class.ts","../../../../projects/provoly/dashboard/widgets/widget-map/reader/random-color-style.function.ts","../../../../projects/provoly/dashboard/widgets/widget-map/reader/read-as-text.class.ts","../../../../projects/provoly/dashboard/widgets/widget-map/reader/shp-zip-reader.class.ts","../../../../projects/provoly/dashboard/widgets/widget-map/reader/map-formats-reader.class.ts","../../../../projects/provoly/dashboard/widgets/widget-map/search-bar/search-bar.control.ts","../../../../projects/provoly/dashboard/widgets/widget-map/utils/widget-map.utils.ts","../../../../projects/provoly/dashboard/widgets/widget-map/component/widget-map-layer.service.ts","../../../../projects/provoly/dashboard/widgets/widget-map/style/css.component.ts","../../../../projects/provoly/dashboard/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.ts","../../../../projects/provoly/dashboard/widgets/widget-map/pipe/widget-map-legend-url.pipe.ts","../../../../projects/provoly/dashboard/widgets/widget-map/component/widget-map.component.ts","../../../../projects/provoly/dashboard/widgets/widget-map/component/widget-map.component.html","../../../../projects/provoly/dashboard/widgets/widget-map/i18n/en.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-map/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-map/widget-map.module.ts","../../../../projects/provoly/dashboard/widgets/widget-map/provoly-dashboard-widgets-widget-map.ts"],"sourcesContent":["import { Store } from '@ngrx/store';\nimport { DashboardActions, widgetMapConfig } from '@provoly/dashboard';\nimport { Feature, Map, MapBrowserEvent } from 'ol';\nimport { Coordinate } from 'ol/coordinate';\nimport { Geometry, Polygon } from 'ol/geom';\nimport PointerInteraction from 'ol/interaction/Pointer';\nimport TileLayer from 'ol/layer/Tile';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorTileLayer from 'ol/layer/VectorTile';\nimport RenderBox from 'ol/render/Box';\nimport VectorSource from 'ol/source/Vector';\nimport { Fill, Style } from 'ol/style';\n\nexport class SelectionInteraction extends PointerInteraction {\n private coordinates: number[] | null;\n private cursor: string;\n private features: string[];\n private previousCursor: string | undefined;\n selectionType!: 'click' | 'lasso' | 'rectangle' | 'zoom' | 'move';\n private store?: Store;\n private currentRectangle = new RenderBox('ol-rectangle-selection');\n private overlayForLasso: VectorLayer<any>;\n private lassoCoordinates: number[][] = [];\n private currentLassoFeature: Feature<Polygon> | null = null;\n private actions: ('click' | 'lasso' | 'rectangle' | 'zoom' | 'move')[] = [];\n\n selectionStyle = new Style({\n fill: new Fill({\n color: 'rgba(251, 198, 199, 0.5)'\n })\n });\n\n constructor() {\n super({});\n\n this.coordinates = null;\n this.cursor = 'pointer';\n this.features = [];\n this.previousCursor = undefined;\n widgetMapConfig.actions$.subscribe((actions) => {\n // @ts-ignore\n this.actions = actions.filter((action) => action !== 'export' && action !== 'upload');\n this.selectionType = this.actions[0];\n });\n this.overlayForLasso = new VectorLayer({\n source: new VectorSource({\n useSpatialIndex: false,\n wrapX: false,\n features: []\n }),\n style: this.selectionStyle,\n updateWhileInteracting: true\n });\n }\n\n init(store: Store) {\n this.store = store;\n return this;\n }\n\n override handleDownEvent(evt: MapBrowserEvent<MouseEvent>) {\n const map = evt.map;\n\n if (this.selectionType === 'move') {\n return false;\n }\n\n if (this.selectionType === 'click') {\n this.features = [\n ...new Set(\n map\n .getFeaturesAtPixel(evt.pixel)\n .map((feature) => feature.get('id'))\n .filter((id) => !!id)\n )\n ];\n // Click and move are collisionning. Need to make another button if needed right now click is aborted\n return true;\n }\n\n if (['rectangle', 'zoom'].includes(this.selectionType)) {\n this.coordinates = evt.pixel;\n this.currentRectangle.setMap(evt.map);\n this.currentRectangle.setPixels(this.coordinates, this.coordinates);\n }\n\n if (this.selectionType === 'lasso') {\n this.getMap()?.addLayer(this.overlayForLasso);\n this.lassoCoordinates = [evt.coordinate];\n if (!this.currentLassoFeature) {\n this.currentLassoFeature = new Feature(new Polygon(this.getPolygonCoordinates(this.lassoCoordinates)));\n this.overlayForLasso.getSource().addFeature(this.currentLassoFeature);\n }\n }\n\n return true;\n }\n\n getPolygonCoordinates(coordinates: number[][]) {\n return [coordinates.concat(coordinates[0])];\n }\n\n override handleDragEvent(evt: MapBrowserEvent<MouseEvent>) {\n if (['rectangle', 'zoom'].includes(this.selectionType)) {\n this.currentRectangle.setPixels(this.coordinates ?? [0, 0], evt.pixel);\n return true;\n }\n if (this.selectionType === 'lasso') {\n this.lassoCoordinates.push(evt.coordinate);\n this.currentLassoFeature?.getGeometry()?.setCoordinates(this.getPolygonCoordinates(this.lassoCoordinates));\n return true;\n }\n return false;\n }\n\n override handleUpEvent() {\n if (this.selectionType === 'click' && this.features.length > 0) {\n this.store?.dispatch(DashboardActions.selectMany({ ids: this.features }));\n }\n\n if (this.selectionType === 'lasso') {\n const geometry = this.currentLassoFeature?.getGeometry();\n\n const boxFeatures = this.getMap()\n ?.getAllLayers()\n .filter(\n (layer) =>\n !(layer instanceof VectorTileLayer) &&\n !(layer instanceof TileLayer) &&\n layer?.getSource() instanceof VectorSource\n )\n .map(\n (layer) =>\n (layer?.getSource() as VectorSource)\n ?.getFeatures()\n .filter((features: Feature<any>) => !!features.get('id'))\n .filter((feature: Feature<any>) => {\n switch (feature.get('type')) {\n case 'point':\n case 'marker':\n return geometry?.intersectsCoordinate(feature.getGeometry().getCoordinates());\n case 'bubble':\n case 'line':\n return feature\n .getGeometry()\n .getCoordinates()\n .map((coords: Coordinate) => geometry?.intersectsCoordinate(coords))\n .reduce((a: boolean, b: boolean) => a || b, false);\n case 'polygon':\n return feature\n .getGeometry()\n .getCoordinates()[0]\n .map((coords: Coordinate) => geometry?.intersectsCoordinate(coords))\n .reduce((a: boolean, b: boolean) => a || b, false);\n default:\n return false;\n }\n })\n )\n .reduce((p, c) => [...p, ...c], []);\n\n const ids = [\n ...new Set(\n boxFeatures?.map((feature: Feature<Geometry>) => feature.get('id') as string).filter((id: string) => !!id)\n )\n ] as string[];\n\n this.store?.dispatch(DashboardActions.selectMany({ ids }));\n\n this.getMap()?.removeLayer(this.overlayForLasso);\n this.lassoCoordinates = [];\n }\n\n if (this.selectionType === 'rectangle') {\n this.currentRectangle.setMap(null as unknown as Map);\n\n const extent = this.currentRectangle.getGeometry().getExtent();\n const boxFeatures = this.getMap()\n ?.getLayers()\n .getArray()\n // @ts-ignore\n .map((layer) => layer.getSource())\n .map((source) => (source.getFeaturesInExtent ? source.getFeaturesInExtent(extent) : []))\n .reduce((p, c) => [...p, ...c], [])\n .filter(\n (feature: any) => !!feature.getGeometry().intersectsExtent && feature.getGeometry().intersectsExtent(extent)\n );\n\n const ids = [\n ...new Set(\n boxFeatures.map((feature: Feature<Geometry>) => feature.get('id') as string).filter((id: string) => !!id)\n )\n ] as string[];\n\n this.store?.dispatch(DashboardActions.selectMany({ ids }));\n }\n\n if (this.selectionType === 'zoom') {\n this.currentRectangle.setMap(null as unknown as Map);\n\n const extent = this.currentRectangle.getGeometry().getExtent();\n this.getMap()\n ?.getView()\n .fit(extent, { padding: [20, 20, 70, 70], duration: 200 });\n }\n\n if (this.selectionType === 'lasso') {\n this.getMap()?.removeLayer(this.overlayForLasso);\n }\n\n this.changeSelection(this.actions[0]);\n this.coordinates = null;\n this.features = [];\n\n return false;\n }\n\n changeSelection(type: string) {\n this.selectionType = type as 'click' | 'lasso' | 'rectangle' | 'zoom' | 'move';\n }\n}\n","import JSZip from 'jszip';\nimport { Feature, Map } from 'ol';\nimport { KML } from 'ol/format';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorSource from 'ol/source/Vector';\n\nexport class KmzZipReader {\n reader: JSZip;\n map!: Map;\n fileInsideZipExtension: string;\n parser: KML;\n\n constructor() {\n this.reader = new JSZip();\n this.fileInsideZipExtension = '.kml';\n this.parser = new KML();\n }\n\n withMap(map: Map) {\n this.map = map;\n return this;\n }\n\n apply(file: any, resolve: (r: any) => void, reject: (e: any) => void) {\n this.reader.loadAsync(file).then((zip) => {\n let entry: JSZip.JSZipObject | null = null;\n let imageReplacements: Promise<{ name: string; image: string }>[] = [];\n zip.forEach((path, zipEntry) => {\n if (zipEntry.name.endsWith(this.fileInsideZipExtension)) {\n entry = zipEntry;\n }\n const split = zipEntry.name.toLowerCase().split('.');\n const extention = split[split.length - 1];\n\n if (['png', 'jpeg'].includes(extention)) {\n imageReplacements.push(\n new Promise((resolveS) => {\n zipEntry.async('arraybuffer').then((buffer) => {\n resolveS({\n name: zipEntry.name,\n image: window.URL.createObjectURL(new Blob([buffer], { type: `image/${extention}` }))\n });\n });\n })\n );\n }\n });\n\n if (entry === null) {\n reject({ msg: '@pry.widget.map.importNotFoundInZip', val: { extension: this.fileInsideZipExtension } });\n } else {\n Promise.all(imageReplacements).then((replacements) => {\n entry?.async('string').then((buffer) => {\n let replacedBuffer = buffer;\n replacements.forEach(\n (replacement) => (replacedBuffer = replacedBuffer.replace(replacement.name, replacement.image))\n );\n resolve(\n new VectorLayer({\n source: new VectorSource({\n features: this.parser.readFeatures(replacedBuffer, {\n featureProjection: this.map.getView().getProjection()\n }) as Feature<any>[]\n })\n })\n );\n });\n });\n }\n });\n }\n}\n","import { Feature } from 'ol';\nimport {\n Circle,\n Geometry,\n GeometryCollection,\n LineString,\n MultiLineString,\n MultiPoint,\n MultiPolygon,\n Point,\n Polygon\n} from 'ol/geom';\nimport { Fill, Stroke, Style } from 'ol/style';\nimport CircleStyle from 'ol/style/Circle';\nimport RenderFeature from 'ol/render/Feature';\n\nexport const randomColor = () => [\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255)\n];\n\nexport const styleFunction = (color: number[]) => (feature: Feature<Geometry> | RenderFeature) => {\n const stroke = new Stroke({\n color: `rgb(${color.join(',')})`,\n width: 1\n });\n const fill = new Fill({ color: `rgba(${color.join(',')}, 0.1)` });\n const image = new CircleStyle({ radius: 5, fill, stroke });\n switch (feature.getGeometry()?.getType() as any) {\n case Point:\n case MultiPoint:\n return new Style({ image });\n case LineString:\n case MultiLineString:\n return new Style({ stroke });\n case MultiPolygon:\n case Polygon:\n case Circle:\n return new Style({ stroke, fill });\n case GeometryCollection:\n default:\n return new Style({ stroke, fill, image });\n }\n};\n","import { Feature, Map } from 'ol';\nimport FeatureFormat from 'ol/format/Feature';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorSource from 'ol/source/Vector';\nimport { randomColor, styleFunction } from './random-color-style.function';\n\nexport class ReadAsText {\n reader: FileReader;\n map!: Map;\n\n constructor(private parser: FeatureFormat) {\n this.reader = new FileReader();\n }\n\n withMap(map: Map) {\n this.map = map;\n return this;\n }\n\n apply(file: any, resolve: (r: any) => void, reject: (e: any) => void) {\n this.reader.readAsText(file, 'UTF-8');\n this.reader.onload = (evt) => {\n resolve(\n new VectorLayer({\n source: new VectorSource({\n features: this.parser.readFeatures(evt.target?.result, {\n featureProjection: this.map.getView().getProjection()\n }) as Feature<any>[]\n }),\n style: styleFunction(randomColor())\n })\n );\n };\n this.reader.onerror = (err) => {\n reject({ msg: 'ReadAsText: ' + err, val: {} });\n };\n }\n}\n","import FeatureFormat from 'ol/format/Feature';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorSource from 'ol/source/Vector';\nimport { Feature, Map } from 'ol';\nimport { GeoJSON } from 'ol/format';\nimport { parseZip } from 'shpjs';\nimport { Buffer } from 'buffer';\n\nexport class ShpZipReader extends FeatureFormat {\n parser = new GeoJSON();\n map!: Map;\n\n constructor() {\n super();\n }\n\n withMap(map: Map) {\n this.map = map;\n return this;\n }\n\n apply(file: any, resolve: (r: any) => void, reject: (e: any) => void) {\n file\n .arrayBuffer()\n .then((buffer: ArrayBuffer) => {\n parseZip(Buffer.from(buffer))\n .then((geojson) => {\n resolve(\n new VectorLayer({\n source: new VectorSource({\n features: this.parser.readFeatures(geojson, {\n featureProjection: this.map.getView().getProjection()\n }) as Feature<any>[]\n })\n })\n );\n })\n .catch((err) => reject({ msg: 'ShpZipReader: ' + err, val: {} }));\n })\n .catch((err: any) => reject({ msg: 'ShpZipReader: ' + err, val: {} }));\n }\n}\n","import { Map } from 'ol';\nimport { GeoJSON, GPX, IGC, KML, TopoJSON } from 'ol/format';\nimport { Geometry } from 'ol/geom';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorSource from 'ol/source/Vector';\nimport { KmzZipReader } from './kmz-zip-reader.class';\nimport { ReadAsText } from './read-as-text.class';\nimport { ShpZipReader } from './shp-zip-reader.class';\n\nexport class MapFormatsReader {\n formats = {\n gpx: new ReadAsText(new GPX()),\n geojson: new ReadAsText(new GeoJSON()),\n igc: new ReadAsText(new IGC()),\n kml: new ReadAsText(new KML()),\n kmz: new KmzZipReader(),\n 'kml.zip': new KmzZipReader(),\n topojson: new ReadAsText(new TopoJSON()),\n 'shp.zip': new ShpZipReader()\n } as { [extension: string]: ReadAsText | KmzZipReader | ShpZipReader };\n map: Map;\n\n constructor(map: Map) {\n this.map = map;\n }\n\n decodeFile(file: any): Promise<VectorLayer<VectorSource<Geometry>>> {\n return new Promise((resolve, reject) => {\n const split = file.name.split('.');\n let extension = split[split.length - 1] as string;\n if (extension === 'zip') {\n extension = `${split[split.length - 2]}.${split[split.length - 1]}`;\n }\n\n if (!this.formats[extension]) {\n reject({\n msg: '@pry.widget.map.importError',\n val: { extension, authorizedFormats: Object.keys(this.formats).join(', ') }\n });\n return;\n }\n\n this.formats[extension].withMap(this.map).apply(file, resolve, reject);\n });\n }\n}\n","import { GeocodingService } from '@provoly/dashboard';\nimport { Control } from 'ol/control';\nimport { Options } from 'ol/control/Control';\nimport BaseEvent from 'ol/events/Event';\nimport { fromLonLat } from 'ol/proj';\n\nexport class AddressSearchedEvent extends BaseEvent {\n latLon: [number, number];\n coordinates: [number, number];\n address: string;\n query: string;\n\n // @ts-ignore\n constructor({ type, coordinates, address, latLon, query }) {\n super(type);\n this.coordinates = coordinates;\n this.address = address;\n this.latLon = latLon;\n this.query = query;\n }\n}\n\nexport class SearchBarControl extends Control {\n button: HTMLButtonElement;\n input: HTMLInputElement;\n geocodingService?: GeocodingService;\n\n constructor(opt_options: Options) {\n const options = opt_options || {};\n\n const button = document.createElement('button');\n button.innerHTML = '<div></div>';\n\n const element = document.createElement('div');\n element.className = 'ol-searchbar ol-unselectable ol-control';\n element.appendChild(button);\n\n const input = document.createElement('input');\n input.type = 'text';\n input.placeholder = '1 rue de la Paix...';\n input.style.display = 'none';\n\n element.appendChild(input);\n\n super({\n element: element,\n target: options.target\n });\n\n this.button = button;\n button.addEventListener('click', this.toggleInputVisible.bind(this), false);\n this.input = input;\n input.addEventListener('keypress', this.keyPress.bind(this), false);\n }\n\n toggleInputVisible() {\n if (this.inputVisible) {\n this.input.style.display = 'none';\n } else {\n this.input.style.display = 'block';\n }\n }\n\n get inputVisible() {\n return this.input.style.display === 'block';\n }\n\n keyPress(e: KeyboardEvent) {\n if (e.key === 'Enter') {\n this.geocodingService?.fromAddress(this.input.value).subscribe((result) => {\n this.getMap()?.dispatchEvent(\n new AddressSearchedEvent({\n type: 'searched-address',\n latLon: result.latLon,\n coordinates: fromLonLat(result.latLon.reverse(), this.getMap()?.getView().getProjection()),\n query: this.input.value,\n address: result.pointAddress\n })\n );\n this.toggleInputVisible();\n });\n }\n }\n\n withGeocodingService(geocodingService: GeocodingService) {\n this.geocodingService = geocodingService;\n return this;\n }\n}\n","import {\n Attribute,\n Class,\n Field,\n FieldType,\n Item,\n ItemUtils,\n MapWidgetBubbleLayerOptions,\n MapWidgetHeatMapLayerOptions,\n MapWidgetLayerOptions,\n MapWidgetMarkerLayerOptions,\n Relation,\n ResultSet\n} from '@provoly/dashboard';\n// @ts-ignore\nimport tokml from 'geojson-to-kml';\nimport { Feature, Map } from 'ol';\nimport { GeoJSON } from 'ol/format';\nimport { Circle, LineString, Point } from 'ol/geom';\nimport VectorSource from 'ol/source/Vector';\nimport { Style } from 'ol/style';\n\nexport type LatLonCandidate = {\n min: number;\n max: number;\n name: string;\n type: string;\n};\n\nexport const populateLocationAttribute = (\n layer: MapWidgetLayerOptions,\n resultSet: ResultSet,\n classesNotFiltered: Class[],\n fields: Field[]\n) => {\n if (\n ['heatmap', 'marker', 'bubble', 'point', 'line', 'polygon', 'multi-line', 'multi-polygon'].includes(layer.type) &&\n !!resultSet &&\n !!classesNotFiltered &&\n classesNotFiltered.length > 0\n ) {\n const specificLayer = layer as\n | MapWidgetHeatMapLayerOptions\n | MapWidgetMarkerLayerOptions\n | MapWidgetBubbleLayerOptions;\n\n const classes = classesNotFiltered.filter(\n (cl) => specificLayer.classes?.includes(cl.id) || !specificLayer.classes || specificLayer.classes.length === 0\n );\n\n if (!specificLayer.attribute) {\n // No location attribute available, then try to guess one that will be ok\n\n const geometry = geometryForLayer(layer);\n\n let candidates = [] as { attr: Attribute; field: Field | undefined }[];\n if (Object.keys(resultSet.items).length > 0) {\n // Based on items that we have to display\n\n candidates = Object.keys(resultSet.items)\n .map((key) => ({ items: resultSet.items[key], oClass: classes.find((cl) => cl.id === key) }))\n .map(({ items, oClass }) =>\n (oClass ?? { attributes: [] }).attributes\n .map((attr) => ({ attr, field: fields.find((f) => f.id === attr.field) }))\n .filter((attr) => attr.field?.type === geometry)\n )\n .reduce((p, c) => [...p, ...c], []);\n } else {\n // We don't have any items to display, so allow all corresponding geometry fields\n candidates = classesNotFiltered\n .map((clazz) => clazz.attributes)\n .reduce((p, c) => [...p, ...c], [])\n .map((attr) => fields.filter((field) => field?.type === geometry).map((field) => ({ attr, field })))\n .reduce((p, c) => [...p, ...c], []);\n }\n\n if (candidates.length > 0) {\n specificLayer.attribute = candidates[0].attr.name;\n }\n }\n }\n};\n\nexport const populateIntensityAttribute = (\n layer: MapWidgetLayerOptions,\n resultSet: ResultSet,\n classesNotFiltered: Class[],\n fields: Field[]\n) => {\n if (\n ['heatmap', 'bubble'].includes(layer.type) &&\n !!resultSet &&\n !!classesNotFiltered &&\n classesNotFiltered.length > 0\n ) {\n const specificLayer = layer as MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions;\n\n const classes = classesNotFiltered.filter(\n (cl) =>\n (specificLayer.classes?.includes(cl.id) || !specificLayer.classes || specificLayer.classes.length === 0) &&\n cl.attributes.find((attr) => attr.name === (specificLayer?.attribute ?? []))\n );\n\n if (!specificLayer.intensityAttribute) {\n // No intensity attribute available, then take the maximum intensity matching attribute\n const candidatesDry = Object.keys(resultSet.items)\n .map((key) => ({ items: resultSet.items[key], oClass: classes.find((cl) => cl.id === key) }))\n .map(({ items, oClass }) => {\n return (oClass ?? { attributes: [] }).attributes\n .map((attr) => ({ attr, field: fields.find((f) => f.id === attr.field) }))\n .filter((attr) => attr.field?.type === FieldType.DECIMAL || attr.field?.type === FieldType.INTEGER)\n .map((attr) => {\n const attrValues = ItemUtils.pertinentValue(items, attr.attr);\n return {\n min: Math.min(...attrValues),\n max: Math.max(...attrValues),\n name: attr.attr.name\n };\n });\n })\n .reduce((p, c) => [...p, ...c], [])\n .sort((a, b) => b.max - a.max);\n\n if (candidatesDry.length > 0) {\n specificLayer.intensityAttribute = candidatesDry[0].name;\n specificLayer.intensityAsc = true;\n }\n }\n }\n};\n\nexport const getFeatureFromItem = (\n item: Item,\n type: string,\n locationAttribute: Attribute,\n iconStyle?: Style,\n selectedIconStyle?: Style\n) => {\n return new Feature({\n ...item,\n type,\n geometry: ItemUtils.readGeometry(item, 'point', locationAttribute),\n classicStyle: iconStyle ?? null,\n selectedStyle: selectedIconStyle ?? null\n });\n};\n\nexport const getCircleFeatureFromItem = (\n item: Item,\n locationAttribute: Attribute,\n radius: number,\n iconStyle: Style,\n selectedIconStyle: Style\n) => {\n return new Feature({\n ...item,\n geometry: new Circle((ItemUtils.readGeometry(item, 'point', locationAttribute) as Point).getCoordinates(), radius),\n classicStyle: iconStyle,\n selectedStyle: selectedIconStyle,\n type: 'bubble'\n });\n};\n\nexport const getLinkFeature = (\n relation: Relation,\n featureSource: Feature<Point>,\n featureDestination: Feature<Point>\n) => {\n return new Feature({\n ...relation,\n geometry: new LineString([\n featureSource.getGeometry()?.getCoordinates() ?? [0, 0],\n featureDestination.getGeometry()?.getCoordinates() ?? [0, 0]\n ]),\n source: featureSource,\n destination: featureDestination,\n type: 'link'\n });\n};\n\nexport const getMapAsPng = (map: Map) => {\n return new Promise<string>((resolve, reject) => {\n map.once('rendercomplete', function () {\n const mapCanvas = document.createElement('canvas');\n const size = map.getSize() || [100, 100];\n mapCanvas.width = size[0];\n mapCanvas.height = size[1];\n const mapContext = mapCanvas.getContext('2d') || (null as unknown as CanvasRenderingContext2D);\n Array.prototype.forEach.call(document.querySelectorAll('.ol-layer canvas, canvas.ol-layer'), (canvas) => {\n if (canvas.width > 0) {\n const opacity = canvas.parentNode.style.opacity || canvas.style.opacity;\n mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);\n\n const backgroundColor = canvas.parentNode.style.backgroundColor;\n if (backgroundColor) {\n mapContext.fillStyle = backgroundColor;\n mapContext.fillRect(0, 0, canvas.width, canvas.height);\n }\n\n let matrix;\n const transform = canvas.style.transform;\n if (transform) {\n // Get the transform parameters from the style's transform matrix\n matrix = transform\n .match(/^matrix\\(([^(]*)\\)$/)[1]\n .split(',')\n .map(Number);\n } else {\n matrix = [\n parseFloat(canvas.style.width) / canvas.width,\n 0,\n 0,\n parseFloat(canvas.style.height) / canvas.height,\n 0,\n 0\n ];\n }\n // Apply the transform to the export map context\n CanvasRenderingContext2D.prototype.setTransform.apply(mapContext, matrix);\n mapContext.drawImage(canvas, 0, 0);\n }\n });\n mapContext.globalAlpha = 1;\n resolve(mapCanvas.toDataURL('image/png'));\n });\n map.renderSync();\n });\n};\n\nexport const exportMapAsImage = (map: Map, filename: string) => {\n getMapAsPng(map).then((data) => {\n const link = document.createElement('a');\n link.download = filename;\n link.href = data;\n link.click();\n });\n};\n\nconst exportMapAsGeoJSONString = (map: Map): Promise<string> => {\n return new Promise((resolve, reject) => {\n const format = new GeoJSON();\n const features = [] as Feature<any>[];\n const promises = map\n .getAllLayers()\n .filter((layer) => !!layer.getSource && !!layer.getSource() && !!(layer.getSource() as VectorSource).getFeatures)\n .map((layer) => (layer.getSource() as VectorSource).getFeatures())\n .filter((promise) => !!promise);\n Promise.all(promises)\n .then((featuresOfLayer) => {\n featuresOfLayer.forEach((feature) => {\n features.push(...feature);\n });\n resolve(format.writeFeatures(features) as string);\n })\n .catch((err) => reject(err));\n });\n};\n\nexport const exportMapAsGeoJSON = (map: Map, filename: string) => {\n exportMapAsGeoJSONString(map).then((output) => {\n const link = document.createElement('a');\n link.download = filename;\n const blob = new Blob([output], {\n type: 'application /geo+json'\n });\n link.href = URL.createObjectURL(blob);\n link.click();\n });\n};\n\nexport const exportMapAsKML = (map: Map, filename: string) => {\n exportMapAsGeoJSONString(map).then((output) => {\n const geoJSON = JSON.parse(output);\n const kml = tokml(geoJSON);\n const link = document.createElement('a');\n link.download = filename;\n const blob = new Blob([kml], {\n type: 'application/vnd.google-earth.kml+xml'\n });\n link.href = URL.createObjectURL(blob);\n link.click();\n });\n};\n\nexport const geometryForLayer = (layer: MapWidgetLayerOptions) => {\n switch (layer.type) {\n case 'marker':\n case 'heatmap':\n case 'bubble':\n case 'point':\n return FieldType.POINT;\n case 'line':\n return FieldType.LINE;\n case 'polygon':\n return FieldType.POLYGON;\n case 'multi-line':\n return FieldType.MULTILINE;\n case 'multi-polygon':\n return FieldType.MULTIPOLYGON;\n default:\n return FieldType.POINT;\n }\n};\n\nexport const DEFAULT_HEATMAP_RADIUS = 25;\nexport const DEFAULT_RADIUS_INTENSITY_FACTOR = 10000;\nexport const DEFAULT_ZOOM_MIN = 3;\nexport const DEFAULT_ZOOM_START = 10;\nexport const DEFAULT_ZOOM_MAX = 18;\nexport const DEFAULT_MAP_CENTER = [2.2827217347381525, 48.864706031557716];\nexport const EMPTY_MAP_STYLE = { layers: [] };\n","import { Injectable } from '@angular/core';\nimport {\n Attribute,\n ItemUtils,\n MapFeatureLayerOptions,\n MapGeoServerLayerOptions,\n MapRasterTileLayerOptions,\n MapVectorTileLayerOptions,\n MapWidgetBubbleLayerOptions,\n MapWidgetHeatMapLayerOptions,\n MapWidgetLayerOptions,\n MapWidgetMarkerLayerOptions,\n MapWidgetRelationLayerOptions,\n MapWMSLayerLayerOptions,\n MapWMTSLayerLayerOptions,\n ResultSet\n} from '@provoly/dashboard';\nimport { Feature, Map } from 'ol';\nimport { getTopLeft, getWidth } from 'ol/extent';\nimport { GeoJSON, MVT } from 'ol/format';\nimport { Geometry } from 'ol/geom';\nimport { Heatmap, Tile } from 'ol/layer';\nimport BaseLayer from 'ol/layer/Base';\nimport VectorLayer from 'ol/layer/Vector';\nimport VectorTileLayer from 'ol/layer/VectorTile';\nimport { Cluster, TileWMS, Vector, WMTS, XYZ } from 'ol/source';\nimport VectorSource from 'ol/source/Vector';\nimport VectorTile from 'ol/source/VectorTile';\nimport { Circle, Fill, Stroke, Style, Text } from 'ol/style';\nimport CircleStyle from 'ol/style/Circle';\nimport WMTSTileGrid from 'ol/tilegrid/WMTS';\nimport {\n DEFAULT_HEATMAP_RADIUS,\n DEFAULT_RADIUS_INTENSITY_FACTOR,\n DEFAULT_ZOOM_MAX,\n DEFAULT_ZOOM_MIN,\n getCircleFeatureFromItem,\n getFeatureFromItem\n} from '../utils/widget-map.utils';\n\nexport type AttributesForClass = {\n [key: string]: {\n intensityAttribute: Attribute;\n locationAttribute: Attribute;\n };\n};\n\nexport type ItemStyles = { [id: string]: { classic: Style; bordered: Style } };\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WidgetMapLayerService {\n styleCache: any = {};\n\n circleStyle = new Style({\n fill: new Fill({\n color: 'rgba(37,89,163,0.24)'\n }),\n stroke: new Stroke({\n color: 'rgb(37,89,163)',\n width: 2\n })\n });\n selectedCircleStyle = new Style({\n fill: new Fill({\n color: 'rgba(37,163,58,0.24)'\n }),\n stroke: new Stroke({\n color: 'rgb(37,163,58)',\n width: 2\n })\n });\n\n pointStyle = new Style({\n image: new Circle({\n fill: new Fill({ color: 'rgba(37,89,163,0.24)' }),\n stroke: new Stroke({ color: 'rgb(37,89,163)', width: 2 }),\n radius: 10\n })\n });\n selectedPointStyle = new Style({\n image: new Circle({\n fill: new Fill({ color: 'rgba(37,163,58,0.24)' }),\n stroke: new Stroke({ color: 'rgb(37,163,58)', width: 2 }),\n radius: 10\n })\n });\n\n get implementationList() {\n return Object.keys(this.layersImplementation).filter((implementation) => implementation !== 'geoserver');\n }\n\n dontNeedLocation = ['relation', 'wms', 'wmts', 'geoserver', 'featurelayer', 'vectortile', 'rastertile'];\n dontNeedIntensity = [...this.dontNeedLocation, 'marker', 'point', 'line', 'polygon', 'multi-line', 'multi-polygon'];\n\n layersImplementation = {\n heatmap: (\n layer: MapWidgetHeatMapLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const heatmap = new Heatmap({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new Vector({ attributions: [layer.attribution ?? ''] }),\n blur: (layer.radius ?? DEFAULT_HEATMAP_RADIUS) / 2,\n radius: layer.radius ?? DEFAULT_HEATMAP_RADIUS,\n weight: (feature: any) => {\n const value = ItemUtils.getAttributeCalculatedValue(\n feature,\n attributesForClass[feature.get('oClass') as string].intensityAttribute\n ) as number;\n const atScale = (value - range.min) / (range.max - range.min);\n return layer.intensityAsc ? atScale : 1 - atScale;\n }\n });\n\n layerClassesId.forEach((classId) => {\n (resultSet.items[classId] || [])\n .filter((item) => {\n const location = ItemUtils.readGeometry(item, 'point', attributesForClass[classId].locationAttribute);\n return !!location;\n })\n .forEach((item) => {\n heatmap\n .getSource()\n ?.addFeature(getFeatureFromItem(item, 'heatpoint', attributesForClass[item.oClass].locationAttribute));\n });\n });\n\n return heatmap as BaseLayer;\n },\n marker: (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const vectorLayer = new VectorLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorSource({ attributions: [layer.attribution ?? ''] })\n });\n\n layerClassesId.forEach((classId) => {\n (resultSet.items[classId] || [])\n .filter((item) => {\n const location = ItemUtils.readGeometry(item, 'point', attributesForClass[item.oClass].locationAttribute);\n return !!location;\n })\n .forEach(async (item) => {\n const itemFeature = getFeatureFromItem(\n item,\n 'marker',\n attributesForClass[item.oClass].locationAttribute,\n itemStyles[item.id]?.classic,\n itemStyles[item.id]?.bordered\n );\n itemFeature.setStyle(itemFeature.get('classicStyle'));\n vectorLayer.getSource()?.addFeature(itemFeature);\n });\n });\n\n return this.makeClustered(vectorLayer, layer);\n },\n point: (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return this.layerFromGeoJsonGeometry(layer, layerClassesId, resultSet, attributesForClass, 'point');\n },\n line: (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return this.layerFromGeoJsonGeometry(layer, layerClassesId, resultSet, attributesForClass, 'line');\n },\n 'multi-line': (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return this.layerFromGeoJsonGeometry(layer, layerClassesId, resultSet, attributesForClass, 'multi-line');\n },\n polygon: (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return this.layerFromGeoJsonGeometry(layer, layerClassesId, resultSet, attributesForClass, 'polygon');\n },\n 'multi-polygon': (\n layer: MapWidgetMarkerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return this.layerFromGeoJsonGeometry(layer, layerClassesId, resultSet, attributesForClass, 'multi-polygon');\n },\n bubble: (\n layer: MapWidgetBubbleLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const bubbleLayer = new VectorLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorSource({ attributions: [layer.attribution ?? ''] })\n });\n\n layerClassesId.forEach((classId) => {\n (resultSet.items[classId] || [])\n .filter((item) => {\n const location = ItemUtils.readGeometry(item, 'point', attributesForClass[item.oClass].locationAttribute);\n return !!location;\n })\n .forEach((item) => {\n const value = ItemUtils.getAttributeCalculatedValue(\n item,\n attributesForClass[item.oClass].intensityAttribute\n ) as number;\n const atScale = (value - range.min) / (range.max - range.min);\n const itemFeature = getCircleFeatureFromItem(\n item,\n attributesForClass[item.oClass].locationAttribute,\n (layer.intensityAsc ? atScale : 1 - atScale) * (layer.radiusFactor ?? DEFAULT_RADIUS_INTENSITY_FACTOR),\n this.circleStyle,\n this.selectedCircleStyle\n );\n itemFeature.setStyle(itemFeature.get('classicStyle'));\n bubbleLayer.getSource()?.addFeature(itemFeature);\n });\n });\n\n return bubbleLayer;\n },\n relation: (\n layer: MapWidgetRelationLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return new VectorLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorSource({ attributions: [layer.attribution ?? ''] })\n });\n },\n wms: (\n layer: MapWMSLayerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const impl = new Tile({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new TileWMS({\n attributions: [layer.attribution ?? ''],\n crossOrigin: 'anonymous',\n url: layer.url,\n params: { LAYERS: layer.paramLayer, TILED: layer.paramTiled }\n })\n });\n impl.set('oClass', layer.oClass);\n return impl;\n },\n wmts: (\n layer: MapWMTSLayerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const projection = map.getView().getProjection();\n const projectionExtent = projection.getExtent();\n const size = getWidth(projectionExtent) / 256;\n const resolutions = new Array(19);\n const matrixIds = new Array(19);\n for (let z = 0; z < 19; ++z) {\n // generate resolutions and matrixIds arrays for this WMTS\n resolutions[z] = size / Math.pow(2, z);\n matrixIds[z] = z;\n }\n return new Tile({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new WMTS({\n attributions: [layer.attribution ?? ''],\n crossOrigin: 'anonymous',\n url: layer.url,\n layer: layer.paramLayer,\n matrixSet: layer.matrixSet,\n projection,\n tileGrid: new WMTSTileGrid({\n origin: getTopLeft(projectionExtent),\n resolutions: resolutions,\n matrixIds: matrixIds\n }),\n style: layer.style\n })\n });\n },\n geoserver: (\n layer: MapGeoServerLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n const impl = this.layersImplementation['wms'](\n { ...layer, type: 'wms', oClass: layer.oClass },\n attributesForClass,\n layerClassesId,\n resultSet,\n range,\n itemStyles,\n map\n );\n impl.set('title', layer.title);\n impl.set('oClass', layer.oClass);\n return impl;\n },\n featurelayer: (\n layer: MapFeatureLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return new VectorLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorSource({\n attributions: [layer.attribution ?? ''],\n format: new GeoJSON(),\n url: layer.url\n })\n });\n },\n vectortile: (\n layer: MapVectorTileLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return new VectorTileLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorTile({\n attributions: [layer.attribution ?? ''],\n format: new MVT(),\n url: layer.url\n })\n });\n },\n rastertile: (\n layer: MapRasterTileLayerOptions,\n attributesForClass: AttributesForClass,\n layerClassesId: string[],\n resultSet: ResultSet,\n range: { min: number; max: number },\n itemStyles: ItemStyles,\n map: Map\n ) => {\n return new Tile({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new XYZ({\n url: layer.url,\n attributions: [layer.attribution ?? '']\n })\n });\n }\n };\n\n private layerFromGeoJsonGeometry(\n layer: MapWidgetMarkerLayerOptions,\n layerClassesId: string[],\n resultSet: ResultSet,\n attributesForClass: AttributesForClass,\n type: 'point' | 'line' | 'multi-line' | 'polygon' | 'multi-polygon'\n ) {\n const vectorLayer = new VectorLayer({\n minZoom: layer.minZoom ?? DEFAULT_ZOOM_MIN,\n maxZoom: layer.maxZoom ?? DEFAULT_ZOOM_MAX,\n opacity: (layer.opacity ?? 100) / 100,\n source: new VectorSource({ attributions: [layer.attribution ?? ''] })\n });\n\n layerClassesId.forEach((classId) => {\n (resultSet.items[classId] || [])\n .map((item) => ({\n item,\n location: ItemUtils.readGeometry(item, type, attributesForClass[item.oClass].locationAttribute)\n }))\n .filter(({ location }) => !!location)\n .forEach(async (subItem) => {\n const itemFeature = new Feature({\n ...subItem.item,\n type,\n geometry: subItem.location,\n classicStyle: type === 'point' ? this.pointStyle : this.circleStyle,\n selectedStyle: type === 'point' ? this.selectedPointStyle : this.selectedCircleStyle\n });\n itemFeature.setStyle(itemFeature.get('classicStyle'));\n vectorLayer.getSource()?.addFeature(itemFeature);\n });\n });\n\n return this.makeClustered(vectorLayer, layer);\n }\n\n private makeClustered(layer: BaseLayer, layerOptions: MapWidgetLayerOptions) {\n if (!['marker', 'bubble'].includes(layerOptions.type) || !('clustered' in layerOptions && layerOptions.clustered)) {\n return layer;\n }\n // Clustering source\n const vectorLayer = layer as VectorLayer<VectorSource<Geometry>>;\n vectorLayer.setSource(\n new Cluster({\n distance: layerOptions.clusterDistance,\n minDistance: 10,\n source: vectorLayer.getSource() as VectorSource\n })\n );\n\n vectorLayer.setStyle((feature) => {\n const size = feature.get('features').length;\n if (size > 1) {\n let style = this.styleCache[size];\n if (!style) {\n style = new Style({\n image: new CircleStyle({\n radius: 10,\n stroke: new Stroke({\n color: '#fff'\n }),\n fill: new Fill({\n color: '#3399CC'\n })\n }),\n text: new Text({ text: `${size}` })\n });\n this.styleCache[size] = style;\n }\n return style;\n } else {\n return size === 1 ? feature.get('features')[0].get('classicStyle') : null;\n }\n });\n\n return layer;\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-widget-map-css',\n template: '',\n styleUrls: ['./_o-widget-map.scss', './_o-layer-legend.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryWidgetMapCssComponent {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n Attribute,\n Class,\n ClassSelectors,\n Field,\n FieldSelectors,\n MapWidgetBubbleLayerOptions,\n MapWidgetGeometryLayerOptions,\n MapWidgetHeatMapLayerOptions,\n MapWidgetLayerOptions,\n MapWidgetMarkerLayerOptions\n} from '@provoly/dashboard';\nimport { combineLatest, filter, map, Observable } from 'rxjs';\nimport { geometryForLayer } from '../utils/widget-map.utils';\n\n@Pipe({\n name: 'geometryFieldsFor'\n})\nexport class GeometryFieldsForPipe implements PipeTransform {\n classes$: Observable<Class[]>;\n fields$: Observable<Field[]>;\n\n constructor(private store: Store<any>) {\n this.classes$ = this.store\n .select(ClassSelectors.classes)\n .pipe(map((classes) => classes.sort((a, b) => a.name.localeCompare(b.name))));\n this.fields$ = this.store.select(FieldSelectors.fields);\n }\n\n transform(value: MapWidgetLayerOptions, ...args: any[]): Observable<Attribute[]> {\n const specificLayer = value as\n | MapWidgetHeatMapLayerOptions\n | MapWidgetMarkerLayerOptions\n | MapWidgetBubbleLayerOptions\n | MapWidgetGeometryLayerOptions;\n\n const limitToClasses = args[0].classes as string[];\n const type = geometryForLayer({ type: args[0].type });\n\n return combineLatest([this.classes$, this.fields$]).pipe(\n filter(([classes, fields]) => !!classes && !!fields && classes.length > 0 && fields.length > 0),\n map(([classes, fields]) => {\n const potentialFields = classes\n .map((cl) => cl.id)\n .filter(\n (oClassId) =>\n !specificLayer.classes ||\n specificLayer.classes.length === 0 ||\n !!specificLayer.classes?.find((cl) => oClassId === cl)\n )\n .filter((classId) => !limitToClasses || limitToClasses.length === 0 || limitToClasses.includes(classId))\n .map((oClassId) => classes.find((cl) => cl.id === oClassId) ?? { attributes: [] as Attribute[] })\n .map((oClass) => oClass.attributes)\n .reduce((prev, curr) => [...prev, ...curr], [])\n .filter((attr) => {\n const attrField = fields.find((f) => f.id === attr.field);\n return !!attrField && attrField.type === type;\n })\n .sort((a, b) => a.name.localeCompare(b.name));\n\n const resArr = [] as Attribute[];\n potentialFields.forEach(function (attr) {\n if (resArr.findIndex((x) => x.name == attr.name) <= -1) {\n resArr.push(attr);\n }\n });\n return resArr;\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MapGeoServerLayerOptions, MapWMSLayerLayerOptions } from '@provoly/dashboard';\n\n@Pipe({\n name: 'legendUrl'\n})\nexport class WidgetMapLegendUrlPipe implements PipeTransform {\n transform(geoLayer: MapGeoServerLayerOptions | MapWMSLayerLayerOptions): string {\n if (geoLayer && geoLayer.url) {\n const layerUrlWithQmark = geoLayer.url.indexOf('?') === -1 ? geoLayer.url + '?' : geoLayer.url;\n const layerUrlWithService =\n layerUrlWithQmark.indexOf('&SERVICE=') === -1 ? layerUrlWithQmark + '&SERVICE=WMS' : layerUrlWithQmark;\n const layerUrlWithVersion =\n layerUrlWithService.indexOf('&VERSION=') === -1 ? layerUrlWithService + '&VERSION=1.3.0' : layerUrlWithService;\n\n return `${layerUrlWithVersion}&REQUEST=GetLegendGraphic&format=image%2Fpng&LAYER=${geoLayer.paramLayer}&LEGEND_OPTIONS=fontName:Ubuntu`;\n }\n return '';\n }\n}\n","import { Overlay as cdkOverlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n Component,\n ComponentRef,\n ElementRef,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n Attribute,\n BaseTooltipComponent,\n BaseWidgetMapLayerOptions,\n Class,\n ClassSelectors,\n ConfigActions,\n ConfigSelectors,\n ContextMenuActions,\n DashboardActions,\n DashboardSelectors,\n Dataset,\n DataSourceSelectors,\n DataWidgetComponent,\n Field,\n FieldSelectors,\n GeocodingService,\n GeoMetadata,\n ItemUtils,\n MapFeatureLayerOptions,\n MapGeoServerLayerOptions,\n MapRasterTileLayerOptions,\n MapVectorTileLayerOptions,\n MapWidgetBubbleLayerOptions,\n MapWidgetHeatMapLayerOptions,\n MapWidgetLayerOptions,\n MapWidgetMarkerLayerOptions,\n MapWidgetOptions,\n MapWMSLayerLayerOptions,\n MapWMTSLayerLayerOptions,\n PryI18nService,\n PrySnackbarService,\n ResultsetUtils,\n SymbolService,\n TooltipFactoryService,\n TooltipMode,\n WIDGET_HEADER_HEIGHT,\n widgetMapConfig\n} from '@provoly/dashboard';\nimport equal from 'fast-deep-equal/es6';\nimport { Feature, Map, MapBrowserEvent, Overlay, View } from 'ol';\nimport LayerSwitcher from 'ol-layerswitcher';\nimport { apply } from 'ol-mapbox-style';\nimport { Attribution, Control, ScaleLine } from 'ol/control';\nimport { boundingExtent, createEmpty } from 'ol/extent';\nimport { Circle, Geometry, Point } from 'ol/geom';\nimport { Tile } from 'ol/layer';\nimport BaseLayer from 'ol/layer/Base';\nimport VectorLayer from 'ol/layer/Vector';\nimport { Pixel } from 'ol/pixel';\nimport { fromLonLat, get as getProjection, toLonLat, transform } from 'ol/proj';\n\nimport { register } from 'ol/proj/proj4';\nimport { TileWMS } from 'ol/source';\nimport VectorSource from 'ol/source/Vector';\nimport { Style } from 'ol/style';\nimport proj4 from 'proj4';\nimport {\n BehaviorSubject,\n combineLatest,\n debounceTime,\n delay,\n distinctUntilChanged,\n filter,\n from,\n map,\n mergeMap,\n Observable,\n of,\n startWith,\n tap\n} from 'rxjs';\nimport { SelectionInteraction } from '../interaction/selection-interaction.class';\nimport { MapFormatsReader } from '../reader/map-formats-reader.class';\nimport { AddressSearchedEvent, SearchBarControl } from '../search-bar/search-bar.control';\nimport {\n DEFAULT_MAP_CENTER,\n DEFAULT_ZOOM_MAX,\n DEFAULT_ZOOM_MIN,\n DEFAULT_ZOOM_START,\n exportMapAsGeoJSON,\n exportMapAsImage,\n exportMapAsKML,\n getLinkFeature,\n getMapAsPng,\n populateIntensityAttribute,\n populateLocationAttribute\n} from '../utils/widget-map.utils';\nimport { WidgetMapLayerService } from './widget-map-layer.service';\n\n@Component({\n selector: 'pry-widget-map',\n templateUrl: './widget-map.component.html'\n})\nexport class WidgetMapComponent extends DataWidgetComponent implements AfterViewInit {\n mapUrl$: Observable<string>;\n @ViewChild('map') mapRef!: ElementRef;\n @ViewChild('popup') popup!: ElementRef;\n @ViewChild('popupContent', { read: ViewContainerRef }) popupContent!: ViewContainerRef;\n @ViewChild('exportTypeTemplate', { read: TemplateRef }) exportTypeTemplate!: TemplateRef<any>;\n @ViewChild('address') address!: ElementRef;\n options$: Observable<MapWidgetOptions>;\n layerTypes = this.widgetMapLayerService.implementationList.sort((a, b) =>\n this.translateService\n .instant('@pry.widget.map.layerType.' + a)\n .localeCompare(this.translateService.instant('@pry.widget.map.layerType.' + b))\n );\n optionsCopy: MapWidgetOptions = {} as MapWidgetOptions;\n classes$: Observable<Class[]>;\n fields$: Observable<Field[]>;\n selectedIds$: Observable<string[]>;\n bottomLeft$: Observable<string>;\n layers$!: Observable<BaseLayer[]>;\n selectionInteraction = new SelectionInteraction();\n map!: Map;\n map$!: Observable<Map>;\n additionalLayers$ = new BehaviorSubject<VectorLayer<VectorSource<Geometry>>[]>([]);\n private overlayRef?: OverlayRef;\n searchBarControl?: SearchBarControl;\n layerSwitchControl?: LayerSwitcher;\n styles$: Observable<{ identifier: string; label: string }[]>;\n WIDGET_HEADER_HEIGHT = WIDGET_HEADER_HEIGHT;\n i = 0;\n itemStyles$!: Observable<{ [id: string]: { classic: Style; bordered: Style } }>;\n height$: Observable<number>;\n actions$ = widgetMapConfig.actions$;\n private wmsFeatures$: Observable<any[]>;\n private classicFeatures$: BehaviorSubject<any> = new BehaviorSubject([]);\n geoServerLayerDescriptions$: Observable<MapGeoServerLayerOptions[]>;\n legendTabOpen = false;\n legendTab = 0;\n legendLayers$!: Observable<(MapGeoServerLayerOptions | MapWMSLayerLayerOptions)[]>;\n imageNotProvided: boolean[] = [];\n basicActions$: Observable<('click' | 'lasso' | 'rectangle' | 'zoom' | 'move' | 'export' | 'upload')[]>;\n zoomAndCenter$ = new BehaviorSubject<{ zoom?: { start: number; min: number; max: number }; center?: number[] }>({});\n\n constructor(\n store: Store<any>,\n private snackBar: PrySnackbarService,\n private translateService: PryI18nService,\n private tooltipFactoryService: TooltipFactoryService,\n private geocodingService: GeocodingService,\n private overlay: cdkOverlay,\n private viewContainerRef: ViewContainerRef,\n private symbolService: SymbolService,\n private injector: Injector,\n private widgetMapLayerService: WidgetMapLayerService,\n el: ElementRef\n ) {\n super(store, el);\n\n this.basicActions$ = this.actions$.pipe(\n map((actions) => actions.filter((action) => action !== 'export' && action !== 'upload'))\n );\n\n this.classes$ = this.store\n .select(ClassSelectors.classes)\n .pipe(map((classes) => classes.sort((a, b) => a.name.localeCompare(b.name))));\n this.fields$ = this.store.select(FieldSelectors.fields);\n this.styles$ = this.store.select(ConfigSelectors.mapStyles).pipe(\n map((styles) =>\n styles.concat({\n identifier: 'none',\n label: this.translateService.instant('@pry.widget.map.noStyle')\n })\n )\n );\n this.selectedIds$ = this.store.select(DashboardSelectors.selectedItemIds);\n\n this.geoServerLayerDescriptions$ = combineLatest([\n this.usedDatasources$.pipe(startWith([])),\n this.store.select(ConfigSelectors.geoServerUrl).pipe(debounceTime(10), startWith(undefined))\n ]).pipe(\n map(([dataSources, geoServerUrl]) => {\n if (!geoServerUrl) return [];\n return dataSources\n .filter((ds) => ds.metadata?.find((m) => m.metadataDef.name === GeoMetadata.NAMESPACE) !== undefined)\n .map((ds) => {\n ds = ds as unknown as Dataset;\n const metadatas: { [key: string]: string } = {};\n ds.metadata?.forEach((m) => (metadatas[m.metadataDef.name] = m.value));\n return {\n type: 'geoserver',\n url: geoServerUrl + '/' + metadatas[GeoMetadata.NAMESPACE] + '/wms?SERVICE=WMS&VERSION=1.3.0',\n paramLayer: metadatas[GeoMetadata.KEY],\n paramTiled: true,\n opacity: parseInt(metadatas[GeoMetadata.OPACITY] ?? 100, 10),\n title: metadatas[GeoMetadata.NAMESPACE] + ':' + metadatas[GeoMetadata.KEY],\n oClass: ds.oClass,\n key: metadatas[GeoMetadata.NAMESPACE] + ':' + metadatas[GeoMetadata.KEY]\n };\n })\n .map((layer) => layer as MapGeoServerLayerOptions);\n })\n );\n\n this.options$ = combineLatest([\n this.manifest$,\n this.resultSet$,\n this.classes$,\n this.fields$,\n this.styles$,\n this.geoServerLayerDescriptions$\n ]).pipe(\n map(([manifest, resultSet, classes, fields, mapStyles, geoLayers]) => {\n // auto determine layers parameters to provide a working view\n const autoOptions = JSON.parse(JSON.stringify({ relations: true, ...manifest.options })) as MapWidgetOptions;\n if (!autoOptions.tooltipMode) {\n autoOptions.tooltipMode = TooltipMode.HOVER;\n }\n if (geoLayers.length > 0) {\n autoOptions.tooltipMode = TooltipMode.CLICK;\n }\n autoOptions.layers?.forEach((layer, i) => {\n populateLocationAttribute(layer, resultSet, classes, fields);\n populateIntensityAttribute(layer, resultSet, classes, fields);\n if (autoOptions.attributions) {\n layer.attribution = layer.attribution ?? '';\n }\n if (!layer.title) {\n this.setDefaultLayerTitle(layer, i);\n }\n });\n\n const actualLayerKeys = (autoOptions.layers ?? [])\n .map((layer) => (layer as MapGeoServerLayerOptions).key ?? null)\n .filter((key) => !!key);\n\n // Get all previous layers, without geoserver layers that are not requested anymore, then add new geoserver layers (potentially with a preconfig from manifest).\n autoOptions.layers = [\n ...(autoOptions.layers ?? []).map((layer) => {\n const geoLayer = geoLayers.find((layer) => layer.key === layer.key) ?? null;\n return layer.type === 'geoserver'\n ? geoLayer\n ? { ...geoLayer, ...layer }\n : (null as unknown as MapWidgetLayerOptions)\n : { ...layer };\n }),\n ...geoLayers.filter((layer) => !actualLayerKeys.includes(layer.key))\n ].filter((layer) => !!layer);\n\n if (\n !!mapStyles &&\n mapStyles.length > 0 &&\n (!autoOptions.style || !mapStyles.map((style) => style.identifier).includes(autoOptions.style))\n ) {\n const lightStyles = mapStyles.filter((style) => !(style.identifier ?? '-').includes('dark'));\n autoOptions.style = lightStyles.length > 0 ? lightStyles[0].identifier : mapStyles[0].identifier;\n }\n return autoOptions;\n })\n );\n this.subscriptions.add(\n this.options$.pipe(filter((opt) => !!opt)).subscribe((options) => {\n this.optionsCopy = JSON.parse(JSON.stringify(options));\n })\n );\n this.subscriptions.add(\n this.store\n .select(DashboardSelectors.address)\n .pipe(filter((addr) => !!addr && !!addr.pointAddress))\n .subscribe((addr) => {\n this.map?.dispatchEvent(\n new AddressSearchedEvent({\n type: 'searched-address',\n latLon: addr.latLon,\n coordinates: fromLonLat([...addr.latLon].reverse(), this.map.getView().getProjection()),\n query: addr.latLon,\n address: addr.pointAddress\n })\n );\n })\n );\n\n this.mapUrl$ = this.store.select(ConfigSelectors.mapUrl);\n this.wmsFeatures$ = this.store.select(DashboardSelectors.wmsFeatures);\n\n this.bottomLeft$ = combineLatest([this.widgetSize$, this.displayHeader$]).pipe(\n map(\n ([size, displayHeader]) =>\n `translate(10px ,calc(${size.height}px - 100% - 10px - ${\n displayHeader ? WIDGET_HEADER_HEIGHT + 'px' : '0px'\n }))`\n ),\n delay(10)\n );\n\n this.itemStyles$ = combineLatest([this.resultSet$, this.manifest$, this.staticResultSet$]).pipe(\n mergeMap(([rs, manifest, srs]) => {\n if ((manifest.datasource === undefined || manifest.datasource.length === 0) && !srs) {\n return of({});\n } else {\n return from(\n new Promise<{ [id: string]: { classic: Style; bordered: Style } }>((resolve, reject) => {\n const total = Object.values(rs.items).reduce((p, c) => c.length + p, 0);\n if (total === 0) resolve({});\n const result = {} as { [id: string]: { classic: Style; bordered: Style } };\n Object.values(rs.items).forEach((items) => {\n items.forEach((item) =>\n Promise.all([\n this.symbolService.getSymbolAsIconStyle(item),\n this.symbolService.getSymbolAsIconStyle(item, '#8cd560')\n ]).then(([style, bStyle]) => {\n result[item.id] = { classic: style, bordered: bStyle };\n if (Object.keys(result).length >= total) {\n resolve(result);\n }\n })\n );\n });\n })\n );\n }\n })\n );\n\n this.height$ = combineLatest([this.widgetSize$.pipe(debounceTime(100)), this.displayHeader$]).pipe(\n map(([size, display]) => (size.height ?? 100) - (display ? WIDGET_HEADER_HEIGHT : 0)),\n delay(10)\n );\n }\n\n ngAfterViewInit(): void {\n this.map$ = combineLatest([this.mapUrl$, this.options$, this.itemStyles$, this.widgetSize$]).pipe(\n debounceTime(300),\n mergeMap(([mapUrl, options, rs]) => {\n if (!this.map) {\n this.map = new Map({ target: this.mapRef.nativeElement });\n }\n\n this.map.setTarget(undefined);\n const rect = this.mapRef.nativeElement.getBoundingClientRect();\n if (rect.height === 0 || rect.width === 0) {\n console.warn('Map size problem. Resize map');\n }\n\n let mapPromise = new Promise<Map>((resolve) => resolve(this.map));\n if (options.style !== 'none') {\n mapPromise = apply(this.map, `${mapUrl}/styles/${options.style}/style.json`) as Promise<Map>;\n }\n\n return from(mapPromise).pipe(\n tap((map) => {\n this.map.setTarget(this.mapRef.nativeElement);\n this.map.setView(\n new View({\n center: fromLonLat(options.center ?? DEFAULT_MAP_CENTER),\n maxZoom: options.zoom?.max ?? DEFAULT_ZOOM_MAX,\n minZoom: options.zoom?.min ?? DEFAULT_ZOOM_MIN,\n zoom: options.zoom?.start ?? DEFAULT_ZOOM_START\n })\n );\n if (!options.attributions) {\n this.map.getControls().forEach((control: Control) => {\n if (control instanceof Attribution) {\n this.map.removeControl(control);\n }\n });\n }\n\n this.map.addInteraction(this.selectionInteraction.init(this.store));\n\n this.addContextMenuInteraction();\n this.addDropInteraction();\n this.addOverlayOnHoverInteraction();\n this.addSearchBarControl();\n this.addLayerSwitcher();\n this.addScaleControl();\n this.addUpdateZoomAndCenter();\n\n this.fitMapForObjects(options);\n })\n );\n })\n );\n\n this.layers$ = combineLatest([\n this.resultSet$,\n this.usedDatasources$,\n this.options$,\n this.classes$,\n this.additionalLayers$,\n this.itemStyles$,\n this.store.select(ConfigSelectors.geoServerUrl),\n this.map$\n ]).pipe(\n filter(\n ([resultSet, dataSources, options, classes, additionalLayers, itemStyles, geoServerUrl, map]) =>\n !!resultSet && !!options && !!classes && !!map\n ),\n map(([resultSet, dataSources, options, classes, additionalLayers, itemStyles, geoServerUrl]) => {\n let hasRelationLayer = null as unknown as VectorLayer<VectorSource<any>>;\n\n const layers = (options?.layers || [])\n .filter(\n // @ts-ignore\n (layer) => this.widgetMapLayerService.dontNeedLocation.includes(layer.type) || !!layer.attribute\n )\n .filter(\n // @ts-ignore\n (layer) => this.widgetMapLayerService.dontNeedIntensity.includes(layer.type) || !!layer.intensityAttribute\n )\n .map((layer: MapWidgetLayerOptions, idx) => {\n const attributesForClass = Object.keys(resultSet.items)\n .map((classId) => ({\n classId,\n ...this.getAttributesForDrawing(classes, classId, layer)\n }))\n .reduce(\n (p, c) => ({\n ...p,\n [c.classId]: c\n }),\n {} as {\n [key: string]: {\n intensityAttribute: Attribute;\n locationAttribute: Attribute;\n };\n }\n );\n\n let layerClassesId = classes.map((clazz) => clazz.id);\n if ('classes' in layer && !!layer.classes && layer.classes.length > 0) {\n layerClassesId = layer.classes;\n }\n\n let range = { min: 0, max: 0 };\n // @ts-ignore\n if (!!layer.intensityAttribute) {\n const values = Object.keys(resultSet.items)\n .map((classId) =>\n resultSet.items[classId].map((item) =>\n ItemUtils.getAttributeCalculatedValue(item, attributesForClass[item.oClass].intensityAttribute)\n )\n )\n .reduce((p, c) => [...p, ...c], [])\n .filter((value) => !!value && typeof value === 'number') as number[];\n\n range = values.reduce((p, c) => ({ min: Math.min(p.min, c), max: Math.max(p.max, c) }), {\n min: Number.MAX_VALUE,\n max: -Number.MAX_VALUE\n });\n }\n\n const impl = this.widgetMapLayerService.layersImplementation[layer.type];\n if (!!impl) {\n const resultLayer = impl(\n layer as any,\n attributesForClass,\n layerClassesId,\n resultSet,\n range,\n itemStyles,\n this.map\n );\n if (layer.type === 'relation') {\n hasRelationLayer = resultLayer as unknown as VectorLayer<VectorSource>;\n }\n resultLayer.set('title', layer.title);\n return resultLayer;\n } else {\n console.error(`Layer type ${layer.type} is unknown`);\n return null as unknown as BaseLayer;\n }\n })\n .filter((layer) => !!layer);\n\n if (!!hasRelationLayer) {\n const features = layers\n .filter((layer) => !(layer instanceof Tile))\n .map((layer) =>\n layer\n // @ts-ignore\n .getSource()\n .getFeatures()\n .filter((features: Feature<any>) => !!features.get('id') || !!features.get('features'))\n )\n .reduce((p, c) => [...p, ...c], []);\n\n resultSet.relations.forEach((relation) => {\n const source = features.find((f: Feature<Point | Circle>) => f.get('id') === relation.source);\n const dest = features.find((f: Feature<Point | Circle>) => f.get('id') === relation.destination);\n if (!!source && !!dest) {\n hasRelationLayer.getSource()?.addFeature(getLinkFeature(relation, source, dest));\n }\n });\n }\n layers.push(...additionalLayers);\n layers.forEach((layer, index, arr) => layer.set('zIndex', arr.length - index));\n\n return layers;\n })\n );\n\n this.legendLayers$ = this.options$.pipe(\n map(\n (options) =>\n (options.layers ?? []).filter((layer) => ['geoserver', 'wms'].includes(layer.type)) as (\n | MapGeoServerLayerOptions\n | MapWMSLayerLayerOptions\n )[]\n ),\n delay(10)\n );\n\n this.subscriptions.add(\n combineLatest([\n this.mapUrl$,\n this.map$,\n this.layers$,\n this.options$,\n this.selectedIds$,\n this.additionalLayers$\n ]).subscribe(([mapUrl, map, layers, options, selectedIds]) => {\n this.map.setLayers(layers);\n this.map\n .getAllLayers()\n .filter((layer) => !(layer instanceof Tile))\n .forEach((layer) => {\n (layer.getSource() as VectorSource)?.getFeatures().forEach((feature: any) => {\n const type = feature.get('type');\n if (['bubble', 'marker', 'point', 'line', 'polygon', 'multi-line', 'multi-polygon'].includes(type)) {\n feature.setStyle(\n feature.get(selectedIds.includes(feature.get('id')) ? 'selectedStyle' : 'classicStyle')\n );\n }\n });\n });\n\n setTimeout(() => {\n if (options.style !== 'none') {\n apply(this.map, `${mapUrl}/styles/${options.style}/style.json`).then((map) => {\n this.map.setTarget(this.mapRef.nativeElement);\n });\n }\n this.fitMapForObjects(options, selectedIds);\n this.map.updateSize();\n }, 200);\n })\n );\n this.subscriptions.add(\n combineLatest([this.wmsFeatures$, this.classicFeatures$]).subscribe(([wmsFeatures, classicFeatures]) => {\n if (this.map) {\n const popupOverlay = new Overlay({\n element: this.popup.nativeElement,\n offset: [9, 9]\n });\n this.map.addOverlay(popupOverlay);\n this.popupContent.clear();\n const componentPromises = [] as Promise<ComponentRef<BaseTooltipComponent> | null>[];\n wmsFeatures.forEach((value) => {\n componentPromises.push(this.generateTooltip(value));\n });\n classicFeatures.forEach((value: any) => {\n componentPromises.push(this.generateTooltip(value));\n });\n\n Promise.all(componentPromises).then((promises) => {\n const realComponents = promises.filter((component) => !!component);\n if (realComponents.length <= 0) {\n this.popup.nativeElement.hidden = true;\n popupOverlay.setPosition([-9999999999, -9999999999]);\n } else {\n this.popup.nativeElement.hidden = false;\n popupOverlay.setPosition(\n wmsFeatures.length > 0 ? wmsFeatures[0].coordinates : classicFeatures[0].coordinates\n );\n }\n });\n }\n })\n );\n }\n\n override initResultSet$() {\n return combineLatest([\n this.store.select(DashboardSelectors.resultSets),\n this.datasourceIds$,\n this.staticResultSet$,\n this.store.select(DataSourceSelectors.datasets)\n ]).pipe(\n map(([resultSets, resultSetNamesArray, staticResultSet, definitions]) => {\n if (!!staticResultSet) {\n return staticResultSet;\n }\n const resultSetArray = resultSetNamesArray\n .filter((rsName) => {\n const definition = definitions.find((dsd) => dsd.id === rsName) as Dataset | undefined;\n return !definition || !(definition.metadata ?? []).find((meta) => meta.metadataDef.name === '_geoKey');\n })\n .map((rsName) => resultSets[rsName ?? ''])\n .filter((rsName) => !!rsName);\n return resultSetArray.reduce((rs1, rs2) => ResultsetUtils.mergeResultSets(rs1, rs2), {\n items: {},\n relations: [],\n merged: resultSetArray.length\n });\n }),\n distinctUntilChanged((p, v) => equal(p, v))\n );\n }\n\n generateTooltip(value: {\n oClass: string;\n coordinates: Pixel;\n values: any;\n }): Promise<ComponentRef<BaseTooltipComponent> | null> {\n return new Promise((resolve) => {\n const component$ = this.tooltipFactoryService.generateTooltip(value.oClass, this.injector, this.popupContent);\n component$.subscribe((component) => {\n if (component) {\n component.instance.data.item = value.values;\n component.instance.popup = this.popup;\n resolve(component);\n }\n resolve(null);\n });\n });\n }\n\n setDefaultLayerTitle(layer: MapWidgetLayerOptions, idx: number) {\n layer.title = idx + 1 + ' - ' + this.translateService.instant(`@pry.widget.map.layerType.${layer.type}`);\n }\n\n fitMapForObjects(options: MapWidgetOptions, selectedIds?: string[]) {\n if (!!options?.fit) {\n let extent = createEmpty();\n const listOfMarkers = [] as any[];\n\n this.map\n .getAllLayers()\n .filter(\n (layer) => !!layer.getSource && !!layer.getSource() && !!(layer.getSource() as VectorSource).getFeatures\n )\n .forEach((layer) => {\n (layer.getSource() as VectorSource).getFeatures().forEach((feature: any) => {\n const id = feature.get('id');\n if (!selectedIds || selectedIds.length <= 0 || (selectedIds.length > 0 && selectedIds.includes(id))) {\n switch (feature.get('type')) {\n case 'heatpoint':\n case 'point':\n case 'marker':\n listOfMarkers.push(feature.getGeometry().getCoordinates());\n break;\n case 'line':\n case 'link':\n listOfMarkers.push(...feature.getGeometry().getCoordinates());\n break;\n case 'polygon':\n case 'multi-line':\n listOfMarkers.push(...feature.getGeometry().getCoordinates().flat());\n break;\n case 'multi-polygon':\n listOfMarkers.push(...feature.getGeometry().getCoordinates().flat().flat());\n break;\n default:\n listOfMarkers.push(feature.getGeometry().getCenter());\n }\n }\n });\n });\n\n const selectedExtent = boundingExtent(listOfMarkers.filter((coord) => !!coord));\n if (\n selectedExtent[0] !== Infinity &&\n selectedExtent[1] !== Infinity &&\n selectedExtent[2] !== -Infinity &&\n selectedExtent[3] !== -Infinity\n ) {\n extent = selectedExtent;\n }\n\n if (extent[0] !== Infinity && extent[1] !== Infinity && extent[2] !== -Infinity && extent[3] !== -Infinity) {\n this.map.getView().fit(extent, { padding: [20, 20, 70, 70], duration: 200 });\n }\n }\n }\n\n private addOverlayOnHoverInteraction() {\n const popupOverlay = new Overlay({\n element: this.popup.nativeElement,\n offset: [9, 9]\n });\n this.map.addOverlay(popupOverlay);\n if (this.optionsCopy.tooltipMode !== TooltipMode.NONE) {\n const tooltip = this.optionsCopy.tooltipMode === TooltipMode.CLICK ? 'singleclick' : 'pointermove';\n this.map.on(tooltip, (event: MapBrowserEvent<MouseEvent>) => {\n const values = this.map.getFeaturesAtPixel(event.pixel, { hitTolerance: 5 }) as (\n | Feature<Circle>\n | Feature<Point>\n )[];\n const valuesToDisplay = [\n ...new Set(\n values\n .map((value) => value.get('id'))\n .filter((id) => !!id)\n .map((id) => values.find((value) => value.get('id') === id))\n .map((value) => ({\n oClass: value?.get('oClass'),\n coordinates: event.coordinate,\n values: value?.getKeys().reduce((p, c) => ({ ...p, [c]: value.get(c) }), {})\n }))\n )\n ];\n this.classicFeatures$.next(valuesToDisplay);\n const wmsLayers = this.getWMSLayers();\n if (wmsLayers) {\n this.getFeatureFromServer(wmsLayers, event.coordinate);\n }\n });\n }\n }\n\n private addContextMenuInteraction() {\n if (this.manifest.contextMenu !== false) {\n this.map.getViewport().addEventListener('contextmenu', (e: MouseEvent) => {\n const mapCoordinates = this.map.getEventPixel(e);\n const itemId = this.map.forEachFeatureAtPixel(mapCoordinates, (feature: any) => feature.get('id'));\n this.store.dispatch(\n ContextMenuActions.open({\n itemId,\n clientX: e.clientX,\n clientY: e.clientY,\n resultSet: Array.isArray(this.manifest.datasource) ? this.manifest.datasource[0] : this.manifest.datasource,\n from: 'map',\n coordinates: toLonLat(\n this.map.getCoordinateFromPixel(mapCoordinates),\n this.map.getView().getProjection()\n ).reverse()\n })\n );\n e.preventDefault();\n });\n }\n }\n\n private getAttributesForDrawing(classes: Class[], classId: string, layer: MapWidgetLayerOptions) {\n const classObj = classes.find((cl) => cl.id === classId) ?? ({ attributes: [] as Attribute[] } as Class);\n const locationAttribute = this.getLocationAttribute(classObj, layer);\n const intensityAttribute = this.getIntensityAttribute(\n classObj,\n layer as MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions\n );\n return { locationAttribute, intensityAttribute };\n }\n\n private getIntensityAttribute(\n classObj: Class | undefined,\n layer: MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions\n ) {\n return (\n (classObj || { attributes: [] }).attributes.find((attr) => attr.name === layer?.intensityAttribute ?? '') ??\n (undefined as unknown as Attribute)\n );\n }\n\n private getLocationAttribute(classObj: Class, layer: MapWidgetLayerOptions): Attribute {\n type layers = MapWidgetHeatMapLayerOptions | MapWidgetMarkerLayerOptions | MapWidgetBubbleLayerOptions;\n const specificLayer = layer as layers;\n return (\n classObj.attributes.find((attr) => attr.name === (specificLayer?.attribute ?? []) ?? '') ??\n (undefined as unknown as Attribute)\n );\n }\n\n changeStyle($event: any) {\n this.optionsCopy.style = $event;\n }\n\n changeFit($event: boolean) {\n this.optionsCopy.fit = $event;\n }\n\n changeAttributions($event: boolean) {\n this.optionsCopy.attributions = $event;\n if (this.optionsCopy.attributions) {\n this.optionsCopy.layers?.forEach((layer) => (layer.attribution = ''));\n } else {\n this.optionsCopy.layers?.forEach((layer) => delete layer.attribution);\n }\n }\n\n changeTooltipMode($event: 'hover' | 'click') {\n this.optionsCopy.tooltipMode = $event === 'hover' ? TooltipMode.HOVER : TooltipMode.CLICK;\n }\n\n addLayer() {\n if (!this.optionsCopy.layers) {\n this.optionsCopy.layers = [];\n }\n this.optionsCopy.layers.push({ attribute: '' } as MapWidgetLayerOptions);\n }\n\n changeLayerType($event: any, i: number) {\n if (!this.optionsCopy.layers) {\n this.optionsCopy.layers = this.optionsCopy.layers ?? [];\n }\n this.optionsCopy.layers[i].type = $event;\n if (this.optionsCopy.layers[i].type === 'wms') {\n const options = this.optionsCopy.layers[i] as MapWMSLayerLayerOptions;\n options.paramLayer = options.paramLayer ?? '';\n options.url = options.url ?? '';\n }\n if (this.optionsCopy.layers[i].type === 'wmts') {\n const options = this.optionsCopy.layers[i] as MapWMTSLayerLayerOptions;\n options.paramLayer = options.paramLayer ?? '';\n options.style = options.style ?? '';\n options.matrixSet = options.matrixSet ?? '';\n options.url = options.url ?? '';\n }\n if (['featurelayer', 'vectortile', 'rastertile'].includes(this.optionsCopy.layers[i].type)) {\n const options = this.optionsCopy.layers[i] as MapFeatureLayerOptions;\n options.url = options.url ?? '';\n }\n }\n\n changeTitle($event: any, layer: MapWidgetLayerOptions) {\n layer.title = $event.currentTarget?.value;\n }\n\n emitManifest() {\n this.manifestModified.emit({\n widgetIndex: this.widgetIndex,\n manifest: {\n ...this.manifest,\n options: { ...this.optionsCopy, layers: (this.optionsCopy.layers ?? []).filter((layer) => !!layer.type) }\n }\n });\n }\n\n changeLocationAttributes($event: any, layer: MapWidgetLayerOptions) {\n // @ts-ignore\n layer.attribute = $event;\n }\n\n layerHasIntensity(layer: MapWidgetLayerOptions): MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions {\n return <MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions>layer;\n }\n\n changeIntensityAttributes($event: any, layer: MapWidgetLayerOptions) {\n const layer_ = <MapWidgetHeatMapLayerOptions | MapWidgetBubbleLayerOptions>layer;\n layer_.intensityAttribute = $event;\n }\n\n changeClasses($event: string[], layer: MapWidgetLayerOptions) {\n const specificLayer = layer as\n | MapWidgetHeatMapLayerOptions\n | MapWidgetMarkerLayerOptions\n | MapWidgetBubbleLayerOptions;\n specificLayer.classes = $event;\n }\n\n deleteLayer(i: number) {\n this.optionsCopy?.layers?.splice(i, 1);\n }\n\n invertLayers(idx: number, idxWith: number) {\n if (!!this.optionsCopy && !!this.optionsCopy.layers) {\n const tmp = this.optionsCopy.layers[idxWith];\n this.optionsCopy.layers[idxWith] = this.optionsCopy.layers[idx];\n this.optionsCopy.layers[idx] = tmp;\n }\n }\n\n changeUrl(\n $event: Event,\n layer:\n | MapWMSLayerLayerOptions\n | MapFeatureLayerOptions\n | MapVectorTileLayerOptions\n | MapRasterTileLayerOptions\n | MapWMTSLayerLayerOptions\n | MapGeoServerLayerOptions\n ) {\n // @ts-ignore\n layer.url = $event.currentTarget?.value;\n }\n\n changeAttribution($event: Event, layer: BaseWidgetMapLayerOptions) {\n // @ts-ignore\n layer.attribution = $event.currentTarget?.value;\n }\n\n changeParamLayer(\n $event: Event,\n layer: MapWMSLayerLayerOptions | MapWMTSLayerLayerOptions | MapGeoServerLayerOptions\n ) {\n // @ts-ignore\n layer.paramLayer = $event.currentTarget?.value;\n }\n\n changeParamTiled($event: boolean, layer: MapWMSLayerLayerOptions) {\n layer.paramTiled = $event;\n }\n\n changeMatrixSet($event: Event, layer: MapWMTSLayerLayerOptions) {\n // @ts-ignore\n layer.matrixSet = $event.currentTarget?.value;\n }\n\n changeParamStyle($event: Event, layer: MapWMTSLayerLayerOptions) {\n // @ts-ignore\n layer.style = $event.currentTarget?.value;\n }\n\n export(type: string) {\n switch (type) {\n case 'png':\n exportMapAsImage(this.map, 'map.png');\n break;\n case 'kml':\n exportMapAsKML(this.map, 'map.kml');\n break;\n case 'geoJSON':\n exportMapAsGeoJSON(this.map, 'map.geojson');\n break;\n default:\n console.error('Unknown format');\n }\n this.hideExportType();\n }\n\n override toImage(): Promise<string> {\n return getMapAsPng(this.map);\n }\n\n import(event: Event | DragEvent) {\n const reader = new MapFormatsReader(this.map);\n const input = event instanceof DragEvent ? event.dataTransfer : (event.target as HTMLInputElement);\n if (!!input && !!input.files && input.files.length > 0) {\n const filename = input.files[0].name;\n this.snackBar.open({\n type: 'info',\n message: this.translateService.instant('@pry.widget.map.importStart', { filename })\n });\n reader\n .decodeFile(input.files[0])\n .then((layer) => {\n this.additionalLayers$.next([...this.additionalLayers$.getValue(), layer]);\n this.snackBar.open({\n type: 'success',\n message: this.translateService.instant('@pry.widget.map.importOk', { filename })\n });\n })\n .catch((err) =>\n this.snackBar.open({ type: 'error', message: this.translateService.instant(err.msg, err.val) })\n );\n }\n if (!!input && !(input instanceof DataTransfer)) {\n input.value = null as unknown as string;\n }\n }\n\n private addDropInteraction() {\n this.map.getViewport().addEventListener('drop', (e: DragEvent) => {\n this.import(e);\n e.preventDefault();\n });\n }\n\n changeClustered(layer: MapWidgetMarkerLayerOptions, $event: boolean) {\n layer.clustered = $event;\n if (layer.clustered) {\n layer.clusterDistance = 10;\n }\n }\n\n changeClusterDistance(layer: MapWidgetMarkerLayerOptions, $event: Event) {\n // @ts-ignore\n layer.clusterDistance = $event.currentTarget?.value;\n }\n\n private addScaleControl() {\n this.map.addControl(\n new ScaleLine({\n units: 'metric',\n bar: true,\n steps: 4,\n text: true,\n minWidth: 140\n })\n );\n }\n\n private addSearchBarControl() {\n this.searchBarControl = new SearchBarControl({}).withGeocodingService(this.geocodingService);\n this.map.addControl(this.searchBarControl);\n\n const addressOverlay = new Overlay({\n element: this.address.nativeElement,\n offset: [9, 9]\n });\n this.map.addOverlay(addressOverlay);\n\n // @ts-ignore\n this.map.on('searched-address', (evt: AddressSearchedEvent) => {\n this.address.nativeElement.innerHTML = `<div>\n <div>${this.translateService.instant('@pry.widget.map.address')}: ${evt.address}</div>\n <div>${this.translateService.instant('@pry.widget.map.addressCoords')}: ${evt.latLon}</div>\n </div>`;\n this.address.nativeElement.style.display = '';\n addressOverlay.setPosition(evt.coordinates);\n this.map.getView().setCenter(evt.coordinates);\n this.map.getView().setZoom(this.map.getView().getMaxZoom());\n });\n }\n\n private addLayerSwitcher() {\n this.layerSwitchControl = new LayerSwitcher({\n activationMode: 'click',\n reverse: false\n });\n this.map.addControl(this.layerSwitchControl);\n\n // @ts-ignore\n this.layerSwitchControl.on('show', () => {\n this.legendTabOpen = false;\n });\n }\n\n hideAddress() {\n this.address.nativeElement.style.display = 'none';\n }\n\n private addUpdateZoomAndCenter() {\n this.map.on('moveend', () => {\n this.optionsCopy.zoom = {\n start: this.map.getView().getZoom() ?? this.optionsCopy.zoom?.start ?? this.map.getView().getMinZoom(),\n min: this.map.getView().getMinZoom(),\n max: this.map.getView().getMaxZoom()\n };\n this.optionsCopy.center = toLonLat(this.map.getView().getCenter() ?? [0, 0]) ?? this.optionsCopy.center;\n this.zoomAndCenter$.next({ zoom: this.optionsCopy.zoom, center: this.optionsCopy.center });\n });\n }\n\n changeOpacity(layer: MapWidgetLayerOptions, $event: string) {\n // @ts-ignore\n layer.opacity = parseInt($event, 10);\n }\n\n displayExportType($event: MouseEvent) {\n this.overlayRef = this.overlay.create(\n new OverlayConfig({\n hasBackdrop: true,\n panelClass: ['m-context-menu-wrapper'],\n backdropClass: 'backdrop'\n })\n );\n this.store.dispatch(ConfigActions.addingOverlay({ id: this.constructor.name }));\n this.overlayRef.backdropClick().subscribe((_) => this.hideExportType());\n this.overlayRef.attach(new TemplatePortal(this.exportTypeTemplate, this.viewContainerRef));\n\n const contextMenu = document.querySelector('div.m-context-menu-wrapper') as HTMLDivElement;\n if (!!contextMenu) {\n contextMenu.style.left = $event.clientX - 10 + 'px';\n contextMenu.style.top = $event.clientY - 10 - contextMenu.clientHeight + 'px';\n }\n }\n\n hideExportType() {\n this.overlayRef?.dispose();\n this.store.dispatch(ConfigActions.addingOverlay({ id: this.constructor.name }));\n }\n\n getWMSLayers() {\n return !this.map\n ? []\n : this.map\n .getAllLayers()\n .filter((layer) => layer.getSource() instanceof TileWMS)\n // @ts-ignore\n .filter((layer) => layer.rendered === true);\n }\n\n isLayerRendered(layer: any) {\n return !!this.getWMSLayers().find((wmsLayer) => wmsLayer.get('title') === layer.title);\n }\n\n private getFeatureFromServer(wmsLayers: any[], pixel: Pixel) {\n proj4.defs(\n 'EPSG:2154',\n '+proj=lcc +lat_0=46.5 +lon_0=3 +lat_1=49 +lat_2=44 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs +type=crs'\n );\n register(proj4);\n const projGeo = getProjection('EPSG:3857');\n const projLambert = getProjection('EPSG:2154');\n\n if (projLambert && projGeo) {\n for (const layer of wmsLayers) {\n const url = layer\n .getSource()\n .getFeatureInfoUrl(transform(pixel, projGeo, projLambert), this.map.getView().getResolution(), 'EPSG:2154', {\n INFO_FORMAT: 'application/json',\n FEATURE_COUNT: 10\n });\n if (url) {\n this.store.dispatch(\n DashboardActions.getWmsFeatures({\n url,\n oClass: layer.getProperties().oClass ?? '',\n coordinates: pixel\n })\n );\n }\n }\n }\n }\n\n changeWmsClass($event: any, layer: MapWMSLayerLayerOptions) {\n layer.oClass = $event;\n }\n\n toggleLegend(index: number) {\n this.legendTab = this.legendTab === index ? -1 : index;\n }\n\n toggleLegendWindow() {\n this.legendTabOpen = !this.legendTabOpen;\n this.layerSwitchControl?.hidePanel();\n }\n}\n","<pry-widget-map-css></pry-widget-map-css>\n<div class=\"o-widget o-widget--map\">\n <pry-widget-header\n [datasourceIds$]=\"datasourceIds$\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n #header\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_style\">{{ '@pry.widget.map.style' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeStyle($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"styles$ | async\"\n [ngModel]=\"optionsCopy.style\"\n bindLabel=\"label\"\n bindValue=\"identifier\"\n id=\"map_style\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <pry-checkbox (ngModelChange)=\"changeFit($event)\" [ngModel]=\"optionsCopy.fit ?? false\">\n {{ '@pry.widget.map.fit' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox (ngModelChange)=\"changeAttributions($event)\" [ngModel]=\"optionsCopy.attributions ?? false\">\n {{ '@pry.widget.map.attributions' | i18n }}\n </pry-checkbox>\n\n <fieldset class=\"m-form-radio-group-wrapper\">\n <legend class=\"a-label\">{{ '@pry.widget.map.tooltip.title' | i18n }}</legend>\n <div class=\"m-form-radio-group\">\n <div class=\"m-form-radio-group__item\">\n <input\n class=\"a-form-field\"\n type=\"radio\"\n id=\"click\"\n name=\"tooltip\"\n [ngModel]=\"optionsCopy.tooltipMode\"\n (ngModelChange)=\"changeTooltipMode('click')\"\n value=\"click\"\n [disabled]=\"((geoServerLayerDescriptions$ | async)?.length ?? 0) > 0\"\n />\n <label for=\"click\" class=\"a-label\">\n {{ '@pry.widget.map.tooltip.click' | i18n }}\n </label>\n </div>\n <div class=\"m-form-radio-group__item\">\n <input\n class=\"a-form-field\"\n type=\"radio\"\n id=\"hover\"\n name=\"tooltip\"\n [ngModel]=\"optionsCopy.tooltipMode\"\n (ngModelChange)=\"changeTooltipMode('hover')\"\n value=\"hover\"\n [disabled]=\"((geoServerLayerDescriptions$ | async)?.length ?? 0) > 0\"\n />\n <label for=\"hover\" class=\"a-label\">\n {{ '@pry.widget.map.tooltip.hover' | i18n }}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div class=\"o-settings__popup__content__actions -has-separator\">\n <button type=\"button\" (click)=\"addLayer()\" class=\"a-btn a-btn--icon-text -link-like\">\n <pry-icon iconSvg=\"library_add\"></pry-icon>\n {{ '@pry.widget.map.addLayer' | i18n }}\n </button>\n </div>\n\n <div *ngFor=\"let layer of optionsCopy?.layers; let i = index\" class=\"o-settings__popup__content__fields\">\n <div class=\"o-settings__popup__content__fields__head\">\n <h3 class=\"a-h3 settings-layer-title__title\">{{ '@pry.widget.map.layer' | i18n: { index: i + 1 } }}</h3>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"invertLayers(i, i - 1)\" *ngIf=\"i > 0\">\n <pry-icon iconSvg=\"fleche_haut\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveUp' | i18n }}</span>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"invertLayers(i, i + 1)\"\n *ngIf=\"i < (optionsCopy?.layers?.length ?? 0) - 1\"\n >\n <pry-icon iconSvg=\"fleche_bas\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.moveDown' | i18n }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields__content\">\n <pry-range\n [ngModel]=\"(layer?.opacity ?? 100) + ''\"\n (ngModelChange)=\"changeOpacity(layer, $event)\"\n labelTranslate=\"@pry.widget.map.opacity\"\n min=\"0\"\n max=\"100\"\n ></pry-range>\n\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.widget.map.layerOptions' | i18n: { index: i + 1 } }}</legend>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_layerTitle\">{{ '@pry.widget.map.layerTitle' | i18n }}</label>\n <input\n id=\"map_layerTitle\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeTitle($event, layer)\"\n [value]=\"layer.title ?? ''\"\n />\n </div>\n\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_layerType\">{{ '@pry.widget.map.layerType.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayerType($event, i)\"\n [bindData]=\"true\"\n [itemsAsOption]=\"true\"\n [items]=\"layerTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"layer.type\"\n [disabled]=\"layer.type === 'geoserver'\"\n baseTranslate=\"@pry.widget.map.layerType.\"\n class=\"a-pry-select\"\n id=\"map_layerType\"\n ></pry-select>\n </div>\n\n <div\n *ngIf=\"\n layer.type !== 'relation' &&\n layer.type !== 'wms' &&\n layer.type !== 'wmts' &&\n layer.type !== 'geoserver' &&\n layer.type !== 'featurelayer' &&\n layer.type !== 'vectortile' &&\n layer.type !== 'rastertile'\n \"\n class=\"m-form-label-field\"\n >\n <label class=\"a-label\" for=\"map_classes\">{{ '@pry.widget.map.classes' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeClasses($event, layer)\"\n [itemsAsOption]=\"true\"\n [items]=\"classes$ | async\"\n [multiple]=\"true\"\n [ngModel]=\"layer.classes\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"map_classes\"\n ></pry-select>\n </div>\n </fieldset>\n </div>\n\n <fieldset\n *ngIf=\"\n layer.type !== 'relation' &&\n layer.type !== 'wms' &&\n layer.type !== 'wmts' &&\n layer.type !== 'geoserver' &&\n layer.type !== 'featurelayer' &&\n layer.type !== 'vectortile' &&\n layer.type !== 'rastertile'\n \"\n >\n <legend class=\"u-visually-hidden\">{{ '@pry.widget.map.locationAttr' | i18n }}</legend>\n <ng-container\n *ngIf=\"\n layer\n | geometryFieldsFor: { resultSet: resultSet$, classes: layer.classes, type: layer.type }\n | async as fields\n \"\n >\n <div\n *ngIf=\"\n ['heatmap', 'bubble', 'marker', 'point', 'line', 'polygon', 'multi-line', 'multi-polygon'].indexOf(\n layer.type\n ) >= 0\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_locationAttribute_both\">{{\n '@pry.widget.map.locationAttribute.both' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"changeLocationAttributes($event, layer)\"\n [itemsAsOption]=\"true\"\n [items]=\"fields\"\n [ngModel]=\"layer.attribute\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"map_locationAttribute_both\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n </div>\n\n <div *ngIf=\"['heatmap', 'bubble'].indexOf(layer.type) >= 0\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_intensityAttribute\">{{\n '@pry.widget.map.intensityAttribute' | i18n\n }}</label>\n <pry-select\n (ngModelChange)=\"changeIntensityAttributes($event, layer)\"\n [itemsAsOption]=\"true\"\n [items]=\"fields\"\n [ngModel]=\"layerHasIntensity(layer).intensityAttribute\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"map_intensityAttribute\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n </div>\n </ng-container>\n </fieldset>\n\n <fieldset\n *ngIf=\"\n layer.type === 'wms' ||\n layer.type === 'geoserver' ||\n layer.type === 'wmts' ||\n layer.type === 'featurelayer' ||\n layer.type === 'vectortile' ||\n layer.type === 'rastertile'\n \"\n >\n <legend class=\"u-visually-hidden\">{{ '@pry.widget.map.tile' | i18n }}</legend>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"map_wms_url\">{{ '@pry.widget.map.wms.url' | i18n }}</label>\n <input\n id=\"map_wms_url\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeUrl($event, layer)\"\n [disabled]=\"layer.type === 'geoserver'\"\n [value]=\"layer.url\"\n />\n </div>\n\n <div\n class=\"m-form-label-field\"\n *ngIf=\"layer.type === 'wms' || layer.type === 'geoserver' || layer.type === 'wmts'\"\n >\n <label class=\"a-label\" for=\"map_wms_paramLayer\">{{ '@pry.widget.map.wms.paramLayer' | i18n }}</label>\n <input\n id=\"map_wms_paramLayer\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeParamLayer($event, layer)\"\n [disabled]=\"layer.type === 'geoserver'\"\n [value]=\"layer.paramLayer\"\n />\n </div>\n\n <div class=\"m-form-label-field\" *ngIf=\"layer.type === 'wmts'\">\n <label class=\"a-label\" for=\"map_wms_matrixSet\">{{ '@pry.widget.map.wms.matrixSet' | i18n }}</label>\n <input\n id=\"map_wms_matrixSet\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeMatrixSet($event, layer)\"\n [value]=\"layer.matrixSet\"\n />\n </div>\n\n <div class=\"m-form-label-field\" *ngIf=\"layer.type === 'wmts'\">\n <label class=\"a-label\" for=\"map_wms_style\">{{ '@pry.widget.map.wms.style' | i18n }}</label>\n <input\n id=\"map_wms_style\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeParamStyle($event, layer)\"\n [value]=\"layer.style\"\n />\n </div>\n\n <div class=\"m-form-label-field\" *ngIf=\"layer.type === 'wms'\">\n <pry-checkbox (ngModelChange)=\"changeParamTiled($event, layer)\" [ngModel]=\"layer?.paramTiled ?? false\">\n {{ '@pry.widget.map.wms.paramTiled' | i18n }}\n </pry-checkbox>\n </div>\n </fieldset>\n\n <fieldset *ngIf=\"layer.type === 'marker'\">\n <legend class=\"u-visually-hidden\">{{ '@pry.widget.map.clustering' | i18n }}</legend>\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeClustered(layer, $event)\" [ngModel]=\"layer.clustered\">\n {{ '@pry.widget.map.clustered' | i18n }}\n </pry-checkbox>\n </div>\n <div *ngIf=\"layer.clustered\">\n <pry-range\n [ngModel]=\"layer.clustered\"\n (ngModelChange)=\"changeClusterDistance(layer, $event)\"\n labelTranslate=\"@pry.widget.map.clusterDistance\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </div>\n </fieldset>\n\n <div class=\"m-form-label-field\" *ngIf=\"optionsCopy.attributions\">\n <label class=\"a-label\" for=\"attribution\">{{ '@pry.widget.map.attribution' | i18n }}</label>\n <input\n id=\"attribution\"\n class=\"a-form-field\"\n type=\"text\"\n (input)=\"changeAttribution($event, layer)\"\n [value]=\"layer.attribution ? layer.attribution : ''\"\n />\n </div>\n\n <button\n type=\"button\"\n (click)=\"deleteLayer(i)\"\n class=\"a-btn a-btn--icon-text -link-like\"\n *ngIf=\"layer.type !== 'geoserver'\"\n data-func=\"delete\"\n >\n <pry-icon iconSvg=\"delete\" [width]=\"19\" [height]=\"19\"></pry-icon>\n <span>{{ '@pry.widget.map.deleteLayer' | i18n }}</span>\n </button>\n </div>\n </pry-settings>\n </pry-widget-header>\n\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <ng-container *ngFor=\"let action of basicActions$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"selectionInteraction.changeSelection(action)\"\n [class.-selected]=\"selectionInteraction.selectionType === action\"\n [pryTooltip]=\"infoTooltipAction\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipAction\"\n [pryTooltipContext]=\"{ action: action }\"\n >\n <pry-icon [iconSvg]=\"action\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.map.' + action | i18n }}</span>\n </button>\n </ng-container>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n id=\"export_card\"\n aria-expanded=\"false\"\n aria-controls=\"export_type\"\n aria-haspopup=\"menu\"\n [pryTooltip]=\"infoTooltipDown\"\n pryTooltipPosition=\"bottom\"\n aria-describedby=\"infoTooltipDown_widgetMap\"\n *ngIf=\"(actions$ | async)?.includes('export')\"\n >\n <pry-icon iconSvg=\"file_download\" (click)=\"displayExportType($event)\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.map.export' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"uploader.click()\"\n [pryTooltip]=\"infoTooltipLoad\"\n aria-describedby=\"infoTooltipLoad_widgetMap\"\n pryTooltipPosition=\"bottom\"\n *ngIf=\"(actions$ | async)?.includes('upload')\"\n >\n <pry-icon iconSvg=\"file_upload\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.map.import' | i18n }}</span>\n </button>\n <input hidden type=\"file\" #uploader (change)=\"import($event)\" />\n </div>\n\n <div class=\"ol-control m-layer-legend\" *ngIf=\"((legendLayers$ | async)?.length ?? 0) > 0\">\n <button class=\"m-layer-legend__toggle\" (click)=\"toggleLegendWindow()\">\n <pry-icon iconSvg=\"legend\" [width]=\"22\" [height]=\"22\"></pry-icon>\n </button>\n <ng-container *ngFor=\"let geoLayer of legendLayers$ | async; let index = index\">\n <div class=\"m-layer-legend__title\" [class.-hidden]=\"!legendTabOpen\">\n {{ geoLayer.title }}\n <ng-container *ngIf=\"isLayerRendered(geoLayer)\">\n <button class=\"m-layer-legend__toggle\" (click)=\"toggleLegend(index)\">\n <pry-icon\n [iconSvg]=\"legendTab === index ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"22\"\n [height]=\"22\"\n ></pry-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"!isLayerRendered(geoLayer)\">\n <pry-icon [iconSvg]=\"'close'\" [width]=\"22\" [height]=\"22\"></pry-icon>\n </ng-container>\n </div>\n <div\n class=\"m-layer-legend__image\"\n [class.-hidden]=\"!legendTabOpen || legendTab !== index || !isLayerRendered(geoLayer)\"\n >\n <ng-container *ngIf=\"!imageNotProvided[index] && (geoLayer | legendUrl)\">\n <img\n [src]=\"geoLayer | legendUrl\"\n [alt]=\"'@pry.widget.map.legend' | i18n: { layer: geoLayer.title }\"\n (error)=\"imageNotProvided[index] = true\"\n />\n </ng-container>\n <ng-container *ngIf=\"imageNotProvided[index]\">\n <p class=\"m-layer-legend__error\">{{ '@pry.widget.map.legendNotProvided' | i18n }}</p>\n </ng-container>\n </div>\n </ng-container>\n </div>\n\n <div [style.height.px]=\"height$ | async\" class=\"o-map-wrapper\">\n <div class=\"o-map\">\n <div #map id=\"map\"></div>\n </div>\n </div>\n\n <ng-template #infoTooltipAction let-action=\"action\">\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipAction\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.map.' + action | i18n }}</span>\n </div>\n </ng-template>\n\n <ng-template #infoTooltipDown>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipDown_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.map.export' | i18n }}</span>\n </div>\n </ng-template>\n\n <ng-template #infoTooltipLoad>\n <div class=\"m-tooltip\" role=\"tooltip\" id=\"infoTooltipLoad_widgetMap\" aria-hidden=\"true\">\n <span class=\"m-tooltip__text\">{{ '@pry.widget.map.import' | i18n }}</span>\n </div>\n </ng-template>\n\n <div #popup class=\"m-tooltip m-tooltip--popup\" [hidden]=\"true\" role=\"tooltip\">\n <div #popupContent></div>\n </div>\n <div\n #address\n class=\"m-tooltip m-tooltip--address tooltip-address\"\n [style.display]=\"'none'\"\n (click)=\"hideAddress()\"\n ></div>\n <ng-template\n #exportTypeTemplate\n class=\"m-context-menu-wrapper\"\n id=\"export_type\"\n aria-hidden=\"true\"\n aria-label=\"TODO-access\"\n aria-labelledby=\"export_card\"\n >\n <div class=\"m-context-menu\">\n <ul class=\"m-context-menu__list\">\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"export('png')\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.exportAsFormat' | i18n }} </span> PNG\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"export('kml')\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.exportAsFormat' | i18n }} </span> KML\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button type=\"button\" class=\"a-btn -link-like\" (click)=\"export('geoJSON')\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.exportAsFormat' | i18n }} </span> GeoJSON\n </button>\n </li>\n </ul>\n </div>\n </ng-template>\n</div>\n","export const enTranslations = {\n '@pry': {\n widget: {\n map: {\n attribution: 'Layer credits',\n attributions: 'Display credits',\n style: 'Map style',\n noStyle: 'Empty map',\n fit: 'Fit data',\n addLayer: 'Add layer',\n layer: 'Layer n°{{index}}',\n layerOptions: 'Layer options',\n layerTitle: 'Layer Label',\n layerType: {\n title: 'Type',\n heatmap: 'Heatmap',\n bubble: 'Bubbles map',\n relation: 'Links',\n marker: 'Markers map',\n polygon: 'Shapes map',\n wms: 'WMS API',\n wmts: 'WMTS API',\n featurelayer: 'Feature layer',\n vectortile: 'Vector tile',\n rastertile: 'Raster tile',\n point: 'Points',\n line: 'Lines',\n geoserver: 'Geoserver',\n 'multi-line': 'Multi-lines',\n 'multi-polygon': 'Multi-polygons'\n },\n tooltip: {\n hover: 'Hover',\n click: 'Click',\n title: 'Opening tooltips'\n },\n tile: 'Tile layer options',\n locationAttr: 'Placement options',\n clustering: 'Clustering options',\n wms: {\n url: 'Service Url',\n paramLayer: 'Data identifier',\n paramTiled: 'Tiled',\n style: 'Style',\n matrixSet: 'matrixSet'\n },\n deleteLayer: 'Delete layer',\n locationArray: 'Lat and Lng in separate properties',\n locationAttribute: {\n both: 'Location property',\n lat: 'Latitude property',\n lng: 'Longitude property'\n },\n intensityAttribute: 'Intensity property',\n classes: 'Classes displayed in layer',\n relations: 'Display links',\n importStart: 'Import file {{filename}}...',\n importOk: 'File {{filename}} imported.',\n importError: 'Cannot read format with extension {{extension}}. Authorized types are {{authorizedFormats}}',\n importNotFoundInZip: 'No file {{extension}} found in archive.',\n clustered: 'Clustered',\n clusterDistance: 'Cluster distance',\n opacity: 'Opacity',\n address: 'Address',\n addressCoords: 'Coordinates',\n active: 'Active',\n inactive: 'Inactive',\n move: 'Move mode',\n lasso: 'Lasso selection',\n rectangle: 'Rectangle selection',\n click: 'Click selection',\n zoom: 'Zoom selection',\n export: 'Export map',\n import: 'Import layer',\n legend: 'Legend of layer {{layer}}',\n legendNotProvided: 'Legend not provided by server'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n widget: {\n map: {\n attribution: 'Crédits de cette couche',\n attributions: 'Afficher les crédits',\n style: 'Style du fond de carte',\n noStyle: 'Aucun fond de carte',\n fit: 'Adapter la taille aux données',\n addLayer: 'Ajouter une couche',\n layer: 'Couche n°{{index}}',\n layerOptions: 'Options de la couche',\n layerTitle: 'Libellé de la couche',\n layerType: {\n title: 'Type',\n heatmap: 'Chaleur',\n relation: 'Relations',\n bubble: 'Bulles',\n marker: 'Marqueurs',\n polygon: 'Formes',\n wms: 'Service WMS',\n wmts: 'Service WMTS',\n featurelayer: 'Feature layer',\n vectortile: 'Vector tile',\n rastertile: 'Raster tile',\n point: 'Points',\n line: 'Lignes',\n geoserver: 'Geoserver',\n 'multi-line': 'Multi-lignes',\n 'multi-polygon': 'Multi-polygone'\n },\n tooltip: {\n hover: 'Survol',\n click: 'Clic',\n title: 'Ouverture des tooltips'\n },\n tile: 'Option de couche tuile',\n locationAttr: 'Options de positionnement',\n clustering: 'Options de regroupement',\n wms: {\n url: 'Url du service',\n paramLayer: 'Identifiant de donnnées',\n paramTiled: 'Sous forme de tuiles',\n style: 'Style',\n matrixSet: 'matrixSet'\n },\n deleteLayer: 'Supprimer la couche',\n locationArray: 'Latitude et Longitude séparées',\n locationAttribute: {\n both: 'Propriété des coordonnées',\n lat: 'Propriété de la latitude',\n lng: 'Propriété de la longitude'\n },\n intensityAttribute: \"Propriété de l'intensité\",\n classes: 'Classes affichées dans cette couche',\n relations: 'Afficher les relations',\n importStart: 'Importation du fichier {{filename}}...',\n importOk: 'Fichier {{filename}} importé.',\n importError: \"L'extension {{extension}} n'est pas reconnue. Vous pouvez utiliser: {{authorizedFormats}}.\",\n importNotFoundInZip: \"Aucun fichier {{extension}} trouvé dans l'archive.\",\n clustered: 'Regroupement',\n clusterDistance: 'Distance de regroupement',\n opacity: 'Opacité',\n address: 'Adresse',\n addressCoords: 'Coordonnées',\n active: 'Active',\n inactive: 'Inactive',\n move: 'Mode déplacement',\n lasso: 'Sélection par lasso',\n rectangle: 'Sélection par rectangle',\n click: 'Sélectionner par clic',\n zoom: 'Zoom par rectangle',\n export: 'Exporter la carte',\n import: 'Importer une couche',\n legend: 'Légende de la couche {{layer}}',\n legendNotProvided: 'Légende non fournie par le serveur'\n }\n }\n }\n};\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseWidgetComponent,\n BaseWidgetModule,\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryOverlayModule,\n PryRangeModule,\n PrySelectModule,\n PryToggleModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { WidgetMapComponent } from './component/widget-map.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { GeometryFieldsForPipe } from './pipe/widget-map-geometry-fields-for.pipe';\nimport { WidgetMapLegendUrlPipe } from './pipe/widget-map-legend-url.pipe';\nimport { PryWidgetMapCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [WidgetMapComponent, GeometryFieldsForPipe, PryWidgetMapCssComponent, WidgetMapLegendUrlPipe],\n imports: [\n CommonModule,\n FormsModule,\n OverlayModule,\n PryCoreModule,\n PryDashboardModule,\n PrySelectModule,\n PryIconModule,\n PryCheckboxModule,\n PryToggleModule,\n PryOverlayModule,\n PryI18nModule,\n PryRangeModule\n ],\n exports: [WidgetMapComponent]\n})\nexport class WidgetMapModule extends BaseWidgetModule {\n constructor(private pryTranslateService: PryI18nService) {\n super();\n this.pryTranslateService.addLangObject('fr', 'widget-map', frTranslations);\n this.pryTranslateService.addLangObject('en', 'widget-map', enTranslations);\n }\n\n override getComponent() {\n return WidgetMapComponent as Type<BaseWidgetComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Circle","getProjection","i4.WidgetMapLayerService","i8.PryWidgetMapCssComponent","i9.GeometryFieldsForPipe","i10.WidgetMapLegendUrlPipe","i1"],"mappings":"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"}