@provoly/dashboard 0.18.4 → 0.18.6

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 (99) hide show
  1. package/assets/svgs/clear_filter.svg +7 -6
  2. package/assets/svgs/refresh_filter.svg +6 -7
  3. package/dataset/style/_o-pry-dataset-card.scss +0 -1
  4. package/dataset/style/_o-pry-dataset-detail.scss +4 -0
  5. package/dataset/style/_o-pry-dataset.scss +1 -1
  6. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
  7. package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
  8. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  9. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  10. package/esm2022/dataset/style/css.component.mjs +2 -2
  11. package/esm2022/filters/date/date-filter.component.mjs +8 -4
  12. package/esm2022/filters/list/list-filter.component.mjs +4 -3
  13. package/esm2022/filters/number/number-filter.component.mjs +3 -3
  14. package/esm2022/filters/text/text-filter.component.mjs +3 -3
  15. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  16. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  17. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +5 -2
  18. package/esm2022/lib/core/store/data-source/datasource-utils.mjs +4 -2
  19. package/esm2022/lib/core/store/search/search.effects.mjs +2 -2
  20. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +10 -11
  21. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +8 -2
  22. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +11 -2
  23. package/esm2022/lib/dashboard/item-utils.mjs +1 -60
  24. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
  25. package/esm2022/lib/dashboard/store/dashboard.contants.mjs +2 -2
  26. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +14 -2
  27. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -1
  28. package/esm2022/presentation/components/presentation.component.mjs +3 -3
  29. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +3 -4
  30. package/esm2022/presentation/i18n/en.translations.mjs +2 -2
  31. package/esm2022/presentation/i18n/fr.translations.mjs +2 -2
  32. package/esm2022/presentation/style/css.component.mjs +2 -2
  33. package/esm2022/restitution/style/css.component.mjs +2 -2
  34. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  35. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +45 -8
  36. package/esm2022/widgets/widget-aggregated-chart/style/css.component.mjs +2 -2
  37. package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +39 -38
  38. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +12 -12
  39. package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
  40. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +262 -216
  41. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
  42. package/esm2022/widgets/widget-table/style/css.component.mjs +2 -2
  43. package/fesm2022/provoly-dashboard-admin.mjs +2 -2
  44. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  45. package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
  46. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  47. package/fesm2022/provoly-dashboard-dataset.mjs +6 -6
  48. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  49. package/fesm2022/provoly-dashboard-filters-date.mjs +7 -3
  50. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-filters-list.mjs +3 -2
  52. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
  54. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
  56. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-presentation.mjs +9 -9
  58. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
  60. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
  62. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  63. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +46 -9
  64. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  65. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +377 -331
  66. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  67. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +4 -4
  68. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  69. package/fesm2022/provoly-dashboard.mjs +88 -99
  70. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  71. package/filters/date/date-filter.component.d.ts +1 -0
  72. package/lib/core/i18n/en.translations.d.ts +1 -0
  73. package/lib/core/i18n/fr.translations.d.ts +1 -0
  74. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
  75. package/lib/dashboard/filter/base-filter.component.d.ts +5 -1
  76. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +5 -2
  77. package/lib/dashboard/item-utils.d.ts +0 -8
  78. package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
  79. package/lib/dashboard/store/dashboard.contants.d.ts +1 -1
  80. package/lib/dashboard/store/dashboard.effects.d.ts +1 -1
  81. package/package.json +7 -7
  82. package/presentation/style/_o-pry-new-presentation.scss +1 -1
  83. package/presentation/style/_o-pry-presentation.scss +7 -1
  84. package/styles/components/_a-btn.scss +14 -13
  85. package/styles/components/_a-color-picker.scss +1 -0
  86. package/styles/components/_a-table.scss +1 -1
  87. package/styles/components/_m-filter.scss +57 -2
  88. package/styles/components/_m-form-label-field.scss +6 -0
  89. package/styles/components/_o-about.scss +1 -1
  90. package/styles/components/_o-widget.scss +4 -2
  91. package/styles/layout/_o-workspace.scss +23 -1
  92. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +10 -1
  93. package/styles-theme/components-theme/_m-filter.theme.scss +41 -2
  94. package/styles-theme/components-theme/_m-tooltip.theme.scss +2 -2
  95. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +1 -1
  96. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -0
  97. package/widgets/widget-aggregated-chart/style/_o-widget-chart.scss +5 -0
  98. package/widgets/widget-map/utils/widget-map.utils.d.ts +23 -17
  99. package/widgets/widget-table/style/_o-widget-table.scss +15 -0
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, SubscriptionnerDirective } from '@provoly/dashboard';\nimport { combineLatest, debounceTime, startWith, Subject } from 'rxjs';\nimport { distinctUntilChanged, skipWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n value$ = new Subject<string>();\n date1?: string;\n date2?: string;\n date1$ = new Subject<string>();\n date2$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n ngOnInit() {\n if (this.filter?.hasDateRange) {\n this.date1 = (this.filter?.value ?? '').toString().split(',')[0];\n this.date2 = (this.filter?.value ?? '').toString().split(',')[1];\n // subscription responsible for sending api requests\n this.subscriptions.add(\n combineLatest([\n this.date1$.pipe(debounceTime(1000), startWith(this.date1)),\n this.date2$.pipe(debounceTime(1000), startWith(this.date2))\n ])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n if (date1 && date2) {\n this.setFilter(date1 + ',' + date2);\n } else if (!date1 && !date2) {\n this.setFilter('');\n }\n })\n );\n // subscription responsible for updating the ui\n this.subscriptions.add(\n combineLatest([this.date1$.pipe(startWith(this.date1)), this.date2$.pipe(startWith(this.date2))])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n this.date1 = date1 ? date1 : '';\n this.date2 = date2 ? date2 : '';\n })\n );\n } else {\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(1000)).subscribe((value) => this.setFilter(value))\n );\n }\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n\n clearDate(index: number) {\n if (index === 1) {\n this.date1$.next('');\n } else {\n this.date2$.next('');\n }\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">x</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n <ng-template #dateRange>\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"date1\"\n (ngModelChange)=\"date1$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!date1\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">x</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"date2\"\n (ngModelChange)=\"date2$.next($event)\"\n type=\"date\"\n class=\"a-form-field\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!date2\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(2)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, SubscriptionnerDirective } from '@provoly/dashboard';\nimport { combineLatest, debounceTime, startWith, Subject } from 'rxjs';\nimport { distinctUntilChanged, skipWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n value$ = new Subject<string>();\n date1?: string;\n date2?: string;\n date1$ = new Subject<string>();\n date2$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.hasDateRange) {\n this.date1 = (this.filter?.value ?? '').toString().split(',')[0];\n this.date2 = (this.filter?.value ?? '').toString().split(',')[1];\n // subscription responsible for dispatching filter value to the store\n this.subscriptions.add(\n combineLatest([\n this.date1$.pipe(debounceTime(1000), startWith(this.date1)),\n this.date2$.pipe(debounceTime(1000), startWith(this.date2))\n ])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n if (date1 && date2) {\n this.setFilter(date1 + ',' + date2);\n } else if (!date1 && !date2) {\n this.setFilter('');\n }\n })\n );\n // subscription responsible for updating the ui\n this.subscriptions.add(\n combineLatest([this.date1$.pipe(startWith(this.date1)), this.date2$.pipe(startWith(this.date2))])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n this.date1 = date1 ? date1 : '';\n this.date2 = date2 ? date2 : '';\n })\n );\n } else {\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(1000)).subscribe((value) => this.setFilter(value))\n );\n }\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n\n changeValue($event: string) {\n this.value$.next($event);\n }\n\n clearDate(index: number) {\n if (index === 1) {\n this.date1$.next('');\n } else {\n this.date2$.next('');\n }\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"changeValue($event)\"\n type=\"date\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input\"\n [ngModel]=\"date1\"\n (ngModelChange)=\"date1$.next($event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!date1\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input\"\n [ngModel]=\"date2\"\n (ngModelChange)=\"date2$.next($event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!date2\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(2)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ class ListFilterComponent extends BaseFilterComponent {
24
24
  this.type = 'list';
25
25
  }
26
26
  ngOnInit() {
27
+ super.ngOnInit();
27
28
  if (this.filter?.possibleValues) {
28
29
  this.possibleValues = [...new Set(this.filter?.possibleValues.split(',').map((value) => value.trim()))];
29
30
  }
@@ -33,11 +34,11 @@ class ListFilterComponent extends BaseFilterComponent {
33
34
  super.updateFilter(value);
34
35
  }
35
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ListFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-form-label-field -width-sm -list\" *ngIf=\"filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <pry-select\n class=\"a-pry-select\"\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: PryListFilterCssComponent, selector: "pry-list-filter-css" }] }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: PryListFilterCssComponent, selector: "pry-list-filter-css" }] }); }
37
38
  }
38
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ListFilterComponent, decorators: [{
39
40
  type: Component,
40
- args: [{ selector: 'pry-list-filter', template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-form-label-field -width-sm -list\" *ngIf=\"filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <pry-select\n class=\"a-pry-select\"\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n" }]
41
+ args: [{ selector: 'pry-list-filter', template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n" }]
41
42
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
42
43
 
43
44
  class PryListFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-list.mjs","sources":["../../../../projects/provoly/dashboard/filters/list/style/css.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.html","../../../../projects/provoly/dashboard/filters/list/list-filter.module.ts","../../../../projects/provoly/dashboard/filters/list/provoly-dashboard-filters-list.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-list-filter-css',\n template: '',\n styleUrls: ['./_m-list.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryListFilterCssComponent {}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-list-filter',\n templateUrl: './list-filter.component.html'\n})\nexport class ListFilterComponent extends BaseFilterComponent implements OnInit {\n possibleValues: string[] = [];\n\n constructor(store: Store) {\n super(store);\n this.type = 'list';\n }\n\n ngOnInit() {\n if (this.filter?.possibleValues) {\n this.possibleValues = [...new Set(this.filter?.possibleValues.split(',').map((value) => value.trim()))];\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) super.updateFilter(value);\n }\n}\n","<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-form-label-field -width-sm -list\" *ngIf=\"filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <pry-select\n class=\"a-pry-select\"\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PrySelectModule } from '@provoly/dashboard';\nimport { ListFilterComponent } from './list-filter.component';\nimport { PryListFilterCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [ListFilterComponent, PryListFilterCssComponent],\n exports: [ListFilterComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule]\n})\nexport class PryListFilterModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return ListFilterComponent as Type<ListFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.PryListFilterCssComponent"],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-list.mjs","sources":["../../../../projects/provoly/dashboard/filters/list/style/css.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.html","../../../../projects/provoly/dashboard/filters/list/list-filter.module.ts","../../../../projects/provoly/dashboard/filters/list/provoly-dashboard-filters-list.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-list-filter-css',\n template: '',\n styleUrls: ['./_m-list.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryListFilterCssComponent {}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-list-filter',\n templateUrl: './list-filter.component.html'\n})\nexport class ListFilterComponent extends BaseFilterComponent implements OnInit {\n possibleValues: string[] = [];\n\n constructor(store: Store) {\n super(store);\n this.type = 'list';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.possibleValues) {\n this.possibleValues = [...new Set(this.filter?.possibleValues.split(',').map((value) => value.trim()))];\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) super.updateFilter(value);\n }\n}\n","<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PrySelectModule } from '@provoly/dashboard';\nimport { ListFilterComponent } from './list-filter.component';\nimport { PryListFilterCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [ListFilterComponent, PryListFilterCssComponent],\n exports: [ListFilterComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule]\n})\nexport class PryListFilterModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return ListFilterComponent as Type<ListFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.PryListFilterCssComponent"],"mappings":"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"}
@@ -22,11 +22,11 @@ class NumberFilterComponent extends BaseFilterComponent {
22
22
  super.updateFilter(value);
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: NumberFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: NumberFilterComponent, selector: "pry-number-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: NumberFilterComponent, selector: "pry-number-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: NumberFilterComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'pry-number-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
29
+ args: [{ selector: 'pry-number-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
30
30
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
31
31
 
32
32
  class PryNumberFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-number.mjs","sources":["../../../../projects/provoly/dashboard/filters/number/number-filter.component.ts","../../../../projects/provoly/dashboard/filters/number/number-filter.component.html","../../../../projects/provoly/dashboard/filters/number/number-filter.module.ts","../../../../projects/provoly/dashboard/filters/number/provoly-dashboard-filters-number.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-number-filter',\n templateUrl: './number-filter.component.html'\n})\nexport class NumberFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'number';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { NumberFilterComponent } from './number-filter.component';\n\n@NgModule({\n declarations: [NumberFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [NumberFilterComponent]\n})\nexport class PryNumberFilterModule extends BaseFilterModule {\n override getComponent() {\n return NumberFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-number.mjs","sources":["../../../../projects/provoly/dashboard/filters/number/number-filter.component.ts","../../../../projects/provoly/dashboard/filters/number/number-filter.component.html","../../../../projects/provoly/dashboard/filters/number/number-filter.module.ts","../../../../projects/provoly/dashboard/filters/number/provoly-dashboard-filters-number.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-number-filter',\n templateUrl: './number-filter.component.html'\n})\nexport class NumberFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'number';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"number\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { NumberFilterComponent } from './number-filter.component';\n\n@NgModule({\n declarations: [NumberFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [NumberFilterComponent]\n})\nexport class PryNumberFilterModule extends BaseFilterModule {\n override getComponent() {\n return NumberFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -25,11 +25,11 @@ class TextFilterComponent extends BaseFilterComponent {
25
25
  this.value$.next($event);
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: TextFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: TextFilterComponent, selector: "pry-text-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: TextFilterComponent, selector: "pry-text-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: TextFilterComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'pry-text-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
32
+ args: [{ selector: 'pry-text-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
33
33
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
34
34
 
35
35
  class PryTextFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-text.mjs","sources":["../../../../projects/provoly/dashboard/filters/text/text-filter.component.ts","../../../../projects/provoly/dashboard/filters/text/text-filter.component.html","../../../../projects/provoly/dashboard/filters/text/text-filter.module.ts","../../../../projects/provoly/dashboard/filters/text/provoly-dashboard-filters-text.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-filter',\n templateUrl: './text-filter.component.html'\n})\nexport class TextFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string | undefined>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'text';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string | undefined) {\n super.updateFilter(value);\n }\n\n valueChange($event: any) {\n this.value$.next($event);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <div class=\"m-filter__wrapper\">\n <input\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n class=\"a-form-field\"\n />\n <span\n *ngIf=\"!!filter.value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { TextFilterComponent } from './text-filter.component';\n\n@NgModule({\n declarations: [TextFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [TextFilterComponent]\n})\nexport class PryTextFilterModule extends BaseFilterModule {\n override getComponent() {\n return TextFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-text.mjs","sources":["../../../../projects/provoly/dashboard/filters/text/text-filter.component.ts","../../../../projects/provoly/dashboard/filters/text/text-filter.component.html","../../../../projects/provoly/dashboard/filters/text/text-filter.module.ts","../../../../projects/provoly/dashboard/filters/text/provoly-dashboard-filters-text.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-filter',\n templateUrl: './text-filter.component.html'\n})\nexport class TextFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string | undefined>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'text';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string | undefined) {\n super.updateFilter(value);\n }\n\n valueChange($event: any) {\n this.value$.next($event);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n type=\"text\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { TextFilterComponent } from './text-filter.component';\n\n@NgModule({\n declarations: [TextFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [TextFilterComponent]\n})\nexport class PryTextFilterModule extends BaseFilterModule {\n override getComponent() {\n return TextFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import * as i4 from '@provoly/dashboard';
8
8
  import { SubscriptionnerDirective, DEFAULT_RESTITUTION_ICON_URL, LibraryTypes, DashboardGridLayout, DashboardSelectors, DashboardActions, ViewMode, PryVisibilityType, DisplayMode, PryIconModule, PryCoreModule, PryDashboardModule, PrySelectModule, PryShareModule, PryOverlayModule, PryI18nModule } from '@provoly/dashboard';
9
9
  import * as i6 from '@provoly/dashboard/components/checkbox';
10
10
  import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
11
- import * as i4$2 from '@provoly/dashboard/components/sinceDate';
11
+ import * as i9 from '@provoly/dashboard/components/sinceDate';
12
12
  import { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';
13
13
  import * as i5 from '@provoly/dashboard/toolbox';
14
14
  import { PryToolboxModule } from '@provoly/dashboard/toolbox';
@@ -187,20 +187,20 @@ class PryTitlePresentationComponent {
187
187
  }));
188
188
  }
189
189
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryTitlePresentationComponent, deps: [{ token: i1.Store }, { token: i4.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryTitlePresentationComponent, selector: "pry-title-presentation", ngImport: i0, template: "<div class=\"title-container\">\n <h1 class=\"a-h1 a-presentation-title\">{{ presentationTitle$ | async }}</h1>\n <ng-container *ngIf=\"presentation$ | async as presentation\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n <p class=\"a-p\">{{ presentation.description }}</p>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4$2.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }] }); }
190
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryTitlePresentationComponent, selector: "pry-title-presentation", ngImport: i0, template: "<div class=\"title-container\">\n <h1 class=\"a-h1 a-presentation-title\">{{ presentationTitle$ | async }}</h1>\n <ng-container *ngIf=\"presentation$ | async as presentation\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div *ngIf=\"!!presentation.description\" class=\"description-tooltip title-tooltip\">\n <p class=\"a-p\">{{ presentation.description }}</p>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }] }); }
191
191
  }
192
192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryTitlePresentationComponent, decorators: [{
193
193
  type: Component,
194
- args: [{ selector: 'pry-title-presentation', template: "<div class=\"title-container\">\n <h1 class=\"a-h1 a-presentation-title\">{{ presentationTitle$ | async }}</h1>\n <ng-container *ngIf=\"presentation$ | async as presentation\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n <p class=\"a-p\">{{ presentation.description }}</p>\n </div>\n </ng-container>\n</div>\n" }]
194
+ args: [{ selector: 'pry-title-presentation', template: "<div class=\"title-container\">\n <h1 class=\"a-h1 a-presentation-title\">{{ presentationTitle$ | async }}</h1>\n <ng-container *ngIf=\"presentation$ | async as presentation\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div *ngIf=\"!!presentation.description\" class=\"description-tooltip title-tooltip\">\n <p class=\"a-p\">{{ presentation.description }}</p>\n </div>\n </ng-container>\n</div>\n" }]
195
195
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i4.PryI18nService }]; } });
196
196
 
