@provoly/dashboard 0.19.0 → 0.19.2

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 (548) hide show
  1. package/README.md +1 -1
  2. package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +2 -1
  3. package/assets/svgs/code-box.svg +1 -0
  4. package/dataset/style/_o-pry-dataset-card.scss +48 -1
  5. package/dataset/style/_o-pry-dataset.scss +4 -5
  6. package/esm2022/admin/admin-routing.module.mjs +5 -5
  7. package/esm2022/admin/admin.module.mjs +5 -5
  8. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +4 -4
  9. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +4 -4
  10. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +4 -4
  11. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +4 -4
  12. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules.component.mjs +4 -4
  13. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -4
  14. package/esm2022/admin/components/admin-abac-rules/components/composed-condition/composed-condition.component.mjs +4 -4
  15. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +4 -4
  16. package/esm2022/admin/components/admin-abac-rules/components/select-attribute/select-attribute.component.mjs +4 -4
  17. package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +4 -4
  18. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.effects.mjs +4 -4
  19. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.service.mjs +4 -4
  20. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +8 -7
  21. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +4 -4
  22. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +4 -4
  23. package/esm2022/admin/components/admin-classes/admin-classes-edit/admin-classes-edit.component.mjs +4 -4
  24. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +4 -4
  25. package/esm2022/admin/components/admin-classes/admin-classes-new/admin-classes-new.component.mjs +4 -4
  26. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +4 -4
  27. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +4 -4
  28. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +4 -4
  29. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +4 -4
  30. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +4 -4
  31. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +4 -4
  32. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +4 -4
  33. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +4 -4
  34. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +4 -4
  35. package/esm2022/admin/components/admin-dataset/admin-edit-dataset/admin-edit-dataset.component.mjs +4 -4
  36. package/esm2022/admin/components/admin-dataset/admin-new-dataset/admin-new-dataset.component.mjs +4 -4
  37. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +4 -4
  38. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +4 -4
  39. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +4 -4
  40. package/esm2022/admin/components/admin-environment/admin-environment-new/admin-environment-new.component.mjs +4 -4
  41. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +4 -4
  42. package/esm2022/admin/components/admin-environment/admin-environment-update/admin-environment-update.component.mjs +4 -4
  43. package/esm2022/admin/components/admin-environment/admin-environment.component.mjs +4 -4
  44. package/esm2022/admin/components/admin-environment/store/environment.effects.mjs +4 -4
  45. package/esm2022/admin/components/admin-fields/admin-fields-edit/admin-fields-edit.component.mjs +4 -4
  46. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +4 -4
  47. package/esm2022/admin/components/admin-fields/admin-fields-new/admin-fields-new.component.mjs +4 -4
  48. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +4 -4
  49. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +4 -4
  50. package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +4 -4
  51. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +4 -4
  52. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +4 -4
  53. package/esm2022/admin/components/admin-links/admin-links.component.mjs +4 -4
  54. package/esm2022/admin/components/admin-links/store/links.effects.mjs +4 -4
  55. package/esm2022/admin/components/admin-menu/admin-menu.component.mjs +4 -4
  56. package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +4 -4
  57. package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +4 -4
  58. package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +4 -4
  59. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +4 -4
  60. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -4
  61. package/esm2022/admin/components/admin-metadata/shared/list-metadata/list-metadata.module.mjs +5 -5
  62. package/esm2022/admin/components/admin-metadata/shared/list-metadata/pry-list-metadata.component.mjs +4 -4
  63. package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +4 -4
  64. package/esm2022/admin/components/admin-metadata-rules/admin-metadata-rules.component.mjs +4 -4
  65. package/esm2022/admin/components/admin-metadata-rules/admin-new-metadata-rules/admin-new-metadata-rules.component.mjs +4 -4
  66. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +4 -4
  67. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +4 -4
  68. package/esm2022/admin/components/admin-metadata-rules/store/metadata-rules.effects.mjs +4 -4
  69. package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +4 -4
  70. package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +4 -4
  71. package/esm2022/admin/components/admin-metadata-user/admin-user-new-metadata/admin-user-new-metadata.component.mjs +4 -4
  72. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +4 -4
  73. package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +4 -4
  74. package/esm2022/admin/components/admin-predicates/admin-predicates-form/admin-predicates-form.component.mjs +4 -4
  75. package/esm2022/admin/components/admin-predicates/admin-predicates-new/admin-predicates-new.component.mjs +4 -4
  76. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +4 -4
  77. package/esm2022/admin/components/admin-predicates/admin-predicates-update/admin-predicates-update.component.mjs +4 -4
  78. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +4 -4
  79. package/esm2022/admin/components/admin-predicates/store/predicates.effects.mjs +4 -4
  80. package/esm2022/admin/components/admin-relation-types/admin-relation-types-modal/admin-relation-types-modal.component.mjs +4 -4
  81. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +4 -4
  82. package/esm2022/admin/components/admin-relation-types/admin-relation-types.component.mjs +4 -4
  83. package/esm2022/admin/components/admin-title/admin-title.component.mjs +4 -4
  84. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +4 -4
  85. package/esm2022/admin/components/admin-user/admin-user.component.mjs +4 -4
  86. package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +4 -4
  87. package/esm2022/admin/components/admin.component.mjs +4 -4
  88. package/esm2022/admin/components/association/association.component.mjs +4 -4
  89. package/esm2022/admin/store/admin.effects.mjs +4 -4
  90. package/esm2022/admin/store/admin.service.mjs +4 -4
  91. package/esm2022/components/card/card.component.mjs +19 -19
  92. package/esm2022/components/card/card.module.mjs +5 -5
  93. package/esm2022/components/checkbox/checkbox.component.mjs +4 -4
  94. package/esm2022/components/checkbox/checkbox.module.mjs +5 -5
  95. package/esm2022/components/color-picker/color-picker.component.mjs +4 -4
  96. package/esm2022/components/color-picker/color-picker.module.mjs +5 -5
  97. package/esm2022/components/expand-panel/expand-panel.component.mjs +7 -7
  98. package/esm2022/components/expand-panel/expand-panel.module.mjs +5 -5
  99. package/esm2022/components/filter/filter.module.mjs +5 -5
  100. package/esm2022/components/filter/filter.pipe.mjs +4 -4
  101. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +4 -4
  102. package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -5
  103. package/esm2022/components/metadata-editor/store/metadata.effects.mjs +4 -4
  104. package/esm2022/components/metadata-editor/store/metadata.service.mjs +4 -4
  105. package/esm2022/components/metadata-editor/style/css.component.mjs +4 -4
  106. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +4 -4
  107. package/esm2022/components/scheme-picker/scheme-picker.module.mjs +5 -5
  108. package/esm2022/components/scheme-picker/scheme.service.mjs +4 -4
  109. package/esm2022/components/sinceDate/sinceDate.module.mjs +5 -5
  110. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +4 -4
  111. package/esm2022/components/stepper/step/step.component.mjs +4 -4
  112. package/esm2022/components/stepper/step-title.directive.mjs +4 -4
  113. package/esm2022/components/stepper/stepper.component.mjs +4 -4
  114. package/esm2022/components/stepper/stepper.module.mjs +5 -5
  115. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
  116. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +14 -6
  117. package/esm2022/dataset/components/dataset.component.mjs +4 -4
  118. package/esm2022/dataset/dataset.module.mjs +5 -5
  119. package/esm2022/dataset/style/css.component.mjs +5 -5
  120. package/esm2022/filters/autocomplete/autocomplete.component.mjs +41 -0
  121. package/esm2022/filters/autocomplete/autocomplete.module.mjs +24 -0
  122. package/esm2022/filters/autocomplete/provoly-dashboard-filters-autocomplete.mjs +5 -0
  123. package/esm2022/filters/autocomplete/public-api.mjs +4 -0
  124. package/esm2022/filters/autocomplete/style/css.component.mjs +11 -0
  125. package/esm2022/filters/date/date-filter.component.mjs +4 -4
  126. package/esm2022/filters/date/date-filter.module.mjs +5 -5
  127. package/esm2022/filters/list/list-filter.component.mjs +4 -4
  128. package/esm2022/filters/list/list-filter.module.mjs +5 -5
  129. package/esm2022/filters/list/style/css.component.mjs +4 -4
  130. package/esm2022/filters/number/number-filter.component.mjs +4 -4
  131. package/esm2022/filters/number/number-filter.module.mjs +5 -5
  132. package/esm2022/filters/text/text-filter.component.mjs +4 -4
  133. package/esm2022/filters/text/text-filter.module.mjs +5 -5
  134. package/esm2022/import/components/import.component.mjs +4 -4
  135. package/esm2022/import/import-routing.module.mjs +5 -5
  136. package/esm2022/import/import.module.mjs +5 -5
  137. package/esm2022/import/store/import.effects.mjs +4 -4
  138. package/esm2022/import/store/import.service.mjs +4 -4
  139. package/esm2022/import/style/css.component.mjs +4 -4
  140. package/esm2022/lib/core/access/access.directive.mjs +4 -4
  141. package/esm2022/lib/core/access/access.guard.mjs +4 -4
  142. package/esm2022/lib/core/access/access.service.mjs +4 -4
  143. package/esm2022/lib/core/auth/geoAuth.service.mjs +4 -4
  144. package/esm2022/lib/core/components/about/about.component.mjs +6 -6
  145. package/esm2022/lib/core/components/about/pry-about.module.mjs +5 -5
  146. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
  147. package/esm2022/lib/core/components/accordion/accordion.component.mjs +4 -4
  148. package/esm2022/lib/core/components/base-layout/base-layout.component.mjs +4 -4
  149. package/esm2022/lib/core/components/base-menu/base-menu.component.mjs +4 -4
  150. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +4 -4
  151. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +4 -4
  152. package/esm2022/lib/core/components/date-picker/date-picker.component.mjs +4 -4
  153. package/esm2022/lib/core/components/date-picker/date-picker.module.mjs +5 -5
  154. package/esm2022/lib/core/components/date-picker/date-range-highlight.pipe.mjs +4 -4
  155. package/esm2022/lib/core/components/date-picker/time-picker/loop-scroll-column/loop-scroll-column.component.mjs +4 -4
  156. package/esm2022/lib/core/components/date-picker/time-picker/time-picker.component.mjs +4 -4
  157. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +4 -4
  158. package/esm2022/lib/core/components/edit-input/edit-input.module.mjs +5 -5
  159. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +7 -11
  160. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.directive.mjs +4 -4
  161. package/esm2022/lib/core/components/hidden-when-overlay/hidden-when-overlay.module.mjs +5 -5
  162. package/esm2022/lib/core/components/icon/icon.component.mjs +4 -4
  163. package/esm2022/lib/core/components/icon/icon.module.mjs +5 -5
  164. package/esm2022/lib/core/components/modal/modal.component.mjs +4 -4
  165. package/esm2022/lib/core/components/modal/pry-modal.module.mjs +5 -5
  166. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +4 -4
  167. package/esm2022/lib/core/components/modal-status/modal-status.module.mjs +5 -5
  168. package/esm2022/lib/core/components/nq-color-selector/nq-color-selector.component.mjs +4 -4
  169. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +4 -4
  170. package/esm2022/lib/core/components/overlay/dialog.service.mjs +4 -4
  171. package/esm2022/lib/core/components/overlay/overlay.directive.mjs +4 -4
  172. package/esm2022/lib/core/components/overlay/overlay.module.mjs +5 -5
  173. package/esm2022/lib/core/components/range/range.component.mjs +4 -4
  174. package/esm2022/lib/core/components/range/range.module.mjs +5 -5
  175. package/esm2022/lib/core/components/select/select.component.mjs +7 -11
  176. package/esm2022/lib/core/components/select/select.module.mjs +5 -5
  177. package/esm2022/lib/core/components/select-image/select-image.component.mjs +4 -4
  178. package/esm2022/lib/core/components/share/share.component.mjs +4 -4
  179. package/esm2022/lib/core/components/share/share.module.mjs +5 -5
  180. package/esm2022/lib/core/components/snackbar/snackbar/snackbar.component.mjs +4 -4
  181. package/esm2022/lib/core/components/snackbar/snackbar.module.mjs +5 -5
  182. package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +4 -4
  183. package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +4 -4
  184. package/esm2022/lib/core/components/sort/sort-header/sort-header.component.mjs +4 -4
  185. package/esm2022/lib/core/components/sort/sort-header.directive.mjs +4 -4
  186. package/esm2022/lib/core/components/sort/sort-table.directive.mjs +4 -4
  187. package/esm2022/lib/core/components/sort/sort.module.mjs +5 -5
  188. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +4 -4
  189. package/esm2022/lib/core/components/tabs/tab.component.mjs +4 -4
  190. package/esm2022/lib/core/components/toggle/toggle.component.mjs +4 -4
  191. package/esm2022/lib/core/components/toggle/toggle.module.mjs +5 -5
  192. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +4 -4
  193. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +4 -4
  194. package/esm2022/lib/core/components/upload/upload.component.mjs +4 -4
  195. package/esm2022/lib/core/core.module.mjs +5 -5
  196. package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +4 -4
  197. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  198. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  199. package/esm2022/lib/core/i18n/i18n.module.mjs +5 -5
  200. package/esm2022/lib/core/i18n/i18n.pipe.mjs +4 -4
  201. package/esm2022/lib/core/i18n/i18n.service.mjs +4 -4
  202. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  203. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  204. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -5
  205. package/esm2022/lib/core/store/aggregation/base-aggregation.service.mjs +4 -4
  206. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +4 -4
  207. package/esm2022/lib/core/store/category/category.effects.mjs +4 -4
  208. package/esm2022/lib/core/store/category/category.service.mjs +4 -4
  209. package/esm2022/lib/core/store/class/class.effects.mjs +4 -4
  210. package/esm2022/lib/core/store/class/class.service.mjs +4 -4
  211. package/esm2022/lib/core/store/config/config.effects.mjs +4 -4
  212. package/esm2022/lib/core/store/config/config.service.mjs +4 -4
  213. package/esm2022/lib/core/store/config/open-map-tiles.service.mjs +4 -4
  214. package/esm2022/lib/core/store/context-menu/context-menu.effects.mjs +4 -4
  215. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -5
  216. package/esm2022/lib/core/store/data-source/data-source.service.mjs +4 -4
  217. package/esm2022/lib/core/store/field/field.effects.mjs +4 -4
  218. package/esm2022/lib/core/store/field/field.interface.mjs +2 -1
  219. package/esm2022/lib/core/store/field/field.service.mjs +4 -4
  220. package/esm2022/lib/core/store/image/image.effects.mjs +4 -4
  221. package/esm2022/lib/core/store/image/image.service.mjs +4 -4
  222. package/esm2022/lib/core/store/item/item.effects.mjs +4 -4
  223. package/esm2022/lib/core/store/item/item.service.mjs +4 -4
  224. package/esm2022/lib/core/store/raw/raw.service.mjs +4 -4
  225. package/esm2022/lib/core/store/relation-types/relation-types.effects.mjs +4 -4
  226. package/esm2022/lib/core/store/relation-types/relation-types.service.mjs +4 -4
  227. package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
  228. package/esm2022/lib/core/store/search/search.effects.mjs +5 -5
  229. package/esm2022/lib/core/store/search/search.service.mjs +13 -12
  230. package/esm2022/lib/core/symbol/symbol.service.mjs +4 -4
  231. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
  232. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +4 -4
  233. package/esm2022/lib/core/ws/websocket.service.mjs +4 -4
  234. package/esm2022/lib/dashboard/action-bus/effect/action-bus.effects.mjs +4 -4
  235. package/esm2022/lib/dashboard/action-bus/service/bus.service.mjs +4 -4
  236. package/esm2022/lib/dashboard/base-widget.module.mjs +5 -5
  237. package/esm2022/lib/dashboard/components/context-menu/context-menu.component.mjs +4 -4
  238. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +4 -4
  239. package/esm2022/lib/dashboard/components/dashboard.component.mjs +8 -8
  240. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +4 -4
  241. package/esm2022/lib/dashboard/components/metadata/metadata.component.mjs +4 -4
  242. package/esm2022/lib/dashboard/components/subscriptionner.directive.mjs +4 -4
  243. package/esm2022/lib/dashboard/components/vizualize-raw/vizualize-raw.component.mjs +4 -4
  244. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +4 -4
  245. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +4 -4
  246. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +4 -4
  247. package/esm2022/lib/dashboard/components/widgets/header/resultset-size.pipe.mjs +4 -4
  248. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -4
  249. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +4 -4
  250. package/esm2022/lib/dashboard/components/widgets/widget-filler/widget-filler.component.mjs +4 -4
  251. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +8 -6
  252. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +4 -4
  253. package/esm2022/lib/dashboard/components/widgets/widget-placeholder/widget-placeholder.component.mjs +4 -4
  254. package/esm2022/lib/dashboard/dashboard.module.mjs +12 -8
  255. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +4 -4
  256. package/esm2022/lib/dashboard/filter/base-filter.module.mjs +5 -5
  257. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +4 -4
  258. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +4 -4
  259. package/esm2022/lib/dashboard/filter/filter-factory.service.mjs +4 -4
  260. package/esm2022/lib/dashboard/filter/style/css.component.mjs +4 -4
  261. package/esm2022/lib/dashboard/guard/default-view.guard.mjs +4 -4
  262. package/esm2022/lib/dashboard/item-utils.mjs +15 -14
  263. package/esm2022/lib/dashboard/store/dashboard-init.service.mjs +4 -4
  264. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -2
  265. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +56 -22
  266. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
  267. package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +10 -7
  268. package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -4
  269. package/esm2022/lib/dashboard/store/proxy.utils.mjs +76 -0
  270. package/esm2022/lib/dashboard/store/refresh.service.mjs +12 -7
  271. package/esm2022/lib/dashboard/store/title.service.mjs +4 -4
  272. package/esm2022/lib/dashboard/store/wms.service.mjs +4 -4
  273. package/esm2022/lib/dashboard/tooltip/base-tooltip.component.mjs +4 -4
  274. package/esm2022/lib/dashboard/tooltip/base-tooltip.module.mjs +5 -5
  275. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +4 -4
  276. package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +4 -4
  277. package/esm2022/notification/components/notification/content/notification-content.component.mjs +4 -4
  278. package/esm2022/notification/components/notification/notification.component.mjs +4 -4
  279. package/esm2022/notification/notification.module.mjs +5 -5
  280. package/esm2022/notification/store/notification.effects.mjs +4 -4
  281. package/esm2022/notification/store/notification.service.mjs +4 -4
  282. package/esm2022/notification/style/css.component.mjs +4 -4
  283. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +4 -4
  284. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +4 -4
  285. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +4 -4
  286. package/esm2022/pipeline/components/pipeline-properties-panel.component.mjs +4 -4
  287. package/esm2022/pipeline/factory/pipeline-component-factory.service.mjs +4 -4
  288. package/esm2022/pipeline/pipeline.module.mjs +5 -5
  289. package/esm2022/pipeline/store/pipeline.effects.mjs +4 -4
  290. package/esm2022/pipeline/store/pipeline.service.mjs +4 -4
  291. package/esm2022/pipeline/style/css.component.mjs +4 -4
  292. package/esm2022/pipeline-components/filter/component/filter.component.mjs +4 -4
  293. package/esm2022/pipeline-components/filter/filter.module.mjs +5 -5
  294. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +4 -4
  295. package/esm2022/pipeline-components/input-datasource/input-datasource.module.mjs +5 -5
  296. package/esm2022/pipeline-components/noop/component/noop.component.mjs +4 -4
  297. package/esm2022/pipeline-components/noop/noop.module.mjs +5 -5
  298. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +4 -4
  299. package/esm2022/pipeline-components/output-dataset/output-dataset.module.mjs +5 -5
  300. package/esm2022/pipeline-components/subgraph/component/empty.component.mjs +4 -4
  301. package/esm2022/pipeline-components/subgraph/subgraph.module.mjs +5 -5
  302. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +17 -30
  303. package/esm2022/presentation/components/presentation.component.mjs +6 -33
  304. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -4
  305. package/esm2022/presentation/presentation.module.mjs +5 -5
  306. package/esm2022/presentation/style/css.component.mjs +5 -5
  307. package/esm2022/restitution/components/restitution/restitution.component.mjs +24 -8
  308. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +4 -4
  309. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +4 -4
  310. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +4 -4
  311. package/esm2022/restitution/restitution.module.mjs +5 -5
  312. package/esm2022/restitution/style/css.component.mjs +5 -5
  313. package/esm2022/search/components/choose-widget/choose-widget.component.mjs +4 -4
  314. package/esm2022/search/components/edit-named-query/edit-named-query.component.mjs +9 -5
  315. package/esm2022/search/components/edit-named-query-modal/edit-named-query-modal.component.mjs +4 -4
  316. package/esm2022/search/components/save-query/save-query.component.mjs +4 -4
  317. package/esm2022/search/components/save-query-button/save-query-button.component.mjs +4 -4
  318. package/esm2022/search/search-fulltext/search-fulltext/search-fulltext.component.mjs +4 -4
  319. package/esm2022/search/search-fulltext/store/search-fulltext.effects.mjs +4 -4
  320. package/esm2022/search/search-fulltext/store/search-fulltext.service.mjs +4 -4
  321. package/esm2022/search/search-home/search-home.component.mjs +5 -5
  322. package/esm2022/search/search-mono-class/components/search-composed/search-composed.component.mjs +4 -4
  323. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
  324. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +4 -4
  325. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +4 -4
  326. package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -4
  327. package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +4 -4
  328. package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +4 -4
  329. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +4 -4
  330. package/esm2022/search/search-multi-class/components/multi-class-field-selection/multi-class-field-selection.component.mjs +4 -4
  331. package/esm2022/search/search-multi-class/components/search-multi-class/search-multi-class.component.mjs +4 -4
  332. package/esm2022/search/search-multi-class/store/search-multi-class.effects.mjs +4 -4
  333. package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
  334. package/esm2022/search/search-tools/search-tools.component.mjs +4 -4
  335. package/esm2022/search/search.module.mjs +5 -5
  336. package/esm2022/search/style/css.component.mjs +4 -4
  337. package/esm2022/supervision/components/supervision-business-data/supervision-business-data.component.mjs +4 -4
  338. package/esm2022/supervision/components/supervision-flow/supervision-flow.component.mjs +4 -4
  339. package/esm2022/supervision/components/supervision-infrastructures/supervision-infrastructures.component.mjs +4 -4
  340. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +4 -4
  341. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +4 -4
  342. package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +4 -4
  343. package/esm2022/supervision/components/supervision-menu/supervision-menu.component.mjs +4 -4
  344. package/esm2022/supervision/components/supervision-title/supervision-title.component.mjs +4 -4
  345. package/esm2022/supervision/components/supervision.component.mjs +4 -4
  346. package/esm2022/supervision/store/supervision.effects.mjs +4 -4
  347. package/esm2022/supervision/store/supervision.service.mjs +4 -4
  348. package/esm2022/supervision/supervision-routing.module.mjs +5 -5
  349. package/esm2022/supervision/supervision.module.mjs +5 -5
  350. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +7 -5
  351. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +4 -4
  352. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +4 -4
  353. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +4 -4
  354. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +6 -4
  355. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +4 -4
  356. package/esm2022/toolbox/components/named-query/named-query.component.mjs +4 -4
  357. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +11 -7
  358. package/esm2022/toolbox/components/save-view/save-view.component.mjs +4 -4
  359. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +4 -4
  360. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +4 -4
  361. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +4 -4
  362. package/esm2022/toolbox/components/toolbox.component.mjs +4 -4
  363. package/esm2022/toolbox/style/css.component.mjs +4 -4
  364. package/esm2022/toolbox/toolbox.module.mjs +5 -5
  365. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +4 -4
  366. package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -5
  367. package/esm2022/tooltips/cluster/cluster-tooltip.component.mjs +4 -4
  368. package/esm2022/tooltips/cluster/cluster-tooltip.module.mjs +5 -5
  369. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +51 -46
  370. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +10 -1
  371. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +10 -1
  372. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +4 -4
  373. package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +5 -5
  374. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +4 -4
  375. package/esm2022/widgets/widget-chart/style/css.component.mjs +4 -4
  376. package/esm2022/widgets/widget-chart/widget-chart.module.mjs +5 -5
  377. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +4 -4
  378. package/esm2022/widgets/widget-detail/style/css.component.mjs +4 -4
  379. package/esm2022/widgets/widget-detail/widget-detail.module.mjs +5 -5
  380. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +4 -4
  381. package/esm2022/widgets/widget-graph/style/css.component.mjs +4 -4
  382. package/esm2022/widgets/widget-graph/widget-graph.module.mjs +5 -5
  383. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +4 -4
  384. package/esm2022/widgets/widget-iframe/messaging/iframe-messaging.service.mjs +4 -4
  385. package/esm2022/widgets/widget-iframe/style/css.component.mjs +4 -4
  386. package/esm2022/widgets/widget-iframe/widget-iframe.module.mjs +5 -5
  387. package/esm2022/widgets/widget-image/component/widget-image.component.mjs +4 -4
  388. package/esm2022/widgets/widget-image/style/css.component.mjs +4 -4
  389. package/esm2022/widgets/widget-image/widget-image.module.mjs +5 -5
  390. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -4
  391. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +235 -129
  392. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +10 -2
  393. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +10 -2
  394. package/esm2022/widgets/widget-map/interaction/layer-slider.class.mjs +63 -0
  395. package/esm2022/widgets/widget-map/interaction/selection-interaction.class.mjs +21 -16
  396. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +4 -4
  397. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +24 -12
  398. package/esm2022/widgets/widget-map/public-api.mjs +2 -1
  399. package/esm2022/widgets/widget-map/style/css.component.mjs +5 -5
  400. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +36 -3
  401. package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +56 -13
  402. package/esm2022/widgets/widget-map/widget-map.module.mjs +5 -5
  403. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +11 -6
  404. package/esm2022/widgets/widget-table/expand-value/detach-row.directive.mjs +4 -4
  405. package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +4 -4
  406. package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +4 -4
  407. package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +5 -5
  408. package/esm2022/widgets/widget-table/resizable/resizable.component.mjs +4 -4
  409. package/esm2022/widgets/widget-table/resizable/resizable.directive.mjs +4 -4
  410. package/esm2022/widgets/widget-table/style/css.component.mjs +4 -4
  411. package/esm2022/widgets/widget-table/widget-table.module.mjs +5 -5
  412. package/esm2022/widgets/widget-template/component/widget-template.component.mjs +4 -4
  413. package/esm2022/widgets/widget-template/style/css.component.mjs +4 -4
  414. package/esm2022/widgets/widget-template/widget-template.module.mjs +5 -5
  415. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +4 -4
  416. package/esm2022/widgets/widget-tile/style/css.component.mjs +4 -4
  417. package/esm2022/widgets/widget-tile/widget-tile.module.mjs +5 -5
  418. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +4 -4
  419. package/esm2022/widgets/widget-vega/style/css.component.mjs +4 -4
  420. package/esm2022/widgets/widget-vega/widget-vega.module.mjs +5 -5
  421. package/fesm2022/provoly-dashboard-admin.mjs +261 -260
  422. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  423. package/fesm2022/provoly-dashboard-components-card.mjs +22 -22
  424. package/fesm2022/provoly-dashboard-components-card.mjs.map +1 -1
  425. package/fesm2022/provoly-dashboard-components-checkbox.mjs +7 -7
  426. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  427. package/fesm2022/provoly-dashboard-components-color-picker.mjs +7 -7
  428. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  429. package/fesm2022/provoly-dashboard-components-expand-panel.mjs +10 -10
  430. package/fesm2022/provoly-dashboard-components-expand-panel.mjs.map +1 -1
  431. package/fesm2022/provoly-dashboard-components-filter.mjs +7 -7
  432. package/fesm2022/provoly-dashboard-components-filter.mjs.map +1 -1
  433. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +16 -16
  434. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  435. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +10 -10
  436. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  437. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +7 -7
  438. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  439. package/fesm2022/provoly-dashboard-components-stepper.mjs +13 -13
  440. package/fesm2022/provoly-dashboard-components-stepper.mjs.map +1 -1
  441. package/fesm2022/provoly-dashboard-dataset.mjs +28 -20
  442. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  443. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +75 -0
  444. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -0
  445. package/fesm2022/provoly-dashboard-filters-date.mjs +7 -7
  446. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  447. package/fesm2022/provoly-dashboard-filters-list.mjs +10 -10
  448. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  449. package/fesm2022/provoly-dashboard-filters-number.mjs +7 -7
  450. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  451. package/fesm2022/provoly-dashboard-filters-text.mjs +7 -7
  452. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  453. package/fesm2022/provoly-dashboard-import.mjs +20 -20
  454. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  455. package/fesm2022/provoly-dashboard-notification.mjs +19 -19
  456. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  457. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +7 -7
  458. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  459. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +7 -7
  460. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  461. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs +7 -7
  462. package/fesm2022/provoly-dashboard-pipeline-components-noop.mjs.map +1 -1
  463. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +7 -7
  464. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  465. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs +7 -7
  466. package/fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs.map +1 -1
  467. package/fesm2022/provoly-dashboard-pipeline.mjs +28 -28
  468. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  469. package/fesm2022/provoly-dashboard-presentation.mjs +31 -71
  470. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  471. package/fesm2022/provoly-dashboard-restitution.mjs +40 -24
  472. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  473. package/fesm2022/provoly-dashboard-search.mjs +79 -75
  474. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  475. package/fesm2022/provoly-dashboard-supervision.mjs +41 -41
  476. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  477. package/fesm2022/provoly-dashboard-toolbox.mjs +58 -50
  478. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  479. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -7
  480. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  481. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs +7 -7
  482. package/fesm2022/provoly-dashboard-tooltips-cluster.mjs.map +1 -1
  483. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +75 -52
  484. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  485. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +10 -10
  486. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  487. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -10
  488. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  489. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +10 -10
  490. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  491. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +13 -13
  492. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  493. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs +10 -10
  494. package/fesm2022/provoly-dashboard-widgets-widget-image.mjs.map +1 -1
  495. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +457 -184
  496. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  497. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +36 -31
  498. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  499. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs +10 -10
  500. package/fesm2022/provoly-dashboard-widgets-widget-template.mjs.map +1 -1
  501. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +10 -10
  502. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  503. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +10 -10
  504. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  505. package/fesm2022/provoly-dashboard.mjs +681 -562
  506. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  507. package/filters/autocomplete/autocomplete.component.d.ts +16 -0
  508. package/filters/autocomplete/autocomplete.module.d.ts +14 -0
  509. package/filters/autocomplete/index.d.ts +5 -0
  510. package/filters/autocomplete/public-api.d.ts +3 -0
  511. package/filters/autocomplete/style/_m-autocomplete.scss +7 -0
  512. package/filters/autocomplete/style/css.component.d.ts +5 -0
  513. package/lib/core/components/get-secured-image/get-secured-image.pipe.d.ts +1 -5
  514. package/lib/core/components/select/select.component.d.ts +0 -1
  515. package/lib/core/i18n/en.translations.d.ts +1 -0
  516. package/lib/core/i18n/fr.translations.d.ts +1 -0
  517. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +1 -1
  518. package/lib/core/model/widget-map-manifest.interface.d.ts +3 -1
  519. package/lib/core/store/field/field.interface.d.ts +1 -0
  520. package/lib/core/store/search/search.actions.d.ts +4 -0
  521. package/lib/core/store/search/search.service.d.ts +7 -6
  522. package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +4 -1
  523. package/lib/dashboard/dashboard.module.d.ts +2 -0
  524. package/lib/dashboard/item-utils.d.ts +2 -3
  525. package/lib/dashboard/store/dashboard.actions.d.ts +5 -0
  526. package/lib/dashboard/store/dashboard.effects.d.ts +24 -5
  527. package/lib/dashboard/store/dashboard.selectors.d.ts +13 -7
  528. package/lib/dashboard/store/manifest-utils.class.d.ts +4 -1
  529. package/lib/dashboard/store/proxy.utils.d.ts +24 -0
  530. package/lib/dashboard/store/wms.service.d.ts +1 -1
  531. package/package.json +14 -8
  532. package/presentation/style/_o-pry-presentation.scss +1 -1
  533. package/styles/components/_o-widget.scss +57 -2
  534. package/styles-theme/components-theme/_o-widget.theme.scss +1 -1
  535. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +16 -6
  536. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +9 -0
  537. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +9 -0
  538. package/widgets/widget-map/component/widget-map.component.d.ts +45 -9
  539. package/widgets/widget-map/i18n/en.translations.d.ts +8 -0
  540. package/widgets/widget-map/i18n/fr.translations.d.ts +8 -0
  541. package/widgets/widget-map/interaction/layer-slider.class.d.ts +10 -0
  542. package/widgets/widget-map/interaction/selection-interaction.class.d.ts +2 -3
  543. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +1 -0
  544. package/widgets/widget-map/public-api.d.ts +1 -0
  545. package/widgets/widget-map/style/_o-layer-legend.scss +16 -5
  546. package/widgets/widget-map/style/_o-widget-map.scss +75 -1
  547. package/widgets/widget-map/utils/widget-map.utils.d.ts +7 -1
  548. package/widgets/widget-map/utils/xml-utils.class.d.ts +11 -1
