@yuuvis/client-framework 3.0.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/fesm2022/yuuvis-client-framework-actions.mjs +214 -126
  2. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  3. package/fesm2022/yuuvis-client-framework-app-bar.mjs +3 -3
  4. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  5. package/fesm2022/yuuvis-client-framework-badges.mjs +379 -0
  6. package/fesm2022/yuuvis-client-framework-badges.mjs.map +1 -0
  7. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +3 -3
  8. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/yuuvis-client-framework-clipboard.mjs +8 -8
  10. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  11. package/fesm2022/yuuvis-client-framework-datepicker.mjs +31 -31
  12. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
  13. package/fesm2022/yuuvis-client-framework-forms.mjs +745 -657
  14. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  15. package/fesm2022/yuuvis-client-framework-icons.mjs +9 -9
  16. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  17. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +10 -9
  18. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  19. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +19 -17
  20. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  21. package/fesm2022/yuuvis-client-framework-object-details.mjs +215 -208
  22. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  23. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +18 -18
  24. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  25. package/fesm2022/yuuvis-client-framework-object-form.mjs +41 -37
  26. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  27. package/fesm2022/yuuvis-client-framework-object-preview.mjs +9 -9
  28. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  29. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +29 -29
  30. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  31. package/fesm2022/yuuvis-client-framework-object-summary.mjs +16 -16
  32. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  33. package/fesm2022/yuuvis-client-framework-object-versions.mjs +18 -12
  34. package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
  35. package/fesm2022/yuuvis-client-framework-pagination.mjs +3 -3
  36. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  37. package/fesm2022/yuuvis-client-framework-query-list.mjs +7 -7
  38. package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
  39. package/fesm2022/yuuvis-client-framework-renderer.mjs +40 -40
  40. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  41. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +50 -38
  42. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  43. package/fesm2022/yuuvis-client-framework-simple-search.mjs +3 -3
  44. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  45. package/fesm2022/yuuvis-client-framework-sort.mjs +3 -3
  46. package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
  47. package/fesm2022/yuuvis-client-framework-tile-list.mjs +191 -127
  48. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  49. package/fesm2022/yuuvis-client-framework-token-search.mjs +7 -7
  50. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
  51. package/fesm2022/yuuvis-client-framework-tree.mjs +9 -9
  52. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  53. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +10 -10
  54. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  55. package/fesm2022/yuuvis-client-framework.mjs +96 -51
  56. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  57. package/lib/assets/i18n/de.json +12 -1
  58. package/lib/assets/i18n/en.json +12 -1
  59. package/package.json +9 -5
  60. package/types/yuuvis-client-framework-actions.d.ts +91 -52
  61. package/types/yuuvis-client-framework-badges.d.ts +194 -0
  62. package/types/yuuvis-client-framework-forms.d.ts +215 -186
  63. package/types/yuuvis-client-framework-object-details.d.ts +104 -104
  64. package/types/yuuvis-client-framework-object-versions.d.ts +1 -0
  65. package/types/yuuvis-client-framework-sequence-list.d.ts +2 -2
  66. package/types/yuuvis-client-framework-tile-list.d.ts +11 -6
  67. package/types/yuuvis-client-framework.d.ts +13 -0
@@ -1,55 +1,57 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, OnDestroy, PipeTransform } from '@angular/core';
3
3
  import * as _yuuvis_client_core from '@yuuvis/client-core';
4
- import { DmsObject, ObjectTypeFlavor, VirtualObjectType, RetentionState, Situation, TranslateService, FlavoredDmsObject, AuditQueryResult, AuditEntry, AuditService, EventService, SystemService, ObjectTypeField } from '@yuuvis/client-core';
4
+ import { AuditQueryResult, AuditEntry, DmsObject, AuditService, EventService, SystemService, TranslateService, VirtualObjectType, RetentionState, ObjectTypeFlavor, Situation, FlavoredDmsObject, ObjectTypeField } from '@yuuvis/client-core';
5
5
  import { RendererDirectiveInput } from '@yuuvis/client-framework/renderer';
6
6
  import { ObjectFormComponent, IObjectFormElementExtension, ObjectFormOptions, FormStatusChangedEvent } from '@yuuvis/client-framework/object-form';
