@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
35 lines (34 loc) • 1.41 kB
TypeScript
import { EditorState, EditorView, Schema, Plugin, PluginKey, NodeViewDesc } from '../../prosemirror';
export declare type StateChangeHandler = (state: ImageUploadState) => any;
export interface ImageUploadPluginOptions {
defaultHandlersEnabled?: boolean;
supportedImageTypes?: string[];
maxFileSizeInBytes: number;
}
export declare type ImageUploadHandler = (e: any, insertImageFn: any) => void;
export declare class ImageUploadState {
active: boolean;
enabled: boolean;
hidden: boolean;
src?: string;
element?: HTMLElement;
changeHandlers: StateChangeHandler[];
private state;
private config;
private uploadHandler?;
constructor(state: EditorState<any>, options?: ImageUploadPluginOptions);
subscribe(cb: StateChangeHandler): void;
unsubscribe(cb: StateChangeHandler): void;
update(state: EditorState<any>, docView: NodeViewDesc, dirty?: boolean): void;
setUploadHandler(uploadHandler: ImageUploadHandler): void;
handleImageUpload(view: EditorView, event?: Event): boolean;
addImage(view: EditorView): Function;
updateImage(view: EditorView): Function;
removeImage(view: EditorView): void;
private getActiveImageElement(docView);
private canInsertImage();
private isImageSelected();
}
export declare const stateKey: PluginKey;
declare const plugins: (schema: Schema<any, any>) => Plugin[];
export default plugins;