/*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ import type { CanUndef, IFileBrowserAnswer, IFileBrowserCallBackData, IFileBrowserItemWrapper, IMessages, IProgressBar, IUIGroup } from "jodit/esm/types/index"; import "./ui/assets/icons/index"; import { ContextMenuManager } from "./helpers/context-menu"; import { LoadingManager } from "./helpers/loading-manager"; import { PersistentStore } from "./helpers/persistent-store"; import { StateManager } from "./helpers/state-manager"; import { UIBrowserPanel } from "./ui/panel/panel"; import { Dlgs } from "jodit/esm/core/traits/dlgs"; import { Dialog } from "jodit/esm/modules/dialog/index"; import type { IFileBrowserDataProviderPro, IFileBrowserOptionsPro, IFileBrowserPro, IFileBrowserStatePro, IFileBrowserTreeItemPro, IFinderPasteTarget, IHistoryManager } from "./interface"; export interface FileBrowserPro extends Dlgs { } export declare class FileBrowserPro extends Dialog implements IFileBrowserPro { readonly dataProvider: IFileBrowserDataProviderPro; readonly state: IFileBrowserStatePro & import("jodit/esm/types/index").IObservable; readonly persistent: PersistentStore; loadingManager: LoadingManager; stateManager: StateManager; historyManager: IHistoryManager; contextMenuManager: ContextMenuManager; OPTIONS: IFileBrowserOptionsPro; /** @override */ className(): string; /** @override */ lock(name?: string): boolean; unlock(): boolean; status(message: string | Error, success?: boolean): void; /** * Upload error handler bound to the uploader. The uploader calls it with * either an `Error` or the raw connector answer. `status` alone only * understands string/Error, so a raw answer — whose text lives in * `data.messages`, not `.message` — was silently dropped and the user saw * no error. Mirror the core file-browser: pull the message out of the * answer via the data provider and show it as an error. */ errorHandler(resp: Error | IFileBrowserAnswer): void; private header; panel: UIBrowserPanel; files: IUIGroup; tree: IUIGroup; get progressbar(): IProgressBar; constructor(options?: IFileBrowserOptionsPro); /** @override */ protected addDisclaimer(elm: HTMLElement): void; /** * Show status toasts in the lower right corner of the finder window. * The default view container of a dialog is a zero-size anchor * (`.jodit-dialog`), so messages attached to it appear in a random * place of the page instead of inside the finder. * @override */ protected getMessageModule(): IMessages; open(callback?: CanUndef<(_: IFileBrowserCallBackData) => void>, onlyImages?: boolean): Promise; /** * Resize handler */ private onResizeWindow; protected onChangePath(): void; protected onChangeTheme(): void; protected onToggleSettings(): void; private prepareOpening; private registerGlobalListeners; private onKeyPress; private removeGlobalListeners; protected onCut(folder?: IFileBrowserTreeItemPro): void; protected onCopy(folder?: IFileBrowserTreeItemPro): void; private __fillClipboard; /** * The current folder as a paste target (used by the toolbar button and * the empty-area context menu) */ getPasteTarget(): IFinderPasteTarget; canPaste(target: IFinderPasteTarget): boolean; protected onPaste(target: IFinderPasteTarget): void; protected onFileRemove(): void; private __itemsRemove; private __removeFile; private __folderRemove; protected onFileEdit(): void; protected onFolderRename(data: IFileBrowserTreeItemPro): void; protected onFolderRemove(data: IFileBrowserTreeItemPro): void; protected onFolderCreate(data: IFileBrowserTreeItemPro): void; protected onFileRename(item: IFileBrowserItemWrapper): void; protected onChooseItems(): void | false; protected onOpenLightBox(item: IFileBrowserItemWrapper): void; private uploader; private initUploader; /** @override */ destruct(): void; private fullFillOptions; }