7
- import * as i6 from '@yuuvis/client-framework/common';
7
+ import * as i7 from '@yuuvis/client-framework/common';
8
8
  import { FormGroup } from '@angular/forms';
9
9
 
10
- declare class ObjectDetailsComponent {
10
+ declare class ObjectAuditComponent {
11
11
  #private;
12
- isAdvancedUser: boolean;
13
- currentUser: _angular_core.WritableSignal<_yuuvis_client_core.YuvUser>;
14
- /**
15
- * ID to store the components layout state (splitted tabs, gutter position)
16
- */
17
- layoutSettingsID: _angular_core.WritableSignal<string | undefined>;
18
- /**
19
- * DmsObject to show the details for.
20
- */
21
- dmsObjectInput: _angular_core.InputSignal<DmsObject | undefined>;
22
- dmsObjectInputEffect: _angular_core.EffectRef;
23
- dmsObject: _angular_core.Signal<DmsObject | undefined>;
24
- /**
25
- * Flavors to take into account. These flavors define for example the metadata
26
- * of an object.
27
- */
28
- flavors: _angular_core.InputSignal<ObjectTypeFlavor[]>;
29
- /**
30
- * Virtual object type to use for retrieving header data
31
- */
32
- type: _angular_core.InputSignal<VirtualObjectType>;
12
+ private auditService;
13
+ private eventService;
14
+ private system;
15
+ private translate;
16
+ private FILTER_CACHE_KEY;
17
+ private _objectID?;
18
+ private _objectTypeID?;
19
+ icons: {
20
+ filter: any;
21
+ arrowNext: any;
22
+ };
23
+ auditsRes: _angular_core.WritableSignal<AuditQueryResult | undefined>;
24
+ resolvedItems: _angular_core.WritableSignal<ResolvedAuditEntry[]>;
25
+ error: _angular_core.WritableSignal<boolean>;
26
+ busy: _angular_core.WritableSignal<boolean>;
27
+ searchActions: {
28
+ label: string;
29
+ actions: string[];
30
+ }[];
31
+ auditLabels: any;
32
+ dmsObject: _angular_core.InputSignal<DmsObject | undefined>;
33
33
  /**
34
- * If the object config for the given type has been stored in a certain bucket, this
35
- * bucket can be provided here. If no bucket is set, the config will be retrieved
36
- * from the main object config
34
+ * A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.).
35
+ * This will also disable the corresponding filters.
37
36
  */
38
- objectConfigBucket: _angular_core.InputSignal<string | undefined>;
37
+ skipActions: _angular_core.InputSignal<number[]>;
39
38
  /**
40
- * ID of a DmsObject. The object will be fetched from the backend upfront.
39
+ * Whether or not to ignore admin and user separation of audit entries
41
40
  */
42
- objectId: _angular_core.InputSignal<string | undefined>;
41
+ allActions: _angular_core.InputSignal<boolean>;
42
+ get objectID(): string | undefined;
43
+ constructor(auditService: AuditService, eventService: EventService, system: SystemService, translate: TranslateService);
43
44
  /**
44
- * Whether to hide the header
45
+ * Execute a query from the search panel.
45
46
  */
46
- hideHeader: _angular_core.InputSignal<boolean>;
47
- actions: _angular_core.InputSignal<TemplateRef<any> | undefined>;
48
- /** Template rendered in the badges area, aligned to the right of the subtitle row. */
49
- badges: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
50
- onIndexdataSaved(updatedObject: DmsObject): void;
51
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectDetailsComponent, never>;
52
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectDetailsComponent, "yuv-object-details", never, { "dmsObjectInput": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "flavors": { "alias": "flavors"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "objectConfigBucket": { "alias": "objectConfigBucket"; "required": false; "isSignal": true; }; "objectId": { "alias": "objectId"; "required": false; "isSignal": true; }; "hideHeader": { "alias": "hideHeader"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "badges": { "alias": "badges"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
47
+ query(): void;
48
+ goToPage(page: number): void;
49
+ private onError;
50
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectAuditComponent, never>;
51
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectAuditComponent, "yuv-object-audit", never, { "dmsObject": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "skipActions": { "alias": "skipActions"; "required": false; "isSignal": true; }; "allActions": { "alias": "allActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
52
+ }
53
+ interface ResolvedAuditEntry extends AuditEntry {
54
+ label: string;
53
55
  }
54
56
 
55
57
  interface HeaderData {
@@ -123,6 +125,64 @@ declare class ObjectDetailsShellComponent {
123
125
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectDetailsShellComponent, "yuv-object-details-shell", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "badges": { "alias": "badges"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "bucket": { "alias": "bucket"; "required": false; "isSignal": true; }; "hideHeader": { "alias": "hideHeader"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
124
126
  }
125
127
 
128
+ declare class ObjectDetailsShellService {
129
+ #private;
130
+ id: string;
131
+ readonly translate: TranslateService;
132
+ dmsObject: _angular_core.Signal<DmsObject | undefined>;
133
+ contextError: _angular_core.WritableSignal<string | undefined>;
134
+ busy: _angular_core.WritableSignal<boolean>;
135
+ setDmsObject(dmsObject: DmsObject | undefined): void;
136
+ fetchDmsObject(id: string): void;
137
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectDetailsShellService, never>;
138
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ObjectDetailsShellService>;
139
+ }
140
+
141
+ declare class ObjectDetailsComponent {
142
+ #private;
143
+ isAdvancedUser: boolean;
144
+ currentUser: _angular_core.WritableSignal<_yuuvis_client_core.YuvUser>;
145
+ /**
146
+ * ID to store the components layout state (splitted tabs, gutter position)
147
+ */
148
+ layoutSettingsID: _angular_core.WritableSignal<string | undefined>;
149
+ /**
150
+ * DmsObject to show the details for.
151
+ */
152
+ dmsObjectInput: _angular_core.InputSignal<DmsObject | undefined>;
153
+ dmsObjectInputEffect: _angular_core.EffectRef;
154
+ dmsObject: _angular_core.Signal<DmsObject | undefined>;
155
+ /**
156
+ * Flavors to take into account. These flavors define for example the metadata
157
+ * of an object.
158
+ */
159
+ flavors: _angular_core.InputSignal<ObjectTypeFlavor[]>;
160
+ /**
161
+ * Virtual object type to use for retrieving header data
162
+ */
163
+ type: _angular_core.InputSignal<VirtualObjectType>;
164
+ /**
165
+ * If the object config for the given type has been stored in a certain bucket, this
166
+ * bucket can be provided here. If no bucket is set, the config will be retrieved
167
+ * from the main object config
168
+ */
169
+ objectConfigBucket: _angular_core.InputSignal<string | undefined>;
170
+ /**
171
+ * ID of a DmsObject. The object will be fetched from the backend upfront.
172
+ */
173
+ objectId: _angular_core.InputSignal<string | undefined>;
174
+ /**
175
+ * Whether to hide the header
176
+ */
177
+ hideHeader: _angular_core.InputSignal<boolean>;
178
+ actions: _angular_core.InputSignal<TemplateRef<any> | undefined>;
179
+ /** Template rendered in the badges area, aligned to the right of the subtitle row. */
180
+ badges: _angular_core.InputSignal<TemplateRef<unknown> | undefined>;
181
+ onIndexdataSaved(updatedObject: DmsObject): void;
182
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectDetailsComponent, never>;
183
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectDetailsComponent, "yuv-object-details", never, { "dmsObjectInput": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "flavors": { "alias": "flavors"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "objectConfigBucket": { "alias": "objectConfigBucket"; "required": false; "isSignal": true; }; "objectId": { "alias": "objectId"; "required": false; "isSignal": true; }; "hideHeader": { "alias": "hideHeader"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "badges": { "alias": "badges"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
184
+ }
185
+
126
186
  interface ObjectMetadataSectionInput {
127
187
  id: string;
128
188
  label: string;
@@ -180,8 +240,8 @@ declare class ObjectMetadataComponent implements OnDestroy {
180
240
  * Set to 'true' to prevent all metadata from being edited
181
241
  */
182
242
  formDisabled: _angular_core.WritableSignal<boolean>;
183
- dmsObject: _angular_core.InputSignal<DmsObject | undefined>;
184
- _dmsObject: _angular_core.WritableSignal<DmsObject | undefined>;
243
+ dmsObjectInput: _angular_core.InputSignal<DmsObject | undefined>;
244
+ dmsObject: _angular_core.WritableSignal<DmsObject | undefined>;
185
245
  /**
186
246
  * @deprecated This input will be removed in the future.
187
247
  * Please migrate to using `dmsObject` and `flavors` inputs instead.
@@ -216,59 +276,12 @@ declare class ObjectMetadataComponent implements OnDestroy {
216
276
  setFormPristine(): void;
217
277
  ngOnDestroy(): void;
218
278
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectMetadataComponent, never>;
219
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectMetadataComponent, "yuv-object-metadata", never, { "disableControls": { "alias": "disableControls"; "required": false; "isSignal": true; }; "disableBasicMetadata": { "alias": "disableBasicMetadata"; "required": false; "isSignal": true; }; "elementExtensions": { "alias": "elementExtensions"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "dmsObject": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "flavoredDmsObject": { "alias": "flavoredDmsObject"; "required": false; "isSignal": true; }; "flavors": { "alias": "flavors"; "required": false; "isSignal": true; }; }, { "indexDataSaved": "indexDataSaved"; "statusChanged": "statusChanged"; }, never, never, true, never>;
220
- }
221
-
222
- declare class ObjectAuditComponent {
223
- #private;
224
- private auditService;
225
- private eventService;
226
- private system;
227
- private translate;
228
- private FILTER_CACHE_KEY;
229
- private _objectID?;
230
- private _objectTypeID?;
231
- icons: {
232
- filter: any;
233
- arrowNext: any;
234
- };
235
- auditsRes: _angular_core.WritableSignal<AuditQueryResult | undefined>;
236
- resolvedItems: _angular_core.WritableSignal<ResolvedAuditEntry[]>;
237
- error: _angular_core.WritableSignal<boolean>;
238
- busy: _angular_core.WritableSignal<boolean>;
239
- searchActions: {
240
- label: string;
241
- actions: string[];
242
- }[];
243
- auditLabels: any;
244
- dmsObject: _angular_core.InputSignal<DmsObject | undefined>;
245
- /**
246
- * A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.).
247
- * This will also disable the corresponding filters.
248
- */
249
- skipActions: _angular_core.InputSignal<number[]>;
250
- /**
251
- * Whether or not to ignore admin and user separation of audit entries
252
- */
253
- allActions: _angular_core.InputSignal<boolean>;
254
- get objectID(): string | undefined;
255
- constructor(auditService: AuditService, eventService: EventService, system: SystemService, translate: TranslateService);
256
- /**
257
- * Execute a query from the search panel.
258
- */
259
- query(): void;
260
- goToPage(page: number): void;
261
- private onError;
262
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectAuditComponent, never>;
263
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectAuditComponent, "yuv-object-audit", never, { "dmsObject": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "skipActions": { "alias": "skipActions"; "required": false; "isSignal": true; }; "allActions": { "alias": "allActions"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
264
- }
265
- interface ResolvedAuditEntry extends AuditEntry {
266
- label: string;
279
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectMetadataComponent, "yuv-object-metadata", never, { "disableControls": { "alias": "disableControls"; "required": false; "isSignal": true; }; "disableBasicMetadata": { "alias": "disableBasicMetadata"; "required": false; "isSignal": true; }; "elementExtensions": { "alias": "elementExtensions"; "required": false; "isSignal": true; }; "situation": { "alias": "situation"; "required": false; "isSignal": true; }; "dmsObjectInput": { "alias": "dmsObject"; "required": false; "isSignal": true; }; "flavoredDmsObject": { "alias": "flavoredDmsObject"; "required": false; "isSignal": true; }; "flavors": { "alias": "flavors"; "required": false; "isSignal": true; }; }, { "indexDataSaved": "indexDataSaved"; "statusChanged": "statusChanged"; }, never, never, true, never>;
267
280
  }
268
281
 
269
282
  declare class YuvObjectDetailsModule {
270
283
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvObjectDetailsModule, never>;
271
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvObjectDetailsModule, never, [typeof ObjectDetailsComponent, typeof ObjectDetailsHeaderComponent, typeof ObjectDetailsShellComponent, typeof ObjectMetadataComponent, typeof ObjectAuditComponent, typeof i6.RetentionBadgeComponent], [typeof ObjectDetailsComponent, typeof ObjectDetailsHeaderComponent, typeof ObjectDetailsShellComponent, typeof ObjectMetadataComponent, typeof ObjectAuditComponent, typeof i6.RetentionBadgeComponent]>;
284
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvObjectDetailsModule, never, [typeof ObjectDetailsComponent, typeof ObjectDetailsHeaderComponent, typeof ObjectDetailsShellComponent, typeof ObjectMetadataComponent, typeof ObjectMetadataSectionComponent, typeof ObjectAuditComponent, typeof i7.RetentionBadgeComponent], [typeof ObjectDetailsComponent, typeof ObjectDetailsHeaderComponent, typeof ObjectDetailsShellComponent, typeof ObjectMetadataComponent, typeof ObjectMetadataSectionComponent, typeof ObjectAuditComponent, typeof i7.RetentionBadgeComponent]>;
272
285
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<YuvObjectDetailsModule>;
273
286
  }
274
287
 
@@ -304,18 +317,5 @@ interface MetadataFormSection {
304
317
  collapsed?: boolean;
305
318
  }
306
319
 
307
- declare class ObjectDetailsShellService {
308
- #private;
309
- id: string;
310
- readonly translate: TranslateService;
311
- dmsObject: _angular_core.Signal<DmsObject | undefined>;
312
- contextError: _angular_core.WritableSignal<string | undefined>;
313
- busy: _angular_core.WritableSignal<boolean>;
314
- setDmsObject(dmsObject: DmsObject | undefined): void;
315
- fetchDmsObject(id: string): void;
316
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectDetailsShellService, never>;
317
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ObjectDetailsShellService>;
318
- }
319
-
320
- export { FormSectionGroupPipe, ObjectAuditComponent, ObjectDetailsComponent, ObjectDetailsHeaderComponent, ObjectDetailsShellComponent, ObjectDetailsShellService, ObjectMetadataComponent, YuvObjectDetailsModule };
321
- export type { MetadataFormSection, MetadataStatusChangedEvent };
320
+ export { FormSectionGroupPipe, ObjectAuditComponent, ObjectDetailsComponent, ObjectDetailsHeaderComponent, ObjectDetailsShellComponent, ObjectDetailsShellService, ObjectMetadataComponent, ObjectMetadataSectionComponent, YuvObjectDetailsModule };
321
+ export type { MetadataFormSection, MetadataStatusChangedEvent, ObjectMetadataSectionInput };
@@ -26,6 +26,7 @@ declare class ObjectVersionsComponent {
26
26
  error: _angular_core.WritableSignal<string | undefined>;
27
27
  selectedIndex: _angular_core.WritableSignal<number | null>;
28
28
  isCurrentVersion: _angular_core.Signal<boolean>;
29
+ documentLockedByOther: _angular_core.Signal<boolean>;
29
30
  metadata: Partial<Metadata>;
30
31
  itemSelected(selectedIndex: number[]): void;
31
32
  downloadCurrentVersion(): void;
@@ -47,11 +47,11 @@ declare class SequenceListComponent implements ControlValueAccessor, Validator {
47
47
  addItem(): void;
48
48
  addItemAt(idx: number): void;
49
49
  removeItem(idx: number): void;
50
- propagateChange: (_: any) => void;
51
- registerOnTouched(): void;
52
50
  writeValue(value: SequenceItem[]): void;
53
51
  registerOnChange(fn: any): void;
54
52
  validate(): ValidationErrors | null;
53
+ propagateChange: (_: any) => void;
54
+ registerOnTouched(): void;
55
55
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SequenceListComponent, never>;
56
56
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SequenceListComponent, "yuv-sequence-list", never, { "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
57
57
  }
@@ -7,6 +7,7 @@ import { VirtualObjectType, ResolvedObjectConfig, DmsObject, SearchQuery, Search
7
7
  import { BooleanInput } from '@angular/cdk/coercion';
8
8
  import { QueryListComponent } from '@yuuvis/client-framework/query-list';
9
9
  import { ObjectFlavor, TileExtensionComponent, TileExtensionDirectiveInput, TileExtension } from '@yuuvis/client-shell-core';
10
+ import { Badge } from '@yuuvis/client-framework/badges';
10
11
 
11
12
  declare class TileActionsMenuComponent {
12
13
  actions: _angular_core.InputSignal<Action[]>;
@@ -490,8 +491,9 @@ declare class TileListComponent implements OnInit {
490
491
  * external callers.
491
492
  *
492
493
  * @param event The originating mouse event (used to suppress default and for positioning).
493
- * @param index Zero-based index of the right-clicked tile.
494
+ * @param _index Zero-based index of the right-clicked tile.
494
495
  */
496
+ badgeIdsFor(item: TileData): string[] | undefined;
495
497
  contextMenuHandler(event: MouseEvent, index: number): void;
496
498
  /**
497
499
  * Executes a tile inline action against the appropriate set of DMS objects.
@@ -662,11 +664,11 @@ declare class TileListComponent implements OnInit {
662
664
  }
663
665
 
664
666
  declare class ActionSelectComponent {
665
- private actionService;
667
+ #private;
666
668
  objectType: _angular_core.InputSignal<VirtualObjectType>;
667
- actions: Signal<Action[]>;
668
669
  selectedActionIds: _angular_core.InputSignal<string[]>;
669
670
  actionSelect: _angular_core.OutputEmitterRef<Action>;
671
+ actions: Signal<Action[]>;
670
672
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ActionSelectComponent, never>;
671
673
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ActionSelectComponent, "yuv-tile-action-select", never, { "objectType": { "alias": "objectType"; "required": true; "isSignal": true; }; "selectedActionIds": { "alias": "selectedActionIds"; "required": false; "isSignal": true; }; }, { "actionSelect": "actionSelect"; }, never, never, true, never>;
672
674
  }
@@ -738,17 +740,20 @@ declare class TileConfigComponent {
738
740
  selectedSlot?: string;
739
741
  flavors: ObjectFlavor[];
740
742
  changes: Record<string, ObjectConfig | undefined>;
741
- getConfigValue(p: string): ObjectConfigIcon | ObjectConfigProperty | ObjectConfigAction | ObjectConfigBadge | undefined;
742
- getConfigProperty(p: string): ObjectConfigProperty | undefined;
743
+ getConfigValue(value: string): ObjectConfigIcon | ObjectConfigProperty | ObjectConfigAction | ObjectConfigBadge | undefined;
744
+ getConfigProperty(value: string): ObjectConfigProperty | undefined;
743
745
  getSelectedActions(): string[];
746
+ getSelectedBadges(): string[];
744
747
  slotSelect(item: string): void;
745
- typeSelected(type: InnerType): void;
748
+ typeSelected(innerType: InnerType): void;
746
749
  iconSelected(icon: string | null): void;
747
750
  propertySelected(tileSlot: string, field?: Partial<ObjectTypeField>): void;
748
751
  actionSelected(action: Action): void;
752
+ badgeSelected(badge: Badge): void;
749
753
  saveConfig(): void;
750
754
  resetConfig(): void;
751
755
  cancelConfig(): void;
756
+ getTypeLabel(typeId: string): string;
752
757
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TileConfigComponent, never>;
753
758
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TileConfigComponent, "yuv-tile-config", never, { "bucket": { "alias": "bucket"; "required": false; "isSignal": true; }; "bucketLabel": { "alias": "bucketLabel"; "required": false; "isSignal": true; }; "configTypes": { "alias": "configTypes"; "required": false; "isSignal": true; }; "configFlavors": { "alias": "configFlavors"; "required": false; "isSignal": true; }; }, { "save": "save"; "canceled": "canceled"; }, never, never, true, never>;
754
759
  }
@@ -869,6 +869,19 @@ declare class SessionService {
869
869
  */
870
870
  extendSession(broadcast?: boolean, expiresAt?: number, skipBackendCall?: boolean): void;
871
871
  private listenToChannel;
872
+ /**
873
+ * Listens to the global LOGOUT event emitted by AuthService.
874
+ *
875
+ * Covers logout paths that bypass SessionService.performLogout — e.g.,
876
+ * 401 caught by AuthInterceptor or any manual `AuthService.logout()` call.
877
+ * Without this, other tabs would not receive a SessionLogout broadcast and
878
+ * the HTTP activity subscription would briefly stay alive after auth dies.
879
+ *
880
+ * Note: UI buttons that call only `UserService.logout()` (e.g. sidebar-nav)
881
+ * do not emit this event — for those, the system still converges via the
882
+ * 401 interceptor or local expiry.
883
+ */
884
+ private listenToGlobalLogout;
872
885
  private scheduleActivityWindow;
873
886
  private showPopup;
874
887
  private scheduleLogout;