@@ -12,10 +12,10 @@ import { map, tap } from 'rxjs/operators';
12
12
  import * as i1 from '@ngrx/store';
13
13
 
14
14
  class PryWidgetDetailCssComponent {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetDetailCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryWidgetDetailCssComponent, selector: "pry-widget-detail-css", ngImport: i0, template: '', isInline: true, styles: [".o-widget--detail{position:relative;overflow:auto;height:100%}.o-widget--detail .is-empty,.o-widget--detail__content{padding:1.875rem}.o-widget--detail__content .o-properties__list{padding:0}.o-widget--detail__datas{padding:0 .9375rem}.o-widget--detail__header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:.9375rem;padding:.625rem;border-radius:.3125rem .3125rem 0 0;cursor:pointer}.o-widget--detail__header__title{font-size:.9375rem}.o-widget--detail__category{display:flex;align-items:center;gap:.625rem;margin-top:1.25rem;padding:.625rem 0;border-bottom-width:2px;border-bottom-style:solid;font-weight:700;cursor:pointer}.o-widget--detail__header p,.o-widget--detail__category p{margin-bottom:0}\n"], encapsulation: i0.ViewEncapsulation.None }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetDetailCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetDetailCssComponent, selector: "pry-widget-detail-css", ngImport: i0, template: '', isInline: true, styles: [".o-widget--detail{position:relative;overflow:auto;height:100%}.o-widget--detail .is-empty,.o-widget--detail__content{padding:1.875rem}.o-widget--detail__content .o-properties__list{padding:0}.o-widget--detail__datas{padding:0 .9375rem}.o-widget--detail__header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:.9375rem;padding:.625rem;border-radius:.3125rem .3125rem 0 0;cursor:pointer}.o-widget--detail__header__title{font-size:.9375rem}.o-widget--detail__category{display:flex;align-items:center;gap:.625rem;margin-top:1.25rem;padding:.625rem 0;border-bottom-width:2px;border-bottom-style:solid;font-weight:700;cursor:pointer}.o-widget--detail__header p,.o-widget--detail__category p{margin-bottom:0}\n"], encapsulation: i0.ViewEncapsulation.None }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetDetailCssComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetDetailCssComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'pry-widget-detail-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-widget--detail{position:relative;overflow:auto;height:100%}.o-widget--detail .is-empty,.o-widget--detail__content{padding:1.875rem}.o-widget--detail__content .o-properties__list{padding:0}.o-widget--detail__datas{padding:0 .9375rem}.o-widget--detail__header{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:.9375rem;padding:.625rem;border-radius:.3125rem .3125rem 0 0;cursor:pointer}.o-widget--detail__header__title{font-size:.9375rem}.o-widget--detail__category{display:flex;align-items:center;gap:.625rem;margin-top:1.25rem;padding:.625rem 0;border-bottom-width:2px;border-bottom-style:solid;font-weight:700;cursor:pointer}.o-widget--detail__header p,.o-widget--detail__category p{margin-bottom:0}\n"] }]
