@yuuvis/client-framework 3.0.0-beta.20.2 → 3.0.0-beta.21.1
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/autocomplete/README.md +1 -1
- package/common/README.md +1 -1
- package/fesm2022/yuuvis-client-framework-actions.mjs +25 -25
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-app-bar.mjs +6 -6
- package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs +5 -236
- package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +4 -4
- package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-clipboard.mjs +7 -6
- package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +3 -1793
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-datepicker.mjs +51 -51
- package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +154 -167
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +14 -14
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +3 -679
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-master-details.mjs +3 -136
- package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +28 -28
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +92 -95
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +46 -44
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +47 -47
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-preview.mjs +37 -58
- package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs +80 -80
- package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +37 -38
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-versions.mjs +20 -20
- package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs +3 -62
- package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +3 -129
- package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-pagination.mjs +5 -5
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-popout.mjs +3 -239
- package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-query-list.mjs +26 -28
- package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-renderer.mjs +51 -51
- package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +7 -7
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-simple-search.mjs +4 -4
- package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sort.mjs +34 -55
- package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-split-view.mjs +3 -321
- package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +88 -90
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-token-search.mjs +21 -21
- package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tree.mjs +16 -16
- package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs +15 -15
- package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-widget-grid.mjs +3 -946
- package/fesm2022/yuuvis-client-framework-widget-grid.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework.mjs +22 -22
- package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
- package/lib/assets/i18n/de.json +1 -55
- package/lib/assets/i18n/en.json +1 -55
- package/list/README.md +1 -1
- package/master-details/README.md +1 -1
- package/overflow-hidden/README.md +1 -1
- package/overflow-menu/README.md +1 -1
- package/package.json +50 -48
- package/popout/README.md +1 -1
- package/split-view/README.md +1 -1
- package/types/yuuvis-client-framework-autocomplete.d.ts +1 -0
- package/{clipboard/index.d.ts → types/yuuvis-client-framework-clipboard.d.ts} +1 -1
- package/types/yuuvis-client-framework-common.d.ts +1 -0
- package/types/yuuvis-client-framework-list.d.ts +1 -0
- package/types/yuuvis-client-framework-master-details.d.ts +1 -0
- package/{object-flavor/index.d.ts → types/yuuvis-client-framework-object-flavor.d.ts} +1 -0
- package/types/yuuvis-client-framework-overflow-hidden.d.ts +1 -0
- package/types/yuuvis-client-framework-overflow-menu.d.ts +1 -0
- package/types/yuuvis-client-framework-popout.d.ts +1 -0
- package/{renderer/index.d.ts → types/yuuvis-client-framework-renderer.d.ts} +2 -2
- package/types/yuuvis-client-framework-split-view.d.ts +1 -0
- package/types/yuuvis-client-framework-widget-grid.d.ts +1 -0
- package/widget-grid/README.md +1 -46
- package/autocomplete/index.d.ts +0 -89
- package/common/index.d.ts +0 -536
- package/list/index.d.ts +0 -380
- package/master-details/index.d.ts +0 -69
- package/overflow-hidden/index.d.ts +0 -28
- package/overflow-menu/index.d.ts +0 -52
- package/popout/index.d.ts +0 -106
- package/split-view/index.d.ts +0 -197
- package/widget-grid/index.d.ts +0 -299
- /package/{actions/index.d.ts → types/yuuvis-client-framework-actions.d.ts} +0 -0
- /package/{app-bar/index.d.ts → types/yuuvis-client-framework-app-bar.d.ts} +0 -0
- /package/{breadcrumb/index.d.ts → types/yuuvis-client-framework-breadcrumb.d.ts} +0 -0
- /package/{datepicker/index.d.ts → types/yuuvis-client-framework-datepicker.d.ts} +0 -0
- /package/{forms/index.d.ts → types/yuuvis-client-framework-forms.d.ts} +0 -0
- /package/{icons/index.d.ts → types/yuuvis-client-framework-icons.d.ts} +0 -0
- /package/{metadata-form-defaults/index.d.ts → types/yuuvis-client-framework-metadata-form-defaults.d.ts} +0 -0
- /package/{metadata-form/index.d.ts → types/yuuvis-client-framework-metadata-form.d.ts} +0 -0
- /package/{object-details/index.d.ts → types/yuuvis-client-framework-object-details.d.ts} +0 -0
- /package/{object-form/index.d.ts → types/yuuvis-client-framework-object-form.d.ts} +0 -0
- /package/{object-preview/index.d.ts → types/yuuvis-client-framework-object-preview.d.ts} +0 -0
- /package/{object-relationship/index.d.ts → types/yuuvis-client-framework-object-relationship.d.ts} +0 -0
- /package/{object-summary/index.d.ts → types/yuuvis-client-framework-object-summary.d.ts} +0 -0
- /package/{object-versions/index.d.ts → types/yuuvis-client-framework-object-versions.d.ts} +0 -0
- /package/{pagination/index.d.ts → types/yuuvis-client-framework-pagination.d.ts} +0 -0
- /package/{query-list/index.d.ts → types/yuuvis-client-framework-query-list.d.ts} +0 -0
- /package/{sequence-list/index.d.ts → types/yuuvis-client-framework-sequence-list.d.ts} +0 -0
- /package/{simple-search/index.d.ts → types/yuuvis-client-framework-simple-search.d.ts} +0 -0
- /package/{sort/index.d.ts → types/yuuvis-client-framework-sort.d.ts} +0 -0
- /package/{tile-list/index.d.ts → types/yuuvis-client-framework-tile-list.d.ts} +0 -0
- /package/{token-search/index.d.ts → types/yuuvis-client-framework-token-search.d.ts} +0 -0
- /package/{tree/index.d.ts → types/yuuvis-client-framework-tree.d.ts} +0 -0
- /package/{upload-progress/index.d.ts → types/yuuvis-client-framework-upload-progress.d.ts} +0 -0
- /package/{index.d.ts → types/yuuvis-client-framework.d.ts} +0 -0
|
@@ -44,24 +44,24 @@ class ObjectDetailsHeaderComponent {
|
|
|
44
44
|
constructor() {
|
|
45
45
|
this.#objectConfig = inject(ObjectConfigService);
|
|
46
46
|
this.#eventService = inject(EventService);
|
|
47
|
-
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
|
|
47
|
+
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : /* istanbul ignore next */ []));
|
|
48
48
|
/**
|
|
49
49
|
* Virtual object type to use for retrieving header data
|
|
50
50
|
*/
|
|
51
|
-
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
51
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
52
52
|
/**
|
|
53
53
|
* Bucket of the object config to retrieve header data from
|
|
54
54
|
*/
|
|
55
|
-
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : []));
|
|
55
|
+
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : /* istanbul ignore next */ []));
|
|
56
56
|
/** Template rendered in the actions area, aligned to the right of the title row. */
|
|
57
|
-
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
57
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : /* istanbul ignore next */ []));
|
|
58
58
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
59
|
-
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
59
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : /* istanbul ignore next */ []));
|
|
60
60
|
this.headerData = computed(() => {
|
|
61
61
|
const object = this.dmsObject();
|
|
62
62
|
const type = this.type();
|
|
63
63
|
return object && type ? this.#setHeaderData() : undefined;
|
|
64
|
-
}, ...(ngDevMode ? [{ debugName: "headerData" }] : []));
|
|
64
|
+
}, ...(ngDevMode ? [{ debugName: "headerData" }] : /* istanbul ignore next */ []));
|
|
65
65
|
this.#eventService
|
|
66
66
|
.on(YuvEventType.DMS_OBJECT_UPDATED)
|
|
67
67
|
.pipe(takeUntilDestroyed())
|
|
@@ -81,10 +81,10 @@ class ObjectDetailsHeaderComponent {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectDetailsHeaderComponent, isStandalone: true, selector: "yuv-object-details-header", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: YmtPanesModule }, { kind: "component", type: i1.YmtPaneHeaderComponent, selector: "ymt-pane-header", inputs: ["title", "icon", "subtitle", "actions", "badges"] }, { kind: "directive", type: RendererDirective, selector: "[yuvRenderer]", inputs: ["yuvRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsHeaderComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{ selector: 'yuv-object-details-header', imports: [MatIconModule, YmtPanesModule, RendererDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@let headerD = headerData();\n@if (dmsObj && headerD) {\n <ymt-pane-header [icon]=\"headerD.icon\" [actions]=\"actions()\" [badges]=\"badges()\">\n <ng-template #yuvPaneHeaderTitle>\n <ng-container *yuvRenderer=\"headerD.title\" />\n </ng-template>\n <ng-template #yuvPaneHeaderSubtitle>\n <ng-container *yuvRenderer=\"headerD.description\" />\n </ng-template>\n </ymt-pane-header>\n}\n" }]
|
|
90
90
|
}], ctorParameters: () => [], propDecorators: { dmsObject: [{ type: i0.Input, args: [{ isSignal: true, alias: "dmsObject", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }] } });
|
|
@@ -94,10 +94,10 @@ class ObjectDetailsShellService {
|
|
|
94
94
|
this.id = Utils.uuid();
|
|
95
95
|
this.#dmsService = inject(DmsService);
|
|
96
96
|
this.translate = inject(TranslateService);
|
|
97
|
-
this.#dmsObject = signal(undefined, ...(ngDevMode ? [{ debugName: "#dmsObject" }] : []));
|
|
97
|
+
this.#dmsObject = signal(undefined, ...(ngDevMode ? [{ debugName: "#dmsObject" }] : /* istanbul ignore next */ []));
|
|
98
98
|
this.dmsObject = this.#dmsObject.asReadonly();
|
|
99
|
-
this.contextError = signal(undefined, ...(ngDevMode ? [{ debugName: "contextError" }] : []));
|
|
100
|
-
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
99
|
+
this.contextError = signal(undefined, ...(ngDevMode ? [{ debugName: "contextError" }] : /* istanbul ignore next */ []));
|
|
100
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : /* istanbul ignore next */ []));
|
|
101
101
|
}
|
|
102
102
|
#dmsService;
|
|
103
103
|
#dmsObject;
|
|
@@ -118,10 +118,10 @@ class ObjectDetailsShellService {
|
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
122
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsShellService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsShellService }); }
|
|
123
123
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsShellService, decorators: [{
|
|
125
125
|
type: Injectable
|
|
126
126
|
}] });
|
|
127
127
|
|
|
@@ -136,26 +136,26 @@ class ObjectDetailsShellComponent {
|
|
|
136
136
|
constructor() {
|
|
137
137
|
this.#eventService = inject(EventService);
|
|
138
138
|
this.#odShellService = inject(ObjectDetailsShellService);
|
|
139
|
-
this.retentionState = signal(undefined, ...(ngDevMode ? [{ debugName: "retentionState" }] : []));
|
|
139
|
+
this.retentionState = signal(undefined, ...(ngDevMode ? [{ debugName: "retentionState" }] : /* istanbul ignore next */ []));
|
|
140
140
|
this.contextError = this.#odShellService.contextError;
|
|
141
141
|
this.dmsObject = this.#odShellService.dmsObject;
|
|
142
142
|
this.busy = this.#odShellService.busy;
|
|
143
143
|
/** Template rendered in the actions area, aligned to the right of the title row. */
|
|
144
|
-
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
144
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : /* istanbul ignore next */ []));
|
|
145
145
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
146
|
-
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
146
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : /* istanbul ignore next */ []));
|
|
147
147
|
/**
|
|
148
148
|
* Virtual object type to use for retrieving header data
|
|
149
149
|
*/
|
|
150
|
-
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
150
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
151
151
|
/**
|
|
152
152
|
* Bucket of the object config to retrieve header data from
|
|
153
153
|
*/
|
|
154
|
-
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : []));
|
|
154
|
+
this.bucket = input(undefined, ...(ngDevMode ? [{ debugName: "bucket" }] : /* istanbul ignore next */ []));
|
|
155
155
|
/**
|
|
156
156
|
* Whether to hide the header
|
|
157
157
|
*/
|
|
158
|
-
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : []));
|
|
158
|
+
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : /* istanbul ignore next */ []));
|
|
159
159
|
this.#eventService
|
|
160
160
|
.on(YuvEventType.DMS_OBJECT_UPDATED, YuvEventType.DMS_OBJECT_DELETED)
|
|
161
161
|
.pipe(takeUntilDestroyed())
|
|
@@ -176,10 +176,10 @@ class ObjectDetailsShellComponent {
|
|
|
176
176
|
}
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
179
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectDetailsShellComponent, isStandalone: true, selector: "yuv-object-details-shell", inputs: { actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, bucket: { classPropertyName: "bucket", publicName: "bucket", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"], dependencies: [{ kind: "component", type: ObjectDetailsHeaderComponent, selector: "yuv-object-details-header", inputs: ["dmsObject", "type", "bucket", "actions", "badges"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
181
181
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsShellComponent, decorators: [{
|
|
183
183
|
type: Component,
|
|
184
184
|
args: [{ selector: 'yuv-object-details-shell', standalone: true, imports: [ObjectDetailsHeaderComponent, MatTooltipModule, BusyOverlayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let dmsObj = dmsObject();\n@if (dmsObj) {\n @if (!hideHeader()) {\n <yuv-object-details-header\n [dmsObject]=\"dmsObj\"\n [type]=\"type()\"\n [bucket]=\"bucket()\"\n [badges]=\"badges()\"\n [actions]=\"actions()\"\n />\n }\n <div class=\"content\" [yuvBusyOverlay]=\"busy()\">\n <ng-content />\n </div>\n} @else {\n <div class=\"empty\">\n @if (contextError()) {\n <div class=\"error\">{{ contextError() }}</div>\n } @else {\n <!-- EMPTY -->\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;position:relative;background-color:var(--ymt-surface)}:host .content{flex:1;overflow:hidden}:host .empty{height:100%;display:grid;align-items:center;justify-content:center}:host .empty .error{max-width:40ch;margin:var(--ymt-spacing-m);color:var(--ymt-text-color-subtle);padding:var(--ymt-spacing-s);border-radius:.5em;line-height:1.5em;border:1px solid var(--ymt-outline-variant)}\n"] }]
|
|
185
185
|
}], ctorParameters: () => [], propDecorators: { actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], badges: [{ type: i0.Input, args: [{ isSignal: true, alias: "badges", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: true }] }], bucket: [{ type: i0.Input, args: [{ isSignal: true, alias: "bucket", required: false }] }], hideHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideHeader", required: false }] }] } });
|
|
@@ -199,13 +199,13 @@ class ObjectAuditComponent {
|
|
|
199
199
|
filter: YUV_ICONS.filter,
|
|
200
200
|
arrowNext: YUV_ICONS.arrowNext
|
|
201
201
|
};
|
|
202
|
-
this.auditsRes = signal(undefined, ...(ngDevMode ? [{ debugName: "auditsRes" }] : []));
|
|
203
|
-
this.resolvedItems = signal([], ...(ngDevMode ? [{ debugName: "resolvedItems" }] : []));
|
|
204
|
-
this.error = signal(false, ...(ngDevMode ? [{ debugName: "error" }] : []));
|
|
205
|
-
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
202
|
+
this.auditsRes = signal(undefined, ...(ngDevMode ? [{ debugName: "auditsRes" }] : /* istanbul ignore next */ []));
|
|
203
|
+
this.resolvedItems = signal([], ...(ngDevMode ? [{ debugName: "resolvedItems" }] : /* istanbul ignore next */ []));
|
|
204
|
+
this.error = signal(false, ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
|
|
205
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : /* istanbul ignore next */ []));
|
|
206
206
|
this.searchActions = [];
|
|
207
207
|
this.auditLabels = {};
|
|
208
|
-
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : []));
|
|
208
|
+
this.dmsObject = input(undefined, ...(ngDevMode ? [{ debugName: "dmsObject" }] : /* istanbul ignore next */ []));
|
|
209
209
|
this.#dmsObjectEffect = effect(() => {
|
|
210
210
|
const o = this.dmsObject();
|
|
211
211
|
if (!o) {
|
|
@@ -221,16 +221,16 @@ class ObjectAuditComponent {
|
|
|
221
221
|
else {
|
|
222
222
|
this.query();
|
|
223
223
|
}
|
|
224
|
-
}, ...(ngDevMode ? [{ debugName: "#dmsObjectEffect" }] : []));
|
|
224
|
+
}, ...(ngDevMode ? [{ debugName: "#dmsObjectEffect" }] : /* istanbul ignore next */ []));
|
|
225
225
|
/**
|
|
226
226
|
* A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.).
|
|
227
227
|
* This will also disable the corresponding filters.
|
|
228
228
|
*/
|
|
229
|
-
this.skipActions = input([], ...(ngDevMode ? [{ debugName: "skipActions" }] : []));
|
|
229
|
+
this.skipActions = input([], ...(ngDevMode ? [{ debugName: "skipActions" }] : /* istanbul ignore next */ []));
|
|
230
230
|
/**
|
|
231
231
|
* Whether or not to ignore admin and user separation of audit entries
|
|
232
232
|
*/
|
|
233
|
-
this.allActions = input(false, ...(ngDevMode ? [{ debugName: "allActions" }] : []));
|
|
233
|
+
this.allActions = input(false, ...(ngDevMode ? [{ debugName: "allActions" }] : /* istanbul ignore next */ []));
|
|
234
234
|
this.auditLabels = {
|
|
235
235
|
a100: this.translate.instant('yuv.audit.label.create.metadata'),
|
|
236
236
|
a101: this.translate.instant('yuv.audit.label.create.metadata.withcontent'),
|
|
@@ -341,10 +341,10 @@ class ObjectAuditComponent {
|
|
|
341
341
|
this.auditsRes.set(undefined);
|
|
342
342
|
this.error.set(true);
|
|
343
343
|
}
|
|
344
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
345
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
344
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectAuditComponent, deps: [{ token: i1$1.AuditService }, { token: i1$1.EventService }, { token: i1$1.SystemService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectAuditComponent, isStandalone: true, selector: "yuv-object-audit", inputs: { dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, skipActions: { classPropertyName: "skipActions", publicName: "skipActions", isSignal: true, isRequired: false, transformFunction: null }, allActions: { classPropertyName: "allActions", publicName: "allActions", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let auditsResult = auditsRes();\n\n<div\n class=\"yuv-audit\"\n [ngClass]=\"{ singleEntry: auditsResult?.items?.length === 1, onPage: auditsResult && auditsResult.page > 1 }\"\n [yuvBusyOverlay]=\"busy()\"\n>\n @if (error()) {\n <div class=\"error\">\n <div translate>yuv.audit.fetch.error</div>\n </div>\n }\n\n @if (auditsResult) {\n <!-- list of audits -->\n @let resItems = resolvedItems();\n @if (resItems.length) {\n <ul class=\"timeline\" [attr.aria-label]=\"'yuv.audit.timeline' | translate\">\n @for (item of resItems; track $index) {\n <li class=\"audit\" attr.aria-labelledby=\"'title-{{ $index }} creator-{{ $index }} date-{{ $index }}'\">\n <time [attr.datetime]=\"item.creationDate\" class=\"date\">{{ item.creationDate | localeDate }}</time>\n <div class=\"node\">\n <div class=\"label\">\n <span class=\"title\" id=\"title-{{ $index }}\">{{ item.label }}</span>\n <span class=\"version\">{{ 'yuv.audit.label.version' | translate: ({version: item.version}) }}</span>\n </div>\n <div class=\"more meta\">{{ item.more }}</div>\n <div class=\"creator meta\" id=\"creator-{{ $index }}\">{{ item.createdBy.title }}</div>\n </div>\n </li>\n }\n </ul>\n } @else {\n <div class=\"empty\" translate>yuv.audit.result.empty</div>\n }\n\n <!-- controls -->\n @if (auditsResult.hasMoreItems || auditsResult.page > 1) {\n <div class=\"footer\" yuvOfflineDisabled>\n <div class=\"paging\">\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.prev' | translate\"\n [disabled]=\"auditsResult.page === 1\"\n (click)=\"goToPage(auditsResult.page - 1)\"\n >\n <mat-icon>chevron_left</mat-icon>\n </button>\n <div class=\"page\">\n {{ auditsResult.page }}\n </div>\n <button\n ymtIconButton\n [attr.aria-label]=\"'yuv.audit.label.paging.next' | translate\"\n [disabled]=\"!auditsResult.hasMoreItems\"\n (click)=\"goToPage(auditsResult.page + 1)\"\n >\n <mat-icon>chevron_right</mat-icon>\n </button>\n </div>\n </div>\n }\n }\n</div>\n", styles: [":host{--_object-audit-panel-background: var(--object-audit-panel-background, var(--ymt-surface))}:host .yuv-audit{position:relative;height:100%;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;grid-template-areas:\"items\" \"footer\";background-color:var(--_object-audit-panel-background);container-type:inline-size;container-name:cmp}:host .yuv-audit .error{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center}:host .yuv-audit .error>div{background-color:var(--ymt-danger-container);color:var(--ymt-on-danger-container);margin:var(--ymt-spacing-m);padding:var(--ymt-spacing-m);border-radius:var(--ymt-spacing-xs)}:host .yuv-audit .audits{grid-area:items}:host .yuv-audit .empty{grid-area:items;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--ymt-text-color-subtle)}:host .yuv-audit .footer{grid-area:footer;background-color:var(--ymt-surface);border-top:1px solid var(--ymt-outline-variant);display:flex}:host .yuv-audit .footer .paging{flex:1;display:flex;align-items:center;justify-content:flex-end;padding:var(--ymt-spacing-xs)}:host .yuv-audit .footer .paging .page{padding:0 var(--ymt-spacing-xs)}:host .timeline{--track-color: var(--ymt-outline-variant);--track-size: var(--ymt-spacing-4xl);margin-block-start:0;margin-block-end:0;overflow-y:auto;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-2xs) var(--ymt-spacing-3xl) var(--ymt-spacing-l)}@container (max-width: 450px){:host .timeline .audit{grid-template-columns:var(--track-size) auto;grid-template-rows:var(--track-size) auto;grid-template-areas:\"line date\" \"node node\"}:host .timeline .audit .date{justify-self:start}:host .timeline .audit .date,:host .timeline .audit:after{translate:0 .5em}:host .timeline .audit .node{margin:0;width:100%}:host .timeline .audit:last-child:before{height:100%}}:host .timeline :where(.audit){display:grid;grid-template-columns:1fr var(--track-size) 6fr;grid-template-areas:\"date line node\"}:host .timeline :where(.audit) .date{grid-area:date;justify-self:end;align-self:center}:host .timeline :where(.audit) .node{grid-area:node;justify-self:start;background-color:var(--ymt-surface-panel);border:1px solid var(--ymt-outline-variant);border-radius:.25em;margin:var(--ymt-spacing-xs) 0;padding:var(--ymt-spacing-m);box-sizing:border-box;display:grid;gap:var(--ymt-spacing-3xs)}:host .timeline :where(.audit) .node .label{display:flex;align-items:center}:host .timeline :where(.audit) .node .label .title{flex:1;word-break:break-word;font-weight:700;color:var(--ymt-text-color)}:host .timeline :where(.audit) .node .label .version{line-height:1em;border-radius:2px;background-color:rgb(from var(--ymt-primary) r g b/.15);color:var(--ymt-primary);font:var(--ymt-font-body-subtle);font-family:monospace;align-self:center;margin-left:var(--ymt-spacing-m);padding:2px 4px;display:block}:host .timeline :where(.audit) .node .meta{color:var(--ymt-text-color-subtle)}:host .timeline :where(.audit):before{grid-area:line;content:\"\";width:calc(50% + 1px);height:100%;border-inline-end:2px solid var(--track-color)}:host .timeline :where(.audit):after{grid-area:line;content:\"\";width:14px;height:14px;border-radius:50%;border:2px solid var(--track-color);background-color:var(--ymt-surface-panel);box-sizing:border-box;align-self:center;justify-self:center}:host .timeline :where(.audit):first-child:before{height:50%;align-self:end}:host .timeline :where(.audit):last-child:before{height:50%;align-self:start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: YmtIconButtonDirective, selector: "button[ymtIconButton],button[ymt-icon-button],a[ymtIconButton],a[ymt-icon-button]", inputs: ["disabled", "disableRipple", "aria-disabled", "disabledInteractive", "icon-button-size"] }, { kind: "pipe", type: LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
346
346
|
}
|
|
347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectAuditComponent, decorators: [{
|
|
348
348
|
type: Component,
|
|
349
349
|
args: [{ selector: 'yuv-object-audit', standalone: true, imports: [
|
|
350
350
|
CommonModule,
|
|
@@ -360,22 +360,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
360
360
|
class ObjectMetadataSectionComponent {
|
|
361
361
|
constructor() {
|
|
362
362
|
this.#system = inject(SystemService);
|
|
363
|
-
this.objectForm = viewChild(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForm" }] : []));
|
|
364
|
-
this.section = input.required(...(ngDevMode ? [{ debugName: "section" }] : []));
|
|
365
|
-
this.expandedInput = input(false, ...(ngDevMode ?
|
|
366
|
-
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : []));
|
|
367
|
-
this.readonly = input(...(ngDevMode ? [undefined, { debugName: "readonly" }] : []));
|
|
368
|
-
this.expanded = linkedSignal(this.expandedInput, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
|
|
369
|
-
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : []));
|
|
363
|
+
this.objectForm = viewChild(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForm" }] : /* istanbul ignore next */ []));
|
|
364
|
+
this.section = input.required(...(ngDevMode ? [{ debugName: "section" }] : /* istanbul ignore next */ []));
|
|
365
|
+
this.expandedInput = input(false, { ...(ngDevMode ? { debugName: "expandedInput" } : /* istanbul ignore next */ {}), alias: 'expanded' });
|
|
366
|
+
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : /* istanbul ignore next */ []));
|
|
367
|
+
this.readonly = input(...(ngDevMode ? [undefined, { debugName: "readonly" }] : /* istanbul ignore next */ []));
|
|
368
|
+
this.expanded = linkedSignal(this.expandedInput, ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
|
|
369
|
+
this.busy = signal(false, ...(ngDevMode ? [{ debugName: "busy" }] : /* istanbul ignore next */ []));
|
|
370
370
|
// linkedSignal instead of plain signal so that formOptions resets to undefined whenever
|
|
371
371
|
// the section input changes (e.g. a different object is loaded). This ensures the form
|
|
372
372
|
// is reloaded with fresh data for the new section while still allowing .set() mutations
|
|
373
373
|
// (user edits) to persist across collapse/expand cycles within the same section.
|
|
374
|
-
this.formOptions = linkedSignal(...(ngDevMode ?
|
|
375
|
-
|
|
376
|
-
source: this.section,
|
|
377
|
-
computation: () => undefined
|
|
378
|
-
}]));
|
|
374
|
+
this.formOptions = linkedSignal({ ...(ngDevMode ? { debugName: "formOptions" } : /* istanbul ignore next */ {}), source: this.section,
|
|
375
|
+
computation: () => undefined });
|
|
379
376
|
this.#formOptionsEffect = effect(() => {
|
|
380
377
|
// Load the object form when the section is first expanded.
|
|
381
378
|
// Don't use rxResource here because it messes with the state of the formOptions.
|
|
@@ -399,7 +396,7 @@ class ObjectMetadataSectionComponent {
|
|
|
399
396
|
}
|
|
400
397
|
});
|
|
401
398
|
}
|
|
402
|
-
}, ...(ngDevMode ? [{ debugName: "#formOptionsEffect" }] : []));
|
|
399
|
+
}, ...(ngDevMode ? [{ debugName: "#formOptionsEffect" }] : /* istanbul ignore next */ []));
|
|
403
400
|
this.statusChanged = output();
|
|
404
401
|
}
|
|
405
402
|
#system;
|
|
@@ -410,10 +407,10 @@ class ObjectMetadataSectionComponent {
|
|
|
410
407
|
setFormPristine() {
|
|
411
408
|
this.objectForm()?.setFormPristine();
|
|
412
409
|
}
|
|
413
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
414
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectMetadataSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectMetadataSectionComponent, isStandalone: true, selector: "yuv-object-metadata-section", inputs: { section: { classPropertyName: "section", publicName: "section", isSignal: true, isRequired: true, transformFunction: null }, expandedInput: { classPropertyName: "expandedInput", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { statusChanged: "statusChanged" }, host: { properties: { "class.invalid": "objectForm()?.form?.invalid", "class.dirty": "objectForm()?.form?.dirty" } }, viewQueries: [{ propertyName: "objectForm", first: true, predicate: ObjectFormComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@let _section = section();\n@let fo = formOptions();\n\n<h3>\n <button\n type=\"button\"\n [attr.aria-expanded]=\"expanded()\"\n class=\"accordion-trigger\"\n [attr.aria-controls]=\"'sect_' + _section.id\"\n [id]=\"'accordion_' + _section.id\"\n (click)=\"expanded.set(!expanded())\"\n [attr.aria-busy]=\"busy()\"\n >\n @if (_section.icon) {\n @if (_section.svgIcon) {\n <mat-icon [svgIcon]=\"_section.icon\"></mat-icon>\n } @else {\n <mat-icon>{{ _section.icon }}</mat-icon>\n }\n }\n <span >{{ _section.label }}</span>\n @if (busy()) {\n <mat-spinner diameter=\"24\"></mat-spinner>\n }\n <mat-icon class=\"arr\">keyboard_arrow_down</mat-icon>\n </button>\n</h3>\n<div [id]=\"'sect_' + _section.id\" role=\"region\" [attr.aria-labelledby]=\"'accordion_' + _section.id\" class=\"accordion-panel\">\n @if (fo) {\n <yuv-object-form\n #objectForm\n [hidden]=\"!expanded()\"\n [readonly]=\"readonly()\"\n [formOptions]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"statusChanged.emit($event)\"\n ></yuv-object-form>\n }\n</div>\n", styles: [":host{--section-state-border-color: var(--ymt-outline-variant);--section-state-outline-color: transparent;background-color:var(--_object-metadata-section-background);border:1px solid var(--section-state-border-color);border-radius:var(--_object-metadata-section-corner);outline:3px solid var(--section-state-outline-color)}:host.invalid{--section-state-border-color: var(--ymt-danger);--section-state-outline-color: rgb(from var(--ymt-danger) r g b /.2)}:host.dirty:not(.invalid){--section-state-border-color: var(--ymt-success);--section-state-outline-color: rgb(from var(--ymt-success) r g b /.2)}:host h3{margin:0;padding:0;display:flex}:host h3 button{margin:var(--ymt-spacing-2xs);border-radius:calc(var(--_object-metadata-section-corner) * .5);flex:1;padding:var(--ymt-spacing-xs);cursor:pointer;display:flex;gap:var(--ymt-spacing-xs);align-items:center;font-weight:700;color:var(--ymt-text-color-subtle);background-color:transparent;border:none}:host h3 button:hover{background-color:var(--ymt-hover-background)}:host h3 button:focus-visible{background-color:var(--ymt-hover-background);outline:2px solid var(--ymt-outline);outline-offset:-2px}:host h3 button[aria-expanded=true] mat-icon.arr{transform:rotate(180deg)}:host h3 button span{flex:1;text-align:start}:host h3 button mat-icon{margin-inline-end:var(--ymt-spacing-xs);transition:transform .3s ease}:host details{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner)}:host details:not(:last-child){margin-block-end:var(--ymt-spacing-m)}:host details[open] yuv-icon.arr{transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i2$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }] }); }
|
|
415
412
|
}
|
|
416
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectMetadataSectionComponent, decorators: [{
|
|
417
414
|
type: Component,
|
|
418
415
|
args: [{ selector: 'yuv-object-metadata-section', imports: [MatIconModule, MatProgressSpinnerModule, ObjectFormComponent], host: {
|
|
419
416
|
'[class.invalid]': 'objectForm()?.form?.invalid',
|
|
@@ -435,44 +432,44 @@ class ObjectMetadataComponent {
|
|
|
435
432
|
const object = this._dmsObject();
|
|
436
433
|
const o = flavoredDmsObject ? flavoredDmsObject.object : object;
|
|
437
434
|
return o?.permissions?.writeIndexData || false;
|
|
438
|
-
}, ...(ngDevMode ? [{ debugName: "hasWritePermission" }] : []));
|
|
439
|
-
this.objectForms = viewChildren(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForms" }] : []));
|
|
440
|
-
this.objectMetadataSectionForms = viewChildren(ObjectMetadataSectionComponent, ...(ngDevMode ? [{ debugName: "objectMetadataSectionForms" }] : []));
|
|
435
|
+
}, ...(ngDevMode ? [{ debugName: "hasWritePermission" }] : /* istanbul ignore next */ []));
|
|
436
|
+
this.objectForms = viewChildren(ObjectFormComponent, ...(ngDevMode ? [{ debugName: "objectForms" }] : /* istanbul ignore next */ []));
|
|
437
|
+
this.objectMetadataSectionForms = viewChildren(ObjectMetadataSectionComponent, ...(ngDevMode ? [{ debugName: "objectMetadataSectionForms" }] : /* istanbul ignore next */ []));
|
|
441
438
|
this.#formSubscriptions = [];
|
|
442
|
-
this.busySaving = signal(false, ...(ngDevMode ? [{ debugName: "busySaving" }] : []));
|
|
443
|
-
this.busyLoading = signal(false, ...(ngDevMode ? [{ debugName: "busyLoading" }] : []));
|
|
444
|
-
this.disableControls = input(false, ...(ngDevMode ? [{ debugName: "disableControls" }] : []));
|
|
439
|
+
this.busySaving = signal(false, ...(ngDevMode ? [{ debugName: "busySaving" }] : /* istanbul ignore next */ []));
|
|
440
|
+
this.busyLoading = signal(false, ...(ngDevMode ? [{ debugName: "busyLoading" }] : /* istanbul ignore next */ []));
|
|
441
|
+
this.disableControls = input(false, ...(ngDevMode ? [{ debugName: "disableControls" }] : /* istanbul ignore next */ []));
|
|
445
442
|
/**
|
|
446
443
|
* Set to 'true' to disable the basic metadata form. This will hide
|
|
447
444
|
* the basic metadata section that shows common object proeperties like
|
|
448
445
|
* creation date, creator, version, etc.
|
|
449
446
|
*/
|
|
450
|
-
this.disableBasicMetadata = input(false, ...(ngDevMode ? [{ debugName: "disableBasicMetadata" }] : []));
|
|
451
|
-
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : []));
|
|
452
|
-
this.controlsVisible = signal(false, ...(ngDevMode ? [{ debugName: "controlsVisible" }] : []));
|
|
453
|
-
this.empty = computed(() => !this.mainFormOptions() && this.flavorFormOptions().length === 0 && this.disableBasicMetadata(), ...(ngDevMode ? [{ debugName: "empty" }] : []));
|
|
447
|
+
this.disableBasicMetadata = input(false, ...(ngDevMode ? [{ debugName: "disableBasicMetadata" }] : /* istanbul ignore next */ []));
|
|
448
|
+
this.elementExtensions = input([], ...(ngDevMode ? [{ debugName: "elementExtensions" }] : /* istanbul ignore next */ []));
|
|
449
|
+
this.controlsVisible = signal(false, ...(ngDevMode ? [{ debugName: "controlsVisible" }] : /* istanbul ignore next */ []));
|
|
450
|
+
this.empty = computed(() => !this.mainFormOptions() && this.flavorFormOptions().length === 0 && this.disableBasicMetadata(), ...(ngDevMode ? [{ debugName: "empty" }] : /* istanbul ignore next */ []));
|
|
454
451
|
// state of all individual forms
|
|
455
452
|
this.#formStates = new Map();
|
|
456
453
|
this.baseData = [];
|
|
457
454
|
/**
|
|
458
455
|
* Form situation, if not set default will be 'EDIT'
|
|
459
456
|
*/
|
|
460
|
-
this.situation = input(Situation.EDIT, ...(ngDevMode ? [{ debugName: "situation" }] : []));
|
|
457
|
+
this.situation = input(Situation.EDIT, ...(ngDevMode ? [{ debugName: "situation" }] : /* istanbul ignore next */ []));
|
|
461
458
|
/**
|
|
462
459
|
* Set to 'true' to prevent all metadata from being edited
|
|
463
460
|
*/
|
|
464
|
-
this.formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "formDisabled" }] : []));
|
|
465
|
-
this.dmsObject = input(...(ngDevMode ? [undefined, { debugName: "dmsObject" }] : []));
|
|
466
|
-
this._dmsObject = linkedSignal(this.dmsObject, ...(ngDevMode ? [{ debugName: "_dmsObject" }] : []));
|
|
461
|
+
this.formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "formDisabled" }] : /* istanbul ignore next */ []));
|
|
462
|
+
this.dmsObject = input(...(ngDevMode ? [undefined, { debugName: "dmsObject" }] : /* istanbul ignore next */ []));
|
|
463
|
+
this._dmsObject = linkedSignal(this.dmsObject, ...(ngDevMode ? [{ debugName: "_dmsObject" }] : /* istanbul ignore next */ []));
|
|
467
464
|
/**
|
|
468
465
|
* @deprecated This input will be removed in the future.
|
|
469
466
|
* Please migrate to using `dmsObject` and `flavors` inputs instead.
|
|
470
467
|
*/
|
|
471
|
-
this.flavoredDmsObject = input(...(ngDevMode ? [undefined, { debugName: "flavoredDmsObject" }] : []));
|
|
468
|
+
this.flavoredDmsObject = input(...(ngDevMode ? [undefined, { debugName: "flavoredDmsObject" }] : /* istanbul ignore next */ []));
|
|
472
469
|
this.#flavoredDmsObjectEffect = effect(() => {
|
|
473
470
|
const flavoredDmsObject = this.flavoredDmsObject();
|
|
474
471
|
flavoredDmsObject && this.#init(flavoredDmsObject?.object, flavoredDmsObject?.flavors);
|
|
475
|
-
}, ...(ngDevMode ? [{ debugName: "#flavoredDmsObjectEffect" }] : []));
|
|
472
|
+
}, ...(ngDevMode ? [{ debugName: "#flavoredDmsObjectEffect" }] : /* istanbul ignore next */ []));
|
|
476
473
|
/**
|
|
477
474
|
* Emits the updated `DmsObject` when metadata have been saved.
|
|
478
475
|
*/
|
|
@@ -486,7 +483,7 @@ class ObjectMetadataComponent {
|
|
|
486
483
|
* this is not used anymore
|
|
487
484
|
*
|
|
488
485
|
*/
|
|
489
|
-
this.#legacyFlavors = signal(undefined, ...(ngDevMode ? [{ debugName: "#legacyFlavors" }] : []));
|
|
486
|
+
this.#legacyFlavors = signal(undefined, ...(ngDevMode ? [{ debugName: "#legacyFlavors" }] : /* istanbul ignore next */ []));
|
|
490
487
|
this.#mainFormOptionsResource = rxResource({
|
|
491
488
|
params: this._dmsObject,
|
|
492
489
|
stream: ({ params }) => {
|
|
@@ -504,7 +501,7 @@ class ObjectMetadataComponent {
|
|
|
504
501
|
// form of the dms object itself
|
|
505
502
|
this.mainFormOptions = this.#mainFormOptionsResource.value;
|
|
506
503
|
this.mainFormOptionsIsLoading = this.#mainFormOptionsResource.isLoading;
|
|
507
|
-
this.flavors = input(undefined, ...(ngDevMode ? [{ debugName: "flavors" }] : []));
|
|
504
|
+
this.flavors = input(undefined, ...(ngDevMode ? [{ debugName: "flavors" }] : /* istanbul ignore next */ []));
|
|
508
505
|
// forms of applied flavors
|
|
509
506
|
this.flavorFormOptions = computed(() => {
|
|
510
507
|
const object = this._dmsObject();
|
|
@@ -521,7 +518,7 @@ class ObjectMetadataComponent {
|
|
|
521
518
|
svgIcon: mappedFlavors[id]?.svgIcon,
|
|
522
519
|
data: object.data
|
|
523
520
|
}));
|
|
524
|
-
}, ...(ngDevMode ? [{ debugName: "flavorFormOptions" }] : []));
|
|
521
|
+
}, ...(ngDevMode ? [{ debugName: "flavorFormOptions" }] : /* istanbul ignore next */ []));
|
|
525
522
|
}
|
|
526
523
|
#pendingChanges;
|
|
527
524
|
#notificationService;
|
|
@@ -678,10 +675,10 @@ class ObjectMetadataComponent {
|
|
|
678
675
|
ngOnDestroy() {
|
|
679
676
|
this.#formSubscriptions.forEach((s) => s.unsubscribe());
|
|
680
677
|
}
|
|
681
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
682
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
678
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectMetadataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
679
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectMetadataComponent, isStandalone: true, selector: "yuv-object-metadata", inputs: { disableControls: { classPropertyName: "disableControls", publicName: "disableControls", isSignal: true, isRequired: false, transformFunction: null }, disableBasicMetadata: { classPropertyName: "disableBasicMetadata", publicName: "disableBasicMetadata", isSignal: true, isRequired: false, transformFunction: null }, elementExtensions: { classPropertyName: "elementExtensions", publicName: "elementExtensions", isSignal: true, isRequired: false, transformFunction: null }, situation: { classPropertyName: "situation", publicName: "situation", isSignal: true, isRequired: false, transformFunction: null }, dmsObject: { classPropertyName: "dmsObject", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavoredDmsObject: { classPropertyName: "flavoredDmsObject", publicName: "flavoredDmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { indexDataSaved: "indexDataSaved", statusChanged: "statusChanged" }, host: { properties: { "class.empty": "empty()", "class.loading": "busyLoading()" } }, viewQueries: [{ propertyName: "objectForms", predicate: ObjectFormComponent, descendants: true, isSignal: true }, { propertyName: "objectMetadataSectionForms", predicate: ObjectMetadataSectionComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<main [yuvBusyOverlay]=\"busySaving() || busyLoading() || mainFormOptionsIsLoading()\">\n @if (empty()) {\n <p>{{ 'yuv.object-metadata.empty.message' | translate }}</p>\n }\n @if (!mainFormOptions()) {\n <yuv-object-form\n [readonly]=\"!hasWritePermission()\"\n [formOptions]=\"mainFormOptions()\"\n [elementExtensions]=\"elementExtensions()\"\n (statusChanged)=\"onFormStatusChanged('main', $event)\"\n ></yuv-object-form>\n }\n @for (fo of flavorFormOptions(); track $index) {\n <yuv-object-metadata-section\n [readonly]=\"!hasWritePermission()\"\n [section]=\"fo\"\n [elementExtensions]=\"elementExtensions()\"\n [expanded]=\"$index === 0\"\n (statusChanged)=\"onFormStatusChanged(fo.id, $event)\"\n ></yuv-object-metadata-section>\n }\n\n <!-- base data -->\n @let object = dmsObject() ?? _dmsObject();\n @if (object && !disableBasicMetadata()) {\n <yuv-object-summary-data [dmsObject]=\"object\"></yuv-object-summary-data>\n }\n</main>\n\n<footer [attr.inert]=\"disableControls() || !controlsVisible() || null\">\n <div class=\"container\">\n <button\n ymtButton=\"secondary\"\n button-size=\"small\"\n [disabled]=\"busySaving() || busyLoading()\"\n (click)=\"resetForm()\"\n [hidden]=\"!combinedFormState?.dirty\"\n [disabled]=\"!combinedFormState?.dirty\"\n >\n {{ 'yuv.object-metadata.button.reset' | translate }}\n </button>\n <button\n ymtButton=\"primary\"\n button-size=\"small\"\n (click)=\"save()\"\n [disabled]=\"!combinedFormState?.dirty || combinedFormState?.invalid || busySaving() || busyLoading()\"\n >\n {{ 'yuv.object-metadata.button.save' | translate }}\n </button>\n </div>\n</footer>\n", styles: [":host{--_object-metadata-panel-background: var(--object-metadata-panel-background, var(--ymt-surface-container-low));--_object-metadata-section-background: var(--object-metadata-section-background, var(--ymt-surface));--_object-metadata-section-corner: var(--object-metadata-section-corner, var(--ymt-corner-m));--_object-metadata-footer-background: var(--object-metadata-footer-background, var(--ymt-surface-container));--_object-metadata-footer-border: 1px solid var(--object-metadata-footer-border, var(--ymt-outline-variant));--_object-metadata-footer-indent: var(--object-metadata-footer-indent, var(--ymt-spacing-xs));--_object-metadata-footer-height: 4rem;--_object-metadata-footer-corner: var(--object-metadata-footer-corner, var(--ymt-corner-s));display:grid;grid-template-rows:1fr auto;grid-template-columns:1fr;height:100%;overflow:hidden;position:relative;background-color:var(--_object-metadata-panel-background)}:host.empty main{justify-content:center;align-items:center}:host.loading main>*{opacity:0}:host main{grid-row:1/span 3;grid-column:1;overflow-y:auto;width:100%;display:flex;flex-flow:column;padding:var(--ymt-spacing-3xl) var(--ymt-spacing-l) var(--_object-metadata-footer-height) var(--ymt-spacing-l)}:host footer{grid-row:-1;grid-column:1;padding:var(--_object-metadata-footer-indent);opacity:0;z-index:101}:host footer .container{background:var(--_object-metadata-footer-background);padding:var(--ymt-spacing-s);display:flex;align-items:center;justify-content:end;gap:var(--ymt-spacing-s);border-radius:var(--_object-metadata-footer-corner);border:var(--_object-metadata-footer-border)}:host footer:not([inert]){animation:controlsAppear .2s ease-in-out forwards}:host main yuv-object-metadata-section{margin-block-end:var(--ymt-spacing-m)}:host main yuv-object-summary-data{background-color:var(--_object-metadata-section-background);border:1px solid var(--ymt-outline-variant);border-radius:var(--_object-metadata-section-corner);padding:var(--ymt-spacing-m)}@keyframes controlsAppear{0%{opacity:0;translate:0 var(--ymt-spacing-m)}to{opacity:1;translate:0 0}}\n"], dependencies: [{ kind: "component", type: ObjectFormComponent, selector: "yuv-object-form", inputs: ["formOptions", "inert", "readonly", "elementExtensions", "isInnerTableForm"], outputs: ["statusChanged", "onFormReady"] }, { kind: "component", type: ObjectSummaryDataComponent, selector: "yuv-object-summary-data", inputs: ["dmsObject", "flavors", "showAppliedFlavors"] }, { kind: "directive", type: BusyOverlayDirective, selector: "[yuvBusyOverlay]", inputs: ["yuvBusyOverlay", "yuvBusyOverlayConfig", "yuvBusyError"], outputs: ["yuvBusyErrorDismiss"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: ObjectMetadataSectionComponent, selector: "yuv-object-metadata-section", inputs: ["section", "expanded", "elementExtensions", "readonly"], outputs: ["statusChanged"] }, { kind: "directive", type: YmtButtonDirective, selector: "button[ymtButton], a[ymtButton]", inputs: ["ymtButton", "disabled", "aria-disabled", "disableRipple", "disabledInteractive", "button-size"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
683
680
|
}
|
|
684
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectMetadataComponent, decorators: [{
|
|
685
682
|
type: Component,
|
|
686
683
|
args: [{ selector: 'yuv-object-metadata', standalone: true, imports: [
|
|
687
684
|
ObjectFormComponent,
|
|
@@ -704,52 +701,52 @@ class ObjectDetailsComponent {
|
|
|
704
701
|
this.#userService = inject(UserService);
|
|
705
702
|
this.#odShellService = inject(ObjectDetailsShellService);
|
|
706
703
|
this.isAdvancedUser = this.#userService.isAdvancedUser;
|
|
707
|
-
this.currentUser = signal(this.#userService.getCurrentUser(), ...(ngDevMode ? [{ debugName: "currentUser" }] : []));
|
|
704
|
+
this.currentUser = signal(this.#userService.getCurrentUser(), ...(ngDevMode ? [{ debugName: "currentUser" }] : /* istanbul ignore next */ []));
|
|
708
705
|
/**
|
|
709
706
|
* ID to store the components layout state (splitted tabs, gutter position)
|
|
710
707
|
*/
|
|
711
|
-
this.layoutSettingsID = signal(undefined, ...(ngDevMode ? [{ debugName: "layoutSettingsID" }] : []));
|
|
708
|
+
this.layoutSettingsID = signal(undefined, ...(ngDevMode ? [{ debugName: "layoutSettingsID" }] : /* istanbul ignore next */ []));
|
|
712
709
|
/**
|
|
713
710
|
* DmsObject to show the details for.
|
|
714
711
|
*/
|
|
715
|
-
this.dmsObjectInput = input(undefined, ...(ngDevMode ?
|
|
712
|
+
this.dmsObjectInput = input(undefined, { ...(ngDevMode ? { debugName: "dmsObjectInput" } : /* istanbul ignore next */ {}), alias: 'dmsObject' });
|
|
716
713
|
this.dmsObjectInputEffect = effect(() => {
|
|
717
714
|
const o = this.dmsObjectInput();
|
|
718
715
|
if (o)
|
|
719
716
|
untracked(() => this.#odShellService.setDmsObject(o));
|
|
720
|
-
}, ...(ngDevMode ? [{ debugName: "dmsObjectInputEffect" }] : []));
|
|
717
|
+
}, ...(ngDevMode ? [{ debugName: "dmsObjectInputEffect" }] : /* istanbul ignore next */ []));
|
|
721
718
|
this.dmsObject = this.#odShellService.dmsObject;
|
|
722
719
|
/**
|
|
723
720
|
* Flavors to take into account. These flavors define for example the metadata
|
|
724
721
|
* of an object.
|
|
725
722
|
*/
|
|
726
|
-
this.flavors = input([], ...(ngDevMode ? [{ debugName: "flavors" }] : []));
|
|
723
|
+
this.flavors = input([], ...(ngDevMode ? [{ debugName: "flavors" }] : /* istanbul ignore next */ []));
|
|
727
724
|
/**
|
|
728
725
|
* Virtual object type to use for retrieving header data
|
|
729
726
|
*/
|
|
730
|
-
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : []));
|
|
727
|
+
this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
731
728
|
/**
|
|
732
729
|
* If the object config for the given type has been stored in a certain bucket, this
|
|
733
730
|
* bucket can be provided here. If no bucket is set, the config will be retrieved
|
|
734
731
|
* from the main object config
|
|
735
732
|
*/
|
|
736
|
-
this.objectConfigBucket = input(undefined, ...(ngDevMode ? [{ debugName: "objectConfigBucket" }] : []));
|
|
733
|
+
this.objectConfigBucket = input(undefined, ...(ngDevMode ? [{ debugName: "objectConfigBucket" }] : /* istanbul ignore next */ []));
|
|
737
734
|
/**
|
|
738
735
|
* ID of a DmsObject. The object will be fetched from the backend upfront.
|
|
739
736
|
*/
|
|
740
|
-
this.objectId = input(undefined, ...(ngDevMode ? [{ debugName: "objectId" }] : []));
|
|
737
|
+
this.objectId = input(undefined, ...(ngDevMode ? [{ debugName: "objectId" }] : /* istanbul ignore next */ []));
|
|
741
738
|
this.#objectIdEffect = effect(() => {
|
|
742
739
|
const oid = this.objectId();
|
|
743
740
|
if (oid)
|
|
744
741
|
this.#odShellService.fetchDmsObject(oid);
|
|
745
|
-
}, ...(ngDevMode ? [{ debugName: "#objectIdEffect" }] : []));
|
|
742
|
+
}, ...(ngDevMode ? [{ debugName: "#objectIdEffect" }] : /* istanbul ignore next */ []));
|
|
746
743
|
/**
|
|
747
744
|
* Whether to hide the header
|
|
748
745
|
*/
|
|
749
|
-
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : []));
|
|
750
|
-
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : []));
|
|
746
|
+
this.hideHeader = input(false, ...(ngDevMode ? [{ debugName: "hideHeader" }] : /* istanbul ignore next */ []));
|
|
747
|
+
this.actions = input(undefined, ...(ngDevMode ? [{ debugName: "actions" }] : /* istanbul ignore next */ []));
|
|
751
748
|
/** Template rendered in the badges area, aligned to the right of the subtitle row. */
|
|
752
|
-
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : []));
|
|
749
|
+
this.badges = input(...(ngDevMode ? [undefined, { debugName: "badges" }] : /* istanbul ignore next */ []));
|
|
753
750
|
}
|
|
754
751
|
#userService;
|
|
755
752
|
#odShellService;
|
|
@@ -757,10 +754,10 @@ class ObjectDetailsComponent {
|
|
|
757
754
|
onIndexdataSaved(updatedObject) {
|
|
758
755
|
this.#odShellService.setDmsObject(updatedObject);
|
|
759
756
|
}
|
|
760
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
761
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
757
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
758
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ObjectDetailsComponent, isStandalone: true, selector: "yuv-object-details", inputs: { dmsObjectInput: { classPropertyName: "dmsObjectInput", publicName: "dmsObject", isSignal: true, isRequired: false, transformFunction: null }, flavors: { classPropertyName: "flavors", publicName: "flavors", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, objectConfigBucket: { classPropertyName: "objectConfigBucket", publicName: "objectConfigBucket", isSignal: true, isRequired: false, transformFunction: null }, objectId: { classPropertyName: "objectId", publicName: "objectId", isSignal: true, isRequired: false, transformFunction: null }, hideHeader: { classPropertyName: "hideHeader", publicName: "hideHeader", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, badges: { classPropertyName: "badges", publicName: "badges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [ObjectDetailsShellService], ngImport: i0, template: "<yuv-object-details-shell [type]=\"type()\" [hideHeader]=\"hideHeader()\" [bucket]=\"objectConfigBucket()\" [actions]=\"actions()\" [badges]=\"badges()\">\n @let dmsObj = dmsObject();\n <mat-tab-group yuvTabGuardDisable>\n <!-- content -->\n @if (dmsObj && dmsObj.content) {\n <mat-tab [label]=\"'yuv.object-details.tabs.content.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-preview [dmsObject]=\"dmsObj\"></yuv-object-preview>\n </ng-template>\n </mat-tab>\n }\n\n <!-- indexdata -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.indexdata.title' | translate\">\n <ng-template matTabContent>\n <yuv-object-metadata [dmsObject]=\"dmsObject()\" [flavors]=\"flavors()\" (indexDataSaved)=\"onIndexdataSaved($event)\"> </yuv-object-metadata>\n </ng-template>\n </mat-tab>\n <!-- history -->\n <mat-tab [label]=\"'yuv.object-metadata.tabs.history.title' | translate\">\n <ng-template matTabContent> <yuv-object-audit [dmsObject]=\"dmsObj\"></yuv-object-audit> </ng-template\n ></mat-tab>\n </mat-tab-group>\n</yuv-object-details-shell>\n", styles: [":host{display:block;overflow:hidden}:host yuv-object-details-shell{height:100%}:host mat-tab-group{overflow:hidden;height:100%}:host mat-tab-group ::ng-deep .mat-mdc-tab-body-wrapper{height:100%}:host yuv-object-preview{background-color:var(--ymt-surface-container-low)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i1$2.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i1$2.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i1$2.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: TabGuardDirective, selector: "mat-tab-group[yuvTabGuardDisable]" }, { kind: "component", type: ObjectDetailsShellComponent, selector: "yuv-object-details-shell", inputs: ["actions", "badges", "type", "bucket", "hideHeader"] }, { kind: "component", type: ObjectPreviewComponent, selector: "yuv-object-preview", inputs: ["objectId", "dmsObject", "version", "metadata"] }, { kind: "component", type: ObjectMetadataComponent, selector: "yuv-object-metadata", inputs: ["disableControls", "disableBasicMetadata", "elementExtensions", "situation", "dmsObject", "flavoredDmsObject", "flavors"], outputs: ["indexDataSaved", "statusChanged"] }, { kind: "component", type: ObjectAuditComponent, selector: "yuv-object-audit", inputs: ["dmsObject", "skipActions", "allActions"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
762
759
|
}
|
|
763
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ObjectDetailsComponent, decorators: [{
|
|
764
761
|
type: Component,
|
|
765
762
|
args: [{ selector: 'yuv-object-details', standalone: true, imports: [
|
|
766
763
|
TranslatePipe,
|
|
@@ -782,8 +779,8 @@ const cmp = [
|
|
|
782
779
|
RetentionBadgeComponent
|
|
783
780
|
];
|
|
784
781
|
class YuvObjectDetailsModule {
|
|
785
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
786
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
782
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: YuvObjectDetailsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
783
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: YuvObjectDetailsModule, imports: [ObjectDetailsComponent,
|
|
787
784
|
ObjectDetailsHeaderComponent,
|
|
788
785
|
ObjectDetailsShellComponent,
|
|
789
786
|
ObjectMetadataComponent,
|
|
@@ -794,9 +791,9 @@ class YuvObjectDetailsModule {
|
|
|
794
791
|
ObjectMetadataComponent,
|
|
795
792
|
ObjectAuditComponent,
|
|
796
793
|
RetentionBadgeComponent] }); }
|
|
797
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
794
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: YuvObjectDetailsModule, imports: [cmp] }); }
|
|
798
795
|
}
|
|
799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
796
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: YuvObjectDetailsModule, decorators: [{
|
|
800
797
|
type: NgModule,
|
|
801
798
|
args: [{
|
|
802
799
|
imports: cmp,
|
|
@@ -808,10 +805,10 @@ class FormSectionGroupPipe {
|
|
|
808
805
|
transform(form, id) {
|
|
809
806
|
return form.get(id);
|
|
810
807
|
}
|
|
811
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
812
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
808
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormSectionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
809
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: FormSectionGroupPipe, isStandalone: true, name: "formSectionGroup" }); }
|
|
813
810
|
}
|
|
814
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
811
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormSectionGroupPipe, decorators: [{
|
|
815
812
|
type: Pipe,
|
|
816
813
|
args: [{
|
|
817
814
|
name: 'formSectionGroup',
|