@provoly/dashboard 0.25.7 → 0.25.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/components/page-loader/index.d.ts +5 -0
  2. package/components/page-loader/page-loader.component.d.ts +7 -0
  3. package/components/page-loader/page-loader.module.d.ts +7 -0
  4. package/components/page-loader/public-api.d.ts +2 -0
  5. package/components/text-editor/text-editor.module.d.ts +1 -2
  6. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +3 -2
  7. package/dataset/i18n/en.translations.d.ts +6 -0
  8. package/dataset/i18n/fr.translations.d.ts +6 -0
  9. package/dataset/style/_o-pry-dataset-detail.scss +5 -4
  10. package/esm2022/components/page-loader/page-loader.component.mjs +15 -0
  11. package/esm2022/components/page-loader/page-loader.module.mjs +16 -0
  12. package/esm2022/components/page-loader/provoly-dashboard-components-page-loader.mjs +5 -0
  13. package/esm2022/components/page-loader/public-api.mjs +3 -0
  14. package/esm2022/components/text-editor/text-editor.module.mjs +25 -5
  15. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +14 -5
  16. package/esm2022/dataset/i18n/en.translations.mjs +9 -3
  17. package/esm2022/dataset/i18n/fr.translations.mjs +9 -3
  18. package/esm2022/dataset/style/css.component.mjs +2 -2
  19. package/esm2022/lib/core/components/edit-input/edit-input.component.mjs +12 -4
  20. package/esm2022/lib/core/i18n/en.translations.mjs +3 -3
  21. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -3
  22. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  23. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  24. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +4 -1
  25. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +24 -2
  26. package/esm2022/lib/core/store/data-source/data-source.service.mjs +6 -1
  27. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  28. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
  29. package/esm2022/lib/dashboard/store/manifest.service.mjs +4 -3
  30. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +8 -5
  31. package/esm2022/presentation/presentation.module.mjs +8 -4
  32. package/esm2022/presentation/style/css.component.mjs +2 -2
  33. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +6 -4
  34. package/esm2022/toolbox/toolbox.module.mjs +8 -4
  35. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +21 -5
  36. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -2
  37. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +2 -2
  38. package/fesm2022/provoly-dashboard-components-page-loader.mjs +35 -0
  39. package/fesm2022/provoly-dashboard-components-page-loader.mjs.map +1 -0
  40. package/fesm2022/provoly-dashboard-components-text-editor.mjs +24 -4
  41. package/fesm2022/provoly-dashboard-components-text-editor.mjs.map +1 -1
  42. package/fesm2022/provoly-dashboard-dataset.mjs +31 -10
  43. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-presentation.mjs +16 -9
  45. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-toolbox.mjs +11 -6
  47. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +22 -6
  49. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard.mjs +65 -14
  51. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  52. package/lib/core/components/edit-input/edit-input.component.d.ts +2 -1
  53. package/lib/core/model/manifest.interface.d.ts +1 -1
  54. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +1 -1
  55. package/lib/core/store/data-source/data-source.actions.d.ts +15 -0
  56. package/lib/core/store/data-source/data-source.effects.d.ts +14 -6
  57. package/lib/core/store/data-source/data-source.service.d.ts +1 -0
  58. package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
  59. package/lib/dashboard/store/dashboard.effects.d.ts +0 -1
  60. package/lib/dashboard/store/dashboard.selectors.d.ts +0 -8
  61. package/lib/dashboard/store/manifest.service.d.ts +1 -1
  62. package/package.json +7 -1
  63. package/presentation/presentation.module.d.ts +2 -1
  64. package/presentation/style/_o-pry-new-presentation.scss +9 -1
  65. package/styles/components/_m-form-label-field.scss +0 -11
  66. package/styles/components/_o-modal.scss +2 -0
  67. package/styles/components/_o-page-loader.scss +34 -0
  68. package/styles/components/_o-pry-edit.scss +17 -16
  69. package/styles/components/_o-text-panel.scss +0 -2
  70. package/styles/main.scss +1 -0
  71. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +13 -0
  72. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +2 -2
  73. package/toolbox/toolbox.module.d.ts +2 -1
  74. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +2 -1
@@ -276,7 +276,7 @@ const enTranslations$1 = {
276
276
  NAME_ALREADY_USED: 'A restitution called "{{name}}" already exists, please select another name.'
277
277
  }