197
197
  class PryPresentationCssComponent {
198
198
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPresentationCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPresentationCssComponent, selector: "pry-presentation-css", ngImport: i0, template: '', isInline: true, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation__metadata-editor pry-metadata-editor ng-select{position:relative;width:100%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:15px}.a-presentation__search{position:relative}.a-presentation__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item .a-tooltip{align-items:center;width:100%;height:100%}.o-presentation__item__image{width:auto;cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPresentationCssComponent, selector: "pry-presentation-css", ngImport: i0, template: '', isInline: true, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation__metadata-editor pry-metadata-editor ng-select{position:relative;width:100%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}.a-presentation__search{position:relative}.a-presentation__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item .a-tooltip{align-items:center;width:100%;height:100%}.o-presentation__item__image{width:auto;cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px;color:#3e546a}.title-container{display:flex}.title-container .h-1{padding-top:0;padding-bottom:0}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem;border:1px solid #3E546A}\n"], encapsulation: i0.ViewEncapsulation.None }); }
200
200
  }
201
201
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPresentationCssComponent, decorators: [{
202
202
  type: Component,
203
- args: [{ selector: 'pry-presentation-css', template: '', encapsulation: ViewEncapsulation.None, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation__metadata-editor pry-metadata-editor ng-select{position:relative;width:100%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:15px}.a-presentation__search{position:relative}.a-presentation__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item .a-tooltip{align-items:center;width:100%;height:100%}.o-presentation__item__image{width:auto;cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}\n"] }]
203
+ args: [{ selector: 'pry-presentation-css', template: '', encapsulation: ViewEncapsulation.None, styles: ["pry-add-edit-presentation{height:100%}.o-manifest-layout__content--presentation{width:100%;display:flex;flex-direction:column;padding:20px;text-align:left}.o-manifest-layout__content--presentation .a-h1{line-height:38px;font-size:28px;text-align:left}.o-manifest-layout__content--presentation .a-btn{margin:0 auto}.o-manifest-layout__toolbox{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.9375rem}.o-manifest-layout__toolbox .a-btn{border-radius:22px}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation__metadata-editor{flex:1 50%}.o-presentation__metadata-editor pry-metadata-editor ng-select{position:relative;width:100%}.o-presentation-form{display:flex;flex-direction:column;align-items:center;flex:1 50%}.o-presentation-form .a-presentation-form-input{padding:.25rem .75rem;margin-bottom:.75rem}.o-presentation-form .o-file-input{border:1px dashed black;display:flex;flex-direction:column;align-items:center;width:100%;padding:2.5rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.a-presentation-title{padding:10px}.a-presentation__search{position:relative}.a-presentation__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item .a-tooltip{align-items:center;width:100%;height:100%}.o-presentation__item__image{width:auto;cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px;color:#3e546a}.title-container{display:flex}.title-container .h-1{padding-top:0;padding-bottom:0}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem;border:1px solid #3E546A}\n"] }]
204
204
  }] });
205
205
 
206
206
  class PryPresentationComponent extends SubscriptionnerDirective {
@@ -354,11 +354,11 @@ class PryPresentationComponent extends SubscriptionnerDirective {
354
354
  this.submit.nativeElement.focus();
355
355
  }
356
356
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPresentationComponent, deps: [{ token: i1.Store }, { token: i2$1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.Router }, { token: i0.NgZone }, { token: i4.PryTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
357
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPresentationComponent, selector: "pry-presentation", inputs: { editionStartUrl: "editionStartUrl", consultStartUrl: "consultStartUrl", meAsOwner: "meAsOwner" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["modal"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }, { propertyName: "submit", first: true, predicate: ["submit"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "crossVisibility", first: true, predicate: ["crossVisibility"], descendants: true }, { propertyName: "visibilityModal", first: true, predicate: ["visibilityModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.create' | i18n\"\n data-tooltip-position=\"bottom\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"a-presentation__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.presentation.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.manifest.title' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let presentation of filteredPresentations$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"presentation.visibility.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n [iconSvg]=\"presentation.visibility.type.toLowerCase()\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\n [class.is-full-width]=\"presentation.cover\"\n [src]=\"presentation.image | getSecuredImage | async\"\n (click)=\"fetch(presentation)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n <div class=\"a-p\">\n <div class=\"description-container\">\n <span class=\"description\">\n {{ presentation.description }}\n </span>\n <div class=\"description-tooltip\">{{ presentation.description }}</div>\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n\n <div class=\"o-presentation__item__footer\">\n <ul class=\"m-actions-list\">\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.homeView' | i18n\"\n (click)=\"default(presentation.id, presentation.name)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'default' }\"\n >\n <pry-icon [iconSvg]=\"presentation.default ? 'home-fill' : 'home-line'\"></pry-icon>\n <span class=\"u-visually-hidden\"></span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.change' | i18n\"\n (click)=\"edit(presentation)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.edition' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n (click)=\"toggleModal(presentation)\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.share' | i18n\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n <pry-icon iconSvg=\"share\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.share' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.erase' | i18n\"\n #openModal\n (click)=\"delete(presentation.id)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #crossVisibility\n (keydown.shift.tab)=\"focusValidation()\"\n (click)=\"toggleModal()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-share [ngModel]=\"selectedPresentation.visibility\" (ngModelChange)=\"visibility = $event\"></pry-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #submit\n (keydown.tab)=\"focusCrossElement()\"\n (click)=\"changeVisibility(selectedPresentation)\"\n >\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "directive", type: i4$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.PryShareComponent, selector: "pry-share", inputs: ["value", "labelProperty", "valueProperty", "users$"] }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: ["edition", "editionStartUrl", "selectedPresentation"], outputs: ["goBack"] }, { kind: "component", type: PryPresentationCssComponent, selector: "pry-presentation-css" }, { kind: "pipe", type: i4.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i4$2.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }] }); }
357
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPresentationComponent, selector: "pry-presentation", inputs: { editionStartUrl: "editionStartUrl", consultStartUrl: "consultStartUrl", meAsOwner: "meAsOwner" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["modal"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }, { propertyName: "submit", first: true, predicate: ["submit"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "crossVisibility", first: true, predicate: ["crossVisibility"], descendants: true }, { propertyName: "visibilityModal", first: true, predicate: ["visibilityModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.create' | i18n\"\n data-tooltip-position=\"bottom\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"a-presentation__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.presentation.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.title' | i18n }}</h1>\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let presentation of filteredPresentations$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"presentation.visibility.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n [iconSvg]=\"presentation.visibility.type.toLowerCase()\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\n [class.is-full-width]=\"presentation.cover\"\n [src]=\"presentation.image | getSecuredImage | async\"\n (click)=\"fetch(presentation)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n <div class=\"a-p\">\n <div class=\"description-container\">\n <span class=\"description\">\n {{ presentation.description }}\n </span>\n <div class=\"description-tooltip\">{{ presentation.description }}</div>\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n\n <div class=\"o-presentation__item__footer\">\n <ul class=\"m-actions-list\">\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.homeView' | i18n\"\n (click)=\"default(presentation.id, presentation.name)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'default' }\"\n >\n <pry-icon [iconSvg]=\"presentation.default ? 'home-fill' : 'home-line'\"></pry-icon>\n <span class=\"u-visually-hidden\"></span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.change' | i18n\"\n (click)=\"edit(presentation)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.edition' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n (click)=\"toggleModal(presentation)\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.share' | i18n\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n <pry-icon iconSvg=\"share\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.share' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.erase' | i18n\"\n #openModal\n (click)=\"delete(presentation.id)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #crossVisibility\n (keydown.shift.tab)=\"focusValidation()\"\n (click)=\"toggleModal()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-share [ngModel]=\"selectedPresentation.visibility\" (ngModelChange)=\"visibility = $event\"></pry-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #submit\n (keydown.tab)=\"focusCrossElement()\"\n (click)=\"changeVisibility(selectedPresentation)\"\n >\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "directive", type: i4$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i4.PryShareComponent, selector: "pry-share", inputs: ["value", "labelProperty", "valueProperty", "users$"] }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: ["edition", "editionStartUrl", "selectedPresentation"], outputs: ["goBack"] }, { kind: "component", type: PryPresentationCssComponent, selector: "pry-presentation-css" }, { kind: "pipe", type: i4.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i9.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6$1.AsyncPipe, name: "async" }] }); }
358
358
  }
359
359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPresentationComponent, decorators: [{
360
360
  type: Component,
361
- args: [{ selector: 'pry-presentation', template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.create' | i18n\"\n data-tooltip-position=\"bottom\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"a-presentation__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.presentation.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.manifest.title' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let presentation of filteredPresentations$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"presentation.visibility.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n [iconSvg]=\"presentation.visibility.type.toLowerCase()\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\n [class.is-full-width]=\"presentation.cover\"\n [src]=\"presentation.image | getSecuredImage | async\"\n (click)=\"fetch(presentation)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n <div class=\"a-p\">\n <div class=\"description-container\">\n <span class=\"description\">\n {{ presentation.description }}\n </span>\n <div class=\"description-tooltip\">{{ presentation.description }}</div>\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n\n <div class=\"o-presentation__item__footer\">\n <ul class=\"m-actions-list\">\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.homeView' | i18n\"\n (click)=\"default(presentation.id, presentation.name)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'default' }\"\n >\n <pry-icon [iconSvg]=\"presentation.default ? 'home-fill' : 'home-line'\"></pry-icon>\n <span class=\"u-visually-hidden\"></span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.change' | i18n\"\n (click)=\"edit(presentation)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.edition' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n (click)=\"toggleModal(presentation)\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.share' | i18n\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n <pry-icon iconSvg=\"share\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.share' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.erase' | i18n\"\n #openModal\n (click)=\"delete(presentation.id)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #crossVisibility\n (keydown.shift.tab)=\"focusValidation()\"\n (click)=\"toggleModal()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-share [ngModel]=\"selectedPresentation.visibility\" (ngModelChange)=\"visibility = $event\"></pry-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #submit\n (keydown.tab)=\"focusCrossElement()\"\n (click)=\"changeVisibility(selectedPresentation)\"\n >\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
361
+ args: [{ selector: 'pry-presentation', template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n class=\"a-btn a-btn--primary a-btn--icon-text a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.create' | i18n\"\n data-tooltip-position=\"bottom\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"a-presentation__search\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.presentation.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n </div>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.title' | i18n }}</h1>\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let presentation of filteredPresentations$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"presentation.visibility.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n [iconSvg]=\"presentation.visibility.type.toLowerCase()\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\n [class.is-full-width]=\"presentation.cover\"\n [src]=\"presentation.image | getSecuredImage | async\"\n (click)=\"fetch(presentation)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n <div class=\"a-p\">\n <div class=\"description-container\">\n <span class=\"description\">\n {{ presentation.description }}\n </span>\n <div class=\"description-tooltip\">{{ presentation.description }}</div>\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n\n <div class=\"o-presentation__item__footer\">\n <ul class=\"m-actions-list\">\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.homeView' | i18n\"\n (click)=\"default(presentation.id, presentation.name)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'default' }\"\n >\n <pry-icon [iconSvg]=\"presentation.default ? 'home-fill' : 'home-line'\"></pry-icon>\n <span class=\"u-visually-hidden\"></span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.change' | i18n\"\n (click)=\"edit(presentation)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.edition' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n (click)=\"toggleModal(presentation)\"\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.share' | i18n\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n <pry-icon iconSvg=\"share\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.share' | i18n }}</span>\n </button>\n </li>\n <li>\n <button\n class=\"a-btn a-btn--icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.presentation.erase' | i18n\"\n #openModal\n (click)=\"delete(presentation.id)\"\n [disabled]=\"!presentation.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.presentation.delete' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"selectedPresentation$ | async\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n #visibilityModal\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog change visibility\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #crossVisibility\n (keydown.shift.tab)=\"focusValidation()\"\n (click)=\"toggleModal()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-share [ngModel]=\"selectedPresentation.visibility\" (ngModelChange)=\"visibility = $event\"></pry-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"toggleModal()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #submit\n (keydown.tab)=\"focusCrossElement()\"\n (click)=\"changeVisibility(selectedPresentation)\"\n >\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
362
362
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2$1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.Router }, { type: i0.NgZone }, { type: i4.PryTitleService }]; }, propDecorators: { template: [{
363
363
  type: ViewChild,
364
364
  args: ['modal', { read: TemplateRef }]
@@ -428,7 +428,7 @@ const enTranslations = {
428
428
  delete: 'Delete',
429
429
  backToCatalog: 'Back to catalog',
430
430
  search: 'Search',
431
- title: 'Presentations'
431
+ title: 'Presentation catalog'
432
432
  }
433
433
  }
434
434
  };
@@ -471,7 +471,7 @@ const frTranslations = {
471
471
  delete: 'Supprimer',
472
472
  backToCatalog: 'Revenir au catalogue',
473
473
  search: 'Rechercher',
474
- title: 'Présentations'
474
+ title: 'Catalogue de présentations'
475
475
  }
476
476
  }
477
477
  };