@provoly/dashboard 1.1.1 → 1.1.3

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 (89) hide show
  1. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +1 -0
  2. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +4 -3
  3. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +127 -0
  4. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +1 -1
  5. package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +83 -0
  6. package/esm2022/lib/core/components/share/share.module.mjs +9 -7
  7. package/esm2022/lib/core/components/share/share.utils.mjs +46 -1
  8. package/esm2022/lib/core/i18n/en.translations.mjs +15 -7
  9. package/esm2022/lib/core/i18n/fr.translations.mjs +16 -7
  10. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  11. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  12. package/esm2022/lib/core/public-api.mjs +3 -2
  13. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +8 -12
  14. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +5 -11
  15. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +6 -6
  16. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -2
  17. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  18. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
  19. package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -3
  20. package/esm2022/presentation/components/presentation.component.mjs +13 -25
  21. package/esm2022/toolbox/components/save-view/save-view.component.mjs +8 -8
  22. package/esm2022/toolbox/components/share/share.component.mjs +9 -15
  23. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +42 -87
  24. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -1
  25. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +3 -5
  26. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  27. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
  28. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +2 -2
  29. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +2 -2
  30. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +5 -5
  31. package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +2 -2
  32. package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
  33. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
  34. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
  35. package/fesm2022/provoly-dashboard-dataset.mjs +3 -2
  36. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  37. package/fesm2022/provoly-dashboard-presentation.mjs +12 -24
  38. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  39. package/fesm2022/provoly-dashboard-toolbox.mjs +15 -21
  40. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  41. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +45 -91
  42. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  43. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  44. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  45. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  46. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  47. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  48. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  49. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +1 -1
  50. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +7 -7
  52. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  54. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
  56. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard.mjs +214 -48
  58. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  59. package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +47 -0
  60. package/lib/core/components/share/{share.component.d.ts → legacy-share/share.component.d.ts} +1 -1
  61. package/lib/core/components/share/share.module.d.ts +10 -8
  62. package/lib/core/components/share/share.utils.d.ts +18 -0
  63. package/lib/core/i18n/en.translations.d.ts +12 -4
  64. package/lib/core/i18n/fr.translations.d.ts +13 -4
  65. package/lib/core/model/manifest.interface.d.ts +3 -1
  66. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +3 -12
  67. package/lib/core/public-api.d.ts +2 -1
  68. package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +4 -4
  69. package/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.d.ts +2 -2
  70. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +3 -1
  71. package/lib/dashboard/store/dashboard.actions.d.ts +6 -2
  72. package/lib/dashboard/store/manifest.service.d.ts +3 -1
  73. package/package.json +31 -31
  74. package/presentation/components/presentation.component.d.ts +7 -7
  75. package/styles/components/_o-access-rights-share.scss +73 -0
  76. package/styles/components/_o-pry-admin-classes-customize.scss +4 -4
  77. package/styles/main.scss +1 -0
  78. package/styles-theme/components-theme/_o-widget.theme.scss +0 -14
  79. package/toolbox/components/save-view/save-view.component.d.ts +6 -2
  80. package/toolbox/components/share/share.component.d.ts +6 -4
  81. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +9 -7
  82. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +1 -0
  83. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +2 -4
  84. package/widgets/widget-iframe/component/widget-iframe.component.d.ts +3 -1
  85. package/widgets/widget-map/component/widget-map.component.d.ts +3 -1
  86. package/widgets/widget-map/style/_m-layer-legend.scss +1 -4
  87. package/widgets/widget-table/component/widget-table.component.d.ts +3 -1
  88. package/widgets/widget-tile/component/widget-tile.component.d.ts +3 -1
  89. package/esm2022/lib/core/components/share/share.component.mjs +0 -83
