@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
@@ -20,10 +20,10 @@ import * as i7 from '@provoly/dashboard/components/color-picker';
20
20
  import { PryColorPickerModule } from '@provoly/dashboard/components/color-picker';
21
21
 
22
22
  class PryWidgetAggregatedChartCssComponent {
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetAggregatedChartCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css", ngImport: i0, template: '', isInline: true, styles: [".o-widget--chart-color-thumb{display:flex;flex-direction:row;margin-bottom:20px}.o-widget--chart-color-thumb-item{flex:1 1 20px;height:20px;border-radius:4px}.o-widget--chart div.vega-embed{display:block}.o-widget--chart div.vega-embed.has-actions{display:block;height:100%;padding-right:0}.o-widget--chart div.vega-embed.has-actions>div.chart-wrapper.fit-y.fit-x{height:100%;overflow:hidden}.o-widget--chart div.vega-embed.has-actions>details>summary{right:25px}.o-widget--chart div.vega-embed.has-actions>details .vega-actions{right:16px}#vg-tooltip-element.vg-tooltip.custom-theme{font-size:12px;font-family:Ubuntu,\"sans-serif\"}\n"], encapsulation: i0.ViewEncapsulation.None }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetAggregatedChartCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css", ngImport: i0, template: '', isInline: true, styles: [".o-widget--chart-color-thumb{display:flex;flex-direction:row;margin-bottom:20px}.o-widget--chart-color-thumb-item{flex:1 1 20px;height:20px;border-radius:4px}.o-widget--chart div.vega-embed{display:block}.o-widget--chart div.vega-embed.has-actions{display:block;height:100%;padding-right:0}.o-widget--chart div.vega-embed.has-actions>div.chart-wrapper.fit-y.fit-x{height:100%;overflow:hidden}.o-widget--chart div.vega-embed.has-actions>details>summary{right:25px}.o-widget--chart div.vega-embed.has-actions>details .vega-actions{right:16px}#vg-tooltip-element.vg-tooltip.custom-theme{font-size:12px;font-family:Ubuntu,\"sans-serif\"}\n"], encapsulation: i0.ViewEncapsulation.None }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryWidgetAggregatedChartCssComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetAggregatedChartCssComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'pry-widget-aggregated-chart-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-widget--chart-color-thumb{display:flex;flex-direction:row;margin-bottom:20px}.o-widget--chart-color-thumb-item{flex:1 1 20px;height:20px;border-radius:4px}.o-widget--chart div.vega-embed{display:block}.o-widget--chart div.vega-embed.has-actions{display:block;height:100%;padding-right:0}.o-widget--chart div.vega-embed.has-actions>div.chart-wrapper.fit-y.fit-x{height:100%;overflow:hidden}.o-widget--chart div.vega-embed.has-actions>details>summary{right:25px}.o-widget--chart div.vega-embed.has-actions>details .vega-actions{right:16px}#vg-tooltip-element.vg-tooltip.custom-theme{font-size:12px;font-family:Ubuntu,\"sans-serif\"}\n"] }]
29
29
  }] });
@@ -251,14 +251,15 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
251
251
  ? "timeFormat(datum.value, '%Y-%B-%dT%H:%M:%S')"
252
252
  : 'truncate(datum.value, 10)'} : ${types.abscissa.vegaType === VegaType.TEMPORAL
253
253
  ? "timeFormat(datum.value, '%Y-%B-%dT%H:%M:%S')"
254
- : 'datum.value'}`
254
+ : 'datum.value'}`,
255
+ ...this.getLabelAngle(types.abscissa.vegaType, values.data)
255
256
  },
256
257
  scale: {
257
258
  // Force a false value here so that vega understands properly
258
259
  zero: !!options.abscissa.keep0
259
260
  //type: WidgetChartComponent.isTimeUnitUTC(variables[0]) ? 'utc' : undefined
260
261
  },
261
- ...this.getSort(options.abscissa.attribute, options.graph?.sort, options.ordinate.attribute)
262
+ ...this.getSort(options.abscissa.attribute, options.graph?.sort)
262
263
  }
263
264
  : undefined,
