@nextcloud/files

    Interface FileActionData

    interface FileActionData {
        default?: DefaultType;
        destructive?: boolean;
        displayName: (files: Node[], view: View) => string;
        enabled?: (files: Node[], view: View) => boolean;
        exec: (file: Node, view: View, dir: string) => Promise<null | boolean>;
        execBatch?: (
            files: Node[],
            view: View,
            dir: string,
        ) => Promise<(null | boolean)[]>;
        iconSvgInline: (files: Node[], view: View) => string;
        id: string;
        inline?: (file: Node, view: View) => boolean;
        order?: number;
        parent?: string;
        renderInline?: (file: Node, view: View) => Promise<null | HTMLElement>;
        title?: (files: Node[], view: View) => string;
    }
    Index

    Properties

    default?: DefaultType

    Make this action the default. If multiple actions are default, the first one will be used. The other ones will be put as first entries in the actions menu iff DefaultType.Hidden is not used. A DefaultType.Hidden action will never be shown in the actions menu even if another action takes its place as default.

    destructive?: boolean

    Set to true if this action is a destructive action, like "delete". This will change the appearance in the action menu more prominent (e.g. red colored)

    displayName: (files: Node[], view: View) => string

    Translatable string displayed in the menu

    enabled?: (files: Node[], view: View) => boolean

    Condition wether this action is shown or not

    exec: (file: Node, view: View, dir: string) => Promise<null | boolean>

    Function executed on single file action

    Type declaration

      • (file: Node, view: View, dir: string): Promise<null | boolean>
      • Parameters

        Returns Promise<null | boolean>

        true if the action was executed successfully, false otherwise and null if the action is silent/undefined.

    Error if the action failed

    execBatch?: (
        files: Node[],
        view: View,
        dir: string,
    ) => Promise<(null | boolean)[]>

    Function executed on multiple files action

    Type declaration

      • (files: Node[], view: View, dir: string): Promise<(null | boolean)[]>
      • Parameters

        Returns Promise<(null | boolean)[]>

        true if the action was executed successfully, false otherwise and null if the action is silent/undefined.

    Error if the action failed

    iconSvgInline: (files: Node[], view: View) => string

    Svg as inline string.

    id: string

    Unique ID

    inline?: (file: Node, view: View) => boolean

    If true, the renderInline function will be called

    order?: number

    This action order in the list

    parent?: string

    This action's parent id in the list. If none found, will be displayed as a top-level action.

    renderInline?: (file: Node, view: View) => Promise<null | HTMLElement>

    If defined, the returned html element will be appended before the actions menu.

    title?: (files: Node[], view: View) => string

    Translatable title for of the action

    MMNEPVFCICPMFPCPTTAAATR