UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

70 lines (69 loc) 2.71 kB
/*! * 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 { IDialogOptions, IDictionary, IFileBrowser, IFileBrowserCallBackData, IFileBrowserOptions, IFileBrowserState, IObservable, Nullable } from "jodit/esm/types/index"; import type { ContextMenuManager } from "./helpers/context-menu"; import type { LoadingManager } from "./helpers/loading-manager"; import type { PersistentStore } from "./helpers/persistent-store"; import type { StateManager } from "./helpers/state-manager"; import type { UIBrowserPanel } from "./ui/panel/panel"; import type { IViewOptionsPro } from "../../types/view"; export interface IFileBrowserStatePro extends IFileBrowserState { theme: string; onSelectCallBack: Nullable<(data: IFileBrowserCallBackData) => void>; showSideBar: boolean; showSettings: boolean; showFavorites: boolean; showPreview: boolean; lastSelectedIndex: number; withFolders: boolean; foldersPosition: 'top' | 'bottom' | 'default'; progress: number; info: string; metaInfo: Nullable<IDictionary>; tileSize: 'xsmall' | 'small' | 'default' | 'large' | 'xlarge'; favorites: IFileBrowserState['activeElements']; tree: IFileBrowserTreeItemPro[]; } // @ts-ignore export interface IFileBrowserOptionsPro extends IFileBrowserOptions, IDialogOptions, IViewOptionsPro { toolbarButtons: IFileBrowserOptions['buttons']; maxWidth: number; previewOfficeURL: string; license: string; } export interface IFileBrowserTreeItemPro { type: 'file' | 'directory' | 'source'; name: string; title?: string; isCollapsed?: boolean; isActive?: boolean; path: string; sourceName: string; children: IFileBrowserTreeItemPro[]; } export interface IFileBrowserPro extends IFileBrowser<IFileBrowserOptionsPro> { readonly state: IFileBrowserStatePro & IObservable; readonly persistent: PersistentStore; readonly loadingManager: LoadingManager; readonly stateManager: StateManager; readonly historyManager: IHistoryManager; readonly contextMenuManager: ContextMenuManager; readonly panel: UIBrowserPanel; } export interface IHistoryManager { canNext(): boolean; canPrevious(): boolean; push(item: IHistoryItem): void; next(): void; previous(): void; updateCurrent(): void; } export interface IHistoryItem { currentPath: IFileBrowserStatePro['currentPath']; currentSource: IFileBrowserStatePro['currentSource']; tree: IFileBrowserStatePro['tree']; elements: IFileBrowserStatePro['elements']; }