@provoly/dashboard 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/color-picker/color-picker.component.d.ts +1 -1
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +1 -1
- package/dataset/style/_o-pry-dataset-card.scss +7 -3
- package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +2 -5
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +8 -6
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +9 -5
- package/esm2022/lib/core/i18n/en.translations.mjs +4 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +4 -2
- package/esm2022/lib/core/model/display-options.interface.mjs +7 -4
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
- package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -1
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +25 -57
- package/esm2022/presentation/components/presentation.component.mjs +12 -13
- package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -7
- package/esm2022/presentation/presentation.module.mjs +10 -14
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +2 -2
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +2 -2
- package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +4 -4
- package/esm2022/toolbox/components/delete/delete.component.mjs +2 -2
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +2 -2
- package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +2 -2
- package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +2 -2
- package/esm2022/toolbox/components/edit-presentation/edit-presentation.component.mjs +64 -0
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +2 -2
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +2 -2
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +2 -2
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +7 -15
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +2 -2
- package/esm2022/toolbox/components/share/share.component.mjs +2 -2
- package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +2 -2
- package/esm2022/toolbox/components/toolbox.component.mjs +16 -9
- package/esm2022/toolbox/public-api.mjs +5 -3
- package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +97 -0
- package/esm2022/toolbox/shared/toolbox-action/toolbox-action.component.mjs +44 -0
- package/esm2022/toolbox/shared/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +58 -0
- package/esm2022/toolbox/style/css.component.mjs +2 -2
- package/esm2022/toolbox/toolbox.model.mjs +13 -5
- package/esm2022/toolbox/toolbox.module.mjs +21 -10
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
- package/esm2022/widgets/widget-analytic/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +19 -14
- package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -4
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +11 -9
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +50 -87
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +205 -55
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +3 -3
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +18 -13
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +24 -12
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/i18n/en.translations.d.ts +2 -0
- package/lib/core/i18n/fr.translations.d.ts +2 -0
- package/lib/core/model/display-options.interface.d.ts +1 -0
- package/lib/dashboard/filter/style/_o-pry-filter-group.scss +0 -4
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -0
- package/package.json +31 -31
- package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +14 -21
- package/presentation/components/presentation.component.d.ts +7 -8
- package/presentation/style/_o-pry-new-presentation.scss +9 -10
- package/presentation/style/_o-pry-presentation.scss +1 -3
- package/styles/base/_utils.scss +3 -0
- package/styles/components/_a-btn.scss +4 -0
- package/styles/components/_m-actions-list.scss +5 -1
- package/styles/components/_m-presentation-title.scss +1 -5
- package/styles/components/_o-widget.scss +5 -6
- package/styles/layout/_o-workspace.scss +4 -21
- package/styles-theme/components-theme/_a-btn.theme.scss +16 -0
- package/styles-theme/main-theme.scss +0 -2
- package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +1 -1
- package/toolbox/components/clear-view/clear-view.component.d.ts +1 -1
- package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +1 -1
- package/toolbox/components/delete/delete.component.d.ts +1 -1
- package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +1 -1
- package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +1 -1
- package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +1 -1
- package/toolbox/components/edit-presentation/edit-presentation.component.d.ts +22 -0
- package/toolbox/components/filter-settings/filter-settings.component.d.ts +1 -1
- package/toolbox/components/launch-tab/launch-tab.component.d.ts +1 -1
- package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +1 -1
- package/toolbox/components/save-view/save-view.component.d.ts +5 -6
- package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +1 -1
- package/toolbox/components/share/share.component.d.ts +1 -1
- package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +1 -1
- package/toolbox/components/toolbox.component.d.ts +3 -2
- package/toolbox/public-api.d.ts +4 -2
- package/toolbox/shared/presentation-form/presentation-form.component.d.ts +42 -0
- package/toolbox/style/_o-dashboard-details.component.scss +0 -13
- package/toolbox/toolbox.model.d.ts +1 -1
- package/toolbox/toolbox.module.d.ts +14 -12
- package/widgets/widget-analytic/style/_o-widget-analytic.scss +2 -0
- package/widgets/widget-map/component/widget-map.component.d.ts +1 -3
- package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +0 -46
- package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +0 -58
- package/styles-theme/layout-theme/_o-workspace.theme.scss +0 -18
- /package/toolbox/{components → shared}/toolbox-action/toolbox-action.component.d.ts +0 -0
- /package/toolbox/{components → shared}/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +0 -0
|
@@ -2,27 +2,26 @@ import * as i6 from '@angular/common';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { EventEmitter, Component, Optional, Input, Output, ViewEncapsulation, TemplateRef, Inject, ViewChild, NgModule } from '@angular/core';
|
|
5
|
-
import * as
|
|
6
|
-
import {
|
|
5
|
+
import * as i5$1 from '@angular/forms';
|
|
6
|
+
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
7
|
import * as i4 from '@provoly/dashboard';
|
|
8
|
-
import { SubscriptionnerDirective,
|
|
8
|
+
import { SubscriptionnerDirective, DashboardGridLayout, DashboardSelectors, DashboardActions, ViewMode, WidgetPlacementUtils, PryAccessRightsShareModalComponent, PRY_ACCESS_TOKEN, PryIconModule, PryCoreModule, PryDashboardModule, PrySelectModule, PryShareModule, PryOverlayModule, PryI18nModule } from '@provoly/dashboard';
|
|
9
9
|
import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
10
10
|
import * as i9 from '@provoly/dashboard/components/sinceDate';
|
|
11
11
|
import { PrySinceDateModule } from '@provoly/dashboard/components/sinceDate';
|
|
12
|
-
import * as i5 from '@provoly/dashboard/toolbox';
|
|
13
|
-
import { PryToolboxModule } from '@provoly/dashboard/toolbox';
|
|
14
12
|
import { BehaviorSubject, combineLatest, take, map, startWith, of } from 'rxjs';
|
|
15
|
-
import * as
|
|
16
|
-
import {
|
|
13
|
+
import * as i5 from '@provoly/dashboard/components/metadata-editor';
|
|
14
|
+
import { MetadataSelectors, PryExpandPanelModule } from '@provoly/dashboard/components/metadata-editor';
|
|
17
15
|
import { v4 } from 'uuid';
|
|
18
16
|
import * as i1 from '@ngrx/store';
|
|
19
17
|
import * as i3 from '@angular/router';
|
|
20
|
-
import * as
|
|
21
|
-
import {
|
|
18
|
+
import * as i3$1 from '@provoly/dashboard/toolbox';
|
|
19
|
+
import { PryToolboxModule } from '@provoly/dashboard/toolbox';
|
|
22
20
|
import * as i2 from '@angular/cdk/overlay';
|
|
23
21
|
import { OverlayConfig } from '@angular/cdk/overlay';
|
|
24
22
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
25
23
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
24
|
+
import { PryTextEditorModule } from '@provoly/dashboard/components/text-editor';
|
|
26
25
|
|
|
27
26
|
class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
28
27
|
set selectedPresentation(presentation) {
|
|
@@ -32,18 +31,15 @@ class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
32
31
|
super();
|
|
33
32
|
this.store = store;
|
|
34
33
|
this.router = router;
|
|
35
|
-
this.selectedPresentation$ = new BehaviorSubject(
|
|
34
|
+
this.selectedPresentation$ = new BehaviorSubject(undefined);
|
|
35
|
+
this.chosenLayout = DashboardGridLayout.FULL;
|
|
36
|
+
this.metadataThemeId = '';
|
|
37
|
+
this.isFormValid = false;
|
|
36
38
|
this.edition = false;
|
|
37
39
|
this.themePrefix = null;
|
|
38
40
|
this.editionStartUrl = '/';
|
|
39
|
-
this.image = DEFAULT_DASHBOARD_ICON_URL;
|
|
40
|
-
this.goBack = new EventEmitter();
|
|
41
|
-
this.type = LibraryTypes.ILLUSTRATION;
|
|
42
|
-
this.chosenLayout = DashboardGridLayout.FULL;
|
|
43
|
-
this.possibleThemes = [];
|
|
44
|
-
this.metadataThemeId = '';
|
|
45
41
|
this.mode = 'meta';
|
|
46
|
-
this.
|
|
42
|
+
this.goBack = new EventEmitter();
|
|
47
43
|
this.staticManifest$ = this.store.select(DashboardSelectors.staticManifest);
|
|
48
44
|
combineLatest([this.staticManifest$, this.store.select(DashboardSelectors.gridLayout)]).subscribe(([staticManifest, gridLayout]) => {
|
|
49
45
|
this.chosenLayout =
|
|
@@ -56,30 +52,9 @@ class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
56
52
|
const metadataTheme = metadata?.find((meta) => meta.name === '_theme');
|
|
57
53
|
if (metadataTheme) {
|
|
58
54
|
this.metadataThemeId = metadataTheme?.id ?? '';
|
|
59
|
-
this.possibleThemes = metadataTheme?.allowedValues ?? [];
|
|
60
55
|
}
|
|
61
56
|
}));
|
|
62
57
|
}
|
|
63
|
-
ngOnInit() {
|
|
64
|
-
this.form = new FormGroup({
|
|
65
|
-
name: new FormControl(null, [Validators.required, Validators.maxLength(50)]),
|
|
66
|
-
description: new FormControl(undefined, [Validators.maxLength(200)]),
|
|
67
|
-
theme: new FormControl(''),
|
|
68
|
-
additionalInformation: new FormControl('')
|
|
69
|
-
});
|
|
70
|
-
this.image = this.selectedPresentation$.value?.image ?? DEFAULT_DASHBOARD_ICON_URL;
|
|
71
|
-
this.subscriptions.add(this.selectedPresentation$.subscribe((presentation) => {
|
|
72
|
-
const theme = presentation?.metadata?.find((metadata) => metadata.metadataDef.name === '_theme')?.value;
|
|
73
|
-
if (!!theme)
|
|
74
|
-
this.form.patchValue({ theme });
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
ngAfterViewInit() {
|
|
78
|
-
setTimeout(() => {
|
|
79
|
-
if (this.selectedPresentation$.value)
|
|
80
|
-
this.form.patchValue(this.selectedPresentation$.value);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
58
|
save() {
|
|
84
59
|
if (!this.edition) {
|
|
85
60
|
this.store.dispatch(DashboardActions.updateStaticManifest({ staticManifest: { windows: [] } }));
|
|
@@ -94,11 +69,8 @@ class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
94
69
|
const presentation = {
|
|
95
70
|
...this.selectedPresentation$.value,
|
|
96
71
|
id: this.selectedPresentation$.value?.id || v4(),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
image: this.image ?? DEFAULT_DASHBOARD_ICON_URL,
|
|
100
|
-
metadata: this.metadata(),
|
|
101
|
-
additionalInformation: this.form.value.additionalInformation ?? undefined
|
|
72
|
+
...this.formValue,
|
|
73
|
+
metadata: this.metadata()
|
|
102
74
|
};
|
|
103
75
|
this.subscriptions.add(this.staticManifest$.pipe(take(1)).subscribe((staticManifest) => {
|
|
104
76
|
this.store.dispatch(DashboardActions.saveManifest({
|
|
@@ -113,14 +85,12 @@ class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
113
85
|
return presentation;
|
|
114
86
|
}
|
|
115
87
|
configureDashboard(selectedPresentation) {
|
|
116
|
-
if (this.
|
|
88
|
+
if (this.isFormValid) {
|
|
117
89
|
this.dispatchSave();
|
|
118
90
|
}
|
|
119
91
|
const presentation = {
|
|
120
92
|
...this.selectedPresentation$.value,
|
|
121
|
-
|
|
122
|
-
description: this.form.value.description,
|
|
123
|
-
image: this.image ?? DEFAULT_DASHBOARD_ICON_URL,
|
|
93
|
+
...this.formValue,
|
|
124
94
|
metadata: this.metadata()
|
|
125
95
|
};
|
|
126
96
|
if (!this.edition) {
|
|
@@ -174,60 +144,58 @@ class PryAddEditPresentationComponent extends SubscriptionnerDirective {
|
|
|
174
144
|
}
|
|
175
145
|
metadata() {
|
|
176
146
|
return this.mode === 'theme'
|
|
177
|
-
? !this.
|
|
147
|
+
? !this.formValue?.theme || this.formValue?.theme === ''
|
|
178
148
|
? []
|
|
179
149
|
: [
|
|
180
150
|
{
|
|
181
151
|
metadataDef: this.metadataDefs.find((metadata) => metadata.id === this.metadataThemeId),
|
|
182
|
-
value: this.
|
|
152
|
+
value: this.formValue.theme ?? ''
|
|
183
153
|
}
|
|
184
154
|
]
|
|
185
155
|
: this.selectedPresentation$.value?.metadata ?? [];
|
|
186
156
|
}
|
|
187
157
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAddEditPresentationComponent, deps: [{ token: i1.Store }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: { edition: "edition", themePrefix: "themePrefix", editionStartUrl: "editionStartUrl",
|
|
158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: { selectedPresentation: "selectedPresentation", edition: "edition", themePrefix: "themePrefix", editionStartUrl: "editionStartUrl", mode: "mode" }, outputs: { goBack: "goBack" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox -justify-space-between -align-center\">\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]=\"!isFormValid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h2 class=\"a-h2\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h2>\n <div class=\"o-presentation-form-wrapper\">\n <div class=\"u-display-flex -column\">\n <pry-presentation-form\n [selectedPresentation]=\"(selectedPresentation$ | async) ?? undefined\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n [themePrefix]=\"themePrefix\"\n ></pry-presentation-form>\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 </div>\n <ng-container *ngIf=\"mode === 'meta'\">\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 </ng-container>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"!isFormValid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i3$1.SelectGridLayoutComponent, selector: "pry-select-grid-layout" }, { kind: "component", type: i3$1.PresentationFormComponent, selector: "pry-presentation-form", inputs: ["mode", "themePrefix", "selectedPresentation"], outputs: ["formValue", "isFormValid"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
189
159
|
}
|
|
190
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryAddEditPresentationComponent, decorators: [{
|
|
191
161
|
type: Component,
|
|
192
|
-
args: [{ selector: 'pry-add-edit-presentation', template: "<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]=\"
|
|
162
|
+
args: [{ selector: 'pry-add-edit-presentation', template: "<div class=\"o-manifest-layout\">\n <div class=\"o-manifest-layout__toolbox -justify-space-between -align-center\">\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]=\"!isFormValid\">\n {{ '@pry.toolbox.manifest.check' | i18n }}\n </button>\n </div>\n <div class=\"o-manifest-layout__content--presentation\">\n <h2 class=\"a-h2\">{{ '@pry.presentation.add' + '.pageTitle' | i18n }}</h2>\n <div class=\"o-presentation-form-wrapper\">\n <div class=\"u-display-flex -column\">\n <pry-presentation-form\n [selectedPresentation]=\"(selectedPresentation$ | async) ?? undefined\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n [themePrefix]=\"themePrefix\"\n ></pry-presentation-form>\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 </div>\n <ng-container *ngIf=\"mode === 'meta'\">\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 </ng-container>\n </div>\n <button\n class=\"a-btn a-btn--primary\"\n (click)=\"configureDashboard(selectedPresentation$.value!)\"\n [disabled]=\"!isFormValid\"\n >\n {{ '@pry.presentation.configuration' | i18n }}\n </button>\n </div>\n</div>\n" }]
|
|
193
163
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i3.Router, decorators: [{
|
|
194
164
|
type: Optional
|
|
195
|
-
}] }], propDecorators: {
|
|
165
|
+
}] }], propDecorators: { selectedPresentation: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], edition: [{
|
|
196
168
|
type: Input
|
|
197
169
|
}], themePrefix: [{
|
|
198
170
|
type: Input
|
|
199
171
|
}], editionStartUrl: [{
|
|
200
172
|
type: Input
|
|
201
|
-
}], goBack: [{
|
|
202
|
-
type: Output
|
|
203
|
-
}], selectedPresentation: [{
|
|
204
|
-
type: Input
|
|
205
173
|
}], mode: [{
|
|
206
174
|
type: Input
|
|
175
|
+
}], goBack: [{
|
|
176
|
+
type: Output
|
|
207
177
|
}] } });
|
|
208
178
|
|
|
209
179
|
class PryTitlePresentationComponent {
|
|
210
180
|
constructor(store) {
|
|
211
181
|
this.store = store;
|
|
212
|
-
this.currentPresentation$ = this.store
|
|
213
|
-
.select(DashboardSelectors.presentation)
|
|
214
|
-
.pipe(map((presentation) => presentation.current));
|
|
182
|
+
this.currentPresentation$ = this.store.select(DashboardSelectors.currentManifest);
|
|
215
183
|
}
|
|
216
184
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryTitlePresentationComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryTitlePresentationComponent, selector: "pry-title-presentation", ngImport: i0, template: "<div class=\"m-presentation-title\" *ngIf=\"currentPresentation$ | async as currentPresentation\">\n <
|
|
185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryTitlePresentationComponent, selector: "pry-title-presentation", ngImport: i0, template: "<div class=\"m-presentation-title u-display-flex -gap-10\" *ngIf=\"currentPresentation$ | async as currentPresentation\">\n <h2 class=\"a-h2 m-presentation-title__text\">\n {{ currentPresentation.name || ('@pry.header.noCurrentPresentation' | i18n) }}\n </h2>\n <div\n *ngIf=\"!!currentPresentation.description\"\n class=\"m-presentation-title__description m-info-icon a-tooltip -tooltip-width-lg align-center\"\n [attr.data-tooltip]=\"currentPresentation.description\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
|
|
218
186
|
}
|
|
219
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryTitlePresentationComponent, decorators: [{
|
|
220
188
|
type: Component,
|
|
221
|
-
args: [{ selector: 'pry-title-presentation', template: "<div class=\"m-presentation-title\" *ngIf=\"currentPresentation$ | async as currentPresentation\">\n <
|
|
189
|
+
args: [{ selector: 'pry-title-presentation', template: "<div class=\"m-presentation-title u-display-flex -gap-10\" *ngIf=\"currentPresentation$ | async as currentPresentation\">\n <h2 class=\"a-h2 m-presentation-title__text\">\n {{ currentPresentation.name || ('@pry.header.noCurrentPresentation' | i18n) }}\n </h2>\n <div\n *ngIf=\"!!currentPresentation.description\"\n class=\"m-presentation-title__description m-info-icon a-tooltip -tooltip-width-lg align-center\"\n [attr.data-tooltip]=\"currentPresentation.description\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n</div>\n" }]
|
|
222
190
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
223
191
|
|
|
224
192
|
class PryPresentationCssComponent {
|
|
225
193
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryPresentationCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
226
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", 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{
|
|
194
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", 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{gap:.9375rem}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation-form-wrapper>:first-child{flex:2 auto}.o-presentation-form-wrapper>:only-child{max-width:43.75rem}.o-presentation__metadata-editor{flex-basis:50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center}.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:.625rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.o-presentation-form .o-text-editor__content{min-height:6.25rem}.o-presentation-form .o-text-editor__content textarea{height:6.25rem}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{justify-content:space-between}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.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{grid-area:middle;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:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem;z-index:1}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{padding-bottom:.3125rem}.o-presentation__item__txt .a-p.-date{padding-top:.625rem;margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
227
195
|
}
|
|
228
196
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryPresentationCssComponent, decorators: [{
|
|
229
197
|
type: Component,
|
|
230
|
-
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{
|
|
198
|
+
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{gap:.9375rem}.o-presentation-form-wrapper{display:flex;padding-bottom:.3125rem;gap:3rem}.o-presentation-form-wrapper>:first-child{flex:2 auto}.o-presentation-form-wrapper>:only-child{max-width:43.75rem}.o-presentation__metadata-editor{flex-basis:50%}.o-presentation-form{display:flex;flex-direction:column;align-items:center}.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:.625rem 0;gap:15px}.o-presentation-form pry-select{width:100%}.o-presentation-form .a-btn[type=submit]{margin-top:20px}.o-presentation-form .o-text-editor__content{min-height:6.25rem}.o-presentation-form .o-text-editor__content textarea{height:6.25rem}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{justify-content:space-between}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.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{grid-area:middle;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:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem;z-index:1}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{padding-bottom:.3125rem}.o-presentation__item__txt .a-p.-date{padding-top:.625rem;margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}\n"] }]
|
|
231
199
|
}] });
|
|
232
200
|
|
|
233
201
|
class PryPresentationComponent extends SubscriptionnerDirective {
|
|
@@ -248,18 +216,17 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
248
216
|
this.ngZone = ngZone;
|
|
249
217
|
this.access = access;
|
|
250
218
|
this.dialog = dialog;
|
|
251
|
-
this.selectedPresentation$ = new BehaviorSubject(
|
|
219
|
+
this.selectedPresentation$ = new BehaviorSubject(undefined);
|
|
252
220
|
this.selectedMode = ViewMode.CATALOG;
|
|
253
|
-
this.modalOpened = false;
|
|
254
221
|
this.accessRightsByGroup = {};
|
|
222
|
+
this.ViewMode = ViewMode;
|
|
223
|
+
this.search$ = new BehaviorSubject('');
|
|
255
224
|
this.editionStartUrl = '/';
|
|
256
225
|
this.consultStartUrl = '/';
|
|
257
226
|
this.themePrefix = null;
|
|
258
|
-
this.ViewMode = ViewMode;
|
|
259
|
-
this.search$ = new BehaviorSubject('');
|
|
260
|
-
this.listOfManifests$ = new BehaviorSubject(null);
|
|
261
227
|
this.mode = 'meta';
|
|
262
228
|
this.hideToolbox = false;
|
|
229
|
+
this.listOfManifests$ = new BehaviorSubject(null);
|
|
263
230
|
this.inputSearch$ = new BehaviorSubject('');
|
|
264
231
|
this.subscriptions.add(this.activatedRoute.queryParams.subscribe((params) => {
|
|
265
232
|
if (params['create']) {
|
|
@@ -290,12 +257,12 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
290
257
|
})));
|
|
291
258
|
this.subscriptions.add(this.store.select(DashboardSelectors.presentation).subscribe((presentation) => {
|
|
292
259
|
this.selectedMode = presentation?.viewMode ?? this.ViewMode.CATALOG;
|
|
293
|
-
this.selectedPresentation$.next(presentation.current
|
|
260
|
+
this.selectedPresentation$.next(presentation.current);
|
|
294
261
|
}));
|
|
295
262
|
this.titleService.changeTitle('@pry.presentation.title');
|
|
296
263
|
}
|
|
297
264
|
closeRestitution() {
|
|
298
|
-
this.selectedPresentation$.next(
|
|
265
|
+
this.selectedPresentation$.next(undefined);
|
|
299
266
|
this.selectedMode = ViewMode.CATALOG;
|
|
300
267
|
this.store.dispatch(DashboardActions.selectPresentation({ presentation: undefined, viewMode: ViewMode.CATALOG }));
|
|
301
268
|
}
|
|
@@ -358,7 +325,7 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
358
325
|
else {
|
|
359
326
|
this.overlayRef?.dispose();
|
|
360
327
|
this.overlayRef = undefined;
|
|
361
|
-
this.selectedPresentation$.next(
|
|
328
|
+
this.selectedPresentation$.next(undefined);
|
|
362
329
|
}
|
|
363
330
|
}
|
|
364
331
|
toggleModal(presentation) {
|
|
@@ -387,11 +354,11 @@ class PryPresentationComponent extends SubscriptionnerDirective {
|
|
|
387
354
|
return !this.access ? of(false) : this.access.canModifyPresentation(presentation);
|
|
388
355
|
}
|
|
389
356
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryPresentationComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.Router }, { token: i4.PryTitleService }, { token: i3.ActivatedRoute }, { token: i0.NgZone }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i4.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
390
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryPresentationComponent, selector: "pry-presentation", inputs: { editionStartUrl: "editionStartUrl", consultStartUrl: "consultStartUrl", meAsOwner: "meAsOwner", themePrefix: "themePrefix", mode: "mode", listOfManifests: "listOfManifests", hideToolbox: "hideToolbox", search: "search" }, viewQueries: [{ propertyName: "templateModalActions", first: true, predicate: ["modalActions"], descendants: true, read: TemplateRef }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchDefault>\n <div class=\"o-manifest-layout__toolbox\" [class.-u-hidden]=\"hideToolbox\">\n <button\n class=\"a-btn a-btn--primary\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"o-manifest-layout__toolbox__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 class=\"search-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\n class=\"o-presentation__item\"\n *ngFor=\"let presentation of filteredPresentations$ | async; let index = index\"\n >\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"isPrivate(presentation)\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img alt=\"\" class=\"is-full-width\" [src]=\"presentation.image | getSecuredImage | async\" />\n </div>\n </div>\n <ng-container *ngIf=\"this.canModify$(presentation) | async\">\n <div class=\"more-button\" *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-button-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"$event.stopPropagation(); toggleModalActions(presentation, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div class=\"o-presentation__item__txt\" (click)=\"fetch(presentation)\">\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ presentation.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.presentation.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\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 [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\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 [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n<ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog presentation options\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"edit(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.edition' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editContent(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.editionContent' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n (click)=\"toggleModal(selectedPresentation)\"\n class=\"a-btn -link-like\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n {{ '@pry.presentation.share' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"delete(selectedPresentation.id)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n {{ '@pry.presentation.delete' | i18n }}\n </button>\n </li>\n </ul>\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.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { 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: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: ["edition", "themePrefix", "editionStartUrl", "selectedPresentation", "mode"], 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.AsyncPipe, name: "async" }] }); }
|
|
357
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryPresentationComponent, selector: "pry-presentation", inputs: { editionStartUrl: "editionStartUrl", consultStartUrl: "consultStartUrl", meAsOwner: "meAsOwner", themePrefix: "themePrefix", mode: "mode", hideToolbox: "hideToolbox", listOfManifests: "listOfManifests", search: "search" }, viewQueries: [{ propertyName: "templateModalActions", first: true, predicate: ["modalActions"], descendants: true, read: TemplateRef }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchDefault>\n <div class=\"o-manifest-layout__toolbox\" [class.-u-hidden]=\"hideToolbox\">\n <button\n class=\"a-btn a-btn--primary\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"o-manifest-layout__toolbox__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 class=\"search-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\n class=\"o-presentation__item\"\n *ngFor=\"let presentation of filteredPresentations$ | async; let index = index\"\n >\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"isPrivate(presentation)\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img alt=\"\" class=\"is-full-width\" [src]=\"presentation.image | getSecuredImage | async\" />\n </div>\n </div>\n <ng-container *ngIf=\"this.canModify$(presentation) | async\">\n <div class=\"more-button\" *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-button-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"$event.stopPropagation(); toggleModalActions(presentation, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div class=\"o-presentation__item__txt\" (click)=\"fetch(presentation)\">\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ presentation.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.presentation.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\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) ?? undefined\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"(selectedPresentation$ | async) ?? undefined\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n<ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog presentation options\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"edit(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.edition' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editContent(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.editionContent' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n (click)=\"toggleModal(selectedPresentation)\"\n class=\"a-btn -link-like\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n {{ '@pry.presentation.share' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"delete(selectedPresentation.id)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n {{ '@pry.presentation.delete' | i18n }}\n </button>\n </li>\n </ul>\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.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "directive", type: i5$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: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: PryAddEditPresentationComponent, selector: "pry-add-edit-presentation", inputs: ["selectedPresentation", "edition", "themePrefix", "editionStartUrl", "mode"], 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.AsyncPipe, name: "async" }] }); }
|
|
391
358
|
}
|
|
392
359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryPresentationComponent, decorators: [{
|
|
393
360
|
type: Component,
|
|
394
|
-
args: [{ selector: 'pry-presentation', template: "<pry-presentation-css></pry-presentation-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchDefault>\n <div class=\"o-manifest-layout__toolbox\" [class.-u-hidden]=\"hideToolbox\">\n <button\n class=\"a-btn a-btn--primary\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"o-manifest-layout__toolbox__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 class=\"search-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\n class=\"o-presentation__item\"\n *ngFor=\"let presentation of filteredPresentations$ | async; let index = index\"\n >\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"isPrivate(presentation)\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img alt=\"\" class=\"is-full-width\" [src]=\"presentation.image | getSecuredImage | async\" />\n </div>\n </div>\n <ng-container *ngIf=\"this.canModify$(presentation) | async\">\n <div class=\"more-button\" *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-button-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"$event.stopPropagation(); toggleModalActions(presentation, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div class=\"o-presentation__item__txt\" (click)=\"fetch(presentation)\">\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ presentation.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.presentation.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\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 [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\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 [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n<ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog presentation options\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"edit(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.edition' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editContent(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.editionContent' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n (click)=\"toggleModal(selectedPresentation)\"\n class=\"a-btn -link-like\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n {{ '@pry.presentation.share' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"delete(selectedPresentation.id)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n {{ '@pry.presentation.delete' | i18n }}\n </button>\n </li>\n </ul>\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 *ngSwitchDefault>\n <div class=\"o-manifest-layout__toolbox\" [class.-u-hidden]=\"hideToolbox\">\n <button\n class=\"a-btn a-btn--primary\"\n type=\"button\"\n (click)=\"creation()\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'create' }\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n {{ '@pry.presentation.create' | i18n }}\n </button>\n <div>\n <div class=\"o-manifest-layout__toolbox__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 class=\"search-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\n class=\"o-presentation__item\"\n *ngFor=\"let presentation of filteredPresentations$ | async; let index = index\"\n >\n <div class=\"o-presentation__item__header\">\n <ng-container *ngIf=\"isPrivate(presentation)\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip -tooltip-no-wrap\"\n [attr.data-tooltip]=\"'@pry.presentation.private' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div\n class=\"a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <div class=\"o-presentation__item__image\">\n <img alt=\"\" class=\"is-full-width\" [src]=\"presentation.image | getSecuredImage | async\" />\n </div>\n </div>\n <ng-container *ngIf=\"this.canModify$(presentation) | async\">\n <div class=\"more-button\" *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--more a-tooltip -tooltip-no-wrap\"\n [id]=\"'more-button-' + index\"\n [attr.data-tooltip]=\"'@pry.restitution.more' | i18n\"\n (click)=\"$event.stopPropagation(); toggleModalActions(presentation, button)\"\n #button\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </div>\n </ng-container>\n </div>\n <div class=\"o-presentation__item__txt\" (click)=\"fetch(presentation)\">\n <div class=\"o-presentation__item__title-container\" ellipsis textElementSelector=\".a-h3\">\n <h3 class=\"a-h3\">{{ presentation.name }}</h3>\n </div>\n <div class=\"o-presentation__item__description-container\" ellipsis textElementSelector=\".a-p\">\n <div class=\"o-presentation__item__description a-p\">\n {{ presentation.description }}\n </div>\n </div>\n <p class=\"a-p -date\">{{ presentation.modificationDate | sinceDate }}</p>\n </div>\n <div\n class=\"o-presentation__item__footer a-tooltip -tooltip-no-wrap\"\n (click)=\"fetch(presentation)\"\n [attr.data-tooltip]=\"'@pry.presentation.view' | i18n\"\n >\n <button class=\"a-btn\">\n {{ '@pry.presentation.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\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) ?? undefined\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"false\"\n [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITION\">\n <pry-add-edit-presentation\n [selectedPresentation]=\"(selectedPresentation$ | async) ?? undefined\"\n (goBack)=\"closeRestitution()\"\n [editionStartUrl]=\"editionStartUrl\"\n [edition]=\"true\"\n [mode]=\"mode\"\n [themePrefix]=\"themePrefix\"\n ></pry-add-edit-presentation>\n </ng-container>\n</div>\n<ng-template #modalActions>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog presentation options\"\n *ngIf=\"selectedPresentation$ | async as selectedPresentation\"\n >\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"edit(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.edition' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n (click)=\"editContent(selectedPresentation)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'edit' }\"\n >\n {{ '@pry.presentation.editionContent' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n (click)=\"toggleModal(selectedPresentation)\"\n class=\"a-btn -link-like\"\n aria-haspopup=\"dialog\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'share' }\"\n >\n {{ '@pry.presentation.share' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\">\n <button\n class=\"a-btn -link-like\"\n #openModal\n (click)=\"delete(selectedPresentation.id)\"\n [disabled]=\"!(this.canModify$(selectedPresentation) | async)\"\n *pryAccess=\"{ module: 'dashboard', page: 'manifest', action: 'delete' }\"\n >\n {{ '@pry.presentation.delete' | i18n }}\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n" }]
|
|
395
362
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i3.Router }, { type: i4.PryTitleService }, { type: i3.ActivatedRoute }, { type: i0.NgZone }, { type: i4.PryBaseAccess, decorators: [{
|
|
396
363
|
type: Optional
|
|
397
364
|
}, {
|
|
@@ -413,10 +380,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
413
380
|
type: Input
|
|
414
381
|
}], mode: [{
|
|
415
382
|
type: Input
|
|
416
|
-
}], listOfManifests: [{
|
|
417
|
-
type: Input
|
|
418
383
|
}], hideToolbox: [{
|
|
419
384
|
type: Input
|
|
385
|
+
}], listOfManifests: [{
|
|
386
|
+
type: Input
|
|
420
387
|
}], search: [{
|
|
421
388
|
type: Input
|
|
422
389
|
}] } });
|
|
@@ -511,6 +478,12 @@ const frTranslations = {
|
|
|
511
478
|
}
|
|
512
479
|
};
|
|
513
480
|
|
|
481
|
+
const COMPONENTS = [
|
|
482
|
+
PryPresentationComponent,
|
|
483
|
+
PryAddEditPresentationComponent,
|
|
484
|
+
PryTitlePresentationComponent,
|
|
485
|
+
PryPresentationCssComponent
|
|
486
|
+
];
|
|
514
487
|
class PryPresentationModule {
|
|
515
488
|
constructor(pryTranslateService) {
|
|
516
489
|
this.pryTranslateService = pryTranslateService;
|
|
@@ -561,12 +534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
561
534
|
type: NgModule,
|
|
562
535
|
args: [{
|
|
563
536
|
providers: [],
|
|
564
|
-
declarations: [
|
|
565
|
-
PryPresentationComponent,
|
|
566
|
-
PryAddEditPresentationComponent,
|
|
567
|
-
PryTitlePresentationComponent,
|
|
568
|
-
PryPresentationCssComponent
|
|
569
|
-
],
|
|
537
|
+
declarations: [...COMPONENTS],
|
|
570
538
|
imports: [
|
|
571
539
|
PryIconModule,
|
|
572
540
|
PryCoreModule,
|
|
@@ -585,12 +553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
585
553
|
PryExpandPanelModule,
|
|
586
554
|
PryTextEditorModule
|
|
587
555
|
],
|
|
588
|
-
exports: [
|
|
589
|
-
PryPresentationComponent,
|
|
590
|
-
PryAddEditPresentationComponent,
|
|
591
|
-
PryTitlePresentationComponent,
|
|
592
|
-
PryPresentationCssComponent
|
|
593
|
-
]
|
|
556
|
+
exports: [...COMPONENTS]
|
|
594
557
|
}]
|
|
595
558
|
}], ctorParameters: () => [{ type: i4.PryI18nService }] });
|
|
596
559
|
|