@@ -346,6 +346,7 @@ const enTranslations$1 = {
346
346
  switchEdit: 'Edit',
347
347
  switchEditContent: 'Edit composition',
348
348
  share: 'Share',
349
+ shareAccessRights: 'Share access rights',
349
350
  delete: 'Delete',
350
351
  notInDsAttr: 'Unavailable attribute'
351
352
  },
@@ -483,11 +484,22 @@ const enTranslations$1 = {
483
484
  type: 'Visibility',
484
485
  users: 'Authorized users',
485
486
  noGroups: 'No group available',
487
+ groups: {
488
+ ALL: 'Public',
489
+ AUTHENTICATED: 'Connected users'
490
+ },
486
491
  conflict: {
487
492
  title: 'Warning',
488
493
  main: 'The following data sources are not accessible to the selected user groups:',
489
494
  unavailable: 'inaccessible aux groupes : '
490
- }
495
+ },
496
+ dashboardAccess: 'Share access to this dashboard to selected user groups',
497
+ placeholder: 'Chose one or more groups',
498
+ read: 'Can read',
499
+ write: 'Can modify',
500
+ accessDescription: '"Can read" allows read acess "Can modify" allows read and write access',
501
+ me: 'Me',
502
+ owner: 'Owner'
491
503
  },
492
504
  homepage: {
493
505
  menu: {
@@ -513,11 +525,7 @@ const enTranslations$1 = {
513
525
  selection: 'Selected user groups:',
514
526
  selectItem: 'Select this user group',
515
527
  unselectItem: 'Unselect this user group',
516
- noItemSelected: 'No user group selected',
517
- groups: {
518
- ALL: 'Public',
519
- AUTHENTICATED: 'Connected users'
520
- }
528
+ noItemSelected: 'No user group selected'
521
529
  }
522
530
  }
523
531
  },
@@ -746,6 +754,7 @@ const frTranslations$1 = {
746
754
  switchEdit: 'Modifier',
747
755
  switchEditContent: 'Modifier la composition',
748
756
  share: 'Partager',
757
+ shareAccessRights: "Droits d'accès",
749
758
  delete: 'Supprimer',
750
759
  notInDsAttr: 'Attribut indisponible'
751
760
  },
@@ -802,6 +811,7 @@ const frTranslations$1 = {
802
811
  }
803
812
  },
804
813
  action: {
814
+ add: 'Ajouter',
805
815
  close: 'Fermer',
806
816
  closePanel: 'Fermer le panneau',
807
817
  delete: 'Supprimer',
@@ -883,12 +893,23 @@ const frTranslations$1 = {
883
893
  restricted: 'Restreint',
884
894
  type: 'Visibilité',
885
895
  users: 'Utilisateurs autorisés',
896
+ groups: {
897
+ ALL: 'Public',
898
+ AUTHENTICATED: 'Les utilisateurs connectés'
899
+ },
886
900
  noGroups: 'Aucun groupe disponible',
887
901
  conflict: {
888
902
  title: 'Warning',
889
903
  main: 'Attention, les sources de données suivantes ne seront pas visible de toutes les personnes accédant à la présentation : ',
890
904
  unavailable: 'inaccessible aux groupes : '
891
- }
905
+ },
906
+ dashboardAccess: "Donner les droits d'accès de ce tableau de bord à certains groupes d’utilisateurs :",
907
+ placeholder: 'Choisissez le ou les groupes utilisateurs',
908
+ read: 'Peut voir',
909
+ write: 'Peut modifier',
910
+ accessDescription: '"Peut voir" ouvre les droits de consultation et "Peut modifier" permet de consulter et modifier',
911
+ me: 'Moi',
912
+ owner: 'Propriétaire'
892
913
  },
