@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.
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +1 -0
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +4 -3
- package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +127 -0
- package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +1 -1
- package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +83 -0
- package/esm2022/lib/core/components/share/share.module.mjs +9 -7
- package/esm2022/lib/core/components/share/share.utils.mjs +46 -1
- package/esm2022/lib/core/i18n/en.translations.mjs +15 -7
- package/esm2022/lib/core/i18n/fr.translations.mjs +16 -7
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/public-api.mjs +3 -2
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +8 -12
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +5 -11
- package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +6 -6
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -2
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
- package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -3
- package/esm2022/presentation/components/presentation.component.mjs +13 -25
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +8 -8
- package/esm2022/toolbox/components/share/share.component.mjs +9 -15
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +42 -87
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -1
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +3 -5
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +2 -2
- package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +5 -5
- package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +2 -2
- package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-dataset.mjs +3 -2
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +12 -24
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +15 -21
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +45 -91
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +7 -7
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +214 -48
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/share/access-rights-share/access-rights-share.component.d.ts +47 -0
- package/lib/core/components/share/{share.component.d.ts → legacy-share/share.component.d.ts} +1 -1
- package/lib/core/components/share/share.module.d.ts +10 -8
- package/lib/core/components/share/share.utils.d.ts +18 -0
- package/lib/core/i18n/en.translations.d.ts +12 -4
- package/lib/core/i18n/fr.translations.d.ts +13 -4
- package/lib/core/model/manifest.interface.d.ts +3 -1
- package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +3 -12
- package/lib/core/public-api.d.ts +2 -1
- package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +4 -4
- package/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.d.ts +2 -2
- package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +3 -1
- package/lib/dashboard/store/dashboard.actions.d.ts +6 -2
- package/lib/dashboard/store/manifest.service.d.ts +3 -1
- package/package.json +31 -31
- package/presentation/components/presentation.component.d.ts +7 -7
- package/styles/components/_o-access-rights-share.scss +73 -0
- package/styles/components/_o-pry-admin-classes-customize.scss +4 -4
- package/styles/main.scss +1 -0
- package/styles-theme/components-theme/_o-widget.theme.scss +0 -14
- package/toolbox/components/save-view/save-view.component.d.ts +6 -2
- package/toolbox/components/share/share.component.d.ts +6 -4
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +9 -7
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +1 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +2 -4
- package/widgets/widget-iframe/component/widget-iframe.component.d.ts +3 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +3 -1
- package/widgets/widget-map/style/_m-layer-legend.scss +1 -4
- package/widgets/widget-table/component/widget-table.component.d.ts +3 -1
- package/widgets/widget-tile/component/widget-tile.component.d.ts +3 -1
- 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.
|
|
5669
|
-
if (options.abscissa.
|
|
5670
|
-
params = params.set('dateInterval', options.abscissa.
|
|
5671
|
-
|
|
5672
|
-
|
|
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.
|
|
5693
|
-
params = params.set('limit', `${options.
|
|
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,
|
|
5826
|
-
|
|
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,
|
|
5841
|
+
static formatDataByTimeLimit(data, interval, operation) {
|
|
5835
5842
|
let distinctValues = [];
|
|
5836
5843
|
data
|
|
5837
|
-
.map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key,
|
|
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.
|
|
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.
|
|
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,
|
|
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 (
|
|
6017
|
-
result = AggregationUtils.formatByLimit(result,
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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.
|
|
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
|