@provoly/dashboard 0.14.9 → 0.14.11

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 (100) hide show
  1. package/admin/components/admin-layout/admin-layout.component.d.ts +5 -3
  2. package/assets/svgs/map.svg +1 -1
  3. package/components/metadata-editor/metadata-editor.component.d.ts +1 -3
  4. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +1 -1
  5. package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +10 -7
  6. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +1 -1
  7. package/esm2022/admin/i18n/en.translations.mjs +2 -2
  8. package/esm2022/admin/i18n/fr.translations.mjs +5 -5
  9. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +8 -29
  10. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +2 -2
  11. package/esm2022/lib/core/components/about/about.component.mjs +29 -0
  12. package/esm2022/lib/core/components/about/pry-about.module.mjs +21 -0
  13. package/esm2022/lib/core/components/icon/icon.component.mjs +5 -1
  14. package/esm2022/lib/core/i18n/en.translations.mjs +13 -2
  15. package/esm2022/lib/core/i18n/fr.translations.mjs +13 -2
  16. package/esm2022/lib/core/i18n/i18n.pipe.mjs +4 -3
  17. package/esm2022/lib/core/i18n/i18n.service.mjs +5 -5
  18. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
  19. package/esm2022/lib/core/public-api.mjs +3 -1
  20. package/esm2022/lib/core/store/class/class.effects.mjs +1 -1
  21. package/esm2022/lib/core/store/config/config.actions.mjs +5 -2
  22. package/esm2022/lib/core/store/config/config.effects.mjs +4 -1
  23. package/esm2022/lib/core/store/config/config.reducer.mjs +10 -3
  24. package/esm2022/lib/core/store/config/config.selectors.mjs +6 -4
  25. package/esm2022/lib/core/store/config/config.service.mjs +36 -2
  26. package/esm2022/lib/core/store/config/versions.interface.mjs +2 -0
  27. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +15 -1
  28. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +3 -17
  29. package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +3 -1
  30. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +3 -2
  31. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
  32. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +12 -4
  33. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +7 -1
  34. package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -3
  35. package/esm2022/notification/store/notification.effects.mjs +3 -3
  36. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +23 -18
  37. package/esm2022/presentation/components/presentation.component.mjs +18 -18
  38. package/esm2022/presentation/style/css.component.mjs +2 -2
  39. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
  40. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +6 -3
  41. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +6 -3
  42. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +2 -2
  43. package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +2 -2
  44. package/esm2022/supervision/components/supervision.component.mjs +2 -2
  45. package/esm2022/supervision/store/supervision.actions.mjs +1 -1
  46. package/esm2022/supervision/store/supervision.reducer.mjs +3 -2
  47. package/esm2022/supervision/store/supervision.selectors.mjs +2 -2
  48. package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +18 -11
  49. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +20 -6
  50. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +1 -2
  51. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +2 -2
  52. package/fesm2022/provoly-dashboard-admin.mjs +15 -12
  53. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +7 -28
  55. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
  57. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-notification.mjs +2 -2
  59. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard-presentation.mjs +41 -37
  61. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  62. package/fesm2022/provoly-dashboard-restitution.mjs +7 -4
  63. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  64. package/fesm2022/provoly-dashboard-supervision.mjs +11 -8
  65. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  66. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +17 -10
  67. package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +19 -6
  69. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  70. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
  71. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  72. package/fesm2022/provoly-dashboard.mjs +184 -56
  73. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  74. package/lib/core/components/about/about.component.d.ts +12 -0
  75. package/lib/core/components/about/pry-about.module.d.ts +10 -0
  76. package/lib/core/i18n/en.translations.d.ts +11 -0
  77. package/lib/core/i18n/fr.translations.d.ts +11 -0
  78. package/lib/core/i18n/i18n.service.d.ts +2 -2
  79. package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
  80. package/lib/core/public-api.d.ts +2 -0
  81. package/lib/core/store/config/config.actions.d.ts +12 -0
  82. package/lib/core/store/config/config.effects.d.ts +6 -0
  83. package/lib/core/store/config/config.reducer.d.ts +2 -0
  84. package/lib/core/store/config/config.selectors.d.ts +1 -0
  85. package/lib/core/store/config/config.service.d.ts +2 -0
  86. package/lib/core/store/config/versions.interface.d.ts +10 -0
  87. package/lib/dashboard/store/dashboard.actions.d.ts +4 -4
  88. package/lib/dashboard/store/manifest.service.d.ts +1 -1
  89. package/package.json +25 -25
  90. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +4 -3
  91. package/presentation/components/presentation.component.d.ts +2 -2
  92. package/presentation/style/_o-pry-new-presentation.scss +7 -0
  93. package/restitution/components/restitution-list-item/restitution-list-item.component.d.ts +3 -2
  94. package/styles/layout/_o-base-layout.scss +8 -1
  95. package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +1 -1
  96. package/supervision/store/supervision.actions.d.ts +2 -2
  97. package/supervision/store/supervision.reducer.d.ts +1 -1
  98. package/supervision/store/supervision.selectors.d.ts +1 -1
  99. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +7 -0
  100. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +0 -1
