import * as _angular_core from '@angular/core'; import { TemplateRef, OnDestroy, PipeTransform } from '@angular/core'; import * as _yuuvis_client_core from '@yuuvis/client-core'; import { AuditQueryResult, AuditEntry, DmsObject, VirtualObjectType, RetentionState, TranslateService, ObjectTypeFlavor, Situation, FlavoredDmsObject, ObjectTypeField } from '@yuuvis/client-core'; import { RendererDirectiveInput } from '@yuuvis/client-framework/renderer'; import { ObjectFormComponent, IObjectFormElementExtension, ObjectFormOptions, FormStatusChangedEvent } from '@yuuvis/client-framework/object-form'; import * as i7 from '@yuuvis/client-framework/common'; import { FormGroup } from '@angular/forms'; declare class ObjectAuditComponent { #private; icons: { filter: any; arrowNext: any; }; auditsRes: _angular_core.WritableSignal; items: _angular_core.Signal; error: _angular_core.WritableSignal; busy: _angular_core.WritableSignal; dmsObject: _angular_core.InputSignal; /** * A list of audits that should not be shown. Use the audit codes (like 100, 301, etc.). * This will also disable the corresponding filters. */ skipActions: _angular_core.InputSignal; /** * Whether or not to ignore admin and user separation of audit entries */ allActions: _angular_core.InputSignal; get objectID(): string | undefined; constructor(); /** * Execute a query from the search panel. */ query(): void; goToPage(page: number): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface HeaderData { title: RendererDirectiveInput; description?: RendererDirectiveInput; icon: string; } /** * Component showing header data for a dms object. These will be * generated from the object config for the given object. * * You could inject a set of actions into the headers actions slot * by adding them to the components body: * * ```html * * ... * * ``` */ declare class ObjectDetailsHeaderComponent { #private; dmsObject: _angular_core.InputSignal; /** * Virtual object type to use for retrieving header data */ type: _angular_core.InputSignal; /** * Bucket of the object config to retrieve header data from */ bucket: _angular_core.InputSignal; /** Template rendered in the actions area, aligned to the right of the title row. */ actions: _angular_core.InputSignal | undefined>; /** Template rendered in the badges area, aligned to the right of the subtitle row. */ badges: _angular_core.InputSignal | undefined>; headerData: _angular_core.Signal; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * Wrapper component for details of a dms object. This component * provides a header based on the object configuration for the given object. * It will also take care of loading the object if you only provide the objects ID. */ declare class ObjectDetailsShellComponent { #private; retentionState: _angular_core.WritableSignal; contextError: _angular_core.WritableSignal; dmsObject: _angular_core.Signal; busy: _angular_core.WritableSignal; /** Template rendered in the actions area, aligned to the right of the title row. */ actions: _angular_core.InputSignal | undefined>; /** Template rendered in the badges area, aligned to the right of the subtitle row. */ badges: _angular_core.InputSignal | undefined>; /** * Virtual object type to use for retrieving header data */ type: _angular_core.InputSignal; /** * Bucket of the object config to retrieve header data from */ bucket: _angular_core.InputSignal; /** * Whether to hide the header */ hideHeader: _angular_core.InputSignal; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ObjectDetailsShellService { #private; id: string; readonly translate: TranslateService; dmsObject: _angular_core.Signal; contextError: _angular_core.WritableSignal; busy: _angular_core.WritableSignal; setDmsObject(dmsObject: DmsObject | undefined): void; fetchDmsObject(id: string): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class ObjectDetailsComponent { #private; isAdvancedUser: boolean; currentUser: _angular_core.WritableSignal<_yuuvis_client_core.YuvUser>; /** * ID to store the components layout state (splitted tabs, gutter position) */ layoutSettingsID: _angular_core.WritableSignal; /** * DmsObject to show the details for. */ dmsObjectInput: _angular_core.InputSignal; dmsObjectInputEffect: _angular_core.EffectRef; dmsObject: _angular_core.Signal; /** * Flavors to take into account. These flavors define for example the metadata * of an object. */ flavors: _angular_core.InputSignal; /** * Virtual object type to use for retrieving header data */ type: _angular_core.InputSignal; /** * If the object config for the given type has been stored in a certain bucket, this * bucket can be provided here. If no bucket is set, the config will be retrieved * from the main object config */ objectConfigBucket: _angular_core.InputSignal; /** * ID of a DmsObject. The object will be fetched from the backend upfront. */ objectId: _angular_core.InputSignal; /** * Whether to hide the header */ hideHeader: _angular_core.InputSignal; actions: _angular_core.InputSignal | undefined>; /** Template rendered in the badges area, aligned to the right of the subtitle row. */ badges: _angular_core.InputSignal | undefined>; onIndexdataSaved(updatedObject: DmsObject): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } interface ObjectMetadataSectionInput { id: string; label: string; situation?: Situation; icon?: string; svgIcon?: boolean; data?: Record; } declare class ObjectMetadataSectionComponent { #private; objectForm: _angular_core.Signal; section: _angular_core.InputSignal; expandedInput: _angular_core.InputSignal; elementExtensions: _angular_core.InputSignal; readonly: _angular_core.InputSignal; expanded: _angular_core.WritableSignal; busy: _angular_core.WritableSignal; formOptions: _angular_core.WritableSignal; statusChanged: _angular_core.OutputEmitterRef; resetForm(): void; setFormPristine(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class ObjectMetadataComponent implements OnDestroy { #private; translate: TranslateService; user: _angular_core.Signal<_yuuvis_client_core.YuvUser | undefined>; hasWritePermission: _angular_core.Signal; objectForms: _angular_core.Signal; objectMetadataSectionForms: _angular_core.Signal; busySaving: _angular_core.WritableSignal; busyLoading: _angular_core.WritableSignal; disableControls: _angular_core.InputSignal; /** * Set to 'true' to disable the basic metadata form. This will hide * the basic metadata section that shows common object proeperties like * creation date, creator, version, etc. */ disableBasicMetadata: _angular_core.InputSignal; elementExtensions: _angular_core.InputSignal; controlsVisible: _angular_core.WritableSignal; empty: _angular_core.Signal; baseData: { label: string; value: RendererDirectiveInput; }[]; /** * Form situation, if not set default will be 'EDIT' */ situation: _angular_core.InputSignal; /** * Set to 'true' to prevent all metadata from being edited */ formDisabled: _angular_core.WritableSignal; dmsObjectInput: _angular_core.InputSignal; dmsObject: _angular_core.WritableSignal; /** * @deprecated This input will be removed in the future. * Please migrate to using `dmsObject` and `flavors` inputs instead. */ flavoredDmsObject: _angular_core.InputSignal; combinedFormState?: FormStatusChangedEvent; /** * Emits the updated `DmsObject` when metadata have been saved. */ indexDataSaved: _angular_core.OutputEmitterRef; /** * Emits the current state of the metadata form. */ statusChanged: _angular_core.OutputEmitterRef; mainFormOptions: _angular_core.WritableSignal; mainFormOptionsIsLoading: _angular_core.Signal; flavors: _angular_core.InputSignal; flavorFormOptions: _angular_core.Signal<{ id: string; label: string; icon: string | undefined; svgIcon: boolean | undefined; data: Record; }[]>; onFormStatusChanged(formId: string, evt: FormStatusChangedEvent): void; save(): void; /** * Reset te form to its initial state */ resetForm(): void; updateFormValue(data: Record): void; setFormPristine(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class YuvObjectDetailsModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } declare class FormSectionGroupPipe implements PipeTransform { transform(form: FormGroup, id: string): FormGroup; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵpipe: _angular_core.ɵɵPipeDeclaration; } interface MetadataStatusChangedEvent { /** * flag indicating whether or not the form is invalid */ invalid: boolean; /** * flag indicating whether or not the form has been edited */ dirty: boolean; /** * flag indicating whether or not the forms data has been changed */ dataChanged: boolean; /** * the extracted data from the form */ data?: Record; } interface MetadataFormSection { id: string; icon?: string; label: string; fields: ObjectTypeField[]; collapsed?: boolean; } export { FormSectionGroupPipe, ObjectAuditComponent, ObjectDetailsComponent, ObjectDetailsHeaderComponent, ObjectDetailsShellComponent, ObjectDetailsShellService, ObjectMetadataComponent, ObjectMetadataSectionComponent, YuvObjectDetailsModule }; export type { MetadataFormSection, MetadataStatusChangedEvent, ObjectMetadataSectionInput };