@provoly/dashboard 1.1.6 → 1.1.8

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 (61) hide show
  1. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +17 -6
  2. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -2
  3. package/esm2022/lib/core/components/share/share.utils.mjs +10 -7
  4. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  5. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  6. package/esm2022/lib/core/model/filter.interface.mjs +1 -1
  7. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +52 -47
  8. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +1 -3
  9. package/esm2022/presentation/components/presentation.component.mjs +12 -12
  10. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +14 -11
  11. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +15 -11
  12. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +15 -13
  13. package/esm2022/toolbox/components/delete/delete.component.mjs +17 -18
  14. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +16 -11
  15. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +14 -12
  16. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +12 -7
  17. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +19 -14
  18. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +15 -11
  19. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  20. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +14 -10
  21. package/esm2022/toolbox/components/save-view/save-view.component.mjs +14 -10
  22. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +14 -9
  23. package/esm2022/toolbox/components/share/share.component.mjs +30 -34
  24. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +14 -12
  25. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +20 -6
  26. package/esm2022/toolbox/components/toolbox.component.mjs +1 -1
  27. package/esm2022/toolbox/toolbox.model.mjs +4 -4
  28. package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
  29. package/fesm2022/provoly-dashboard-presentation.mjs +11 -11
  30. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard-toolbox.mjs +197 -139
  32. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  33. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
  34. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  35. package/fesm2022/provoly-dashboard.mjs +145 -126
  36. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  37. package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +7 -1
  38. package/lib/core/components/share/share.utils.d.ts +3 -0
  39. package/lib/core/i18n/en.translations.d.ts +1 -0
  40. package/lib/core/i18n/fr.translations.d.ts +1 -0
  41. package/lib/core/model/filter.interface.d.ts +1 -1
  42. package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +1 -1
  43. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -5
  44. package/package.json +7 -7
  45. package/presentation/components/presentation.component.d.ts +4 -5
  46. package/styles/components/_o-access-rights-share.scss +9 -1
  47. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +2 -2
  48. package/toolbox/components/clear-view/clear-view.component.d.ts +3 -2
  49. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +3 -5
  50. package/toolbox/components/delete/delete.component.d.ts +4 -13
  51. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +3 -3
  52. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +3 -8
  53. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +3 -2
  54. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -3
  55. package/toolbox/components/launch-tab/launch-tab.component.d.ts +3 -2
  56. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -3
  57. package/toolbox/components/save-view/save-view.component.d.ts +3 -5
  58. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +3 -3
  59. package/toolbox/components/share/share.component.d.ts +4 -8
  60. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +3 -8
  61. package/toolbox/components/toolbox-action/toolbox-action.component.d.ts +6 -3
@@ -262,7 +262,8 @@ const enTranslations$1 = {
262
262
  validated: 'Validate',
263
263
  check: 'Save',
264
264
  close: 'Cancel',
265
- validate: 'Validate'
265
+ validate: 'Validate',
266
+ all: 'All'
266
267
  },
