@provoly/dashboard 0.15.6 → 0.15.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/admin/i18n/en.translations.d.ts +1 -0
  2. package/admin/i18n/fr.translations.d.ts +1 -0
  3. package/assets/svgs/arrow-left-s-fill.svg +1 -0
  4. package/assets/svgs/arrow-right-s-fill.svg +1 -0
  5. package/assets/svgs/skip-left-fill.svg +1 -0
  6. package/assets/svgs/skip-right-fill.svg +1 -0
  7. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +8 -5
  8. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +15 -13
  9. package/esm2022/admin/i18n/en.translations.mjs +3 -2
  10. package/esm2022/admin/i18n/fr.translations.mjs +3 -2
  11. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +4 -4
  12. package/esm2022/dataset/components/dataset.component.mjs +3 -2
  13. package/esm2022/lib/core/auth/geoAuth.service.mjs +11 -7
  14. package/esm2022/lib/core/model/admin-api.model.mjs +1 -1
  15. package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +7 -4
  16. package/esm2022/lib/dashboard/resultset-utils.mjs +17 -2
  17. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  18. package/esm2022/lib/dashboard/store/manifest.service.mjs +1 -1
  19. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +2 -2
  20. package/esm2022/presentation/components/presentation.component.mjs +8 -4
  21. package/esm2022/presentation/i18n/en.translations.mjs +3 -2
  22. package/esm2022/presentation/i18n/fr.translations.mjs +3 -2
  23. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
  24. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +1 -1
  25. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
  26. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
  27. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +1 -1
  28. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +19 -11
  29. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +43 -5
  30. package/esm2022/widgets/widget-table/i18n/en.translations.mjs +3 -2
  31. package/esm2022/widgets/widget-table/i18n/fr.translations.mjs +3 -2
  32. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
  33. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +1 -1
  34. package/fesm2022/provoly-dashboard-admin.mjs +25 -18
  35. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  36. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +3 -3
  37. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  38. package/fesm2022/provoly-dashboard-dataset.mjs +2 -1
  39. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  40. package/fesm2022/provoly-dashboard-presentation.mjs +12 -6
  41. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  42. package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
  43. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1 -1
  45. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  47. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  49. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +1 -1
  51. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +18 -10
  53. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +46 -6
  55. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
  57. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
  59. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard.mjs +32 -10
  61. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  62. package/lib/core/model/admin-api.model.d.ts +2 -0
  63. package/lib/dashboard/components/widgets/settings/settings.component.d.ts +2 -1
  64. package/lib/dashboard/store/dashboard.actions.d.ts +2 -2
  65. package/lib/dashboard/store/manifest.service.d.ts +1 -1
  66. package/package.json +13 -13
  67. package/presentation/components/presentation.component.d.ts +3 -2
  68. package/presentation/i18n/en.translations.d.ts +1 -0
  69. package/presentation/i18n/fr.translations.d.ts +1 -0
  70. package/styles/components/_a-table.scss +33 -2
  71. package/widgets/widget-map/component/widget-map.component.d.ts +4 -2
  72. package/widgets/widget-table/component/widget-table.component.d.ts +14 -1
  73. package/widgets/widget-table/i18n/en.translations.d.ts +1 -0
  74. package/widgets/widget-table/i18n/fr.translations.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-presentation.mjs","sources":["../../../../projects/provoly/dashboard/presentation/components/add-edit-presentation/add-edit-presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/add-edit-presentation/add-edit-presentation.component.html","../../../../projects/provoly/dashboard/presentation/components/title-presentation/title-presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/title-presentation/title-presentation.component.html","../../../../projects/provoly/dashboard/presentation/style/css.component.ts","../../../../projects/provoly/dashboard/presentation/components/presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/presentation.component.html","../../../../projects/provoly/dashboard/presentation/i18n/en.translations.ts","../../../../projects/provoly/dashboard/presentation/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/presentation/presentation.module.ts","../../../../projects/provoly/dashboard/presentation/provoly-dashboard-presentation.ts"],"sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, OnInit, Optional, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardGridLayout,\n DashboardSelectors,\n DEFAULT_RESTITUTION_ICON_URL,\n GlobalManifest,\n LibraryTypes,\n ManifestDescription,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, debounceTime, Observable, take } from 'rxjs';\nimport { MetadataActions, MetaEventType } from '@provoly/dashboard/components/metadata-editor';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Component({\n selector: 'pry-add-edit-presentation',\n templateUrl: './add-edit-presentation.component.html'\n})\nexport class PryAddEditPresentationComponent extends SubscriptionnerDirective implements OnInit, AfterViewInit {\n staticManifest$: Observable<GlobalManifest>;\n selectedPresentation$ = new BehaviorSubject<ManifestDescription | null>(null);\n @Input() edition: boolean = false;\n @Input() editionStartUrl: string = '/';\n form!: FormGroup;\n image: string = DEFAULT_RESTITUTION_ICON_URL;\n @Output() goBack = new EventEmitter<void>();\n type: LibraryTypes = LibraryTypes.ILLUSTRATION;\n chosenLayout: DashboardGridLayout = DashboardGridLayout.FULL;\n\n @Input() set selectedPresentation(presentation: ManifestDescription | null) {\n this.selectedPresentation$.next(presentation);\n }\n\n constructor(protected store: Store, @Optional() protected router: Router) {\n super();\n this.store.dispatch(MetadataActions.loadMetadata());\n this.staticManifest$ = this.store.select(DashboardSelectors.staticManifest);\n combineLatest([this.staticManifest$, this.store.select(DashboardSelectors.gridLayout)]).subscribe(\n ([staticManifest, gridLayout]) => {\n this.chosenLayout =\n this.edition && staticManifest.windows[0]?.grid?.layout !== undefined\n ? staticManifest.windows[0]?.grid?.layout\n : gridLayout;\n }\n );\n }\n\n ngOnInit(): void {\n this.form = new FormGroup({\n name: new FormControl(null, [Validators.required, Validators.maxLength(50)]),\n description: new FormControl(null, [Validators.maxLength(200)]),\n cover: new FormControl(false)\n });\n this.image = this.selectedPresentation$.value?.image ?? DEFAULT_RESTITUTION_ICON_URL;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.selectedPresentation$.value) this.form.patchValue(this.selectedPresentation$.value);\n });\n }\n\n save() {\n const presentation = {\n ...this.selectedPresentation$.value!,\n id: this.selectedPresentation$.value?.id || uuidv4(),\n name: this.form.value.name ?? '',\n description: this.form.value.description ?? '',\n cover: this.form.value.cover ?? false,\n image: this.image ?? DEFAULT_RESTITUTION_ICON_URL\n };\n if (!this.edition) {\n this.store.dispatch(DashboardActions.updateStaticManifest({ staticManifest: { windows: [] } }));\n }\n this.subscriptions.add(\n this.staticManifest$.pipe(take(1)).subscribe((staticManifest) => {\n this.store.dispatch(\n DashboardActions.saveManifest({\n ...presentation,\n metadata: presentation.metadata?.map((metadata) => ({\n id: metadata.metadataDef.id,\n value: metadata.value\n })),\n manifest: staticManifest\n })\n );\n })\n );\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation,\n viewMode: ViewMode.EDITION\n })\n );\n }\n\n configureDashboard(selectedPresentation: ManifestDescription) {\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation: {\n ...this.selectedPresentation$.value!,\n name: this.form.value.name ?? '',\n description: this.form.value.description ?? '',\n image: this.image ?? DEFAULT_RESTITUTION_ICON_URL,\n cover: this.form.value.cover ?? false\n },\n viewMode: this.edition ? ViewMode.CREATION : ViewMode.EDITION\n })\n );\n if (!this.edition) {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: { windows: [{ widgets: [], grid: { layout: this.chosenLayout } }] },\n selectedIds: [],\n manifestId: selectedPresentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: { windows: [{ widgets: [], grid: { layout: this.chosenLayout as DashboardGridLayout } }] }\n })\n );\n this.router?.navigateByUrl(this.editionStartUrl);\n } else {\n this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(debounceTime(1000), take(1))\n .subscribe((staticManifest: GlobalManifest) => {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: staticManifest,\n selectedIds: [],\n manifestId: selectedPresentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: staticManifest\n })\n );\n this.store.dispatch(DashboardActions.followManifestRoute());\n this.router?.navigateByUrl(this.editionStartUrl);\n });\n }\n }\n\n addMetadata(metadata: MetaEventType) {\n this.store.dispatch(\n DashboardActions.addManifestMetadata({\n presentationId: this.selectedPresentation$.value?.id!,\n metadataId: metadata.metadataId,\n value: metadata.value ?? ''\n })\n );\n }\n\n removeMetadata(metadata: MetaEventType) {\n this.store.dispatch(\n DashboardActions.deleteManifestMetadata({\n presentationId: this.selectedPresentation$.value?.id!,\n metadataId: metadata.metadataId\n })\n );\n }\n\n close() {\n this.goBack.emit();\n }\n}\n","<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n <pry-metadata-editor\n [targetId]=\"selectedPresentation.id\"\n [isModification]=\"true\"\n [metadata]=\"selectedPresentation.metadata\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </div>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"form.invalid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { map, Observable } from 'rxjs';\nimport { DashboardSelectors, ManifestDescription, PryI18nService } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-title-presentation',\n templateUrl: './title-presentation.component.html'\n})\nexport class PryTitlePresentationComponent {\n presentation$: Observable<ManifestDescription | null>;\n presentationTitle$: Observable<string | null>;\n\n constructor(private store: Store, private i18nService: PryI18nService) {\n this.presentation$ = this.store.select(DashboardSelectors.presentation).pipe(\n map((presentation) => {\n if (presentation.current) {\n return presentation.current;\n }\n return null;\n })\n );\n\n this.presentationTitle$ = this.presentation$.pipe(\n map((presentation) => {\n if (presentation) {\n return presentation.name;\n }\n return this.i18nService.instant('@pry.header.noCurrentPresentation');\n })\n );\n }\n}\n","<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","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-presentation-css',\n template: '',\n styleUrls: ['./_o-pry-new-presentation.scss', './_o-pry-presentation.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryPresentationCssComponent {}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, NgZone, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardGridLayout,\n DashboardManifest,\n DashboardSelectors,\n DisplayMode,\n GlobalManifest,\n ManifestDescription,\n PryVisibility,\n PryVisibilityType,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, debounceTime, map, Observable, take } from 'rxjs';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'pry-presentation',\n templateUrl: './presentation.component.html'\n})\nexport class PryPresentationComponent extends SubscriptionnerDirective {\n manifests$: Observable<ManifestDescription[]>;\n selectedPresentation$ = new BehaviorSubject<ManifestDescription | null>(null);\n presentation?: ManifestDescription;\n staticManifest$?: Observable<DashboardManifest>;\n selectedMode: ViewMode = ViewMode.CATALOG;\n modalOpened = false;\n @ViewChild('modal', { read: TemplateRef }) template!: TemplateRef<any>;\n @ViewChild('templateModal', { read: TemplateRef }) templateModal!: TemplateRef<any>;\n @ViewChild('openModal') openModal!: ElementRef<HTMLButtonElement>;\n @ViewChild('confirm') confirm!: ElementRef<HTMLButtonElement>;\n @ViewChild('submit') submit!: ElementRef<HTMLButtonElement>;\n @ViewChild('cross') cross!: ElementRef<HTMLButtonElement>;\n @ViewChild('crossVisibility') crossVisibility!: ElementRef<HTMLButtonElement>;\n @ViewChild('visibilityModal') visibilityModal!: ElementRef;\n overlayRef?: OverlayRef;\n visibility: PryVisibility = { type: PryVisibilityType.PRIVATE };\n PryVisibilityType = PryVisibilityType;\n @Input() editionStartUrl: string = '/';\n @Input() consultStartUrl: string = '/';\n @Input() meAsOwner?: string;\n ViewMode = ViewMode;\n search$ = new BehaviorSubject('');\n filteredPresentations$: Observable<ManifestDescription[]>;\n\n constructor(\n protected store: Store<any>,\n protected overlay: Overlay,\n protected viewContainerRef: ViewContainerRef,\n protected router: Router,\n protected ngZone: NgZone\n ) {\n super();\n this.store.dispatch(DashboardActions.fetchManifestsList());\n this.manifests$ = this.store\n .select(DashboardSelectors.manifestsList)\n .pipe(\n map((manifestList) =>\n [...manifestList].sort((a, b) =>\n a.modificationDate ? b.modificationDate.localeCompare(a.modificationDate) : 1\n )\n )\n );\n this.staticManifest$ = this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(map((staticM) => staticM.windows[0]));\n this.filteredPresentations$ = combineLatest([this.manifests$, this.search$]).pipe(\n map(([presentations, search]) =>\n presentations.filter(\n (presentations) =>\n search.length === 0 ||\n presentations.description.toLowerCase().includes(search.toLowerCase()) ||\n presentations.name.toLowerCase().includes(search.toLowerCase())\n )\n )\n );\n this.subscriptions.add(\n this.store.select(DashboardSelectors.presentation).subscribe((presentation) => {\n if (!!presentation.current) {\n this.selectedPresentation$.next(presentation.current ?? null);\n this.selectedMode = presentation?.viewMode ?? this.ViewMode.CATALOG;\n }\n })\n );\n }\n\n closeRestitution() {\n this.selectedPresentation$.next(null);\n this.selectedMode = ViewMode.CATALOG;\n this.store.dispatch(DashboardActions.selectPresentation({ presentation: undefined, viewMode: ViewMode.CATALOG }));\n }\n\n fetch(presentation: ManifestDescription) {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: { windows: [] },\n selectedIds: []\n })\n );\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation: presentation,\n viewMode: ViewMode.CATALOG\n })\n );\n this.store.dispatch(DashboardActions.fetchStaticManifest({ id: presentation.id }));\n this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(debounceTime(1000), take(1))\n .subscribe((staticManifest: GlobalManifest) => {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: staticManifest,\n selectedIds: [],\n manifestId: presentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: staticManifest\n })\n );\n });\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CONSULT }));\n this.store.dispatch(DashboardActions.followManifestRoute());\n this.ngZone.run(() => {\n this.router?.navigateByUrl(this.consultStartUrl);\n });\n }\n\n creation() {\n this.selectedMode = ViewMode.CREATION;\n this.store.dispatch(DashboardActions.updateManifest({ manifest: { windows: [] }, selectedIds: [] }));\n const newPresentation = {\n presentation: {\n id: v4(),\n name: '',\n description: '',\n visibility: { type: PryVisibilityType.PRIVATE },\n owner: true\n } as ManifestDescription,\n viewMode: ViewMode.CREATION\n };\n this.store.dispatch(DashboardActions.selectPresentation(newPresentation));\n this.store.dispatch(DashboardActions.setGridLayout({ layout: DashboardGridLayout.FULL }));\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CREATE }));\n }\n\n edit(presentation: ManifestDescription) {\n this.selectedMode = ViewMode.EDITION;\n this.selectedPresentation$.next(presentation);\n this.store.dispatch(DashboardActions.selectPresentation({ presentation, viewMode: ViewMode.EDITION }));\n this.store.dispatch(DashboardActions.fetchStaticManifest({ id: presentation.id }));\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.EDIT }));\n }\n\n delete(id: string) {\n this.store.dispatch(DashboardActions.confirmManifestDeletion({ id }));\n }\n\n default(id: string, name: string) {\n this.store.dispatch(DashboardActions.defaultManifest({ id, name }));\n }\n\n toggleModal(presentation?: ManifestDescription | null) {\n this.modalOpened = !this.modalOpened;\n if (this.modalOpened && presentation) {\n this.selectedPresentation$.next(presentation);\n this.store.dispatch(DashboardActions.selectPresentation({ presentation, viewMode: ViewMode.CATALOG }));\n /* we need to load manifest in order to be able to save it later */\n this.store.dispatch(DashboardActions.loadManifest({ id: presentation.id }));\n this.overlayRef = this.overlay.create(\n new OverlayConfig({\n hasBackdrop: true,\n panelClass: ['o-modal-wrapper'],\n backdropClass: 'backdrop'\n })\n );\n this.overlayRef.backdropClick().subscribe(() => this.toggleModal(presentation));\n this.overlayRef.attach(new TemplatePortal(this.template, this.viewContainerRef));\n setTimeout(() => {\n const focus = this.visibilityModal.nativeElement.children[0].children[1].firstElementChild as HTMLButtonElement;\n focus.focus();\n }, 10);\n } else {\n this.overlayRef?.dispose();\n this.selectedPresentation$.next(null);\n }\n }\n\n changeVisibility(presentation?: ManifestDescription) {\n if (presentation) {\n this.store.dispatch(\n DashboardActions.saveManifest({\n id: presentation.id ?? '',\n name: presentation.name ?? '',\n description: presentation.description ?? '',\n image: presentation.image ?? '',\n visibility: this.visibility\n })\n );\n }\n this.toggleModal(presentation);\n }\n\n focusCrossElement() {\n if (this.crossVisibility) {\n this.crossVisibility?.nativeElement.focus();\n }\n this.cross?.nativeElement.focus();\n }\n\n focusValidation() {\n if (this.confirm) {\n this.confirm.nativeElement.focus();\n }\n this.submit.nativeElement.focus();\n }\n}\n","<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 [class.is-full-width]=\"presentation.cover\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\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","export const enTranslations = {\n '@pry': {\n presentation: {\n add: {\n pageTitle: 'Add presentation description',\n submit: 'Save dashboard'\n },\n edit: {\n pageTitle: 'Change dashboard description',\n submit: 'Save dashboard'\n },\n form: {\n name: 'Title',\n description: 'Description',\n image: 'Image',\n dragDrop: 'Drag and drop',\n or: 'or',\n categories: 'Categories',\n categoryInput: 'Add categories',\n grid: 'Current grid: ',\n cover: 'Image will cover the whole presentation card'\n },\n share: 'Share',\n view: 'Consult the presentation',\n private: 'Private presentation',\n homeView: 'Show on homepage',\n erase: 'Delete presentation',\n change: 'Modify the presentation',\n create: 'Create a presentation',\n configuration: 'Build presentation',\n required: 'This field is required',\n maxLength: 'Allowed length : {{len}}',\n edition: 'Edit',\n delete: 'Delete',\n backToCatalog: 'Back to catalog',\n search: 'Search'\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n presentation: {\n add: {\n pageTitle: 'Renseigner la description de la présentation',\n info: 'Informations',\n submit: 'Enregistrer'\n },\n edit: {\n pageTitle: 'Changer la description du tableau de bord',\n submit: 'Sauvegarder le tableau de bord'\n },\n form: {\n name: 'Titre',\n description: 'Description',\n image: 'Image d’illustration',\n dragDrop: 'Glisser - Déposer',\n or: 'ou',\n categories: 'Catégories',\n categoryInput: 'Saisir la/les catégories',\n grid: 'Grille actuelle: ',\n cover: \"L'image doit couvrir la carte de la présentation\"\n },\n share: 'Partager',\n view: 'Consulter la presentation',\n private: 'Présentation privée',\n homeView: \"Afficher en page d'accueil\",\n erase: 'Supprimer la presentation',\n change: 'Modifier la presentation',\n create: 'Créer une présentation',\n configuration: 'Construire la presentation',\n required: 'Ce champ est requis',\n maxLength: 'Nombre de caractères autorisés : {{len}}',\n edition: 'Éditer',\n delete: 'Supprimer',\n backToCatalog: 'Revenir au catalogue',\n search: 'Rechercher'\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryOverlayModule,\n PrySelectModule,\n PryShareModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';\nimport { PryToolboxModule } from '@provoly/dashboard/toolbox';\nimport { PryAddEditPresentationComponent } from './components/add-edit-presentation/add-edit-presentation.component';\nimport { PryTitlePresentationComponent } from './components/title-presentation/title-presentation.component';\nimport { PryPresentationComponent } from './components/presentation.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryPresentationCssComponent } from './style/css.component';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { PryExpandPanelModule } from '@provoly/dashboard/components/metadata-editor';\n\n@NgModule({\n providers: [],\n declarations: [\n PryPresentationComponent,\n PryAddEditPresentationComponent,\n PryTitlePresentationComponent,\n PryPresentationCssComponent\n ],\n imports: [\n PryIconModule,\n PryCoreModule,\n PryDashboardModule,\n ReactiveFormsModule,\n PrySelectModule,\n PrySinceDateModule,\n PryShareModule,\n FormsModule,\n PryOverlayModule,\n PryI18nModule,\n PryToolboxModule,\n PryCheckboxModule,\n CommonModule,\n A11yModule,\n PryExpandPanelModule\n ],\n exports: [\n PryPresentationComponent,\n PryAddEditPresentationComponent,\n PryTitlePresentationComponent,\n PryPresentationCssComponent\n ]\n})\nexport class PryPresentationModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'presentation', frTranslations);\n this.pryTranslateService.addLangObject('en', 'presentation', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i3","i4","i7","i2","i5","i6","i7.PryAddEditPresentationComponent","i8.PryPresentationCssComponent","i9","i1"],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-presentation.mjs","sources":["../../../../projects/provoly/dashboard/presentation/components/add-edit-presentation/add-edit-presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/add-edit-presentation/add-edit-presentation.component.html","../../../../projects/provoly/dashboard/presentation/components/title-presentation/title-presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/title-presentation/title-presentation.component.html","../../../../projects/provoly/dashboard/presentation/style/css.component.ts","../../../../projects/provoly/dashboard/presentation/components/presentation.component.ts","../../../../projects/provoly/dashboard/presentation/components/presentation.component.html","../../../../projects/provoly/dashboard/presentation/i18n/en.translations.ts","../../../../projects/provoly/dashboard/presentation/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/presentation/presentation.module.ts","../../../../projects/provoly/dashboard/presentation/provoly-dashboard-presentation.ts"],"sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, OnInit, Optional, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardGridLayout,\n DashboardSelectors,\n DEFAULT_RESTITUTION_ICON_URL,\n GlobalManifest,\n LibraryTypes,\n ManifestDescription,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, debounceTime, Observable, take } from 'rxjs';\nimport { MetadataActions, MetaEventType } from '@provoly/dashboard/components/metadata-editor';\nimport { v4 as uuidv4 } from 'uuid';\n\n@Component({\n selector: 'pry-add-edit-presentation',\n templateUrl: './add-edit-presentation.component.html'\n})\nexport class PryAddEditPresentationComponent extends SubscriptionnerDirective implements OnInit, AfterViewInit {\n staticManifest$: Observable<GlobalManifest>;\n selectedPresentation$ = new BehaviorSubject<ManifestDescription | null>(null);\n @Input() edition: boolean = false;\n @Input() editionStartUrl: string = '/';\n form!: FormGroup;\n image: string = DEFAULT_RESTITUTION_ICON_URL;\n @Output() goBack = new EventEmitter<void>();\n type: LibraryTypes = LibraryTypes.ILLUSTRATION;\n chosenLayout: DashboardGridLayout = DashboardGridLayout.FULL;\n\n @Input() set selectedPresentation(presentation: ManifestDescription | null) {\n this.selectedPresentation$.next(presentation);\n }\n\n constructor(protected store: Store, @Optional() protected router: Router) {\n super();\n this.store.dispatch(MetadataActions.loadMetadata());\n this.staticManifest$ = this.store.select(DashboardSelectors.staticManifest);\n combineLatest([this.staticManifest$, this.store.select(DashboardSelectors.gridLayout)]).subscribe(\n ([staticManifest, gridLayout]) => {\n this.chosenLayout =\n this.edition && staticManifest.windows[0]?.grid?.layout !== undefined\n ? staticManifest.windows[0]?.grid?.layout\n : gridLayout;\n }\n );\n }\n\n ngOnInit(): void {\n this.form = new FormGroup({\n name: new FormControl(null, [Validators.required, Validators.maxLength(50)]),\n description: new FormControl(null, [Validators.maxLength(200)]),\n cover: new FormControl(false)\n });\n this.image = this.selectedPresentation$.value?.image ?? DEFAULT_RESTITUTION_ICON_URL;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n if (this.selectedPresentation$.value) this.form.patchValue(this.selectedPresentation$.value);\n });\n }\n\n save() {\n const presentation = {\n ...this.selectedPresentation$.value!,\n id: this.selectedPresentation$.value?.id || uuidv4(),\n name: this.form.value.name ?? '',\n description: this.form.value.description ?? '',\n cover: this.form.value.cover ?? false,\n image: this.image ?? DEFAULT_RESTITUTION_ICON_URL\n };\n if (!this.edition) {\n this.store.dispatch(DashboardActions.updateStaticManifest({ staticManifest: { windows: [] } }));\n }\n this.subscriptions.add(\n this.staticManifest$.pipe(take(1)).subscribe((staticManifest) => {\n this.store.dispatch(\n DashboardActions.saveManifest({\n ...presentation,\n metadata: presentation.metadata?.map((metadata) => ({\n metadataDefId: metadata.metadataDef.id,\n value: metadata.value\n })),\n manifest: staticManifest\n })\n );\n })\n );\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation,\n viewMode: ViewMode.EDITION\n })\n );\n }\n\n configureDashboard(selectedPresentation: ManifestDescription) {\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation: {\n ...this.selectedPresentation$.value!,\n name: this.form.value.name ?? '',\n description: this.form.value.description ?? '',\n image: this.image ?? DEFAULT_RESTITUTION_ICON_URL,\n cover: this.form.value.cover ?? false\n },\n viewMode: this.edition ? ViewMode.CREATION : ViewMode.EDITION\n })\n );\n if (!this.edition) {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: { windows: [{ widgets: [], grid: { layout: this.chosenLayout } }] },\n selectedIds: [],\n manifestId: selectedPresentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: { windows: [{ widgets: [], grid: { layout: this.chosenLayout as DashboardGridLayout } }] }\n })\n );\n this.router?.navigateByUrl(this.editionStartUrl);\n } else {\n this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(debounceTime(1000), take(1))\n .subscribe((staticManifest: GlobalManifest) => {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: staticManifest,\n selectedIds: [],\n manifestId: selectedPresentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: staticManifest\n })\n );\n this.store.dispatch(DashboardActions.followManifestRoute());\n this.router?.navigateByUrl(this.editionStartUrl);\n });\n }\n }\n\n addMetadata(metadata: MetaEventType) {\n this.store.dispatch(\n DashboardActions.addManifestMetadata({\n presentationId: this.selectedPresentation$.value?.id!,\n metadataId: metadata.metadataId,\n value: metadata.value ?? ''\n })\n );\n }\n\n removeMetadata(metadata: MetaEventType) {\n this.store.dispatch(\n DashboardActions.deleteManifestMetadata({\n presentationId: this.selectedPresentation$.value?.id!,\n metadataId: metadata.metadataId\n })\n );\n }\n\n close() {\n this.goBack.emit();\n }\n}\n","<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--secondary\" type=\"button\" (click)=\"close()\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" type=\"button\" (click)=\"save()\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <h1 class=\"a-h1\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h1>\n <div class=\"o-presentation-form-wrapper\">\n <form [formGroup]=\"form\" class=\"o-presentation-form\">\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_name\">{{ '@pry.presentation.form.name' | i18n }}</label>\n <input\n type=\"text\"\n id=\"presentation_name\"\n formControlName=\"name\"\n placeholder=\"{{ '@pry.presentation.form.name' | i18n }}\"\n class=\"a-form-field\"\n maxlength=\"50\"\n required\n />\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.touched && form.get('name')?.hasError('required')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.required' | i18n }}\n </label>\n <label\n for=\"presentation_name\"\n *ngIf=\"form.get('name')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '50' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_description\">{{\n '@pry.presentation.form.description' | i18n\n }}</label>\n <textarea\n formControlName=\"description\"\n id=\"presentation_description\"\n name=\"description\"\n cols=\"30\"\n rows=\"5\"\n maxlength=\"200\"\n placeholder=\"{{ '@pry.presentation.form.description' | i18n }}\"\n class=\"a-form-field\"\n ></textarea>\n <label\n for=\"presentation_description\"\n *ngIf=\"form.get('description')?.hasError('maxlength')\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.presentation.maxLength' | i18n : { len: '200' } }}\n </label>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\" for=\"presentation_image\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image\n id=\"presentation_image\"\n (changed)=\"image = $event\"\n [iconUrl]=\"image\"\n [mode]=\"type\"\n ></pry-select-image>\n <pry-checkbox formControlName=\"cover\" name=\"cover\" ngDefaultControl>\n {{ '@pry.presentation.form.cover' | i18n }}\n </pry-checkbox>\n </div>\n </div>\n <div class=\"m-form-label-field -width-full m-form-label-field--inline\">\n <label class=\"a-label\">{{ '@pry.presentation.form.grid' | i18n }}</label>\n <span class=\"a-label\">{{ '@pry.toolbox.layout.' + this.chosenLayout | i18n }}</span>\n <pry-select-grid-layout *ngIf=\"!edition\"></pry-select-grid-layout>\n </div>\n </form>\n <div class=\"o-presentation__metadata-editor\" *ngIf=\"selectedPresentation$ | async as selectedPresentation\">\n <pry-metadata-editor\n [targetId]=\"selectedPresentation.id\"\n [isModification]=\"true\"\n [metadata]=\"selectedPresentation.metadata\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </div>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"form.invalid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { map, Observable } from 'rxjs';\nimport { DashboardSelectors, ManifestDescription, PryI18nService } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-title-presentation',\n templateUrl: './title-presentation.component.html'\n})\nexport class PryTitlePresentationComponent {\n presentation$: Observable<ManifestDescription | null>;\n presentationTitle$: Observable<string | null>;\n\n constructor(private store: Store, private i18nService: PryI18nService) {\n this.presentation$ = this.store.select(DashboardSelectors.presentation).pipe(\n map((presentation) => {\n if (presentation.current) {\n return presentation.current;\n }\n return null;\n })\n );\n\n this.presentationTitle$ = this.presentation$.pipe(\n map((presentation) => {\n if (presentation) {\n return presentation.name;\n }\n return this.i18nService.instant('@pry.header.noCurrentPresentation');\n })\n );\n }\n}\n","<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","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-presentation-css',\n template: '',\n styleUrls: ['./_o-pry-new-presentation.scss', './_o-pry-presentation.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryPresentationCssComponent {}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, Input, NgZone, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardGridLayout,\n DashboardManifest,\n DashboardSelectors,\n DisplayMode,\n GlobalManifest,\n ManifestDescription,\n PryTitleService,\n PryVisibility,\n PryVisibilityType,\n SubscriptionnerDirective,\n ViewMode\n} from '@provoly/dashboard';\nimport { BehaviorSubject, combineLatest, debounceTime, map, Observable, take } from 'rxjs';\nimport { v4 } from 'uuid';\n\n@Component({\n selector: 'pry-presentation',\n templateUrl: './presentation.component.html'\n})\nexport class PryPresentationComponent extends SubscriptionnerDirective {\n manifests$: Observable<ManifestDescription[]>;\n selectedPresentation$ = new BehaviorSubject<ManifestDescription | null>(null);\n presentation?: ManifestDescription;\n staticManifest$?: Observable<DashboardManifest>;\n selectedMode: ViewMode = ViewMode.CATALOG;\n modalOpened = false;\n @ViewChild('modal', { read: TemplateRef }) template!: TemplateRef<any>;\n @ViewChild('templateModal', { read: TemplateRef }) templateModal!: TemplateRef<any>;\n @ViewChild('openModal') openModal!: ElementRef<HTMLButtonElement>;\n @ViewChild('confirm') confirm!: ElementRef<HTMLButtonElement>;\n @ViewChild('submit') submit!: ElementRef<HTMLButtonElement>;\n @ViewChild('cross') cross!: ElementRef<HTMLButtonElement>;\n @ViewChild('crossVisibility') crossVisibility!: ElementRef<HTMLButtonElement>;\n @ViewChild('visibilityModal') visibilityModal!: ElementRef;\n overlayRef?: OverlayRef;\n visibility: PryVisibility = { type: PryVisibilityType.PRIVATE };\n PryVisibilityType = PryVisibilityType;\n @Input() editionStartUrl: string = '/';\n @Input() consultStartUrl: string = '/';\n @Input() meAsOwner?: string;\n ViewMode = ViewMode;\n search$ = new BehaviorSubject('');\n filteredPresentations$: Observable<ManifestDescription[]>;\n\n constructor(\n protected store: Store<any>,\n protected overlay: Overlay,\n protected viewContainerRef: ViewContainerRef,\n protected router: Router,\n protected ngZone: NgZone,\n protected titleService: PryTitleService\n ) {\n super();\n this.store.dispatch(DashboardActions.fetchManifestsList());\n this.manifests$ = this.store\n .select(DashboardSelectors.manifestsList)\n .pipe(\n map((manifestList) =>\n [...manifestList].sort((a, b) =>\n a.modificationDate ? b.modificationDate.localeCompare(a.modificationDate) : 1\n )\n )\n );\n this.staticManifest$ = this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(map((staticM) => staticM.windows[0]));\n this.filteredPresentations$ = combineLatest([this.manifests$, this.search$]).pipe(\n map(([presentations, search]) =>\n presentations.filter(\n (presentations) =>\n search.length === 0 ||\n presentations.description.toLowerCase().includes(search.toLowerCase()) ||\n presentations.name.toLowerCase().includes(search.toLowerCase())\n )\n )\n );\n this.subscriptions.add(\n this.store.select(DashboardSelectors.presentation).subscribe((presentation) => {\n if (!!presentation.current) {\n this.selectedPresentation$.next(presentation.current ?? null);\n this.selectedMode = presentation?.viewMode ?? this.ViewMode.CATALOG;\n }\n })\n );\n this.titleService.changeTitle('@pry.presentation.title');\n }\n\n closeRestitution() {\n this.selectedPresentation$.next(null);\n this.selectedMode = ViewMode.CATALOG;\n this.store.dispatch(DashboardActions.selectPresentation({ presentation: undefined, viewMode: ViewMode.CATALOG }));\n }\n\n fetch(presentation: ManifestDescription) {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: { windows: [] },\n selectedIds: []\n })\n );\n this.store.dispatch(\n DashboardActions.selectPresentation({\n presentation: presentation,\n viewMode: ViewMode.CATALOG\n })\n );\n this.titleService.changeTitle(presentation.name);\n this.store.dispatch(DashboardActions.fetchStaticManifest({ id: presentation.id }));\n this.store\n .select(DashboardSelectors.staticManifest)\n .pipe(debounceTime(1000), take(1))\n .subscribe((staticManifest: GlobalManifest) => {\n this.store.dispatch(\n DashboardActions.updateManifest({\n manifest: staticManifest,\n selectedIds: [],\n manifestId: presentation.id\n })\n );\n this.store.dispatch(\n DashboardActions.setInitialPresentation({\n initial: staticManifest\n })\n );\n });\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CONSULT }));\n this.store.dispatch(DashboardActions.followManifestRoute());\n this.ngZone.run(() => {\n this.router?.navigateByUrl(this.consultStartUrl);\n });\n }\n\n creation() {\n this.selectedMode = ViewMode.CREATION;\n this.store.dispatch(DashboardActions.updateManifest({ manifest: { windows: [] }, selectedIds: [] }));\n const newPresentation = {\n presentation: {\n id: v4(),\n name: '',\n description: '',\n visibility: { type: PryVisibilityType.PRIVATE },\n owner: true\n } as ManifestDescription,\n viewMode: ViewMode.CREATION\n };\n this.store.dispatch(DashboardActions.selectPresentation(newPresentation));\n this.store.dispatch(DashboardActions.setGridLayout({ layout: DashboardGridLayout.FULL }));\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.CREATE }));\n }\n\n edit(presentation: ManifestDescription) {\n this.selectedMode = ViewMode.EDITION;\n this.selectedPresentation$.next(presentation);\n this.titleService.changeTitle(presentation.name);\n this.store.dispatch(DashboardActions.selectPresentation({ presentation, viewMode: ViewMode.EDITION }));\n this.store.dispatch(DashboardActions.fetchStaticManifest({ id: presentation.id }));\n this.store.dispatch(DashboardActions.updateDisplayOptions({ mode: DisplayMode.EDIT }));\n }\n\n delete(id: string) {\n this.store.dispatch(DashboardActions.confirmManifestDeletion({ id }));\n }\n\n default(id: string, name: string) {\n this.store.dispatch(DashboardActions.defaultManifest({ id, name }));\n }\n\n toggleModal(presentation?: ManifestDescription | null) {\n this.modalOpened = !this.modalOpened;\n if (this.modalOpened && presentation) {\n this.selectedPresentation$.next(presentation);\n this.store.dispatch(DashboardActions.selectPresentation({ presentation, viewMode: ViewMode.CATALOG }));\n /* we need to load manifest in order to be able to save it later */\n this.store.dispatch(DashboardActions.loadManifest({ id: presentation.id }));\n this.overlayRef = this.overlay.create(\n new OverlayConfig({\n hasBackdrop: true,\n panelClass: ['o-modal-wrapper'],\n backdropClass: 'backdrop'\n })\n );\n this.overlayRef.backdropClick().subscribe(() => this.toggleModal(presentation));\n this.overlayRef.attach(new TemplatePortal(this.template, this.viewContainerRef));\n setTimeout(() => {\n const focus = this.visibilityModal.nativeElement.children[0].children[1].firstElementChild as HTMLButtonElement;\n focus.focus();\n }, 10);\n } else {\n this.overlayRef?.dispose();\n this.selectedPresentation$.next(null);\n }\n }\n\n changeVisibility(presentation?: ManifestDescription) {\n if (presentation) {\n this.store.dispatch(\n DashboardActions.saveManifest({\n id: presentation.id ?? '',\n name: presentation.name ?? '',\n description: presentation.description ?? '',\n image: presentation.image ?? '',\n visibility: this.visibility\n })\n );\n }\n this.toggleModal(presentation);\n }\n\n focusCrossElement() {\n if (this.crossVisibility) {\n this.crossVisibility?.nativeElement.focus();\n }\n this.cross?.nativeElement.focus();\n }\n\n focusValidation() {\n if (this.confirm) {\n this.confirm.nativeElement.focus();\n }\n this.submit.nativeElement.focus();\n }\n}\n","<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 [class.is-full-width]=\"presentation.cover\"\n [height]=\"presentation.cover ? 600 : 128\"\n [width]=\"presentation.cover ? 600 : 128\"\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","export const enTranslations = {\n '@pry': {\n presentation: {\n add: {\n pageTitle: 'Add presentation description',\n submit: 'Save dashboard'\n },\n edit: {\n pageTitle: 'Change dashboard description',\n submit: 'Save dashboard'\n },\n form: {\n name: 'Title',\n description: 'Description',\n image: 'Image',\n dragDrop: 'Drag and drop',\n or: 'or',\n categories: 'Categories',\n categoryInput: 'Add categories',\n grid: 'Current grid: ',\n cover: 'Image will cover the whole presentation card'\n },\n share: 'Share',\n view: 'Consult the presentation',\n private: 'Private presentation',\n homeView: 'Show on homepage',\n erase: 'Delete presentation',\n change: 'Modify the presentation',\n create: 'Create a presentation',\n configuration: 'Build presentation',\n required: 'This field is required',\n maxLength: 'Allowed length : {{len}}',\n edition: 'Edit',\n delete: 'Delete',\n backToCatalog: 'Back to catalog',\n search: 'Search',\n title: 'Presentations'\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n presentation: {\n add: {\n pageTitle: 'Renseigner la description de la présentation',\n info: 'Informations',\n submit: 'Enregistrer'\n },\n edit: {\n pageTitle: 'Changer la description du tableau de bord',\n submit: 'Sauvegarder le tableau de bord'\n },\n form: {\n name: 'Titre',\n description: 'Description',\n image: 'Image d’illustration',\n dragDrop: 'Glisser - Déposer',\n or: 'ou',\n categories: 'Catégories',\n categoryInput: 'Saisir la/les catégories',\n grid: 'Grille actuelle: ',\n cover: \"L'image doit couvrir la carte de la présentation\"\n },\n share: 'Partager',\n view: 'Consulter la presentation',\n private: 'Présentation privée',\n homeView: \"Afficher en page d'accueil\",\n erase: 'Supprimer la presentation',\n change: 'Modifier la presentation',\n create: 'Créer une présentation',\n configuration: 'Construire la presentation',\n required: 'Ce champ est requis',\n maxLength: 'Nombre de caractères autorisés : {{len}}',\n edition: 'Éditer',\n delete: 'Supprimer',\n backToCatalog: 'Revenir au catalogue',\n search: 'Rechercher',\n title: 'Présentations'\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryOverlayModule,\n PrySelectModule,\n PryShareModule\n} from '@provoly/dashboard';\nimport { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';\nimport { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';\nimport { PryToolboxModule } from '@provoly/dashboard/toolbox';\nimport { PryAddEditPresentationComponent } from './components/add-edit-presentation/add-edit-presentation.component';\nimport { PryTitlePresentationComponent } from './components/title-presentation/title-presentation.component';\nimport { PryPresentationComponent } from './components/presentation.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryPresentationCssComponent } from './style/css.component';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { PryExpandPanelModule } from '@provoly/dashboard/components/metadata-editor';\n\n@NgModule({\n providers: [],\n declarations: [\n PryPresentationComponent,\n PryAddEditPresentationComponent,\n PryTitlePresentationComponent,\n PryPresentationCssComponent\n ],\n imports: [\n PryIconModule,\n PryCoreModule,\n PryDashboardModule,\n ReactiveFormsModule,\n PrySelectModule,\n PrySinceDateModule,\n PryShareModule,\n FormsModule,\n PryOverlayModule,\n PryI18nModule,\n PryToolboxModule,\n PryCheckboxModule,\n CommonModule,\n A11yModule,\n PryExpandPanelModule\n ],\n exports: [\n PryPresentationComponent,\n PryAddEditPresentationComponent,\n PryTitlePresentationComponent,\n PryPresentationCssComponent\n ]\n})\nexport class PryPresentationModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'presentation', frTranslations);\n this.pryTranslateService.addLangObject('en', 'presentation', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i3","i4","i7","i2","i5","i6","i7.PryAddEditPresentationComponent","i8.PryPresentationCssComponent","i9","i1"],"mappings":"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"}