893
914
  homepage: {
894
915
  menu: {
@@ -914,11 +935,7 @@ const frTranslations$1 = {
914
935
  selection: "Groupe(s) d'utilisateurs sélectionnés:",
915
936
  selectItem: "Sélectionner le groupe d'utilisateurs",
916
937
  unselectItem: "Désélectionner le groupe d'utilisateurs",
917
- noItemSelected: "Aucun groupe d'utilisateurs sélectionné",
918
- groups: {
919
- ALL: 'Public',
920
- AUTHENTICATED: 'Les utilisateurs connectés'
921
- }
938
+ noItemSelected: "Aucun groupe d'utilisateurs sélectionné"
922
939
  }
923
940
  }
924
941
  },
@@ -5665,15 +5682,11 @@ class PryBackendAggregationService extends PryAggregationService {
5665
5682
  return of({ operation: options.ordinate.operation, values: [] });
5666
5683
  }
5667
5684
  }
5668
- if (options.abscissa && options.abscissa.limit) {
5669
- if (options.abscissa.limit.isTimeLimit) {
5670
- params = params.set('dateInterval', options.abscissa.limit.interval);
5671
- }
5672
- else {
5673
- params = params.set('interval', options.abscissa.limit.at);
5674
- params = params.set('limitOrder', options.abscissa.limit.order);
5675
- params = params.set('limitOthers', options.abscissa.limit.others);
5676
- }
5685
+ if (options.abscissa && options.abscissa.interval) {
5686
+ if (typeof options.abscissa.interval === 'string')
5687
+ params = params.set('dateInterval', options.abscissa.interval);
5688
+ if (typeof options.abscissa.interval === 'number')
5689
+ params = params.set('interval', options.abscissa.interval);
5677
5690
  }
5678
5691
  const operation = options.ordinate.operation?.replace(/^none$/, Operation.SUM);
5679
5692
  params = params.set('operation', operation);
@@ -5689,8 +5702,8 @@ class PryBackendAggregationService extends PryAggregationService {
5689
5702
  if (options.graph && options.graph.sort) {
5690
5703
  params = params.set('order', `${options.graph.sort.direction},${(options.graph.sort.value ?? '').toUpperCase()}`);
5691
5704
  }
5692
- if (!!options.graph?.limitItems) {
5693
- params = params.set('limit', `${options.graph.limitItems}`);
5705
+ if (!!options.abscissa.limit) {
5706
+ params = params.set('limit', `${options.abscissa.limit}`);
5694
5707
  }
5695
5708
  params = this.searchService.getItemsFilter(targetDatasource, params, false);
5696
5709
  const key = `${this.dataUrl}_${params.toString()}`;
@@ -5822,19 +5835,13 @@ class AggregationUtils {
5822
5835
  pos = Math.floor(pos);
5823
5836
  return values[pos + 1] !== undefined ? (values[pos] + values[pos + 1]) / 2 : values[pos];
5824
5837
  }
5825
- static formatByLimit(data, limit, operation) {
5826
- if (!limit.isTimeLimit) {
5827
- data
5828
- .sort((a, b) => (limit.order === 'asc' ? (a.value > b.value ? 1 : -1) : a.value < b.value ? 1 : -1))
5829
- .splice(limit.at);
5830
- return data;
5831
- }
5832
- return this.formatDataByTimeLimit(data, limit, operation);
5838
+ static formatByLimit(data, interval, operation) {
5839
+ return typeof interval === 'number' ? data : this.formatDataByTimeLimit(data, interval, operation);
5833
5840
  }
5834
- static formatDataByTimeLimit(data, limit, operation) {
5841
+ static formatDataByTimeLimit(data, interval, operation) {
5835
5842
  let distinctValues = [];
5836
5843
  data
5837
- .map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key, limit.interval) }))
5844
+ .map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key, interval) }))
5838
5845
  .forEach((obj) => {
5839
5846
  const isNotDistinct = distinctValues.find((distinct) => obj.key === distinct.key);
5840
5847
  if (!!isNotDistinct) {
@@ -5975,7 +5982,7 @@ class PryFrontendAggregationService extends PryAggregationService {
5975
5982
  if (!options.groupBy) {
5976
5983
  if (!!options.ordinate.operation)
5977
5984
  console.warn('no ordinate operation selected');
5978
- aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.limit);
5985
+ aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.interval);
5979
5986
  }
5980
5987
  else {
5981
5988
  const groupByAttribute = classes
@@ -5984,7 +5991,7 @@ class PryFrontendAggregationService extends PryAggregationService {
5984
5991
  const itemsGrouped = this.getItemsGroupedByAttributeValue(items, groupByAttribute);
5985
5992
  aggregationResult.values = Object.keys(itemsGrouped).map((key) => ({
5986
5993
  key,
5987
- groupBy: this.getChartDataBasedOnOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.limit)
5994
+ groupBy: this.getChartDataBasedOnOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.interval)
5988
5995
  }));
5989
5996
  }
5990
5997
  return aggregationResult;
@@ -6001,7 +6008,7 @@ class PryFrontendAggregationService extends PryAggregationService {
6001
6008
  return distinctValues;
6002
6009
  }
6003
6010
  // get { key, value } object list that will be our data to show in the chart
6004
- getChartDataBasedOnOperation(items, operation, abscissa, ordinate, limit) {
6011
+ getChartDataBasedOnOperation(items, operation, abscissa, ordinate, interval) {
6005
6012
  if (abscissa === '' || ordinate === '')
6006
6013
  console.warn('abscissa or ordinate attribute not found');
6007
6014
  const groupByAbscissa = this.getItemsGroupedByAttributeValue(items, abscissa);
@@ -6013,8 +6020,8 @@ class PryFrontendAggregationService extends PryAggregationService {
6013
6020
  };
6014
6021
  })
6015
6022
  ];
