react-movable-block-editor
Version:
React component for creating layouts and content via drag-and-drop blocks.
41 lines (40 loc) • 1.84 kB
TypeScript
import * as React from 'react';
import { BlockNode } from '../../../data';
import { BlockEditorValue } from '../BlockEditorProps';
import { BlockEditorControlUIProps, BlockEditorControlDefaultUI } from './BlockEditorControlDefaultUI';
export interface BlockEditorControlProps {
value: BlockEditorValue;
onChange: (value: BlockEditorValue) => any;
controlUiProps?: Partial<BlockEditorControlUIProps>;
UiComponent: React.SFC<BlockEditorControlUIProps> | React.ComponentClass<BlockEditorControlUIProps>;
}
export declare class BlockEditorControl extends React.Component<BlockEditorControlProps> {
static defaultProps: {
UiComponent: typeof BlockEditorControlDefaultUI;
};
addRow: (props?: Partial<BlockNode> | undefined) => void;
addCol: (props?: Partial<BlockNode> | undefined) => void;
addMarkDown: (props?: Partial<BlockNode> | undefined) => void;
addImage: (props?: Partial<BlockNode> | undefined) => void;
addLayer: (props?: Partial<BlockNode> | undefined) => void;
removeFocused: () => void;
focusNode: (node: BlockNode, focus?: boolean) => void;
create: (props: Partial<BlockNode>) => void;
updateBlock: (nodeId: string, propsToUpdate: Partial<BlockNode>) => void;
destroy: (nodeId: string) => void;
move: (nodeId: string, targetParentId: string, opts?: {
beforeItemId?: string | undefined;
afterItemId?: string | undefined;
isPlaceHolder?: boolean | undefined;
absolutePos?: {
left: number;
top: number;
} | undefined;
}) => void;
moveInDirection: (nodeId: string, direction: "left" | "right" | "up" | "down") => void;
copyFocused: () => void;
paste: () => void;
undo: () => void;
redo: () => void;
render(): JSX.Element;
}