@@ -257,11 +257,11 @@ class PryRestitutionCatalogComponent {
257
257
  element.focus();
258
258
  }
259
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryRestitutionCatalogComponent, deps: [{ token: i1$1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryRestitutionCatalogComponent, selector: "pry-restitution-catalog", ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.create_title' | i18n\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.restitution.create_title' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__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.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\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.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | 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]=\"restitution.cover ? 600 : 128\"\n [width]=\"restitution.cover ? 600 : 128\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n (click)=\"selectRestitution(restitution)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n <p class=\"a-p -date\">{{ restitution.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.restitution.consult' | i18n\"\n (click)=\"selectRestitution(restitution)\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'consult' }\"\n >\n <pry-icon iconSvg=\"eye\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.update' | i18n\"\n (click)=\"editRestitution(restitution)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.delete' | i18n\"\n (click)=\"deleteRestitution(restitution.id)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }, { kind: "pipe", type: i8.PrySinceDatePipe, name: "sinceDate" }] }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryRestitutionCatalogComponent, selector: "pry-restitution-catalog", ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.create_title' | i18n\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.restitution.create_title' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__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.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\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.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.restitution.visualize' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"restitution.cover ? 600 : 128\"\n [width]=\"restitution.cover ? 600 : 128\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n (click)=\"selectRestitution(restitution)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n <p class=\"a-p -date\">{{ restitution.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.restitution.consult' | i18n\"\n (click)=\"selectRestitution(restitution)\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'consult' }\"\n >\n <pry-icon iconSvg=\"eye\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.update' | i18n\"\n (click)=\"editRestitution(restitution)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.delete' | i18n\"\n (click)=\"deleteRestitution(restitution.id)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }, { kind: "pipe", type: i8.PrySinceDatePipe, name: "sinceDate" }] }); }
261
261
  }