264
265
  y: !isCircular
@@ -298,7 +299,9 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
298
299
  field: 'key',
299
300
  type: types.abscissa.vegaType,
300
301
  title: options.abscissa.label,
301
- ...(types.abscissa.vegaType === 'temporal' ? { format: '%Y-%B-%dT%H:%M:%S' } : {})
302
+ ...(types.abscissa.vegaType === 'temporal'
303
+ ? { format: '%Y-%B-%dT%H:%M:%S', scale: { type: 'utc' } }
304
+ : {})
302
305
  },
303
306
  { field: 'value', type: types.ordinate.vegaType, title: options.ordinate.label },
304
307
  {
@@ -312,7 +315,9 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
312
315
  field: 'key',
313
316
  type: types.abscissa.vegaType,
314
317
  title: options.abscissa.label,
315
- ...(types.abscissa.vegaType === 'temporal' ? { format: '%Y-%B-%dT%H:%M:%S' } : {})
318
+ ...(types.abscissa.vegaType === 'temporal'
319
+ ? { format: '%Y-%B-%dT%H:%M:%S', scale: { type: 'utc' } }
320
+ : {})
316
321
  },
317
322
  { field: 'value', type: types.ordinate.vegaType, title: options.ordinate.label }
318
323
  ]
@@ -323,36 +328,33 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
323
328
  config: this.getChartConfig()
324
329
  }, options.additionalSpec);
325
330
  }));
