@logicflow/extension
Version:
LogicFlow Extensions
30 lines (29 loc) • 1.29 kB
TypeScript
import LogicFlow, { GraphModel, h, RectNode, CallbackArgs } from '@logicflow/core';
import { DynamicGroupNodeModel } from './model';
import Position = LogicFlow.Position;
export interface IDynamicGroupNodeProps {
model: DynamicGroupNodeModel;
graphModel: GraphModel;
}
export declare class DynamicGroupNode<P extends IDynamicGroupNodeProps = IDynamicGroupNodeProps> extends RectNode<P> {
childrenPositionMap: Map<string, Position>;
onNodeRotate: ({ model, }: Omit<CallbackArgs<'node:rotate'>, 'e' | 'position'>) => void;
onNodeResize: ({ deltaX, deltaY, index, model, preData, }: Omit<CallbackArgs<'node:resize'>, 'e' | 'position'>) => void;
onNodeMouseMove: () => void;
graphRendered: () => void;
componentDidMount(): void;
componentWillUnmount(): void;
/**
* 获取分组内的节点
* @param groupModel
* @param graphModel
*/
getNodesInGroup(groupModel: DynamicGroupNodeModel, graphModel: GraphModel): string[];
getResizeControl(): h.JSX.Element | null;
getAppendAreaShape(): h.JSX.Element | null;
getCollapseIcon(sx: number, sy: number): string;
getExpandIcon(sx: number, sy: number): string;
getOperateIcon(): h.JSX.Element | null;
getShape(): h.JSX.Element | null;
}
export default DynamicGroupNode;