267
268
  catalog: {
268
269
  title: 'Custom',
@@ -670,7 +671,8 @@ const frTranslations$1 = {
670
671
  validated: 'Valider',
671
672
  check: 'Enregistrer',
672
673
  close: 'Annuler',
673
- validate: 'Valider'
674
+ validate: 'Valider',
675
+ all: 'Tous'
674
676
  },
675
677
  catalog: {
676
678
  title: 'Personnalisés',
@@ -4126,7 +4128,6 @@ const namedQueriesUses = createSelector(globalManifest, (manifest) => manifest.w
4126
4128
  .reduce((p, c) => ({ ...p, [c.rsName ?? '']: [...(p[c.rsName ?? ''] || []), { ...c }] }), {}));
4127
4129
  const presentation = createSelector(feature$4, (state) => state?.presentation);
4128
4130
  const isCurrentPresentationModified = createSelector(presentation, globalManifest, (state, global) => !equal(global, state.initial));
4129
- const isCurrentPresentationOwner = createSelector(presentation, (state) => !!state.current && state.current.owner);
4130
4131
  const filters = createSelector(feature$4, (state) => state?.manifests.manifest.filters ?? []);
4131
4132
  const datasourceFilters = createSelector(feature$4, (state) => state?.manifests.manifest.filters
4132
4133
  ? state?.manifests.manifest.filters.reduce((obj, filter) => (filter.attributes.forEach((attribute) => (obj[attribute.datasource] || (obj[attribute.datasource] = [])).push({
@@ -4178,7 +4179,6 @@ const DashboardSelectors = {
4178
4179
  presentation,
4179
4180
  filters,
4180
4181
  isCurrentPresentationModified,
4181
- isCurrentPresentationOwner,
4182
4182
  datasourceFilters,
4183
4183
  wmsFeatures,
4184
4184
  displayOptions,
@@ -5902,52 +5902,57 @@ class AggregationUtils {
5902
5902
  static doesItemValuePassFilter(item, attribute, operator, filterValue) {
5903
5903
  let value = AggregationUtils.getValueFromAttribute(item, attribute)?.value;
5904
5904
  let date1, date2;
5905
- switch (operator) {
5906
- case 'EQUALS':
5907
- return value === filterValue;
5908
- case 'NOT_EQUALS':
5909
- return value !== filterValue;
5910
- case 'CONTAINS':
5911
- return value.includes(filterValue);
5912
- case 'START_WITH':
5913
- return value.startsWith(filterValue);
5914
- case 'END_WITH':
5915
- return value.endsWith(filterValue);
5916
- case 'GREATER_THAN':
5917
- if (typeof filterValue === 'number') {
5918
- return value > filterValue;
5919
- }
5920
- else if (typeof filterValue === 'string') {
5921
- return new Date(value) > new Date(filterValue);
5922
- }
5923
- else {
5924
- return false;
5925
- }
5926
- case 'LOWER_THAN':
5927
- if (typeof filterValue === 'number') {
5928
- return value < filterValue;
5929
- }
5930
- else if (typeof filterValue === 'string') {
5931
- return new Date(value) < new Date(filterValue);
5932
- }
5933
- else {
5934
- return false;
5935
- }
5936
- case 'INSIDE':
5937
- [date1, date2] = [
5938
- new Date(filterValue.split(',')[0]),
5939
- new Date(filterValue.split(',')[1])
5940
- ];
5941
- return new Date(value) > new Date(date1) && new Date(value) < new Date(date2);
5942
- case 'OUTSIDE':
5943
- [date1, date2] = [
5944
- new Date(filterValue.split(',')[0]),
5945
- new Date(filterValue.split(',')[1])
5946
- ];
5947
- return new Date(value) < new Date(date1) && new Date(value) > new Date(date2);
5948
- default:
5949
- return true;
5950
- }
5905
+ let filterPossibleValues = Array.isArray(filterValue) ? filterValue : [filterValue];
5906
+ return filterPossibleValues
5907
+ .map((possibleFilterValue) => {
5908
+ switch (operator) {
5909
+ case 'EQUALS':
5910
+ return value === filterValue;
5911
+ case 'NOT_EQUALS':
5912
+ return value !== filterValue;
5913
+ case 'CONTAINS':
5914
+ return value.includes(filterValue);
5915
+ case 'START_WITH':
5916
+ return value.startsWith(filterValue);
5917
+ case 'END_WITH':
5918
+ return value.endsWith(filterValue);
5919
+ case 'GREATER_THAN':
5920
+ if (typeof filterValue === 'number') {
5921
+ return value > filterValue;
5922
+ }
5923
+ else if (typeof filterValue === 'string') {
5924
+ return new Date(value) > new Date(filterValue);
5925
+ }
5926
+ else {
5927
+ return false;
5928
+ }
5929
+ case 'LOWER_THAN':
5930
+ if (typeof filterValue === 'number') {
5931
+ return value < filterValue;
5932
+ }
5933
+ else if (typeof filterValue === 'string') {
5934
+ return new Date(value) < new Date(filterValue);
5935
+ }
5936
+ else {
5937
+ return false;
5938
+ }
5939
+ case 'INSIDE':
5940
+ [date1, date2] = [
5941
+ new Date(filterValue.split(',')[0]),
5942
+ new Date(filterValue.split(',')[1])
5943
+ ];
5944
+ return new Date(value) > new Date(date1) && new Date(value) < new Date(date2);
5945
+ case 'OUTSIDE':
5946
+ [date1, date2] = [
5947
+ new Date(filterValue.split(',')[0]),
5948
+ new Date(filterValue.split(',')[1])
5949
+ ];
5950
+ return new Date(value) < new Date(date1) && new Date(value) > new Date(date2);
5951
+ default:
5952
+ return true;
5953
+ }
5954
+ })
5955
+ .reduce((p, c) => p || c);
5951
5956
  }
5952
5957
  }
5953
5958
 
@@ -7571,6 +7576,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7571
7576
  type: Input
7572
7577
  }] } });
7573
7578
 
7579
+ const PUBLIC_GROUP = 'ALL';
7580
+ const AUTHENTICATED_USERS_GROUP = 'AUTHENTICATED';
7581
+ const SYSTEM_GROUPS = [PUBLIC_GROUP, AUTHENTICATED_USERS_GROUP];
7582
+ const READ_ACCESS = 'READ';
7583
+ const WRITE_ACCESS = 'WRITE';
7584
+ // GROUP UTIL METHODS
7585
+ const getGroupLabel = (group, i18n) => {
7586
+ return group.system ? i18n.instant('@pry.share.groups.' + group.name) : group.name;
7587
+ };
7588
+ const getGroupLabelByName = (groupName, i18n) => {
7589
+ return i18n.instant('@pry.share.groups.' + groupName).startsWith('@')
7590
+ ? groupName
7591
+ : i18n.instant('@pry.share.groups.' + groupName);
7592
+ };
7593
+ // DASHBOARD GROUP RIGHTS METHODS
7594
+ const canManifestBeMadePublic = (manifest, datasets) => {
7595
+ return manifest.datasource.every((dsId) => {
7596
+ const datasource = datasets.find((d) => d.id === dsId);
7597
+ return datasource?.groups?.includes(PUBLIC_GROUP) ?? false;
7598
+ });
7599
+ };
7600
+ const getCommonDatasourceGroupsForManifest = (manifest, datasets) => {
7601
+ let result = [];
7602
+ const allDsGroups = manifest.datasource.map((dsId) => datasets.find((d) => d.id === dsId)?.groups ?? []);
7603
+ if (allDsGroups.every((dsGroups) => dsGroups.includes(AUTHENTICATED_USERS_GROUP))) {
7604
+ result = [...new Set(allDsGroups.flat())];
7605
+ }
7606
+ else {
7607
+ const allDsGroupsFiltered = allDsGroups.filter((dsGroups) => !dsGroups.includes(AUTHENTICATED_USERS_GROUP) && !dsGroups.includes(PUBLIC_GROUP));
7608
+ const baseArray = allDsGroupsFiltered[0];
7609
+ for (let i = 0; i < baseArray.length; i++) {
7610
+ const group = baseArray[i];
7611
+ if (allDsGroupsFiltered.every((dsGroups) => dsGroups.includes(group))) {
7612
+ result.push(group);
7613
+ }
7614
+ }
7615
+ }
7616
+ return result;
7617
+ };
7618
+ // ACCESS RIGHTS METHODS
7619
+ const getAccessRightsArrayByGroup = (accessByGroup) => {
7620
+ let result = {};
7621
+ Object.keys(accessByGroup).forEach((key) => {
7622
+ result[key] = getAccessArray(accessByGroup[key]);
7623
+ });
7624
+ return result;
7625
+ };
7626
+ const getAccessArray = (access) => {
7627
+ switch (access) {
7628
+ case READ_ACCESS:
7629
+ return [READ_ACCESS];
7630
+ case WRITE_ACCESS:
7631
+ return [READ_ACCESS, WRITE_ACCESS];
7632
+ default:
7633
+ return [];
7634
+ }
7635
+ };
7636
+ const getAccessRightsStringByGroup = (accessByGroup) => {
7637
+ let result = {};
7638
+ Object.keys(accessByGroup).forEach((key) => {
7639
+ result[key] = getAccessString(accessByGroup[key]);
7640
+ });
7641
+ return result;
7642
+ };
7643
+ const getAccessString = (accessArray) => {
7644
+ if (accessArray.includes(WRITE_ACCESS)) {
7645
+ return WRITE_ACCESS;
7646
+ }
7647
+ else {
7648
+ return READ_ACCESS;
7649
+ }
7650
+ };
7651
+
7574
7652
  class PryGroupShareComponent extends SubscriptionnerDirective {
7575
7653
  set disableRadios(value) {
7576
7654
  if (value)
@@ -7601,7 +7679,7 @@ class PryGroupShareComponent extends SubscriptionnerDirective {
7601
7679
  this.store.dispatch(ConfigActions.loadAccessGroups());
7602
7680
  this.groups$ = combineLatest([this.store.select(ConfigSelectors.accessGroups), this._allowedGroups$]).pipe(map(([groups, allowedGroups]) => groups
7603
7681
  .filter((group) => group.name !== 'ALL')
7604
- .filter((group) => allowedGroups?.includes('ALL') || allowedGroups?.includes('AUTHENTICATED') || !allowedGroups
7682
+ .filter((group) => allowedGroups?.includes(PUBLIC_GROUP) || allowedGroups?.includes(AUTHENTICATED_USERS_GROUP) || !allowedGroups
7605
7683
  ? true
7606
7684
  : allowedGroups.includes(group.name))));
7607
7685
  this.assignedGroups$ = combineLatest([this.groups$, this.assignedGroupNames$]).pipe(map(([groups, groupNames]) => groups.filter((group) => {
@@ -7690,76 +7768,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7690
7768
  type: Output
7691
7769
  }] } });
7692
7770
 
7693
- const READ_ACCESS = 'READ';
7694
- const WRITE_ACCESS = 'WRITE';
7695
- // GROUP UTIL METHODS
7696
- const getGroupLabel = (group, i18n) => {
7697
- return group.system ? i18n.instant('@pry.share.groups.' + group.name) : group.name;
7698
- };
7699
- const getGroupLabelByName = (groupName, i18n) => {
7700
- return i18n.instant('@pry.share.groups.' + groupName).startsWith('@')
7701
- ? groupName
7702
- : i18n.instant('@pry.share.groups.' + groupName);
7703
- };
7704
- // DASHBOARD GROUP RIGHTS METHODS
7705
- const canManifestBeMadePublic = (manifest, datasets) => {
7706
- return manifest.datasource.every((dsId) => {
7707
- const datasource = datasets.find((d) => d.id === dsId);
7708
- return datasource?.groups?.includes('ALL') ?? false;
7709
- });
7710
- };
7711
- const getCommonDatasourceGroupsForManifest = (manifest, datasets) => {
7712
- let result = [];
7713
- const allDsGroups = manifest.datasource.map((dsId) => datasets.find((d) => d.id === dsId)?.groups ?? []);
7714
- if (allDsGroups.every((dsGroups) => dsGroups.includes('AUTHENTICATED'))) {
7715
- result = [...new Set(allDsGroups.flat())];
7716
- }
7717
- else {
7718
- const allDsGroupsFiltered = allDsGroups.filter((dsGroups) => !dsGroups.includes('AUTHENTICATED') && !dsGroups.includes('ALL'));
7719
- const baseArray = allDsGroupsFiltered[0];
7720
- for (let i = 0; i < baseArray.length; i++) {
7721
- const group = baseArray[i];
7722
- if (allDsGroupsFiltered.every((dsGroups) => dsGroups.includes(group))) {
7723
- result.push(group);
7724
- }
7725
- }
7726
- }
7727
- return result;
7728
- };
7729
- // ACCESS RIGHTS METHODS
7730
- const getAccessRightsArrayByGroup = (accessByGroup) => {
7731
- let result = {};
7732
- Object.keys(accessByGroup).forEach((key) => {
7733
- result[key] = getAccessArray(accessByGroup[key]);
7734
- });
7735
- return result;
7736
- };
7737
- const getAccessArray = (access) => {
7738
- switch (access) {
7739
- case READ_ACCESS:
7740
- return ['READ'];
7741
- case WRITE_ACCESS:
7742
- return ['WRITE', 'READ'];
7743
- default:
7744
- return [];
7745
- }
7746
- };
7747
- const getAccessRightsStringByGroup = (accessByGroup) => {
7748
- let result = {};
7749
- Object.keys(accessByGroup).forEach((key) => {
7750
- result[key] = getAccessString(accessByGroup[key]);
7751
- });
7752
- return result;
7753
- };
7754
- const getAccessString = (accessArray) => {
7755
- if (accessArray.includes('WRITE')) {
7756
- return WRITE_ACCESS;
7757
- }
7758
- else {
7759
- return READ_ACCESS;
7760
- }
7761
- };
7762
-
7763
7771
  class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7764
7772
  set allowedGroups(value) {
7765
7773
  if (value)
@@ -7773,12 +7781,14 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7773
7781
  this._onChange = (value) => { };
7774
7782
  this._onTouched = () => { };
7775
7783
  this._allowedGroups$ = new BehaviorSubject(undefined);
7784
+ this.AVAILABLE_ACCESS_RIGHTS = [];
7776
7785
  this.accessRights = [];
7777
7786
  this.selectedGroups = [];
7778
7787
  this.selectedAccessRight = READ_ACCESS;
7779
7788
  this.assignedGroups$ = new BehaviorSubject([]);
7780
- this.getGroupLabel = getGroupLabel;
7781
7789
  this.getGroupLabelByName = getGroupLabelByName;
7790
+ this.PUBLIC_GROUP = PUBLIC_GROUP;
7791
+ this.AUTHENTICATED_USERS_GROUP = AUTHENTICATED_USERS_GROUP;
7782
7792
  this.store.dispatch(ConfigActions.loadAccessGroups());
7783
7793
  this.groups$ = combineLatest([
7784
7794
  this.store.select(ConfigSelectors.accessGroups),
@@ -7791,10 +7801,11 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7791
7801
  ...group,
7792
7802
  label: getGroupLabel(group, this.i18n)
7793
7803
  }))));
7794
- this.accessRights = [
7804
+ this.AVAILABLE_ACCESS_RIGHTS = [
7795
7805
  { label: this.i18n.instant('@pry.share.read'), value: READ_ACCESS },
7796
7806
  { label: this.i18n.instant('@pry.share.write'), value: WRITE_ACCESS }
7797
7807
  ];
7808
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
7798
7809
  }
7799
7810
  writeValue(value) {
7800
7811
  if (value)
@@ -7847,6 +7858,14 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7847
7858
  emitAlreadyAssignedGroups() {
7848
7859
  this.assignedGroups$.next(Object.keys(this.value));
7849
7860
  }
7861
+ filterAvailableAccessRights() {
7862
+ if (this.selectedGroups && this.selectedGroups.length > 0 && this.selectedGroups.every((group) => SYSTEM_GROUPS.includes(group.name))) {
7863
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS.filter(access => access.value === READ_ACCESS);
7864
+ }
7865
+ else {
7866
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
7867
+ }
7868
+ }
7850
7869
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, deps: [{ token: i1.Store }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
7851
7870
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: { manifestDescription: "manifestDescription", allowedGroups: "allowedGroups" }, providers: [
7852
7871
  {
@@ -7854,7 +7873,7 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7854
7873
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
7855
7874
  multi: true
7856
7875
  }
7857
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ '@pry.share.placeholder' | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7876
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n (ngModelChange)=\"filterAvailableAccessRights()\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ ((groups$ | async)?.length === 0 ? '@pry.share.noGroups' : '@pry.share.placeholder') | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n @if (group.key === PUBLIC_GROUP || group.key === AUTHENTICATED_USERS_GROUP) {\n <span class=\"o-access-rights-share__access-rights\">{{ '@pry.share.read' | i18n }}</span>\n } @else {\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n }\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7858
7877
  }
7859
7878
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, decorators: [{
7860
7879
  type: Component,
@@ -7864,7 +7883,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7864
7883
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
7865
7884
  multi: true
7866
7885
  }
7867
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ '@pry.share.placeholder' | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n" }]
7886
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-access-rights-share\">\n <label for=\"share-group-select\" class=\"a-h4\">{{ '@pry.share.dashboardAccess' | i18n }}</label>\n <form class=\"u-display-flex\">\n <fieldset class=\"m-grouped-select u-display-flex\" name=\"add-access-rights\">\n <pry-select\n id=\"share-group-select\"\n class=\"o-access-rights-share__group-select\"\n name=\"share-group-select\"\n [(ngModel)]=\"selectedGroups\"\n (ngModelChange)=\"filterAvailableAccessRights()\"\n [items]=\"groups$ | async\"\n bindLabel=\"label\"\n placeholder=\"{{ ((groups$ | async)?.length === 0 ? '@pry.share.noGroups' : '@pry.share.placeholder') | i18n }}\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n ></pry-select>\n <pry-select\n id=\"share-access-rights-select\"\n class=\"o-access-rights-share__access-rights-select\"\n name=\"share-access-rights-select\"\n [(ngModel)]=\"selectedAccessRight\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </fieldset>\n <button role=\"button\" class=\"a-btn a-btn--primary\" (click)=\"addAccess()\" [disabled]=\"isAddingDisabled()\">\n {{ '@pry.action.add' | i18n }}\n </button>\n </form>\n <label for=\"share-access-rights-select\" class=\"a-label\">{{ '@pry.share.accessDescription' | i18n }}</label>\n <div class=\"o-access-rights-share__groups\">\n @if (manifestDescription?.owner) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <span class=\"o-access-rights-share__group-name a-h4\">{{ '@pry.share.me' | i18n }}</span>\n <span class=\"o-access-rights-share__owner\">{{ '@pry.share.owner' | i18n }}</span>\n </div>\n }\n @for (group of value | keyvalue; track group.key) {\n <div class=\"o-access-rights-share__group u-display-flex -justify-space-between -align-center\">\n <label class=\"o-access-rights-share__group-name a-h4\" for=\"modify-{{ group.key }}-access-rights-select\">{{\n getGroupLabelByName(group.key, i18n)\n }}</label>\n <div class=\"u-display-flex -align-center\">\n @if (group.key === PUBLIC_GROUP || group.key === AUTHENTICATED_USERS_GROUP) {\n <span class=\"o-access-rights-share__access-rights\">{{ '@pry.share.read' | i18n }}</span>\n } @else {\n <pry-select\n id=\"modify-{{ group.key }}-access-rights-select\"\n class=\"o-access-rights-share__modify-access-rights\"\n name=\"modify-group-access-rights-select\"\n [(ngModel)]=\"group.value\"\n (ngModelChange)=\"modifyGroupAccess(group.key, group.value)\"\n [items]=\"accessRights\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n }\n <button\n role=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.action.delete' | i18n\"\n (click)=\"removeGroupAccess(group.key)\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n</div>\n" }]
7868
7887
  }], ctorParameters: () => [{ type: i1.Store }, { type: PryI18nService }], propDecorators: { manifestDescription: [{
7869
7888
  type: Input,
7870
7889
  args: [{ required: true }]
@@ -13059,5 +13078,5 @@ function filterLoader(module, prop) {
13059
13078
  * Generated bundle index. Do not edit.
13060
13079
  */
13061
13080
 
13062
- export { AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ChipsSelectorComponent, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_DASHBOARD_ICON_URL, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_PROJECTION, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DEFAULT_SEARCH_LIMIT_NUMBER, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, EllipsisDirective, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterGroupComponent, FilterInstanciatorComponent, GeoMetadata, GeometricFieldTypes, GetSecuredImagePipe, GraphType, HTTP_ORIGIN_METADATA, I18nPipe, INTERNALLY_STORED_IMAGE_PREFIX, IconPosition, ImageActions, ImageService, ImagesSelectors, ItemUtils, LibraryTypes, LoopScrollColumnComponent, METADATA_TYPE, META_OPTIONS, MIME_TYPE_RESULTSET, MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_SIZE, MIME_TYPE_WIDGET_TYPE, ManifestService, ManifestUtils, ManifestsComponent, MarkSubType, MarkType, MetadataComponent, NamedQueryTypes, NumericFieldTypes, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PRY_GEOAUTH_TOKEN, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessRightsShareComponent, PryAccessUtils, PryAggregationService, PryBackendAggregationService, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDefaultGeoAuthService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryFilterGroupCssComponent, PryFrontendAggregationService, PryGeoAuthService, PryGroupShareComponent, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, READ_ACCESS, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, TabComponent, TabGroupComponent, TextFieldTypes, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WRITE_ACCESS, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, WmsService, adapter$2 as adapter, aggregationDefault, baseItemProperties, canManifestBeMadePublic, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getAccessArray, getAccessRightsArrayByGroup, getAccessRightsStringByGroup, getAccessString, getCommonDatasourceGroupsForManifest, getDisplayOptions, getGroupLabel, getGroupLabelByName, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
13081
+ export { AUTHENTICATED_USERS_GROUP, AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ChipsSelectorComponent, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_DASHBOARD_ICON_URL, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_PROJECTION, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DEFAULT_SEARCH_LIMIT_NUMBER, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, EllipsisDirective, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterGroupComponent, FilterInstanciatorComponent, GeoMetadata, GeometricFieldTypes, GetSecuredImagePipe, GraphType, HTTP_ORIGIN_METADATA, I18nPipe, INTERNALLY_STORED_IMAGE_PREFIX, IconPosition, ImageActions, ImageService, ImagesSelectors, ItemUtils, LibraryTypes, LoopScrollColumnComponent, METADATA_TYPE, META_OPTIONS, MIME_TYPE_RESULTSET, MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_SIZE, MIME_TYPE_WIDGET_TYPE, ManifestService, ManifestUtils, ManifestsComponent, MarkSubType, MarkType, MetadataComponent, NamedQueryTypes, NumericFieldTypes, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PRY_GEOAUTH_TOKEN, PUBLIC_GROUP, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessRightsShareComponent, PryAccessUtils, PryAggregationService, PryBackendAggregationService, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDefaultGeoAuthService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryFilterGroupCssComponent, PryFrontendAggregationService, PryGeoAuthService, PryGroupShareComponent, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, READ_ACCESS, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SYSTEM_GROUPS, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, TabComponent, TabGroupComponent, TextFieldTypes, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WRITE_ACCESS, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, WmsService, adapter$2 as adapter, aggregationDefault, baseItemProperties, canManifestBeMadePublic, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getAccessArray, getAccessRightsArrayByGroup, getAccessRightsStringByGroup, getAccessString, getCommonDatasourceGroupsForManifest, getDisplayOptions, getGroupLabel, getGroupLabelByName, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
13063
13082
  //# sourceMappingURL=provoly-dashboard.mjs.map