@provoly/dashboard 1.1.6 → 1.1.7

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 (54) 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/dashboard/store/dashboard.selectors.mjs +1 -3
  7. package/esm2022/presentation/components/presentation.component.mjs +12 -12
  8. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +14 -11
  9. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +15 -11
  10. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +15 -13
  11. package/esm2022/toolbox/components/delete/delete.component.mjs +17 -18
  12. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +16 -11
  13. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +14 -12
  14. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +12 -7
  15. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +19 -14
  16. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +15 -11
  17. package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
  18. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +14 -10
  19. package/esm2022/toolbox/components/save-view/save-view.component.mjs +14 -10
  20. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +14 -9
  21. package/esm2022/toolbox/components/share/share.component.mjs +30 -34
  22. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +14 -12
  23. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +20 -6
  24. package/esm2022/toolbox/components/toolbox.component.mjs +1 -1
  25. package/esm2022/toolbox/toolbox.model.mjs +4 -4
  26. package/fesm2022/provoly-dashboard-presentation.mjs +11 -11
  27. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  28. package/fesm2022/provoly-dashboard-toolbox.mjs +197 -139
  29. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  30. package/fesm2022/provoly-dashboard.mjs +94 -80
  31. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  32. package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +7 -1
  33. package/lib/core/components/share/share.utils.d.ts +3 -0
  34. package/lib/core/i18n/en.translations.d.ts +1 -0
  35. package/lib/core/i18n/fr.translations.d.ts +1 -0
  36. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -5
  37. package/package.json +13 -13
  38. package/presentation/components/presentation.component.d.ts +4 -5
  39. package/styles/components/_o-access-rights-share.scss +9 -1
  40. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +2 -2
  41. package/toolbox/components/clear-view/clear-view.component.d.ts +3 -2
  42. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +3 -5
  43. package/toolbox/components/delete/delete.component.d.ts +4 -13
  44. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +3 -3
  45. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +3 -8
  46. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +3 -2
  47. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -3
  48. package/toolbox/components/launch-tab/launch-tab.component.d.ts +3 -2
  49. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +3 -3
  50. package/toolbox/components/save-view/save-view.component.d.ts +3 -5
  51. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +3 -3
  52. package/toolbox/components/share/share.component.d.ts +4 -8
  53. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +3 -8
  54. 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,
@@ -7571,6 +7571,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7571
7571
  type: Input
7572
7572
  }] } });
7573
7573
 