278
278
  },
279
- about: 'About',
279
+ about: 'Information',
280
280
  edit: 'Modify layout',
281
281
  editOff: 'Visualize layout',
282
282
  launch: 'New tab',
@@ -551,7 +551,7 @@ const enTranslations$1 = {
551
551
  value: 'Value',
552
552
  values: 'Values',
553
553
  validate: 'Confirm',
554
- limit: 'Autocomplete proposals',
554
+ limit: 'Number of auto-suggested values',
555
555
  dateRange: 'Date range'
556
556
  },
557
557
  attributes: {
@@ -675,7 +675,7 @@ const frTranslations$1 = {
675
675
  },
676
676
  saved: 'Présentation {{viewId}} sauvegardée'
677
677
  },
678
- about: 'À propos',
678
+ about: 'Informations',
679
679
  edit: 'Modifier la disposition',
680
680
  editOff: 'Visualiser la disposition',
681
681
  launch: 'Nouvelle page',
@@ -951,7 +951,7 @@ const frTranslations$1 = {
951
951
  value: 'Valeur',
952
952
  values: 'Valeurs',
953
953
  validate: 'Valider',
954
- limit: 'Nombre de suggestions',
954
+ limit: "Nombre de suggestions proposées à l'utilisateur",
955
955
  dateRange: 'Plage de dates'
956
956
  },
957
957
  attributes: {
@@ -2206,7 +2206,11 @@ const enTranslations = {
2206
2206
  INACTIVE: 'Invalid',
2207
2207
  ERROR: 'Error',
2208
2208
  ACTIVE: 'Available',
2209
- currentlyActive: 'Active'
2209
+ currentlyActive: 'Active',
2210
+ delete: {
2211
+ title: 'Delete version',
2212
+ message: 'Deleting this version will remove associated data. Are you sure you want to delete it?'
2213
+ }
2210
2214
  },
2211
2215
  form: {
2212
2216
  obligatory: 'Obligatory field',
@@ -2218,7 +2222,9 @@ const enTranslations = {
2218
2222
  ERROR: 'Consult errors',
2219
2223
  WARNING: 'Consult warnings',
2220
2224
  LOADING: '',
2221
- INDEXING: ''
2225
+ INDEXING: '',
2226
+ delete: 'Delete',
2227
+ cancel: 'Cancel'
2222
2228
  },
2223
2229
  error: {
2224
2230
  type: 'Type',
@@ -2287,7 +2293,11 @@ const frTranslations = {
2287
2293
  INACTIVE: 'Invalide',
2288
2294
  ERROR: 'En erreur',
2289
2295
  ACTIVE: 'Disponible',
2290
- currentlyActive: 'Actif'
2296
+ currentlyActive: 'Actif',
2297
+ delete: {
2298
+ title: 'Supprimer une version',
2299
+ message: 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'
2300
+ }
2291
2301
  },
2292
2302
  form: {
2293
2303
  obligatory: 'Champ obligatoire',
@@ -2299,7 +2309,9 @@ const frTranslations = {
2299
2309
  ERROR: 'Consulter erreurs',
2300
2310
  WARNING: 'Consulter warnings',
2301
2311
  LOADING: '',
2302
- INDEXING: ''
2312
+ INDEXING: '',
2313
+ delete: 'Supprimer',
2314
+ cancel: 'Annuler'
2303
2315
  },
2304
2316
  error: {
2305
2317
  ERROR: 'Erreur',
@@ -2406,6 +2418,9 @@ const DataSourceActions = {
2406
2418
  },
2407
2419
  updateDatasetVersionInfo: createAction('[Dataset] Update Dataset version info', props()),
2408
2420
  updateDatasetVersionInfoSuccess: createAction('[Dataset] Update Dataset version info success', props()),
2421
+ confirmDeleteVersion: createAction('[Dataset] confirm Delete datasetVersion', props()),
2422
+ deleteVersion: createAction('[Dataset] Delete datasetVersion', props()),
2423
+ deleteVersionFailure: createAction('[Dataset] Delete datasetVersion failure', props())
2409
2424
  }
2410
2425
  };
2411
2426
 
@@ -4399,6 +4414,11 @@ class DataSourceService {
4399
4414
  productionDate: version.productionDate
4400
4415
  })));
4401
4416
  }