326
- this.sortAttributes$ = this.optionsCopy$.pipe(map((options) => {
331
+ this.sortValues$ = this.optionsCopy$.pipe(map((options) => {
327
332
  return [
328
- { id: options?.abscissa.attribute, label: options?.abscissa.label },
329
- { id: options?.ordinate.attribute, label: options?.ordinate.label }
330
- ].filter((attribute) => !!attribute.id);
331
- }));
332
- this.subscriptions.add(this.sortAttributes$.subscribe((attributes) => {
333
- if (this.optionsCopy$.value?.graph.sort &&
334
- !attributes.map((attribute) => attribute.id).includes(this.optionsCopy$.value?.graph.sort?.attribute)) {
335
- this.optionsCopy$.next({
336
- ...this.optionsCopy$.value,
337
- graph: {
338
- ...this.optionsCopy$.value?.graph,
339
- sort: {
340
- ...this.optionsCopy$.value?.graph.sort,
341
- attribute: attributes[0].id ?? ''
342
- }
343
- }
344
- });
345
- }
333
+ {
334
+ attrId: options?.abscissa.attribute,
335
+ label: options?.abscissa.label,
336
+ value: 'key',
337
+ isDisplayed: true
338
+ },
339
+ {
340
+ attrId: options?.ordinate.attribute,
341
+ label: options?.ordinate.attribute
342
+ ? options?.ordinate.label
343
+ : this.translateService.instant(`@pry.widget.chart.sort.by.operation.${options?.ordinate.operation}`),
344
+ value: 'value',
345
+ isDisplayed: !!options?.ordinate
346
+ }
347
+ ].filter((value) => value.isDisplayed);
346
348
  }));
347
- this.subscriptions.add(combineLatest([this.optionsCopy$, this.attributeTypes$, this.classes$]).subscribe(([options, attrTypes, classes]) => {
349
+ this.subscriptions.add(combineLatest([this.optionsCopy$, this.sortValues$, this.attributeTypes$, this.classes$]).subscribe(([options, sortValues, attrTypes, classes]) => {
348
350
  this.sortDirections = this.sortDirections
349
- .map((sort) => {
351
+ .map((sortDir) => {
350
352
  let attribute = classes
351
- .map((clazz) => clazz.attributes.find((attr) => attr.id === options?.graph.sort?.attribute))
353
+ .map((clazz) => clazz.attributes.find((attr) => attr.id === sortValues.find((sortValue) => sortValue.value === options?.graph.sort?.value)?.attrId))
352
354
  .find((attr) => !!attr);
353
355
  return {
354
- value: sort.value,
355
- label: this.translateService.instant(`@pry.widget.chart.sort.${sort.value}.${attrTypes.abscissa.name === attribute?.name
356
+ value: sortDir.value,
357
+ label: this.translateService.instant(`@pry.widget.chart.sort.${sortDir.value}.${attrTypes.abscissa.name === attribute?.name
356
358
  ? attrTypes.abscissa.vegaType
357
359
  : attrTypes.ordinate.vegaType}`)
358
360
  };
@@ -415,12 +417,8 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
415
417
  return {};
416
418
  }
417
419
  }
418
- getSort(abscissa, sort, ordinate) {
419
- return sort
420
- ? {
421
- sort: { field: sort.attribute === abscissa ? 'key' : 'value', order: sort.direction + 'ending' }
422
- }
423
- : {};
420
+ getSort(abscissa, sort) {
421
+ return sort ? { sort: { field: sort.value, order: sort.direction + 'ending' } } : {};
424
422
  }
425
423
  emitManifest() {
426
424
  this.manifestModified.emit({
@@ -447,7 +445,7 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
447
445
  // axis tick titles
448
446
  font: 'Ubuntu, sans-serif',
449
447
  fontSize: 12,
450
- fontWeight: 600,
448
+ fontWeight: 400,
451
449
  fill: '#263340'
452
450
  },
453
451
  'guide-title': {
@@ -455,13 +453,13 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
455
453
  font: 'Ubuntu, sans-serif',
456
454
  fontSize: 12,
457
455
  fontWeight: 600,
458
- fill: '#263340'
456
+ fill: '#3E546A'
459
457
  },
460
458
  'group-title': {
461
459
  // chart title
462
460
  font: 'Ubuntu, sans-serif',
463
461
  fontSize: 12,
464
- fontWeight: 600,
462
+ fontWeight: 400,
465
463
  fill: '#263340'
466
464
  },
467
465
  'group-subtitle': {
@@ -773,7 +771,7 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
773
771
  ...this.optionsCopy$.value.graph,
774
772
  sort: $event
775
773
  ? this.optionsCopy$.value.graph.sort ?? {
776
- attribute: this.optionsCopy$.value.abscissa.attribute,
774
+ value: 'key',
777
775
  direction: 'asc'
778
776
  }
779
777
  : undefined
@@ -781,13 +779,13 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
781
779
  });
782
780
  }
783
781
  }
784
- changeSortAttribute($event) {
782
+ changeSortValue($event) {
785
783
  if (this.optionsCopy$.value) {
786
784
  this.optionsCopy$.next({
787
785
  ...this.optionsCopy$.value,
788
786
  graph: {
789
787
  ...this.optionsCopy$.value.graph,
790
- sort: { ...this.optionsCopy$.value.graph.sort, attribute: $event }
788
+ sort: { ...this.optionsCopy$.value.graph.sort, value: $event }
791
789
  }
792
790
  });
793
791
  }
@@ -829,16 +827,23 @@ class WidgetAggregatedChartComponent extends DataWidgetComponent {
829
827
  return { timeUnit: options.abscissa.limit.interval };
830
828
  }
831
829
  else if (abscissaType === VegaType.TEMPORAL && !!options.graph.sort) {
832
- return { timeUnit: 'yearmonthdatehoursminutesseconds' };
830
+ return { timeUnit: 'utcyearmonthdate' };
831
+ }
832
+ return {};
833
+ }
834
+ getLabelAngle(abscissaType, data) {
835
+ if ([VegaType.NOMINAL, VegaType.ORDINAL].includes(abscissaType) &&
836
+ data.some((item) => item.key.toString().length > 10)) {
837
+ return { labelAngle: -30 };
833
838
  }
834
839
  return {};
835
840
  }
836
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }, { token: i2.PryAggregationService }, { token: i3.PrySchemeService }], target: i0.ɵɵFactoryTarget.Component }); }
837
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: WidgetAggregatedChartComponent, selector: "pry-widget-aggregated-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n class=\"a-pry-select\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [baseTranslate]=\"'@pry.widget.chart.'\"\n [labelTranslate]=\"true\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n [labelTranslate]=\"true\"\n baseTranslate=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">Attribute</label>\n <pry-select\n (ngModelChange)=\"changeSortAttribute($event)\"\n [ngModel]=\"optionsCopy.graph.sort.attribute\"\n [items]=\"sortAttributes$ | async\"\n bindValue=\"id\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortAttr\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">Sort</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n class=\"a-pry-select\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chips -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\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: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i7.PryColorPickerComponent, selector: "pry-color-picker" }, { kind: "component", type: i3.PrySchemePickerComponent, selector: "pry-scheme-picker" }, { kind: "component", type: PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }] }); }
841
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartComponent, deps: [{ token: i1.Store }, { token: i2.PryI18nService }, { token: i0.ElementRef }, { token: i2.PryAggregationService }, { token: i3.PrySchemeService }], target: i0.ɵɵFactoryTarget.Component }); }
842
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WidgetAggregatedChartComponent, selector: "pry-widget-aggregated-chart", viewQueries: [{ propertyName: "vega", first: true, predicate: ["vega"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n class=\"a-pry-select\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [baseTranslate]=\"'@pry.widget.chart.'\"\n [labelTranslate]=\"true\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n [labelTranslate]=\"true\"\n baseTranslate=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortValue\">{{ '@pry.widget.chart.sort.attribute' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortValue($event)\"\n [ngModel]=\"optionsCopy.graph.sort.value\"\n [items]=\"sortValues$ | async\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortValue\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortDirection\">{{ '@pry.widget.chart.sort.direction' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n class=\"a-pry-select\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chips -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\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: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: i2.PryEditInputComponent, selector: "pry-edit-input", inputs: ["label"] }, { kind: "component", type: i2.PryRangeComponent, selector: "pry-range", inputs: ["min", "max", "step", "disabled", "labelTranslate"] }, { kind: "component", type: i7.PryColorPickerComponent, selector: "pry-color-picker" }, { kind: "component", type: i3.PrySchemePickerComponent, selector: "pry-scheme-picker" }, { kind: "component", type: PryWidgetAggregatedChartCssComponent, selector: "pry-widget-aggregated-chart-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i2.PrySortDataPipe, name: "prySortData" }] }); }
838
843
  }
839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartComponent, decorators: [{
844
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartComponent, decorators: [{
840
845
  type: Component,
841
- args: [{ selector: 'pry-widget-aggregated-chart', template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n class=\"a-pry-select\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [baseTranslate]=\"'@pry.widget.chart.'\"\n [labelTranslate]=\"true\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n [labelTranslate]=\"true\"\n baseTranslate=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">Attribute</label>\n <pry-select\n (ngModelChange)=\"changeSortAttribute($event)\"\n [ngModel]=\"optionsCopy.graph.sort.attribute\"\n [items]=\"sortAttributes$ | async\"\n bindValue=\"id\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortAttr\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">Sort</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n class=\"a-pry-select\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chips -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n" }]
846
+ args: [{ selector: 'pry-widget-aggregated-chart', template: "<pry-widget-aggregated-chart-css></pry-widget-aggregated-chart-css>\n<div class=\"o-widget o-widget--chart\" *ngIf=\"optionsCopy$ | async as optionsCopy\">\n <pry-widget-header\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n *ngIf=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [displayCount]=\"false\"\n [openData$]=\"openData$\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [open$]=\"open$\"\n [header]=\"header\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <pry-edit-input\n label=\"@pry.widget.chart.title\"\n (ngModelChange)=\"changeChartTitle($event)\"\n [ngModel]=\"optionsCopy.graph.title\"\n ></pry-edit-input>\n\n <div *ngIf=\"optionsCopy\" class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_type\">{{ '@pry.widget.chart.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"typeOptions\"\n [ngModel]=\"optionsCopy.graph.type\"\n class=\"a-pry-select\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"chart_type\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.graph.type === GraphType.DONUT\">\n <pry-range\n [ngModel]=\"optionsCopy.graph.donutSize\"\n (ngModelChange)=\"changeDonutSize($event)\"\n labelTranslate=\"@pry.widget.chart.donutSize\"\n min=\"1\"\n max=\"500\"\n ></pry-range>\n </ng-container>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleLegend($event)\" [ngModel]=\"!!optionsCopy.graph.legend\">\n {{ '@pry.widget.chart.legend' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.graph.type\">\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"abscissa\">{{ '@pry.widget.chart.abscissa' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeAbscissa($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.abscissa.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"abscissa\"\n ></pry-select>\n </div>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeAbscissaLabel($event)\"\n [ngModel]=\"optionsCopy.abscissa.label\"\n ></pry-edit-input>\n\n <div\n *ngIf=\"\n ['quantitative', 'temporal'].includes(translateToVegaType(copyAbscissaField?.type)) &&\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR\n \"\n class=\"m-form-label-field\"\n >\n <pry-checkbox (ngModelChange)=\"changeKeep0Abscissa($event)\" [ngModel]=\"optionsCopy.abscissa.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n\n <pry-checkbox\n (ngModelChange)=\"limitElements($event)\"\n [ngModel]=\"!!optionsCopy.abscissa.limit\"\n [disabled]=\"optionsCopy.graph.type === GraphType.HISTOGRAM\"\n >{{ '@pry.widget.chart.limit' | i18n }}\n </pry-checkbox>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit\">\n <ng-container *ngIf=\"optionsCopy.abscissa.limit.isTimeLimit === false\">\n <pry-range\n [ngModel]=\"optionsCopy.abscissa.limit.at\"\n (ngModelChange)=\"changeLimit($event)\"\n labelTranslate=\"@pry.widget.chart.limit\"\n min=\"1\"\n max=\"10\"\n ></pry-range>\n\n <ng-container *ngIf=\"optionsCopy.graph.type !== GraphType.HISTOGRAM\">\n <pry-checkbox\n (ngModelChange)=\"changeLimitOthers($event)\"\n [ngModel]=\"optionsCopy.abscissa.limit.others\"\n >{{ '@pry.widget.chart.others' | i18n }}\n </pry-checkbox>\n\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.order' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeLimitOrder($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[{ id: 'asc' }, { id: 'desc' }]\"\n [ngModel]=\"optionsCopy.abscissa.limit.order\"\n [baseTranslate]=\"'@pry.widget.chart.'\"\n [labelTranslate]=\"true\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"other_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!!optionsCopy.abscissa.limit.isTimeLimit\">\n <label class=\"a-label\" for=\"date_limit\">{{ '@pry.widget.chart.timeInterval' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeTimeLimit($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"[\n { id: 'second' },\n { id: 'minute' },\n { id: 'hour' },\n { id: 'day' },\n { id: 'week' },\n { id: 'month' },\n { id: 'quarter' },\n { id: 'year' }\n ]\"\n [ngModel]=\"optionsCopy.abscissa.limit.interval\"\n [labelTranslate]=\"true\"\n baseTranslate=\"@pry.widget.chart.time.\"\n bindLabel=\"id\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"date_limit\"\n ></pry-select>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"operations\">{{ '@pry.widget.chart.operation.title' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOperation($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"operations$ | async\"\n [ngModel]=\"optionsCopy.ordinate.operation\"\n bindLabel=\"label\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"operations\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"optionsCopy.ordinate.operation !== Operation.COUNT\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"ordinate\">{{ '@pry.widget.chart.ordinate' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeOrdinate($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"ordinateAttributes$ | async | prySortData : sortActive : sortDirection\"\n [ngModel]=\"optionsCopy.ordinate.attribute\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"ordinate\"\n ></pry-select>\n </div>\n </ng-container>\n\n <pry-edit-input\n label=\"@pry.widget.chart.dataLabel\"\n (ngModelChange)=\"changeOrdinateLabel($event)\"\n [ngModel]=\"optionsCopy.ordinate.label\"\n ></pry-edit-input>\n\n <div *ngIf=\"translateToVegaType(copyOrdinateField?.type) === 'quantitative'\" class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"changeKeep0Ordinate($event)\" [ngModel]=\"optionsCopy.ordinate.keep0\"\n >{{ '@pry.widget.chart.origin' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type !== GraphType.DONUT && optionsCopy.graph.type !== GraphType.CIRCULAR\"\n >\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleGroupBy($event)\" [ngModel]=\"!!optionsCopy.groupBy\"\n >{{ '@pry.widget.chart.groupBy' | i18n }}\n </pry-checkbox>\n </div>\n\n <ng-container *ngIf=\"!!optionsCopy.groupBy\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_seriesAttr\">{{ '@pry.widget.chart.groupAttr' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeGroupBy($event)\"\n [ngModel]=\"optionsCopy.groupBy.attribute\"\n [items]=\"abscissaAttributes$ | async | prySortData : sortActive : sortDirection\"\n bindLabel=\"name\"\n bindValue=\"id\"\n class=\"a-pry-select\"\n id=\"chart_seriesAttr\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-scheme-picker\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"optionsCopy.groupBy.color\"\n ></pry-scheme-picker>\n </div>\n\n <div class=\"m-form-label-field\">\n <pry-checkbox [ngModel]=\"optionsCopy.graph.stacked\" (ngModelChange)=\"toggleStacked($event)\">\n {{ '@pry.widget.chart.stacked' | i18n }}\n </pry-checkbox>\n </div>\n </ng-container>\n </div>\n <div class=\"o-settings__popup__content__fields -condensed\">\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleSort($event)\" [ngModel]=\"!!optionsCopy.graph.sort\"\n >{{ '@pry.widget.chart.sort.title' | i18n }}\n </pry-checkbox>\n </div>\n <ng-container *ngIf=\"!!optionsCopy.graph.sort\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortValue\">{{ '@pry.widget.chart.sort.attribute' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortValue($event)\"\n [ngModel]=\"optionsCopy.graph.sort.value\"\n [items]=\"sortValues$ | async\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortValue\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_sortDirection\">{{ '@pry.widget.chart.sort.direction' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeSortDirection($event)\"\n [ngModel]=\"optionsCopy.graph.sort.direction\"\n [items]=\"sortDirections\"\n bindValue=\"value\"\n bindLabel=\"label\"\n class=\"a-pry-select\"\n id=\"chart_sortDirection\"\n ></pry-select>\n </div>\n </ng-container>\n </div>\n </ng-container>\n\n <ng-container\n *ngIf=\"optionsCopy.graph.type === GraphType.DONUT || optionsCopy.graph.type === GraphType.CIRCULAR\"\n >\n <pry-scheme-picker\n (ngModelChange)=\"changeCircleColorScheme($event)\"\n [ngModel]=\"optionsCopy.circleColorScheme\"\n ></pry-scheme-picker>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n optionsCopy.graph.type !== GraphType.DONUT &&\n optionsCopy.graph.type !== GraphType.CIRCULAR &&\n !optionsCopy.groupBy\n \"\n >\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"chart_baseColor\">{{ '@pry.widget.chart.color' | i18n }}</label>\n <pry-color-picker\n (ngModelChange)=\"changeBaseColor($event)\"\n [ngModel]=\"optionsCopy.baseColor\"\n id=\"chart_baseColor\"\n class=\"a-pry-select\"\n ></pry-color-picker>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <div class=\"a-chips -md\" [style.background-color]=\"item\">{{ item }}</div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </pry-settings>\n </pry-widget-header>\n\n <ng-container *ngIf=\"(isChartValid$ | async) && !(noData$ | async) && !(noAggregationData$ | async)\">\n <div #vega></div>\n </ng-container>\n\n <ng-container *ngIf=\"noData$ | async\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.noData' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.noData' | i18n }}</span>\n <button type=\"button\" (click)=\"openData()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && (noAggregationData$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.aggNoResult' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.aggNoResult' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(noData$ | async) && !(noAggregationData$ | async) && !(isChartValid$ | async)\">\n <div class=\"o-widget__choose-parameters\">\n <img\n class=\"no-result__search\"\n src=\"../../../assets/svgs/pry_recherche_pas_de_resultat.svg\"\n alt=\"{{ '@pry.widget.chart.chooseParameters' | i18n }}\"\n aria-hidden=\"true\"\n />\n <span class=\"no-result__text\">{{ '@pry.widget.chart.chooseParameters' | i18n }}</span>\n <button type=\"button\" (click)=\"openSettings()\" class=\"a-btn a-btn--primary\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n </button>\n </div>\n </ng-container>\n</div>\n" }]
842
847
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.PryI18nService }, { type: i0.ElementRef }, { type: i2.PryAggregationService }, { type: i3.PrySchemeService }]; }, propDecorators: { vega: [{
843
848
  type: ViewChild,
844
849
  args: ['vega']
@@ -944,6 +949,8 @@ const enTranslations = {
944
949
  color: 'Color',
945
950
  sort: {
946
951
  title: 'Sort',
952
+ attribute: 'Attribute',
953
+ direction: 'Direction',
947
954
  asc: {
948
955
  quantitative: 'Low to high',
949
956
  nominal: 'Alphabetical',
@@ -955,6 +962,13 @@ const enTranslations = {
955
962
  nominal: 'Reverse alphabetical',
956
963
  ordinal: 'Reverse alphabetical',
957
964
  temporal: 'Antichronological'
965
+ },
966
+ by: {
967
+ operation: {
968
+ none: 'Ordinate',
969
+ count: 'Occurrence',
970
+ cardinality: 'Unique occurrences'
971
+ }
958
972
  }
959
973
  }
960
974
  }
@@ -1065,6 +1079,8 @@ const frTranslations = {
1065
1079
  color: 'Couleur',
1066
1080
  sort: {
1067
1081
  title: 'Tri',
1082
+ attribute: 'Attribut',
1083
+ direction: 'Direction',
1068
1084
  asc: {
1069
1085
  quantitative: 'Croissant',
1070
1086
  ordinal: 'Alphabétique',
@@ -1076,6 +1092,13 @@ const frTranslations = {
1076
1092
  ordinal: 'Anti-alphabétique',
1077
1093
  nominal: 'Anti-alphabétique',
1078
1094
  temporal: 'Antéchronologique'
1095
+ },
1096
+ by: {
1097
+ operation: {
1098
+ none: 'Ordonnée',
1099
+ count: "Nombre d'occurences",
1100
+ cardinality: "Nombre d'occurences uniques"
1101
+ }
1079
1102
  }
1080
1103
  }
1081
1104
  }
@@ -1097,8 +1120,8 @@ class WidgetAggregatedChartModule extends BaseWidgetModule {
1097
1120
  getComponent() {
1098
1121
  return WidgetAggregatedChartComponent;
1099
1122
  }
1100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartModule, deps: [{ token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
1101
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartModule, declarations: [WidgetAggregatedChartComponent, PryWidgetAggregatedChartCssComponent], imports: [CommonModule,
1123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartModule, deps: [{ token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
1124
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartModule, declarations: [WidgetAggregatedChartComponent, PryWidgetAggregatedChartCssComponent], imports: [CommonModule,
1102
1125
  FormsModule,
1103
1126
  OverlayModule,
1104
1127
  PryCoreModule,
@@ -1114,7 +1137,7 @@ class WidgetAggregatedChartModule extends BaseWidgetModule {
1114
1137
  ReactiveFormsModule,
1115
1138
  PryColorPickerModule,
1116
1139
  PrySchemePickerModule], exports: [WidgetAggregatedChartComponent] }); }
1117
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartModule, providers: [PryAggregationService], imports: [CommonModule,
1140
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartModule, providers: [PryAggregationService], imports: [CommonModule,
1118
1141
  FormsModule,
1119
1142
  OverlayModule,
1120
1143
  PryCoreModule,
@@ -1131,7 +1154,7 @@ class WidgetAggregatedChartModule extends BaseWidgetModule {
1131
1154
  PryColorPickerModule,
1132
1155
  PrySchemePickerModule] }); }
1133
1156
  }
1134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: WidgetAggregatedChartModule, decorators: [{
1157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WidgetAggregatedChartModule, decorators: [{
1135
1158
  type: NgModule,
1136
1159
  args: [{
1137
1160
  declarations: [WidgetAggregatedChartComponent, PryWidgetAggregatedChartCssComponent],