6016
- if (limit)
6017
- result = AggregationUtils.formatByLimit(result, limit, operation);
6023
+ if (interval)
6024
+ result = AggregationUtils.formatByLimit(result, interval, operation);
6018
6025
  return result;
6019
6026
  }
6020
6027
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryFrontendAggregationService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -7683,6 +7690,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
7683
7690
  type: Output
7684
7691
  }] } });
7685
7692
 
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
7686
7705
  const canManifestBeMadePublic = (manifest, datasets) => {
7687
7706
  return manifest.datasource.every((dsId) => {
7688
7707
  const datasource = datasets.find((d) => d.id === dsId);
@@ -7707,6 +7726,151 @@ const getCommonDatasourceGroupsForManifest = (manifest, datasets) => {
7707
7726
  }
7708
7727
  return result;
7709
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
+ class PryAccessRightsShareComponent extends SubscriptionnerDirective {
7764
+ set allowedGroups(value) {
7765
+ if (value)
7766
+ this._allowedGroups$.next(value);
7767
+ }
7768
+ constructor(store, i18n) {
7769
+ super();
7770
+ this.store = store;
7771
+ this.i18n = i18n;
7772
+ this.value = {};
7773
+ this._onChange = (value) => { };
7774
+ this._onTouched = () => { };
7775
+ this._allowedGroups$ = new BehaviorSubject(undefined);
7776
+ this.accessRights = [];
7777
+ this.selectedGroups = [];
7778
+ this.selectedAccessRight = READ_ACCESS;
7779
+ this.assignedGroups$ = new BehaviorSubject([]);
7780
+ this.getGroupLabel = getGroupLabel;
7781
+ this.getGroupLabelByName = getGroupLabelByName;
7782
+ this.store.dispatch(ConfigActions.loadAccessGroups());
7783
+ this.groups$ = combineLatest([
7784
+ this.store.select(ConfigSelectors.accessGroups),
7785
+ this._allowedGroups$,
7786
+ this.assignedGroups$
7787
+ ]).pipe(map(([groups, allowedGroups, alreadyAssigned]) => groups
7788
+ .filter((group) => (allowedGroups ? allowedGroups.includes(group.name) : true))
7789
+ .filter((group) => !alreadyAssigned.includes(group.name))
7790
+ .map((group) => ({
7791
+ ...group,
7792
+ label: getGroupLabel(group, this.i18n)
7793
+ }))));
7794
+ this.accessRights = [
7795
+ { label: this.i18n.instant('@pry.share.read'), value: READ_ACCESS },
7796
+ { label: this.i18n.instant('@pry.share.write'), value: WRITE_ACCESS }
7797
+ ];
7798
+ }
7799
+ writeValue(value) {
7800
+ if (value)
7801
+ this.value = getAccessRightsStringByGroup(value) ?? {};
7802
+ this.emitAlreadyAssignedGroups();
7803
+ this._onTouched();
7804
+ }
7805
+ registerOnChange(fn) {
7806
+ this._onChange = fn;
7807
+ }
7808
+ registerOnTouched(fn) {
7809
+ this._onTouched = fn;
7810
+ }
7811
+ onChange() {
7812
+ this._onChange(getAccessRightsArrayByGroup(this.value));
7813
+ this._onTouched();
7814
+ }
7815
+ addAccess() {
7816
+ if (this.selectedGroups) {
7817
+ this.selectedGroups.forEach((group) => {
7818
+ this.value = {
7819
+ ...this.value,
7820
+ [group.name]: this.selectedAccessRight
7821
+ };
7822
+ });
7823
+ this.emitAlreadyAssignedGroups();
7824
+ this.onChange();
7825
+ }
7826
+ this.resetSelection();
7827
+ }
7828
+ modifyGroupAccess(group, access) {
7829
+ this.value = {
7830
+ ...this.value,
7831
+ [group]: access
7832
+ };
7833
+ this._onChange(getAccessRightsArrayByGroup(this.value));
7834
+ }
7835
+ removeGroupAccess(group) {
7836
+ delete this.value[group];
7837
+ this._onChange(getAccessRightsArrayByGroup(this.value));
7838
+ this.emitAlreadyAssignedGroups();
7839
+ }
7840
+ resetSelection() {
7841
+ this.selectedAccessRight = 'READ';
7842
+ this.selectedGroups = undefined;
7843
+ }
7844
+ isAddingDisabled() {
7845
+ return this.selectedGroups?.length === 0;
7846
+ }
7847
+ emitAlreadyAssignedGroups() {
7848
+ this.assignedGroups$.next(Object.keys(this.value));
7849
+ }
7850
+ 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
+ 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
+ {
7853
+ provide: NG_VALUE_ACCESSOR,
7854
+ useExisting: forwardRef(() => PryAccessRightsShareComponent),
7855
+ multi: true
7856
+ }
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 }); }
7858
+ }
7859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAccessRightsShareComponent, decorators: [{
7860
+ type: Component,
7861
+ args: [{ selector: 'pry-access-rights-share', providers: [
7862
+ {
7863
+ provide: NG_VALUE_ACCESSOR,
7864
+ useExisting: forwardRef(() => PryAccessRightsShareComponent),
7865
+ multi: true
7866
+ }
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" }]
7868
+ }], ctorParameters: () => [{ type: i1.Store }, { type: PryI18nService }], propDecorators: { manifestDescription: [{
7869
+ type: Input,
7870
+ args: [{ required: true }]
7871
+ }], allowedGroups: [{
7872
+ type: Input
7873
+ }] } });
7710
7874
 
7711
7875
  const MIME_TYPE_RESULTSET = 'application/resultset';
7712
7876
 
@@ -10074,7 +10238,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
10074
10238
  }]