7574
+ const PUBLIC_GROUP = 'ALL';
7575
+ const AUTHENTICATED_USERS_GROUP = 'AUTHENTICATED';
7576
+ const SYSTEM_GROUPS = [PUBLIC_GROUP, AUTHENTICATED_USERS_GROUP];
7577
+ const READ_ACCESS = 'READ';
7578
+ const WRITE_ACCESS = 'WRITE';
7579
+ // GROUP UTIL METHODS
7580
+ const getGroupLabel = (group, i18n) => {
7581
+ return group.system ? i18n.instant('@pry.share.groups.' + group.name) : group.name;
7582
+ };
7583
+ const getGroupLabelByName = (groupName, i18n) => {
7584
+ return i18n.instant('@pry.share.groups.' + groupName).startsWith('@')
7585
+ ? groupName
7586
+ : i18n.instant('@pry.share.groups.' + groupName);
7587
+ };
7588
+ // DASHBOARD GROUP RIGHTS METHODS
7589
+ const canManifestBeMadePublic = (manifest, datasets) => {
7590
+ return manifest.datasource.every((dsId) => {
7591
+ const datasource = datasets.find((d) => d.id === dsId);
7592
+ return datasource?.groups?.includes(PUBLIC_GROUP) ?? false;
7593
+ });
7594
+ };
7595
+ const getCommonDatasourceGroupsForManifest = (manifest, datasets) => {
7596
+ let result = [];
7597
+ const allDsGroups = manifest.datasource.map((dsId) => datasets.find((d) => d.id === dsId)?.groups ?? []);
7598
+ if (allDsGroups.every((dsGroups) => dsGroups.includes(AUTHENTICATED_USERS_GROUP))) {
7599
+ result = [...new Set(allDsGroups.flat())];
7600
+ }
7601
+ else {
7602
+ const allDsGroupsFiltered = allDsGroups.filter((dsGroups) => !dsGroups.includes(AUTHENTICATED_USERS_GROUP) && !dsGroups.includes(PUBLIC_GROUP));
7603
+ const baseArray = allDsGroupsFiltered[0];
7604
+ for (let i = 0; i < baseArray.length; i++) {
7605
+ const group = baseArray[i];
7606
+ if (allDsGroupsFiltered.every((dsGroups) => dsGroups.includes(group))) {
7607
+ result.push(group);
7608
+ }
7609
+ }
7610
+ }
7611
+ return result;
7612
+ };
7613
+ // ACCESS RIGHTS METHODS
7614
+ const getAccessRightsArrayByGroup = (accessByGroup) => {
7615
+ let result = {};
7616
+ Object.keys(accessByGroup).forEach((key) => {
7617
+ result[key] = getAccessArray(accessByGroup[key]);
7618
+ });
7619
+ return result;
7620
+ };
7621
+ const getAccessArray = (access) => {
7622
+ switch (access) {
7623
+ case READ_ACCESS:
7624
+ return [READ_ACCESS];
7625
+ case WRITE_ACCESS:
7626
+ return [READ_ACCESS, WRITE_ACCESS];
7627
+ default:
7628
+ return [];
7629
+ }
7630
+ };
7631
+ const getAccessRightsStringByGroup = (accessByGroup) => {
7632
+ let result = {};
7633
+ Object.keys(accessByGroup).forEach((key) => {
7634
+ result[key] = getAccessString(accessByGroup[key]);
7635
+ });
7636
+ return result;
7637
+ };
7638
+ const getAccessString = (accessArray) => {
7639
+ if (accessArray.includes(WRITE_ACCESS)) {
7640
+ return WRITE_ACCESS;
7641
+ }
7642
+ else {
7643
+ return READ_ACCESS;
7644
+ }
7645
+ };
7646
+
7574
7647
  class PryGroupShareComponent extends SubscriptionnerDirective {
7575
7648
  set disableRadios(value) {
7576
7649
  if (value)
@@ -7601,7 +7674,7 @@ class PryGroupShareComponent extends SubscriptionnerDirective {
7601
7674
  this.store.dispatch(ConfigActions.loadAccessGroups());
7602
7675
  this.groups$ = combineLatest([this.store.select(ConfigSelectors.accessGroups), this._allowedGroups$]).pipe(map(([groups, allowedGroups]) => groups
7603
7676
  .filter((group) => group.name !== 'ALL')
7604
- .filter((group) => allowedGroups?.includes('ALL') || allowedGroups?.includes('AUTHENTICATED') || !allowedGroups
7677
+ .filter((group) => allowedGroups?.includes(PUBLIC_GROUP) || allowedGroups?.includes(AUTHENTICATED_USERS_GROUP) || !allowedGroups
7605
7678
  ? true
7606
7679
  : allowedGroups.includes(group.name))));
7607
7680
  this.assignedGroups$ = combineLatest([this.groups$, this.assignedGroupNames$]).pipe(map(([groups, groupNames]) => groups.filter((group) => {
@@ -7690,76 +7763,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7690
7763
  type: Output
7691
7764
  }] } });
7692
7765
 
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
7766
  class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7764
7767
  set allowedGroups(value) {
7765
7768
  if (value)
@@ -7773,12 +7776,14 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7773
7776
  this._onChange = (value) => { };
7774
7777
  this._onTouched = () => { };
7775
7778
  this._allowedGroups$ = new BehaviorSubject(undefined);
7779
+ this.AVAILABLE_ACCESS_RIGHTS = [];
7776
7780
  this.accessRights = [];
7777
7781
  this.selectedGroups = [];
7778
7782
  this.selectedAccessRight = READ_ACCESS;
7779
7783
  this.assignedGroups$ = new BehaviorSubject([]);
7780
- this.getGroupLabel = getGroupLabel;
7781
7784
  this.getGroupLabelByName = getGroupLabelByName;
7785
+ this.PUBLIC_GROUP = PUBLIC_GROUP;
7786
+ this.AUTHENTICATED_USERS_GROUP = AUTHENTICATED_USERS_GROUP;
7782
7787
  this.store.dispatch(ConfigActions.loadAccessGroups());
7783
7788
  this.groups$ = combineLatest([
7784
7789
  this.store.select(ConfigSelectors.accessGroups),
@@ -7791,10 +7796,11 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7791
7796
  ...group,
7792
7797
  label: getGroupLabel(group, this.i18n)
7793
7798
  }))));
7794
- this.accessRights = [
7799
+ this.AVAILABLE_ACCESS_RIGHTS = [
7795
7800
  { label: this.i18n.instant('@pry.share.read'), value: READ_ACCESS },
7796
7801
  { label: this.i18n.instant('@pry.share.write'), value: WRITE_ACCESS }
7797
7802
  ];
7803
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
7798
7804
  }
7799
7805
  writeValue(value) {
7800
7806
  if (value)
@@ -7847,6 +7853,14 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7847
7853
  emitAlreadyAssignedGroups() {
7848
7854
  this.assignedGroups$.next(Object.keys(this.value));
7849
7855
  }
7856
+ filterAvailableAccessRights() {
7857
+ if (this.selectedGroups && this.selectedGroups.length > 0 && this.selectedGroups.every((group) => SYSTEM_GROUPS.includes(group.name))) {
7858
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS.filter(access => access.value === READ_ACCESS);
7859
+ }
7860
+ else {
7861
+ this.accessRights = this.AVAILABLE_ACCESS_RIGHTS;
7862
+ }
7863
+ }
7850
7864
  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
7865
  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
7866
  {
@@ -7854,7 +7868,7 @@ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7854
7868
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
7855
7869
  multi: true
7856
7870
  }
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 }); }
7871
+ ], 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
7872
  }
7859
7873
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, decorators: [{
7860
7874
  type: Component,
@@ -7864,7 +7878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7864
7878
  useExisting: forwardRef(() => PryAccessRightsShareComponent),
7865
7879
  multi: true
7866
7880
  }
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" }]
7881
+ ], 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
7882
  }], ctorParameters: () => [{ type: i1.Store }, { type: PryI18nService }], propDecorators: { manifestDescription: [{
7869
7883
  type: Input,
7870
7884
  args: [{ required: true }]
@@ -13059,5 +13073,5 @@ function filterLoader(module, prop) {
13059
13073
  * Generated bundle index. Do not edit.
13060
13074
  */
13061
13075
 
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 };
13076
+ 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
13077
  //# sourceMappingURL=provoly-dashboard.mjs.map