@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
51 lines (50 loc) • 2.52 kB
TypeScript
import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
import type { ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
import { type MediaTraceContext } from '@atlaskit/media-common';
import type { MediaOptions, MediaPluginState, getPosHandler as ProsemirrorGetPosHandler, SupportedMediaAttributes } from '../types';
type RemoteDimensions = {
height: number;
id: string;
width: number;
};
export interface MediaNodeUpdaterProps {
contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
isMediaSingle: boolean;
mediaOptions?: MediaOptions;
mediaProvider?: Promise<MediaProvider>;
node: PMNode;
view: EditorView;
}
export declare class MediaNodeUpdater {
props: MediaNodeUpdaterProps;
mediaPluginState: MediaPluginState | undefined;
constructor(props: MediaNodeUpdaterProps);
setProps(newComponentProps: Partial<MediaNodeUpdaterProps>): void;
isMediaBlobUrl(): boolean;
updateContextId: () => Promise<void>;
updateNodeContextId: (getPos: ProsemirrorGetPosHandler) => Promise<void>;
private hasFileAttributesDefined;
private getNewFileAttrsForNode;
updateMediaSingleFileAttrs: () => Promise<void>;
updateNodeAttrs: (getPos: ProsemirrorGetPosHandler) => Promise<void>;
getAttrs: () => SupportedMediaAttributes | undefined;
getObjectId: () => Promise<string | null>;
uploadExternalMedia: (getPos: ProsemirrorGetPosHandler) => Promise<void>;
getNodeContextId: () => string | null;
updateDimensions: (dimensions: RemoteDimensions) => void;
getRemoteDimensions(): Promise<false | RemoteDimensions>;
shouldNodeBeDeepCopied: () => Promise<boolean>;
hasDifferentContextId: () => Promise<boolean>;
isNodeFromDifferentCollection: () => Promise<boolean>;
handleExternalMedia(getPos: ProsemirrorGetPosHandler): Promise<void>;
private handleCopyFileSwitcher;
copyNodeFromBlobUrl: (getPos: ProsemirrorGetPosHandler) => Promise<void>;
copyNodeFromPos: (getPos: ProsemirrorGetPosHandler, traceContext?: MediaTraceContext) => Promise<void>;
copyNode: (traceContext?: MediaTraceContext) => Promise<void>;
private copyFile;
}
export declare const createMediaNodeUpdater: (props: MediaNodeUpdaterProps) => MediaNodeUpdater;
export {};