@@ -184,6 +184,15 @@ function deepMerge(target, source) {
184
184
 
185
185
  const enTranslations$1 = {
186
186
  '@pry': {
187
+ about: {
188
+ front: 'Version Front Library : {{value}} ',
189
+ ref: 'Version repository : {{value}}',
190
+ data: 'Version data : {{value}}',
191
+ replay: 'Version replay : {{value}}',
192
+ exec: 'Version Execution : {{value}}',
193
+ transfo: 'Version Transformation : {{value}}',
194
+ monitor: 'Version Supervision : {{value}}'
195
+ },
187
196
  header: {
188
197
  noCurrentPresentation: 'Presentation not saved'
189
198
  },
@@ -237,7 +246,8 @@ const enTranslations$1 = {
237
246
  saved: 'Presentation saved as {{viewId}}',
238
247
  saveErrorCode: {
239
248
  FORBIDDEN: 'You are not the owner of this presentation',
240
- NAME_ALREADY_USED: 'A presentation called "{{name}}" already exists, please select another name.'
249
+ NAME_ALREADY_USED: 'A presentation called "{{name}}" already exists, please select another name.',
250
+ SAVE_METADATA: 'Save your presentation before choosing the theme.'
241
251
  },
242
252
  defaulted: 'Presentation {{viewId}} marked as favourite',
243
253
  undefaulted: 'Presentation {{viewId}} is no longer marked as favourite',
@@ -295,6 +305,7 @@ const enTranslations$1 = {
295
305
  radarchart: 'Radar',
296
306
  circlechart: 'Circle packing',
297
307
  iframe: 'External application',
308
+ vega: 'Advanced chart',
298
309
  graph: 'Graph',
299
310
  placeholder: '',
300
311
  sub: {
@@ -516,6 +527,15 @@ const enTranslations$1 = {
516
527
 
517
528
  const frTranslations$1 = {
518
529
  '@pry': {
530
+ about: {
531
+ front: 'Librairie front version : ',
532
+ ref: 'Référentiel version : ',
533
+ data: 'Données version : ',
534
+ replay: 'Rejeu version : ',
535
+ exec: 'Exécution version : ',
536
+ transfo: 'Transformation version : ',
537
+ monitor: 'Supervision version : '
538
+ },
519
539
  header: {
520
540
  noCurrentPresentation: 'Présentation non sauvegardée'
521
541
  },
@@ -569,7 +589,8 @@ const frTranslations$1 = {
569
589
  saved: 'Présentation {{viewId}} sauvegardée',
570
590
  saveErrorCode: {
571
591
  FORBIDDEN: "Vous n'êtes pas le propriétaire de cette présentation ",
572
- NAME_ALREADY_USED: 'Une présentation avec le nom "{{name}}" existe déjà, veuillez sélectionner un autre nom.'
592
+ NAME_ALREADY_USED: 'Une présentation avec le nom "{{name}}" existe déjà, veuillez sélectionner un autre nom.',
593
+ SAVE_METADATA: 'Veuillez sauvegarder la presentation avant de choisir une thématique.'
573
594
  },
574
595
  defaulted: 'Présentation {{viewId}} marquée par défaut',
575
596
  undefaulted: "La présentation {{viewId}} n'est plus marquée par défaut",
@@ -627,6 +648,7 @@ const frTranslations$1 = {
627
648
  radarchart: 'Radar',
628
649
  circlechart: 'Paquets de cercles',
629
650
  iframe: 'Application externe',
651
+ vega: 'Graphique avancé',
630
652
  graph: 'Relations',
631
653
  placeholder: '',
632
654
  sub: {
@@ -895,7 +917,7 @@ class PryI18nService {
895
917
  }
896
918
  return response;
897
919
  }
898
- instant(key, params) {
920
+ instant(key, params, warn = true) {
899
921
  let response = this.instantObject(key, params);
900
922
  if (typeof response === 'string') {
901
923
  const matches = response.match(this.parameterRegexp);
@@ -910,14 +932,14 @@ class PryI18nService {
910
932
  return response;
911
933
  }
912
934
  else {
913
- if (PryI18nService.warn) {
935
+ if (PryI18nService.warn && warn) {
914
936
  console.warn(`Key ${key} has not been found in translations for lang ${this.currentLang}.`);
915
937
  }
916
938
  return key;
917
939
  }
918
940
  }
919
- get(key, params) {
920
- return this.translations$.pipe(map((translations) => this.instant(key, params)));
941
+ get(key, params, warn = false) {
942
+ return this.translations$.pipe(map((translations) => this.instant(key, params, warn)));
921
943
  }
922
944
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryI18nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
923
945
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryI18nService, providedIn: 'root' }); }
@@ -938,15 +960,16 @@ class I18nPipe {
938
960
  this._ref = _ref;
939
961
  }
940
962
  transform(value, ...args) {
963
+ const warn = (args[0] ?? { warn: true }).warn;
941
964
  if (value === this.key && JSON.stringify(args) === JSON.stringify(this.params)) {
942
965
  return this.value;
943
966
  }
944
967
  this.key = value;
945
968
  this.params = args;
946
- this.value = this.translateService.instant(value, args[0]);
969
+ this.value = this.translateService.instant(value, args[0], warn);
947
970
  if (this.value === this.key) {
948
971
  // Not translated, maybe we must wait
949
- this.waitSubscription = this.translateService.get(value, args[0]).subscribe((value) => {
972
+ this.waitSubscription = this.translateService.get(value, args[0], warn).subscribe((value) => {
950
973
  if (this.value !== value) {
951
974
  this.value = value;
952
975
  this._ref.markForCheck();
@@ -997,6 +1020,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
997
1020
  args: [{ selector: 'pry-base-menu', template: "<nav class=\"m-nav-links\">\n <ng-container *ngFor=\"let sub of subMenu$ | async\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of sub.subMenus\">\n <li\n *pryAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n class=\"m-nav-links__list__item\"\n >\n <a [routerLink]=\"menu.menu\" class=\"a-btn a-btn--secondary -width-full\" [routerLinkActive]=\"'is-active'\">\n {{ baseMenuTranslation + menu.menu | i18n }}\n </a>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"menus$ | async as menus\">\n <ng-container *ngIf=\"menus.length > 0\">\n <ul class=\"m-nav-links__list\">\n <ng-container *ngFor=\"let menu of menus\">\n <ng-container *ngIf=\"menu.module === 'supervision'\">\n <li *pryAccess=\"{ module: menu.module, page: menu.page }\" class=\"m-nav-links__list__item\">\n <a [routerLink]=\"menu.menu\" class=\"a-btn a-btn--secondary -width-full\" [routerLinkActive]=\"'is-active'\">\n {{ baseMenuTranslation + menu.menu | i18n }}\n </a>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </ng-container>\n </ng-container>\n</nav>\n" }]
998
1021
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
999
1022
 
1023
+ const DEFAULT_ICON_URL = '/assets/svgs/default.svg';
1024
+ const DEFAULT_RESTITUTION_ICON_URL = '/assets/svgs/default-restitution.svg';
1025
+ var IconPosition;
1026
+ (function (IconPosition) {
1027
+ IconPosition["FULL"] = "FULL";
1028
+ IconPosition["TOP_LEFT"] = "TOP_LEFT";
1029
+ IconPosition["TOP_RIGHT"] = "TOP_RIGHT";
1030
+ IconPosition["BOTTOM_LEFT"] = "BOTTOM_LEFT";
1031
+ IconPosition["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
1032
+ })(IconPosition || (IconPosition = {}));
1033
+ const compareOperationFunctions = {
1034
+ EQUALS: (a, b) => a === b,
1035
+ GREATER: (a, b) => parseInt(a, 10) > parseInt(b, 10),
1036
+ GREATER_OR_EQUAL: (a, b) => parseInt(a, 10) >= parseInt(b, 10),
1037
+ LOWER: (a, b) => parseInt(a, 10) < parseInt(b, 10),
1038
+ LOWER_OR_EQUAL: (a, b) => parseInt(a, 10) <= parseInt(b, 10),
1039
+ CONTAINS: (a, b) => (a + '').localeCompare(b + '') === 0
1040
+ };
1041
+
1000
1042
  class PryIconComponent {
1001
1043
  get iconSvgUrl() {
1002
1044
  return this._iconSvgUrl;
@@ -1040,6 +1082,9 @@ class PryIconComponent {
1040
1082
  const iconSvg = changes['iconSvg'];
1041
1083
  if (iconSvg) {
1042
1084
  this._iconSvg = iconSvg.currentValue;
1085
+ if (this._iconSvg === DEFAULT_ICON_URL) {
1086
+ this._iconSvg = 'default';
1087
+ }
1043
1088
  }
1044
1089
  const iconImage = changes['iconImage'];
1045
1090
  if (iconImage) {
@@ -1319,7 +1364,7 @@ const DashboardActions = {
1319
1364
  getCapability: createAction('[Widget map] Get Wms capability', props()),
1320
1365
  updateCapability: createAction('[Widget map] Store Wms capability', props()),
1321
1366
  addManifestMetadata: createAction('[Dashboard] Add manifest metadata', props()),
1322
- deleteManifestMetadata: createAction('[Dashboard] Add manifest metadata', props())
1367
+ deleteManifestMetadata: createAction('[Dashboard] Delete manifest metadata', props())
1323
1368
  };
1324
1369
 
1325
1370
  const ConfigActions = {
@@ -1350,7 +1395,10 @@ const ConfigActions = {
1350
1395
  loadChartOption: createAction('[Config] load chart option'),
1351
1396
  loadedChartOption: createAction('[config] loaded chart option', props()),
1352
1397
  updateChartOption: createAction('[Config] update chart option', props()),
1353
- updateMaxAttributesInTiles: createAction('[Config] update max attributes in tiles', props())
1398
+ updateMaxAttributesInTiles: createAction('[Config] update max attributes in tiles', props()),
1399
+ loadVersions: createAction('[about] Load Versions'),
1400
+ loadVersionsSuccess: createAction('[about] (bus) Load Versions Success', props()),
1401
+ loadVersionsFailure: createAction('[about] Load Versions Failure', props())
1354
1402
  };
1355
1403
 
1356
1404
  var VegaType;
@@ -1484,11 +1532,12 @@ const initialConfigState = {
1484
1532
  mapStyles: [],
1485
1533
  availableColors: defaultColors,
1486
1534
  overlayList: [],
1487
- breakpoint: 900,
1535
+ breakpoint: 700,
1488
1536
  defaultViewUsed: false,
1489
1537
  catalog: [],
1490
1538
  chartOption: ChartOptionDefault,
1491
- maxAttributesInTiles: 5
1539
+ maxAttributesInTiles: 5,
1540
+ versions: null
1492
1541
  };
1493
1542
  const configReducer = createReducer(initialConfigState, on(ConfigActions.defineUrls, (state, action) => ({
1494
1543
  ...state,
@@ -1586,27 +1635,14 @@ const configReducer = createReducer(initialConfigState, on(ConfigActions.defineU
1586
1635
  })), on(ConfigActions.updateMaxAttributesInTiles, (state, action) => ({
1587
1636
  ...state,
1588
1637
  maxAttributesInTiles: action.max
1638
+ })), on(ConfigActions.loadVersionsSuccess, (state, { versions }) => ({
1639
+ ...state,
1640
+ versions: versions
1641
+ })), on(ConfigActions.loadVersionsFailure, (state) => ({
1642
+ ...state,
1643
+ versions: null
1589
1644
  })));
1590
1645
 
1591
- const DEFAULT_ICON_URL = '/assets/svgs/default.svg';
1592
- const DEFAULT_RESTITUTION_ICON_URL = '/assets/svgs/default-restitution.svg';
1593
- var IconPosition;
1594
- (function (IconPosition) {
1595
- IconPosition["FULL"] = "FULL";
1596
- IconPosition["TOP_LEFT"] = "TOP_LEFT";
1597
- IconPosition["TOP_RIGHT"] = "TOP_RIGHT";
1598
- IconPosition["BOTTOM_LEFT"] = "BOTTOM_LEFT";
1599
- IconPosition["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
1600
- })(IconPosition || (IconPosition = {}));
1601
- const compareOperationFunctions = {
1602
- EQUALS: (a, b) => a === b,
1603
- GREATER: (a, b) => parseInt(a, 10) > parseInt(b, 10),
1604
- GREATER_OR_EQUAL: (a, b) => parseInt(a, 10) >= parseInt(b, 10),
1605
- LOWER: (a, b) => parseInt(a, 10) < parseInt(b, 10),
1606
- LOWER_OR_EQUAL: (a, b) => parseInt(a, 10) <= parseInt(b, 10),
1607
- CONTAINS: (a, b) => (a + '').localeCompare(b + '') === 0
1608
- };
1609
-
1610
1646
  const feature$7 = createFeatureSelector(configFeatureKey);
1611
1647
  const pryUrl = createSelector(feature$7, (state) => state?.pryUrl);
1612
1648
  const wsUrl = createSelector(feature$7, (state) => state?.wsUrl);
@@ -1640,10 +1676,10 @@ const addDefaultRuleIfNotPresent = (defs) => {
1640
1676
  }
1641
1677
  return newDefs;
1642
1678
  };
1643
- const iconDefinitions = createSelector(feature$7, (config) => (({
1679
+ const iconDefinitions = createSelector(feature$7, (config) => ({
1644
1680
  default: [{ iconUrl: DEFAULT_ICON_URL, iconSize: [25, 25] }],
1645
1681
  ...addDefaultRuleIfNotPresent(config.iconDefinitions)
1646
- }) ?? {}));
1682
+ } ?? {}));
1647
1683
  const tooltipDefinitions = createSelector(feature$7, (config) => config.tooltipDefinitions);
1648
1684
  const filterDefinitions = createSelector(feature$7, (config) => config.filterDefinitions);
1649
1685
  const tableDefaultAttributesDefinitions = createSelector(feature$7, (state) => state?.tableDefaultDefinitions);
@@ -1657,6 +1693,7 @@ const defaultViewGuardUsed = createSelector(feature$7, (config) => config.defaul
1657
1693
  const catalog = createSelector(feature$7, (config) => config.catalog);
1658
1694
  const chartOption = createSelector(feature$7, (config) => config.chartOption);
1659
1695
  const maxAttributesInTiles = createSelector(feature$7, (config) => config.maxAttributesInTiles);
1696
+ const selectVersions = createSelector(feature$7, (state) => state.versions);
1660
1697
  const ConfigSelectors = {
1661
1698
  feature: feature$7,
1662
1699
  pryUrl,
@@ -1683,7 +1720,8 @@ const ConfigSelectors = {
1683
1720
  catalog,
1684
1721
  chartOption,
1685
1722
  maxAttributesInTiles,
1686
- execUrl
1723
+ execUrl,
1724
+ selectVersions
1687
1725
  };
1688
1726
 
1689
1727
  const showAnimation = animation([style({ transform: '{{transform}}', opacity: 0 }), animate('{{transition}}')]);
@@ -3601,6 +3639,40 @@ class ConfigService {
3601
3639
  return of([]);
3602
3640
  }));
3603
3641
  }
3642
+ getAllVersions() {
3643
+ return combineLatest([
3644
+ this.store.select(ConfigSelectors.refUrl),
3645
+ this.store.select(ConfigSelectors.dataUrl),
3646
+ this.store.select(ConfigSelectors.replayUrl),
3647
+ this.store.select(ConfigSelectors.execUrl),
3648
+ this.store.select(ConfigSelectors.transfoUrl),
3649
+ this.store.select(ConfigSelectors.monitorUrl)
3650
+ ]).pipe(mergeMap(([ref, data, replay, exec, transfo, monitor]) => {
3651
+ const allVersions = [
3652
+ this.httpClient.get(encodeURI(`${ref}/about/version`)),
3653
+ this.httpClient.get(encodeURI(`${data}/about/version`)),
3654
+ this.httpClient.get(encodeURI(`${replay}/about/version`)),
3655
+ this.httpClient.get(encodeURI(`${exec}/about/version`)),
3656
+ this.httpClient.get(encodeURI(`${transfo}/about/version`)),
3657
+ this.httpClient.get(encodeURI(`${monitor}/about/version`)),
3658
+ this.httpClient
3659
+ .get(encodeURI(`/assets/pry.version`))
3660
+ .pipe(map((version) => ({ libVersion: version })))
3661
+ ];
3662
+ return forkJoin(allVersions).pipe(map(([refVersion, dataVersion, replayVersion, execVersion, tranfoVersion, monitorVersion, frontend]) => {
3663
+ const versions = {
3664
+ ref: refVersion,
3665
+ data: dataVersion,
3666
+ replay: replayVersion,
3667
+ exec: execVersion,
3668
+ transfo: tranfoVersion,
3669
+ monitor: monitorVersion,
3670
+ front: frontend
3671
+ };
3672
+ return versions;
3673
+ }));
3674
+ }));
3675
+ }
3604
3676
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigService, deps: [{ token: i1$2.HttpClient }, { token: i1.Store }, { token: PrySnackbarService }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3605
3677
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigService }); }
3606
3678
  }
@@ -3734,6 +3806,9 @@ class ConfigEffects {
3734
3806
  };
3735
3807
  return ConfigActions.loadedChartOption({ chartOption });
3736
3808
  })));
3809
+ this.loadVersions$ = createEffect(() => this.actions$.pipe(ofType(ConfigActions.loadVersions), mergeMap$1((action) => this.configService.getAllVersions().pipe(map$1((versionsData) => {
3810
+ return ConfigActions.loadVersionsSuccess({ versions: versionsData });
3811
+ }), catchError$1((error) => [ConfigActions.loadVersionsFailure({ error: error })])))));
3737
3812
  }
3738
3813
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects, deps: [{ token: i1$3.Actions }, { token: OpenMapTilesService }, { token: i1.Store }, { token: ConfigService }, { token: PrySnackbarService }, { token: PryI18nService }, { token: PryDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3739
3814
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ConfigEffects }); }
@@ -6854,7 +6929,8 @@ class BaseWidgetComponent extends SubscriptionnerDirective {
6854
6929
  }), distinctUntilChanged$1((p, c) => p.width === c.width && p.height === c.height), debounceTime(100), distinctUntilChanged$1((p, c) => p.width === c.width && p.height === c.height));
6855
6930
  }
6856
6931
  ngAfterViewChecked() {
6857
- this._widgetSize$.next({ width: this.el.nativeElement.offsetWidth, height: this.el.nativeElement.offsetHeight });
6932
+ const boundingRect = this.el.nativeElement.getBoundingClientRect();
6933
+ this._widgetSize$.next({ width: boundingRect.width, height: boundingRect.height });
6858
6934
  }
6859
6935
  toImage() {
6860
6936
  return Promise.reject('Not yet implemented');
@@ -8258,6 +8334,20 @@ class ToolboxManifestService extends SubscriptionnerDirective {
8258
8334
  },
8259
8335
  options: {},
8260
8336
  datasource: USE_CURRENT_RESULTSET
8337
+ },
8338
+ vega: {
8339
+ type: 'vega',
8340
+ layout: {
8341
+ x: 1,
8342
+ y: 1,
8343
+ height: 2,
8344
+ width: 3
8345
+ },
8346
+ options: {
8347
+ placeData: ['data', 0, 'values'],
8348
+ baseSpec: {}
8349
+ },
8350
+ datasource: USE_CURRENT_RESULTSET
8261
8351
  }
8262
8352
  });
8263
8353
  this.currentResultSet = [];
@@ -8336,21 +8426,6 @@ const defaultMenuStructure = [
8336
8426
  { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchart' }
8337
8427
  ]
8338
8428
  },
8339
- {
8340
- icon: 'show_chart',
8341
- label: '@pry.toolbox.sub.chart',
8342
- opened: false,
8343
- sub: [
8344
- { icon: 'bar_chart', label: '@pry.toolbox.barchart', type: 'barchartLegacy' },
8345
- { icon: 'bar_chart', label: '@pry.toolbox.histogram', type: 'histogramLegacy' },
8346
- { icon: 'show_chart', label: '@pry.toolbox.linechart', type: 'linechartLegacy' },
8347
- { icon: 'auto_graph', label: '@pry.toolbox.pointchart', type: 'pointchartLegacy' },
8348
- { icon: 'area_chart', label: '@pry.toolbox.areachart', type: 'areachartLegacy' },
8349
- { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchartLegacy' },
8350
- { icon: 'radar_chart', label: '@pry.toolbox.radarchart', type: 'radarchartLegacy' },
8351
- { icon: 'bubble-chart-line', label: '@pry.toolbox.circlechart', type: 'circlechartLegacy' }
8352
- ]
8353
- },
8354
8429
  {
8355
8430
  icon: 'toc',
8356
8431
  label: '@pry.toolbox.sub.other',
@@ -8360,7 +8435,8 @@ const defaultMenuStructure = [
8360
8435
  { icon: 'toc', label: '@pry.toolbox.detail', type: 'detail' },
8361
8436
  { icon: 'graph', label: '@pry.toolbox.graph', type: 'graph' },
8362
8437
  { icon: 'settings_applications', label: '@pry.toolbox.iframe', type: 'iframe' },
8363
- { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' }
8438
+ { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' },
8439
+ { icon: 'bar_chart', label: '@pry.toolbox.vega', type: 'vega' }
8364
8440
  ]
8365
8441
  }
8366
8442
  ];
@@ -8641,6 +8717,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
8641
8717
  args: [{ providedIn: 'root' }]
8642
8718
  }], ctorParameters: function () { return [{ type: PrySnackbarService }, { type: PryI18nService }]; } });
8643
8719
 
8720
+ class PryAboutComponent {
8721
+ constructor(store) {
8722
+ this.store = store;
8723
+ this.store.dispatch(ConfigActions.loadVersions());
8724
+ this.version$ = this.store.select(ConfigSelectors.selectVersions);
8725
+ }
8726
+ displayVersion(value) {
8727
+ const backVersion = value;
8728
+ if (backVersion.chartVersion) {
8729
+ return `${backVersion.chartVersion}[${backVersion.applicationVersion}]`;
8730
+ }
8731
+ const frontVersion = value;
8732
+ return frontVersion.libVersion;
8733
+ }
8734
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAboutComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
8735
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryAboutComponent, selector: "pry-about", ngImport: i0, template: "<div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n</div>\n<div class=\"description-tooltip title-tooltip\">\n <ul *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <li>{{ '@pry.about.' + version.key | i18n }} {{ displayVersion(version.value) }}</li>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
8736
+ }
8737
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAboutComponent, decorators: [{
8738
+ type: Component,
8739
+ args: [{ selector: 'pry-about', template: "<div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n</div>\n<div class=\"description-tooltip title-tooltip\">\n <ul *ngFor=\"let version of (version$ | async) ?? {} | keyvalue\">\n <li>{{ '@pry.about.' + version.key | i18n }} {{ displayVersion(version.value) }}</li>\n </ul>\n</div>\n" }]
8740
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
8741
+
8742
+ const PRY_ABOUT_COMPONENTS = [PryAboutComponent];
8743
+ class PryAboutModule {
8744
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8745
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PryAboutModule, declarations: [PryAboutComponent], imports: [CommonModule, PryIconModule, PryI18nModule], exports: [PryAboutComponent] }); }
8746
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAboutModule, imports: [CommonModule, PryIconModule, PryI18nModule] }); }
8747
+ }
8748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAboutModule, decorators: [{
8749
+ type: NgModule,
8750
+ args: [{
8751
+ imports: [CommonModule, PryIconModule, PryI18nModule],
8752
+ declarations: [...PRY_ABOUT_COMPONENTS],
8753
+ exports: [...PRY_ABOUT_COMPONENTS]
8754
+ }]
8755
+ }] });
8756
+
8644
8757
  class BusService {
8645
8758
  constructor(store, zone) {
8646
8759
  this.store = store;
@@ -8764,6 +8877,7 @@ class ManifestsComponent {
8764
8877
  const reader = new FileReader();
8765
8878
  reader.onload = (evt) => {
8766
8879
  this.store.dispatch(DashboardActions.saveManifest({
8880
+ id: v4(),
8767
8881
  name: file.name.replace('.json', ''),
8768
8882
  manifest: JSON.parse(evt.target?.result?.toString() ?? '{}')
8769
8883
  }));
@@ -9742,7 +9856,7 @@ class ManifestService {
9742
9856
  }
9743
9857
  save(name, manifest, visibility, id, description, image, cover) {
9744
9858
  return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/users/me/dashboards`), {
9745
- id: id === undefined || id.length === 0 ? v4() : id,
9859
+ id,
9746
9860
  name,
9747
9861
  description,
9748
9862
  manifest,
@@ -10282,9 +10396,17 @@ class DashboardEffects {
10282
10396
  })
10283
10397
  });
10284
10398
  })));
10285
- this.addManifestMetadata = createEffect(() => this.actions$.pipe(ofType(DashboardActions.addManifestMetadata), mergeMap$1((action) => this.manifestService
10286
- .addMetadata(action.presentationId, action.metadataId, action.value)
10287
- .pipe(map$1(() => DashboardActions.fetchManifestsList())))));
10399
+ this.addManifestMetadata = createEffect(() => this.actions$.pipe(ofType(DashboardActions.addManifestMetadata), mergeMap$1((action) => this.manifestService.addMetadata(action.presentationId, action.metadataId, action.value).pipe(map$1(() => DashboardActions.fetchManifestsList()), catchError((error) => {
10400
+ if (error.status === 404) {
10401
+ this.snackBar.open({
10402
+ type: 'error',
10403
+ message: this.translateService.instant('@pry.toolbox.manifest.saveErrorCode.SAVE_METADATA', {
10404
+ code: error.status
10405
+ })
10406
+ });
10407
+ }
10408
+ return throwError(() => error);
10409
+ })))));
10288
10410
  this.deleteManifestMetadata = createEffect(() => this.actions$.pipe(ofType(DashboardActions.deleteManifestMetadata), mergeMap$1((action) => this.manifestService
10289
10411
  .deleteMetadata(action.presentationId, action.metadataId)
10290
10412
  .pipe(map$1(() => DashboardActions.fetchManifestsList())))));
@@ -10584,6 +10706,12 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
10584
10706
  manifests: {
10585
10707
  ...state.manifests,
10586
10708
  list: action.manifests
10709
+ },
10710
+ presentation: {
10711
+ ...state.presentation,
10712
+ current: state.presentation.current
10713
+ ? action.manifests.find((manifest) => manifest.id === state.presentation.current?.id)
10714
+ : undefined
10587
10715
  }
10588
10716
  })), on(DashboardActions.updateStaticManifest, (state, action) => ({
10589
10717
  ...state,
@@ -11254,5 +11382,5 @@ function filterLoader(module, prop) {
11254
11382
  * Generated bundle index. Do not edit.
11255
11383
  */
11256
11384
 
11257
- export { AccordionComponent, AccordionItemComponent, Aggregation, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, DefaultViewGuard, DisplayMode, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, 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, NamedQueryUtils, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PryAccessDirective, PryAccessUtils, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, 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, PryTooltipDirective, 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, 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, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
11385
+ export { AccordionComponent, AccordionItemComponent, Aggregation, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, DefaultViewGuard, DisplayMode, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, 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, NamedQueryUtils, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessUtils, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, 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, PryTooltipDirective, 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, 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, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
11258
11386
  //# sourceMappingURL=provoly-dashboard.mjs.map