4417
+ deleteDatasetVersion(version) {
4418
+ return this.store
4419
+ .select(ConfigSelectors.refUrl)
4420
+ .pipe(switchMap((url) => this.httpClient.delete(encodeURI(`${url}/dataset-versions/id/${version.id}`))));
4421
+ }
4402
4422
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceService, deps: [{ token: i1.Store }, { token: i1$2.HttpClient }, { token: PryI18nService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4403
4423
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceService, providedIn: 'root' }); }
4404
4424
  }
@@ -4529,7 +4549,29 @@ class DataSourceEffects {
4529
4549
  this.activateDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.activateDatasetVersion), switchMap((action) => this.dataSourceService.activateDatasetVersion(action.versionId).pipe(map((datasetVersion) => DataSourceActions.dataset.activateDatasetVersionSuccess({ datasetVersion })), catchError((error) => [DataSourceActions.dataset.activateDatasetVersionFailure({ error })])))));
4530
4550
  this.activateOrDeactivateDatasetVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.activateDatasetVersionSuccess, DataSourceActions.dataset.deactivateDatasetVersionSuccess), map((action) => DataSourceActions.dataset.listVersions())));
4531
4551
  this.previewsGetById$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.previews.getById), switchMap((action) => this.dataSourceService.getPreviews(action.id).pipe(map((previews) => DataSourceActions.dataset.previews.getByIdSuccess({ previews })), catchError((error) => [DataSourceActions.dataset.previews.getByIdFailure({ error })])))));
4532
- this.updateDatasetVersionInfo = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.updateDatasetVersionInfo), switchMap((action) => this.dataSourceService.updateDatasetVersionInfo(action.version).pipe(map((previews) => DataSourceActions.dataset.updateDatasetVersionInfoSuccess({ version: action.version }))))));
4552
+ this.updateDatasetVersionInfo = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.updateDatasetVersionInfo), switchMap((action) => this.dataSourceService
4553
+ .updateDatasetVersionInfo(action.version)
4554
+ .pipe(map((previews) => DataSourceActions.dataset.updateDatasetVersionInfoSuccess({ version: action.version }))))));
4555
+ this.confirmDeleteDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.confirmDeleteVersion), tap$1((action) => {
4556
+ const data = {
4557
+ title: '@pry.dataset.version.delete.title',
4558
+ message: '@pry.dataset.version.delete.message',
4559
+ actions: [
4560
+ {
4561
+ id: 0,
4562
+ label: '@pry.dataset.buttonAction.delete',
4563
+ actions: [DataSourceActions.dataset.deleteVersion({ version: action.version })]
4564
+ },
4565
+ {
4566
+ id: 1,
4567
+ label: '@pry.dataset.buttonAction.cancel',
4568
+ color: 'secondary'
4569
+ }
4570
+ ]
4571
+ };
4572
+ this.pryDialog.open(PryDialogConfirmComponent, { data });
4573
+ })), { dispatch: false });
4574
+ this.deleteDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deleteVersion), switchMap((action) => this.dataSourceService.deleteDatasetVersion(action.version).pipe(mergeMap(() => [DataSourceActions.dataset.listVersionsByDatasetId({ id: action.version.dataset })]), catchError((err) => [DataSourceActions.dataset.deleteVersionFailure({ err })])))));
4533
4575
  }
4534
4576
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceEffects, deps: [{ token: i1$3.Actions }, { token: SearchService }, { token: DataSourceService }, { token: PrySnackbarService }, { token: PryI18nService }, { token: i1.Store }, { token: PryDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4535
4577
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DataSourceEffects }); }
@@ -6432,6 +6474,11 @@ class PryEditInputComponent {
6432
6474
  if (this.editMode === false) {
6433
6475
  this.validated.emit(this.value);
6434
6476
  }
6477
+ else {
6478
+ setTimeout(() => {
6479
+ this.input?.nativeElement.focus();
6480
+ });
6481
+ }
6435
6482
  }
