Interceptor für das Ein-/Ausschalten einzelner Features je ENAIO Schrank

Hallo Alex (@cherryPie),

sorry für die späte Rückmeldung.

Die Methode disableElements erlaubt auch mehrere Elemente. Du kannst auch folgendes schreiben:

instance.UI.disableElements(['header', 'downloadButton', 'printButton', 'highlightToolGroupButton']);

Wenn du auf den Dokumenttypen bzw. auf das Dokument reagieren willst, musst du die Methode updateEditorConfiguration: async (instance, info, config) verwenden. Diese wird beim Wechsel des Dokuments oder des Modus ausgelöst. Der Parameter Info enthält die Informationen zum aktuellen Objekt.

Details zum Info Objekt:

export interface ObjectInfo {
    id: string;
    typeId: string;
    version: string;
    type: ObjectTypes;
    fileCount: number;
    title: string;
    filename: string;
    extension: string;
    mimetype: string;
    isPdf: boolean;
    archived: boolean;
    link: boolean;
    lockstatus: LockStatus;
    lockUsername: string;
    permissions: ObjectPermissions;
    typeless: boolean;
    mode?: Mode;
    isPdfa?: boolean;
    pdfaCompliance?: string;
}

export enum LockStatus {
    self = "self",
    others = "others",
    unlocked = "unlocked"
}

export interface ObjectPermissions {
    read: boolean;
    edit: boolean;
    createVariant: boolean;
    showVariant: boolean;
}

// Beim Interceptor zur Zeit immer document, da ansonsten der Details Viewer angezeigt wird.
export enum ObjectTypes{
    document = "document",
    collection = "collection"
}

Der Config Parameter entält z.B. die Sprache, den Benutzernamen etc.

Bitte denke daran, dass die Methoden initEditorConfiguration und updateEditorConfiguration ein Promise zurück geben sollen. Im Zweifel markiere einfach deine Methode mit async.


async updateEditorConfiguration(instance, info, config) {
...

Hilft dir das weiter?

Gruss Uli