262
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryRestitutionCatalogComponent, decorators: [{
263
263
  type: Component,
264
- args: [{ selector: 'pry-restitution-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.create_title' | i18n\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.restitution.create_title' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__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.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\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.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | 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]=\"restitution.cover ? 600 : 128\"\n [width]=\"restitution.cover ? 600 : 128\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n (click)=\"selectRestitution(restitution)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n <p class=\"a-p -date\">{{ restitution.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.restitution.consult' | i18n\"\n (click)=\"selectRestitution(restitution)\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'consult' }\"\n >\n <pry-icon iconSvg=\"eye\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.update' | i18n\"\n (click)=\"editRestitution(restitution)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.delete' | i18n\"\n (click)=\"deleteRestitution(restitution.id)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n" }]
264
+ args: [{ selector: 'pry-restitution-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-manifest-layout o-restitution-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <div class=\"o-manifest-layout__toolbox\">\n <button\n type=\"button\"\n (click)=\"selectMode(mode.CREATION)\"\n class=\"a-btn a-btn--primary a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.create_title' | i18n\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'create' }\"\n >\n {{ '@pry.restitution.create_title' | i18n }}\n </button>\n <div>\n <div class=\"o-catalog__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.restitution.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\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.restitution.catalog' | i18n }}</h1>\n\n <div class=\"o-presentation-wrapper\">\n <ul class=\"o-presentation\">\n <li class=\"o-presentation__item\" *ngFor=\"let restitution of filteredRestitution$ | async\">\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"restitution.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"a-tooltip\" [attr.data-tooltip]=\"'@pry.restitution.visualize' | i18n\">\n <div class=\"o-presentation__item__image\">\n <img\n alt=\"\"\n [height]=\"restitution.cover ? 600 : 128\"\n [width]=\"restitution.cover ? 600 : 128\"\n [class.is-full-width]=\"restitution.cover\"\n [src]=\"restitution.image | getSecuredImage : [600, 600] | async\"\n class=\"pointer\"\n (click)=\"selectRestitution(restitution)\"\n />\n </div>\n </div>\n </div>\n\n <div class=\"o-presentation__item__txt\">\n <h3 class=\"a-h3\">{{ restitution.name }}</h3>\n <p class=\"a-p -date\">{{ restitution.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.restitution.consult' | i18n\"\n (click)=\"selectRestitution(restitution)\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'consult' }\"\n >\n <pry-icon iconSvg=\"eye\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.update' | i18n\"\n (click)=\"editRestitution(restitution)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'edit' }\"\n >\n <pry-icon iconSvg=\"edit\"></pry-icon>\n </button>\n </li>\n <li>\n <button\n type=\"button\"\n class=\"a-btn a-btn icon-only a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.delete' | i18n\"\n (click)=\"deleteRestitution(restitution.id)\"\n [disabled]=\"!restitution.owner\"\n *pryAccess=\"{ module: 'dashboard', page: 'restitution', action: 'delete' }\"\n >\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n </li>\n </ul>\n </div>\n </div>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution($event)\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution (restitutionCreated)=\"closeRestitution($event)\" class=\"restitution\"></pry-restitution>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"selectedMode === mode.EDITION\">\n <div class=\"o-manifest-layout__toolbox\">\n <button type=\"button\" (click)=\"selectMode(mode.CATALOG)\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.backToCatalog' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content\">\n <pry-restitution\n (restitutionCreated)=\"closeRestitution($event)\"\n [selectedRestitution]=\"selectedRestitution\"\n class=\"restitution\"\n ></pry-restitution>\n </div>\n </ng-template>\n</div>\n" }]
265
265
  }], ctorParameters: function () { return [{ type: i1$1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; } });
266
266
 
267
267
  class PryRestitutionListItemComponent extends SubscriptionnerDirective {