10075
10239
  }], ctorParameters: () => [{ type: WidgetFactoryService }, { type: ToolboxManifestService }, { type: i1.Store }] });
10076
10240
 
10077
- const WIDGET_HEADER_HEIGHT = 32;
10241
+ const WIDGET_HEADER_HEIGHT = {
10242
+ value: 32
10243
+ };
10078
10244
  class PryWidgetHeaderComponent extends SubscriptionnerDirective {
10079
10245
  set manifest(manifest) {
10080
10246
  this.manifest$.next(manifest);
@@ -10878,7 +11044,7 @@ class ManifestService {
10878
11044
  .select(ConfigSelectors.refUrl)
10879
11045
  .pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards/id/${id}/manifest`))));
10880
11046
  }
10881
- save(name, manifest, id, description, image, metadata, groups, additionalInformation) {
11047
+ save(name, manifest, id, description, image, metadata, accesRightsByGroup, additionalInformation) {
10882
11048
  return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => {
10883
11049
  return this.httpClient.post(encodeURI(`${url}/users/me/dashboards`), {
10884
11050
  id,
@@ -10889,7 +11055,7 @@ class ManifestService {
10889
11055
  cover: true,
10890
11056
  metadata,
10891
11057
  datasource: ManifestUtils.getDatasourcesUsedByManifest(manifest).map((ds) => ds.datasetId),
10892
- groups,
11058
+ accesRightsByGroup,
10893
11059
  additionalInformation
10894
11060
  });
10895
11061
  }));
@@ -11227,7 +11393,7 @@ class DashboardEffects {
11227
11393
  });
11228
11394
  })), { dispatch: false });
11229
11395
  this.saveManifest$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.saveManifest), withLatestFrom(this.store.select(DashboardSelectors.globalManifest)), withLatestFrom(this.store.select(DataSourceSelectors.datasets)), mergeMap$1(([[action, currentManifest], datasets]) => this.manifestService
11230
- .save(action.name, action.manifest ?? currentManifest, action.id, action.description, action.image, action.metadata, action.groups, action.additionalInformation)
11396
+ .save(action.name, action.manifest ?? currentManifest, action.id, action.description, action.image, action.metadata, action.accessRightsByGroup, action.additionalInformation)
11231
11397
  .pipe(tap((response) => {
11232
11398
  this.snackBar.open({
11233
11399
  message: this.translateService.instant('@pry.toolbox.manifest.saved', { viewId: action.name }),
@@ -12473,15 +12639,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
12473
12639
 
12474
12640
  class PryShareModule {
12475
12641
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12476
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, declarations: [PryShareComponent, PryGroupShareComponent], imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule], exports: [PryShareComponent, PryGroupShareComponent] }); }
12477
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule] }); }
12642
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, declarations: [PryShareComponent, PryGroupShareComponent, PryAccessRightsShareComponent], imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule, PryIconModule], exports: [PryShareComponent, PryGroupShareComponent, PryAccessRightsShareComponent] }); }
12643
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule, PryIconModule] }); }
12478
12644
  }
12479
12645
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareModule, decorators: [{
12480
12646
  type: NgModule,
12481
12647
  args: [{
12482
- imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule],
12483
- declarations: [PryShareComponent, PryGroupShareComponent],
12484
- exports: [PryShareComponent, PryGroupShareComponent]
12648
+ imports: [CommonModule, FormsModule, PrySelectModule, PryI18nModule, PryCoreModule, PryDashboardModule, PryIconModule],
12649
+ declarations: [PryShareComponent, PryGroupShareComponent, PryAccessRightsShareComponent],
12650
+ exports: [PryShareComponent, PryGroupShareComponent, PryAccessRightsShareComponent]
12485
12651
  }]
12486
12652
  }] });
12487
12653
 
@@ -12893,5 +13059,5 @@ function filterLoader(module, prop) {
12893
13059
  * Generated bundle index. Do not edit.
12894
13060
  */
12895
13061
 
12896
- 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, 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, 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, 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, getCommonDatasourceGroupsForManifest, getDisplayOptions, 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 };
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 };
12897
13063
  //# sourceMappingURL=provoly-dashboard.mjs.map