21
21
  }] });
@@ -134,10 +134,10 @@ class WidgetDetailComponent extends BaseWidgetComponent {
134
134
  isRaw(property) {
135
135
  return this.fields.find((field) => field.id === property.attribute.field)?.type === FieldType.RAW;
136
136
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: WidgetDetailComponent, selector: "pry-widget-detail", usesInheritance: true, ngImport: i0, template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryWidgetDetailCssComponent, selector: "pry-widget-detail-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WidgetDetailComponent, selector: "pry-widget-detail", usesInheritance: true, ngImport: i0, template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MetadataComponent, selector: "pry-metadata", inputs: ["item"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.VizualizeRawComponent, selector: "pry-vizualize-raw", inputs: ["item", "propertyName", "alt"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryWidgetDetailCssComponent, selector: "pry-widget-detail-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailComponent, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailComponent, decorators: [{
141
141
  type: Component,
142
142
  args: [{ selector: 'pry-widget-detail', template: "<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n" }]
143
143
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.PryI18nService }, { type: i0.ElementRef }]; } });
@@ -180,8 +180,8 @@ class WidgetDetailModule extends BaseWidgetModule {
180
180
  getComponent() {
181
181
  return WidgetDetailComponent;
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailModule, deps: [{ token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
184
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailModule, declarations: [WidgetDetailComponent, PryWidgetDetailCssComponent], imports: [CommonModule,
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailModule, deps: [{ token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
184
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailModule, declarations: [WidgetDetailComponent, PryWidgetDetailCssComponent], imports: [CommonModule,
185
185
  FormsModule,
186
186
  OverlayModule,
187
187
  PryCoreModule,
@@ -191,7 +191,7 @@ class WidgetDetailModule extends BaseWidgetModule {
191
191
  PryCheckboxModule,
192
192
  PryToggleModule,
193
193
  PryI18nModule], exports: [WidgetDetailComponent] }); }
194
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailModule, imports: [CommonModule,
194
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailModule, imports: [CommonModule,
195
195
  FormsModule,
196
196
  OverlayModule,
197
197
  PryCoreModule,
@@ -202,7 +202,7 @@ class WidgetDetailModule extends BaseWidgetModule {
202
202
  PryToggleModule,
203
203
  PryI18nModule] }); }
204
204
  }
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetDetailModule, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetDetailModule, decorators: [{
206
206
  type: NgModule,
207
207
  args: [{
208
208
  declarations: [WidgetDetailComponent, PryWidgetDetailCssComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-widgets-widget-detail.mjs","sources":["../../../../projects/provoly/dashboard/widgets/widget-detail/style/css.component.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/component/widget-detail.component.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/component/widget-detail.component.html","../../../../projects/provoly/dashboard/widgets/widget-detail/i18n/en.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/widget-detail.module.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/provoly-dashboard-widgets-widget-detail.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-widget-detail-css',\n template: '',\n styleUrls: ['./_o-widget-detail.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryWidgetDetailCssComponent {}\n","import { Component, ElementRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n Attribute,\n AttributeSimpleValue,\n BaseWidgetComponent,\n CategorySelectors,\n ClassSelectors,\n ContextMenuActions,\n DashboardActions,\n DashboardSelectors,\n DetailWidgetOptions,\n Field,\n FieldSelectors,\n FieldType,\n HeaderAction,\n Item,\n ItemUtils,\n PryI18nService,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-widget-detail',\n templateUrl: './widget-detail.component.html'\n})\nexport class WidgetDetailComponent extends BaseWidgetComponent {\n options$: Observable<DetailWidgetOptions>;\n itemsToDisplay$: Observable<Item[]>;\n panelOpened: { item: boolean; categories: boolean[] }[] = [{ item: true, categories: [true] }];\n itemAndCategories$: Observable<\n { item: Item; categories: { id: string; name: string; properties: { name: string; attribute: Attribute }[] }[] }[]\n >;\n pinned$: Observable<boolean>;\n optionsCopy?: DetailWidgetOptions;\n itemsForPin?: string[];\n fields: Field[] = [];\n detailledWidgetManifest$: Observable<WidgetManifest>;\n additionalOptions$: Observable<HeaderAction[]>;\n widgetId: number;\n static widgetIdGenerator = 0;\n\n constructor(\n store: Store<any>,\n private translateService: PryI18nService,\n el: ElementRef\n ) {\n super(store, el);\n this.widgetId = WidgetDetailComponent.widgetIdGenerator++;\n this.options$ = this.manifest$.pipe(map((manifest) => (manifest.options ?? {}) as DetailWidgetOptions));\n this.pinned$ = this.options$.pipe(map((options) => !!options.itemIds && options.itemIds.length > 0));\n this.itemsToDisplay$ = combineLatest([\n this.store.select(DashboardSelectors.selectedItems),\n this.store.select(DashboardSelectors.allItems),\n this.options$,\n this.store.select(DashboardSelectors.objectDetails)\n ]).pipe(\n tap(([_, allItems, options, objectDetails]) => {\n // go search for detail item if not already found in allItems List\n if (options.itemIds && options.itemIds.length > 0) {\n const missingItems = options.itemIds\n .map((id) => (!allItems.find((it) => it.id === id) ? id : (null as unknown as string)))\n .filter((it) => !!it)\n .filter((it) => !Object.keys(objectDetails).includes(it));\n\n if (missingItems.length > 0) {\n this.store.dispatch(DashboardActions.fetchObjectsDetails({ ids: missingItems }));\n }\n }\n }),\n map(([globalSelectionItems, allItems, options, objectDetails]) =>\n options.itemIds && options.itemIds.length > 0\n ? options.itemIds.map((id) => allItems.find((it) => it.id === id) ?? objectDetails[id])\n : globalSelectionItems\n ),\n map((items) => items.filter((it) => !!it) as Item[])\n );\n\n this.itemAndCategories$ = combineLatest([\n this.itemsToDisplay$,\n this.store.select(ClassSelectors.classes),\n this.store.select(CategorySelectors.categories)\n ]).pipe(\n map(([items, classes, categories]) =>\n items.map((item) => {\n const objectClass = classes.find((oClass) => oClass.id === item.oClass) ?? { attributes: [] };\n const categoriesWithProps = [] as {\n id: string;\n properties: { name: string; attribute: Attribute }[];\n name: string;\n }[];\n objectClass.attributes.forEach((attr) => {\n const categoryId = attr.category ?? categories.find((cat) => cat.name === 'default')?.id ?? 'default-id';\n if (!categoriesWithProps.find((cat) => cat.id === categoryId)) {\n categoriesWithProps.push({\n id: categoryId,\n properties: [],\n name: categories.find((cat) => cat.id === categoryId)?.name ?? 'default'\n });\n }\n categoriesWithProps\n .find((cat) => cat.id === categoryId)\n ?.properties.push({ name: attr.name, attribute: attr });\n });\n return {\n item,\n categories: categoriesWithProps\n };\n })\n )\n );\n\n this.subscriptions.add(\n this.options$.subscribe((options) => (this.optionsCopy = JSON.parse(JSON.stringify(options))))\n );\n\n this.subscriptions.add(\n this.itemsToDisplay$.subscribe((items) => (this.itemsForPin = items.map((item) => item.id)))\n );\n\n this.subscriptions.add(this.store.select(FieldSelectors.fields).subscribe((fields) => (this.fields = fields)));\n\n this.detailledWidgetManifest$ = this.itemsToDisplay$.pipe(\n map(\n (items) =>\n ({\n ...this.manifest,\n title: this.translateService.instant('@pry.widget.detail.title', { itemsNb: items.length })\n }) as WidgetManifest\n )\n );\n\n this.additionalOptions$ = combineLatest([this.pinned$, this.itemsToDisplay$]).pipe(\n map(([isPinned, items]) => [\n {\n label: isPinned ? '@pry.widget.detail.unpin' : '@pry.widget.detail.pin',\n action: () => {\n this.togglePin();\n },\n icon: isPinned ? 'unpublished' : 'published_with_changes',\n disabled: () => items.length === 0\n }\n ])\n );\n }\n\n toggle(itemIndex: number, categoryIndex?: number) {\n if (!this.panelOpened[itemIndex]) {\n this.panelOpened[itemIndex] = { item: false, categories: [] };\n }\n if (categoryIndex === undefined) {\n this.panelOpened[itemIndex].item = !this.panelOpened[itemIndex].item;\n } else {\n this.panelOpened[itemIndex].categories[categoryIndex] = !this.panelOpened[itemIndex].categories[categoryIndex];\n }\n }\n\n getValue(item: Item, property: Attribute): AttributeSimpleValue[] {\n const value = ItemUtils.getAttributeValue(item, property);\n return Array.isArray(value) ? value : [value];\n }\n\n togglePin() {\n if (!this.optionsCopy) {\n this.optionsCopy = {};\n }\n if (!!this.optionsCopy.itemIds && this.optionsCopy.itemIds.length > 0) {\n delete this.optionsCopy.itemIds;\n } else {\n this.optionsCopy.itemIds = this.itemsForPin;\n }\n\n this.store.dispatch(\n DashboardActions.updateWidgetManifest({\n manifest: { ...this.manifest, options: this.optionsCopy },\n index: this.widgetIndex\n })\n );\n }\n\n hasMetadata(value: AttributeSimpleValue | Item) {\n return Object.keys(value?.metadata ?? {}).length > 0;\n }\n\n contextMenu($event: MouseEvent, item: Item) {\n if (this.manifest.contextMenu !== false) {\n $event.preventDefault();\n this.store.dispatch(\n ContextMenuActions.open({ itemId: item.id, clientX: $event.clientX, clientY: $event.clientY, from: 'detail',allowObjectCreation: false })\n );\n }\n }\n\n isRaw(property: { name: string; attribute: Attribute }) {\n return this.fields.find((field) => field.id === property.attribute.field)?.type === FieldType.RAW;\n }\n}\n","<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n","export const enTranslations = {\n '@pry': {\n widget: {\n detail: {\n category: 'Category',\n title: 'Detail of objects ({{itemsNb}})',\n noItems: 'No objects to display',\n pin: 'Pin data',\n unpin: 'Unpin data'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n widget: {\n detail: {\n category: 'Catégorie',\n title: 'Détail des objets ({{itemsNb}})',\n noItems: \"Pas d'objets à afficher\",\n pin: 'Figer les données',\n unpin: 'Libérer les données'\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 PrySelectModule,\n PryToggleModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { WidgetDetailComponent } from './component/widget-detail.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryWidgetDetailCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [WidgetDetailComponent, PryWidgetDetailCssComponent],\n imports: [\n CommonModule,\n FormsModule,\n OverlayModule,\n PryCoreModule,\n PryDashboardModule,\n PrySelectModule,\n PryIconModule,\n PryCheckboxModule,\n PryToggleModule,\n PryI18nModule\n ],\n exports: [WidgetDetailComponent]\n})\nexport class WidgetDetailModule extends BaseWidgetModule {\n constructor(private pryTranslateService: PryI18nService) {\n super();\n this.pryTranslateService.addLangObject('fr', 'widget-detail', frTranslations);\n this.pryTranslateService.addLangObject('en', 'widget-detail', enTranslations);\n }\n\n override getComponent() {\n return WidgetDetailComponent as Type<BaseWidgetComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.PryWidgetDetailCssComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-widgets-widget-detail.mjs","sources":["../../../../projects/provoly/dashboard/widgets/widget-detail/style/css.component.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/component/widget-detail.component.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/component/widget-detail.component.html","../../../../projects/provoly/dashboard/widgets/widget-detail/i18n/en.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/widget-detail.module.ts","../../../../projects/provoly/dashboard/widgets/widget-detail/provoly-dashboard-widgets-widget-detail.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-widget-detail-css',\n template: '',\n styleUrls: ['./_o-widget-detail.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryWidgetDetailCssComponent {}\n","import { Component, ElementRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n Attribute,\n AttributeSimpleValue,\n BaseWidgetComponent,\n CategorySelectors,\n ClassSelectors,\n ContextMenuActions,\n DashboardActions,\n DashboardSelectors,\n DetailWidgetOptions,\n Field,\n FieldSelectors,\n FieldType,\n HeaderAction,\n Item,\n ItemUtils,\n PryI18nService,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-widget-detail',\n templateUrl: './widget-detail.component.html'\n})\nexport class WidgetDetailComponent extends BaseWidgetComponent {\n options$: Observable<DetailWidgetOptions>;\n itemsToDisplay$: Observable<Item[]>;\n panelOpened: { item: boolean; categories: boolean[] }[] = [{ item: true, categories: [true] }];\n itemAndCategories$: Observable<\n { item: Item; categories: { id: string; name: string; properties: { name: string; attribute: Attribute }[] }[] }[]\n >;\n pinned$: Observable<boolean>;\n optionsCopy?: DetailWidgetOptions;\n itemsForPin?: string[];\n fields: Field[] = [];\n detailledWidgetManifest$: Observable<WidgetManifest>;\n additionalOptions$: Observable<HeaderAction[]>;\n widgetId: number;\n static widgetIdGenerator = 0;\n\n constructor(\n store: Store<any>,\n private translateService: PryI18nService,\n el: ElementRef\n ) {\n super(store, el);\n this.widgetId = WidgetDetailComponent.widgetIdGenerator++;\n this.options$ = this.manifest$.pipe(map((manifest) => (manifest.options ?? {}) as DetailWidgetOptions));\n this.pinned$ = this.options$.pipe(map((options) => !!options.itemIds && options.itemIds.length > 0));\n this.itemsToDisplay$ = combineLatest([\n this.store.select(DashboardSelectors.selectedItems),\n this.store.select(DashboardSelectors.allItems),\n this.options$,\n this.store.select(DashboardSelectors.objectDetails)\n ]).pipe(\n tap(([_, allItems, options, objectDetails]) => {\n // go search for detail item if not already found in allItems List\n if (options.itemIds && options.itemIds.length > 0) {\n const missingItems = options.itemIds\n .map((id) => (!allItems.find((it) => it.id === id) ? id : (null as unknown as string)))\n .filter((it) => !!it)\n .filter((it) => !Object.keys(objectDetails).includes(it));\n\n if (missingItems.length > 0) {\n this.store.dispatch(DashboardActions.fetchObjectsDetails({ ids: missingItems }));\n }\n }\n }),\n map(([globalSelectionItems, allItems, options, objectDetails]) =>\n options.itemIds && options.itemIds.length > 0\n ? options.itemIds.map((id) => allItems.find((it) => it.id === id) ?? objectDetails[id])\n : globalSelectionItems\n ),\n map((items) => items.filter((it) => !!it) as Item[])\n );\n\n this.itemAndCategories$ = combineLatest([\n this.itemsToDisplay$,\n this.store.select(ClassSelectors.classes),\n this.store.select(CategorySelectors.categories)\n ]).pipe(\n map(([items, classes, categories]) =>\n items.map((item) => {\n const objectClass = classes.find((oClass) => oClass.id === item.oClass) ?? { attributes: [] };\n const categoriesWithProps = [] as {\n id: string;\n properties: { name: string; attribute: Attribute }[];\n name: string;\n }[];\n objectClass.attributes.forEach((attr) => {\n const categoryId = attr.category ?? categories.find((cat) => cat.name === 'default')?.id ?? 'default-id';\n if (!categoriesWithProps.find((cat) => cat.id === categoryId)) {\n categoriesWithProps.push({\n id: categoryId,\n properties: [],\n name: categories.find((cat) => cat.id === categoryId)?.name ?? 'default'\n });\n }\n categoriesWithProps\n .find((cat) => cat.id === categoryId)\n ?.properties.push({ name: attr.name, attribute: attr });\n });\n return {\n item,\n categories: categoriesWithProps\n };\n })\n )\n );\n\n this.subscriptions.add(\n this.options$.subscribe((options) => (this.optionsCopy = JSON.parse(JSON.stringify(options))))\n );\n\n this.subscriptions.add(\n this.itemsToDisplay$.subscribe((items) => (this.itemsForPin = items.map((item) => item.id)))\n );\n\n this.subscriptions.add(this.store.select(FieldSelectors.fields).subscribe((fields) => (this.fields = fields)));\n\n this.detailledWidgetManifest$ = this.itemsToDisplay$.pipe(\n map(\n (items) =>\n ({\n ...this.manifest,\n title: this.translateService.instant('@pry.widget.detail.title', { itemsNb: items.length })\n }) as WidgetManifest\n )\n );\n\n this.additionalOptions$ = combineLatest([this.pinned$, this.itemsToDisplay$]).pipe(\n map(([isPinned, items]) => [\n {\n label: isPinned ? '@pry.widget.detail.unpin' : '@pry.widget.detail.pin',\n action: () => {\n this.togglePin();\n },\n icon: isPinned ? 'unpublished' : 'published_with_changes',\n disabled: () => items.length === 0\n }\n ])\n );\n }\n\n toggle(itemIndex: number, categoryIndex?: number) {\n if (!this.panelOpened[itemIndex]) {\n this.panelOpened[itemIndex] = { item: false, categories: [] };\n }\n if (categoryIndex === undefined) {\n this.panelOpened[itemIndex].item = !this.panelOpened[itemIndex].item;\n } else {\n this.panelOpened[itemIndex].categories[categoryIndex] = !this.panelOpened[itemIndex].categories[categoryIndex];\n }\n }\n\n getValue(item: Item, property: Attribute): AttributeSimpleValue[] {\n const value = ItemUtils.getAttributeValue(item, property);\n return Array.isArray(value) ? value : [value];\n }\n\n togglePin() {\n if (!this.optionsCopy) {\n this.optionsCopy = {};\n }\n if (!!this.optionsCopy.itemIds && this.optionsCopy.itemIds.length > 0) {\n delete this.optionsCopy.itemIds;\n } else {\n this.optionsCopy.itemIds = this.itemsForPin;\n }\n\n this.store.dispatch(\n DashboardActions.updateWidgetManifest({\n manifest: { ...this.manifest, options: this.optionsCopy },\n index: this.widgetIndex\n })\n );\n }\n\n hasMetadata(value: AttributeSimpleValue | Item) {\n return Object.keys(value?.metadata ?? {}).length > 0;\n }\n\n contextMenu($event: MouseEvent, item: Item) {\n if (this.manifest.contextMenu !== false) {\n $event.preventDefault();\n this.store.dispatch(\n ContextMenuActions.open({ itemId: item.id, clientX: $event.clientX, clientY: $event.clientY, from: 'detail',allowObjectCreation: false })\n );\n }\n }\n\n isRaw(property: { name: string; attribute: Attribute }) {\n return this.fields.find((field) => field.id === property.attribute.field)?.type === FieldType.RAW;\n }\n}\n","<pry-widget-detail-css></pry-widget-detail-css>\n<div class=\"o-widget o-widget--detail\">\n <pry-widget-header\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"detailledWidgetManifest$ | async\"\n [additionalOptions]=\"additionalOptions$ | async\"\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n >\n </pry-widget-header>\n\n <p class=\"is-empty\" *ngIf=\"!(itemAndCategories$ | async) || (itemAndCategories$ | async)?.length === 0\">\n {{ '@pry.widget.detail.noItems' | i18n }}\n </p>\n\n <div class=\"o-widget--detail__content\" *ngFor=\"let couple of itemAndCategories$ | async; let itemIndex = index\">\n <ng-container *ngIf=\"!((options$ | async)?.header === false)\">\n <div\n class=\"o-widget--detail__header\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n title=\"{{ '@pry.widget.itemId' | i18n }}: {{ couple.item.id }}\"\n >\n <img [height]=\"25\" [width]=\"25\" [src]=\"couple.item | translateItemToSymbol | async\" [alt]=\"couple\" />\n <h3 class=\"o-widget--detail__header__title\">\n {{ '@pry.widget.class' | i18n }}:\n {{\n couple.item.oClass\n | translateId\n : {\n type: 'class',\n output: 'name'\n }\n | async\n }}\n </h3>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\"\n [attr.aria-controls]=\"'item-' + widgetId + '-' + itemIndex\"\n (click)=\"toggle(itemIndex)\"\n >\n <pry-icon *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\" iconSvg=\"fleche_haut\"></pry-icon>\n <pry-icon *ngIf=\"!(!!panelOpened[itemIndex] && panelOpened[itemIndex].item)\" iconSvg=\"fleche_bas\"></pry-icon>\n </button>\n </div>\n <div class=\"o-widget--detail__datas\" *ngIf=\"hasMetadata(couple.item)\">\n <pry-metadata [item]=\"couple.item\"></pry-metadata>\n </div>\n </ng-container>\n\n <div\n *ngIf=\"!!panelOpened[itemIndex] && panelOpened[itemIndex].item\"\n (contextmenu)=\"contextMenu($event, couple.item)\"\n class=\"o-widget--detail__datas\"\n [id]=\"'item-' + widgetId + '-' + itemIndex\"\n >\n <ng-container *ngFor=\"let category of couple.categories; let categoryIndex = index\">\n <div class=\"o-widget--detail__category\">\n <p>{{ '@pry.widget.detail.category' | i18n }}: {{ category.name }}</p>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n [attr.aria-expanded]=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n [attr.aria-controls]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n (click)=\"toggle(itemIndex, categoryIndex)\"\n >\n <pry-icon\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n iconSvg=\"fleche_haut\"\n >\n </pry-icon>\n <pry-icon\n *ngIf=\"!(panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex])\"\n iconSvg=\"fleche_bas\"\n >\n </pry-icon>\n </button>\n </div>\n\n <div\n class=\"o-properties\"\n [id]=\"'properties-' + widgetId + '-' + itemIndex + '-' + categoryIndex\"\n *ngIf=\"panelOpened[itemIndex] && panelOpened[itemIndex].categories[categoryIndex]\"\n >\n <ul class=\"o-properties__list\">\n <ng-container>\n <ng-container *ngFor=\"let property of category.properties\">\n <li\n *ngFor=\"let value of getValue(couple.item, property.attribute); let i = index; let c = count\"\n class=\"o-properties__list__item\"\n >\n <p class=\"o-properties__list__item__label\" *ngIf=\"i === 0\">{{ property.name }}:</p>\n <p class=\"o-properties__list__item__value\" *ngIf=\"!isRaw(property)\">{{ value?.value }}</p>\n <p class=\"o-properties__list__item__raw\" *ngIf=\"isRaw(property)\">\n <pry-vizualize-raw [item]=\"couple.item\" [propertyName]=\"property.name\"></pry-vizualize-raw>\n </p>\n <ng-container *ngIf=\"hasMetadata(value)\">\n <pry-metadata [item]=\"value\"></pry-metadata>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n","export const enTranslations = {\n '@pry': {\n widget: {\n detail: {\n category: 'Category',\n title: 'Detail of objects ({{itemsNb}})',\n noItems: 'No objects to display',\n pin: 'Pin data',\n unpin: 'Unpin data'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n widget: {\n detail: {\n category: 'Catégorie',\n title: 'Détail des objets ({{itemsNb}})',\n noItems: \"Pas d'objets à afficher\",\n pin: 'Figer les données',\n unpin: 'Libérer les données'\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 PrySelectModule,\n PryToggleModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { WidgetDetailComponent } from './component/widget-detail.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryWidgetDetailCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [WidgetDetailComponent, PryWidgetDetailCssComponent],\n imports: [\n CommonModule,\n FormsModule,\n OverlayModule,\n PryCoreModule,\n PryDashboardModule,\n PrySelectModule,\n PryIconModule,\n PryCheckboxModule,\n PryToggleModule,\n PryI18nModule\n ],\n exports: [WidgetDetailComponent]\n})\nexport class WidgetDetailModule extends BaseWidgetModule {\n constructor(private pryTranslateService: PryI18nService) {\n super();\n this.pryTranslateService.addLangObject('fr', 'widget-detail', frTranslations);\n this.pryTranslateService.addLangObject('en', 'widget-detail', enTranslations);\n }\n\n override getComponent() {\n return WidgetDetailComponent as Type<BaseWidgetComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.PryWidgetDetailCssComponent","i1"],"mappings":"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"}
@@ -113,10 +113,10 @@ const recursiveTopologicalSort = (nodes, result, node, links) => {
113
113
  };
114
114
 
115
115
  class PryWidgetForceGraphCssComponent {
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetForceGraphCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryWidgetForceGraphCssComponent, selector: "pry-widget-force-graph-css", ngImport: i0, template: '', isInline: true, styles: [".a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 30px)}.a-tooltip--rectangle[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 50px)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetForceGraphCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetForceGraphCssComponent, selector: "pry-widget-force-graph-css", ngImport: i0, template: '', isInline: true, styles: [".a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 30px)}.a-tooltip--rectangle[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 50px)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetForceGraphCssComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetForceGraphCssComponent, decorators: [{
120
120
  type: Component,
121
121
  args: [{ selector: 'pry-widget-force-graph-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".a-tooltip--move[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 30px)}.a-tooltip--rectangle[data-tooltip]:not([data-tooltip-position]):after{left:calc(50% + 50px)}\n"] }]
122
122
  }] });
@@ -543,10 +543,10 @@ class WidgetGraphComponent extends DataWidgetComponent {
543
543
  resolve(this.canvas.nativeElement.toDataURL('image/png'));
544
544
  });
545
545
  }
546
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphComponent, deps: [{ token: i1.Store }, { token: i2.TooltipFactoryService }, { token: i2.PryI18nService }, { token: i2.SymbolService }, { token: i3.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
547
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: WidgetGraphComponent, selector: "pry-widget-graph", viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-widget-force-graph-css></pry-widget-force-graph-css>\n<div class=\"o-widget o-widget--graph\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\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 (changeTitle)=\"changeWidgetTitle($event)\"\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=\"graph_layout\">{{ '@pry.widget.graph.layout' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayout($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"layouts\"\n [ngModel]=\"optionsCopy!.layout\"\n bindLabel=\"key\"\n bindValue=\"key\"\n id=\"graph_layout\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-range\n [ngModel]=\"optionsCopy!.nodeRadius\"\n (ngModelChange)=\"changeNodeRadius($event)\"\n labelTranslate=\"@pry.widget.graph.nodeRadius\"\n min=\"10\"\n max=\"200\"\n ></pry-range>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"no-result\" *ngIf=\"(allItemsWithImages$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.graph.empty' | i18n }}</span>\n </div>\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--move\"\n (click)=\"changeMode('move')\"\n [class.-selected]=\"mode === 'move'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.move' | i18n\"\n >\n <pry-icon iconSvg=\"move\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--rectangle\"\n (click)=\"changeMode('rectangle')\"\n [class.-selected]=\"mode === 'rectangle'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.rectangle' | i18n\"\n >\n <pry-icon iconSvg=\"rectangle\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </button>\n </div>\n\n <canvas\n #canvas\n class=\"o-widget--graph__canvas\"\n (mousemove)=\"onMouseMove($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseUp($event, true)\"\n (contextmenu)=\"contextMenu($event)\"\n ></canvas>\n\n <div class=\"selection-rectangle\" #selectionRectangle></div>\n\n <div\n class=\"m-tooltip m-tooltip--popup noevent\"\n [style.display]=\"(tooltip$ | async)?.display ? 'block' : 'none'\"\n [style.left.px]=\"((tooltip$ | async)?.x ?? 0) + 50\"\n [style.top.px]=\"((tooltip$ | async)?.y ?? 0) + 50\"\n >\n <div #tooltip></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: PryWidgetForceGraphCssComponent, selector: "pry-widget-force-graph-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
546
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphComponent, deps: [{ token: i1.Store }, { token: i2.TooltipFactoryService }, { token: i2.PryI18nService }, { token: i2.SymbolService }, { token: i3.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
547
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WidgetGraphComponent, selector: "pry-widget-graph", viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<pry-widget-force-graph-css></pry-widget-force-graph-css>\n<div class=\"o-widget o-widget--graph\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\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 (changeTitle)=\"changeWidgetTitle($event)\"\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=\"graph_layout\">{{ '@pry.widget.graph.layout' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayout($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"layouts\"\n [ngModel]=\"optionsCopy!.layout\"\n bindLabel=\"key\"\n bindValue=\"key\"\n id=\"graph_layout\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-range\n [ngModel]=\"optionsCopy!.nodeRadius\"\n (ngModelChange)=\"changeNodeRadius($event)\"\n labelTranslate=\"@pry.widget.graph.nodeRadius\"\n min=\"10\"\n max=\"200\"\n ></pry-range>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"no-result\" *ngIf=\"(allItemsWithImages$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.graph.empty' | i18n }}</span>\n </div>\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--move\"\n (click)=\"changeMode('move')\"\n [class.-selected]=\"mode === 'move'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.move' | i18n\"\n >\n <pry-icon iconSvg=\"move\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--rectangle\"\n (click)=\"changeMode('rectangle')\"\n [class.-selected]=\"mode === 'rectangle'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.rectangle' | i18n\"\n >\n <pry-icon iconSvg=\"rectangle\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </button>\n </div>\n\n <canvas\n #canvas\n class=\"o-widget--graph__canvas\"\n (mousemove)=\"onMouseMove($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseUp($event, true)\"\n (contextmenu)=\"contextMenu($event)\"\n ></canvas>\n\n <div class=\"selection-rectangle\" #selectionRectangle></div>\n\n <div\n class=\"m-tooltip m-tooltip--popup noevent\"\n [style.display]=\"(tooltip$ | async)?.display ? 'block' : 'none'\"\n [style.left.px]=\"((tooltip$ | async)?.x ?? 0) + 50\"\n [style.top.px]=\"((tooltip$ | async)?.y ?? 0) + 50\"\n >\n <div #tooltip></div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.SettingsComponent, selector: "pry-settings", inputs: ["widgetIndex", "isDisable", "headerPresent", "open$", "header"], outputs: ["triggerClick", "saveTriggered", "changeTitle"] }, { kind: "component", type: i2.PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: ["manifest", "openData$", "additionalOptions", "headerOptions", "displayCount", "datasourceIds", "widgetIndex"], outputs: ["manifestModified"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: PryWidgetForceGraphCssComponent, selector: "pry-widget-force-graph-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
548
548
  }
549
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphComponent, decorators: [{
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphComponent, decorators: [{
550
550
  type: Component,
551
551
  args: [{ selector: 'pry-widget-graph', changeDetection: ChangeDetectionStrategy.OnPush, template: "<pry-widget-force-graph-css></pry-widget-force-graph-css>\n<div class=\"o-widget o-widget--graph\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\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 (changeTitle)=\"changeWidgetTitle($event)\"\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=\"graph_layout\">{{ '@pry.widget.graph.layout' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLayout($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"layouts\"\n [ngModel]=\"optionsCopy!.layout\"\n bindLabel=\"key\"\n bindValue=\"key\"\n id=\"graph_layout\"\n class=\"a-pry-select\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-range\n [ngModel]=\"optionsCopy!.nodeRadius\"\n (ngModelChange)=\"changeNodeRadius($event)\"\n labelTranslate=\"@pry.widget.graph.nodeRadius\"\n min=\"10\"\n max=\"200\"\n ></pry-range>\n </div>\n </pry-settings>\n </pry-widget-header>\n <div class=\"no-result\" *ngIf=\"(allItemsWithImages$ | async)?.length === 0\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.table.empty' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.graph.empty' | i18n }}</span>\n </div>\n <div class=\"m-btn-group -selection-choice\" [style.transform]=\"bottomLeft$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--move\"\n (click)=\"changeMode('move')\"\n [class.-selected]=\"mode === 'move'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.move' | i18n\"\n >\n <pry-icon iconSvg=\"move\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.move' | i18n }}</span>\n </button>\n\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip a-tooltip--rectangle\"\n (click)=\"changeMode('rectangle')\"\n [class.-selected]=\"mode === 'rectangle'\"\n [attr.data-tooltip]=\"'@pry.widget.graph.rectangle' | i18n\"\n >\n <pry-icon iconSvg=\"rectangle\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.widget.graph.rectangle' | i18n }}</span>\n </button>\n </div>\n\n <canvas\n #canvas\n class=\"o-widget--graph__canvas\"\n (mousemove)=\"onMouseMove($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mouseleave)=\"onMouseUp($event, true)\"\n (contextmenu)=\"contextMenu($event)\"\n ></canvas>\n\n <div class=\"selection-rectangle\" #selectionRectangle></div>\n\n <div\n class=\"m-tooltip m-tooltip--popup noevent\"\n [style.display]=\"(tooltip$ | async)?.display ? 'block' : 'none'\"\n [style.left.px]=\"((tooltip$ | async)?.x ?? 0) + 50\"\n [style.top.px]=\"((tooltip$ | async)?.y ?? 0) + 50\"\n >\n <div #tooltip></div>\n </div>\n</div>\n" }]
552
552
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.TooltipFactoryService }, { type: i2.PryI18nService }, { type: i2.SymbolService }, { type: i3.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { canvas: [{
@@ -604,8 +604,8 @@ class WidgetGraphModule extends BaseWidgetModule {
604
604
  getComponent() {
605
605
  return WidgetGraphComponent;
606
606
  }
607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphModule, deps: [{ token: i2.TooltipFactoryService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
608
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphModule, declarations: [WidgetGraphComponent, PryWidgetForceGraphCssComponent], imports: [CommonModule,
607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphModule, deps: [{ token: i2.TooltipFactoryService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
608
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphModule, declarations: [WidgetGraphComponent, PryWidgetForceGraphCssComponent], imports: [CommonModule,
609
609
  FormsModule,
610
610
  OverlayModule,
611
611
  PryCoreModule,
@@ -616,7 +616,7 @@ class WidgetGraphModule extends BaseWidgetModule {
616
616
  PryOverlayModule,
617
617
  PryI18nModule,
618
618
  PryRangeModule], exports: [WidgetGraphComponent] }); }
619
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphModule, imports: [CommonModule,
619
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphModule, imports: [CommonModule,
620
620
  FormsModule,
621
621
  OverlayModule,
622
622
  PryCoreModule,
@@ -628,7 +628,7 @@ class WidgetGraphModule extends BaseWidgetModule {
628
628
  PryI18nModule,
629
629
  PryRangeModule] }); }
630
630
  }
631
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetGraphModule, decorators: [{
631
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetGraphModule, decorators: [{
632
632
  type: NgModule,
633
633
  args: [{
634
634
  declarations: [WidgetGraphComponent, PryWidgetForceGraphCssComponent],