6436
6483
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryEditInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6437
6484
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryEditInputComponent, selector: "pry-edit-input", inputs: { label: "label", editButtonTooltip: "editButtonTooltip", confirmButtonTooltip: "confirmButtonTooltip" }, outputs: { validated: "validated" }, providers: [
@@ -6440,7 +6487,7 @@ class PryEditInputComponent {
6440
6487
  useExisting: forwardRef(() => PryEditInputComponent),
6441
6488
  multi: true
6442
6489
  }
6443
- ], ngImport: i0, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"m-form-label-field__edit-inline\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <p class=\"m-form-label-field__edit-inline__txtvalue\" *ngIf=\"!editMode\">\n {{ value }}\n </p>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6490
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"o-pry-edit__wrapper\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <div class=\"o-pry-edit__value u-display-flex -align-center\" *ngIf=\"!editMode\">\n {{ value }}\n </div>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field o-pry-edit__input\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n #input\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6444
6491
  }
6445
6492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryEditInputComponent, decorators: [{
6446
6493
  type: Component,
@@ -6450,7 +6497,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
6450
6497
  useExisting: forwardRef(() => PryEditInputComponent),
6451
6498
  multi: true
6452
6499
  }
6453
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"m-form-label-field__edit-inline\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <p class=\"m-form-label-field__edit-inline__txtvalue\" *ngIf=\"!editMode\">\n {{ value }}\n </p>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n" }]
6500
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-pry-edit\" [class.-edit]=\"editMode\">\n <label id=\"edit-input-label-{{ id }}\" for=\"edit-input-{{ id }}\" class=\"a-label\">\n {{ label | i18n }}\n <span class=\"u-visually-hidden\">({{ label | i18n }})</span>\n </label>\n <div class=\"o-pry-edit__wrapper\" (mouseenter)=\"showButton = true\" (mouseleave)=\"showButton = false\">\n <div class=\"o-pry-edit__value u-display-flex -align-center\" *ngIf=\"!editMode\">\n {{ value }}\n </div>\n <input\n *ngIf=\"editMode\"\n id=\"edit-input-{{ id }}\"\n type=\"text\"\n class=\"a-form-field o-pry-edit__input\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n #input\n />\n <button\n [class.-button-visible]=\"showButton || editMode\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only -size-xs a-tooltip\"\n (click)=\"toggle()\"\n [attr.data-tooltip]=\"(editMode ? confirmButtonTooltip : editButtonTooltip) | i18n\"\n data-tooltip-position=\"left\"\n >\n <pry-icon [width]=\"16\" [height]=\"16\" [iconSvg]=\"editMode ? 'check' : 'edit'\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.theme.editInput.toggle' | i18n }}</span>\n </button>\n </div>\n</div>\n" }]
6454
6501
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { label: [{
6455
6502
  type: Input
6456
6503
  }], editButtonTooltip: [{
@@ -6459,6 +6506,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
6459
6506
  type: Input
6460
6507
  }], validated: [{
6461
6508
  type: Output
6509
+ }], input: [{
6510
+ type: ViewChild,
6511
+ args: ['input']
6462
6512
  }] } });
6463
6513
 
6464
6514
  const PRY_CARD_COMPONENTS = [PryEditInputComponent];
@@ -10800,7 +10850,7 @@ class ManifestService {
10800
10850
  .select(ConfigSelectors.refUrl)
10801
10851
  .pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/users/me/dashboards/id/${id}/manifest`))));
10802
10852
  }
10803
- save(name, manifest, id, description, image, metadata, groups) {
10853
+ save(name, manifest, id, description, image, metadata, groups, additionalInformation) {
10804
10854
  return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => {
10805
10855
  return this.httpClient.post(encodeURI(`${url}/users/me/dashboards`), {
10806
10856
  id,
@@ -10811,7 +10861,8 @@ class ManifestService {
10811
10861
  cover: true,
10812
10862
  metadata,
10813
10863
  datasource: ManifestUtils.getDatasourcesUsedByManifest(manifest).map((ds) => ds.datasetId),
10814
- groups
10864
+ groups,
10865
+ additionalInformation
10815
10866
  });
10816
10867
  }));
10817
10868
  }
@@ -11148,7 +11199,7 @@ class DashboardEffects {
11148
11199
  });
11149
11200
  })), { dispatch: false });
11150
11201
  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
11151
- .save(action.name, action.manifest ?? currentManifest, action.id, action.description, action.image, action.metadata, action.groups)
11202
+ .save(action.name, action.manifest ?? currentManifest, action.id, action.description, action.image, action.metadata, action.groups, action.additionalInformation)
11152
11203
  .pipe(tap((response) => {
11153
11204
  this.snackBar.open({
11154
11205
  message: this.translateService.instant('@pry.toolbox.manifest.saved', { viewId: action.name }),