@logicflow/core
Version:
LogicFlow, help you quickly create flowcharts
178 lines (177 loc) • 5.55 kB
TypeScript
import { TextMode } from '../constant';
export interface IEditConfigType {
/**
* 是否为静默模式
*/
isSilentMode: boolean;
/**
* 禁止缩放画布
*/
stopZoomGraph: boolean;
/**
* 禁止鼠标滚动移动画布
*/
stopScrollGraph: boolean;
/**
* 禁止拖动画布,默认为false
* - true:完全禁止移动
* - vertical: 禁止垂直方向拖动
* - horizontal:禁止水平方向拖动
* - [number, number, number, number]:[minX, minY, maxX, maxY] 画布可拖动范围
*/
stopMoveGraph: boolean | 'vertical' | 'horizontal' | [number, number, number, number];
/**
* 允许调整边
*/
adjustEdge: boolean;
/**
* 允许调整边的中间点
*/
adjustEdgeMiddle: boolean;
/**
* 允许调整边起点和终点
*/
adjustEdgeStartAndEnd: boolean;
/**
* 允许调整边起点
*/
adjustEdgeStart: boolean;
/**
* 允许调整边的终点
*/
adjustEdgeEnd: boolean;
/**
* 允许拖动节点
*/
adjustNodePosition: boolean;
/**
* 隐藏节点所有锚点
*/
hideAnchors: boolean;
/**
* 是否允许节点旋转(旋转点的显隐)
*/
allowRotate: boolean;
/**
* 是否允许节点缩放(缩放调整点的显隐)
*/
allowResize: boolean;
/**
* 是否自动展开
*/
autoExpand: boolean;
/**
* 显示节点悬浮时的外框
*/
hoverOutline: boolean;
/**
* 节点被选中时是否显示outline
*/
nodeSelectedOutline: boolean;
/**
* 边被选中时是否显示outline
*/
edgeSelectedOutline: boolean;
/**
* 允许文本可编辑
*/
textEdit: boolean;
/**
* 允许节点文本可以编辑
*/
nodeTextEdit: boolean;
/**
* 允许边文本可以编辑
*/
edgeTextEdit: boolean;
/**
* 允许文本可拖拽(文本包括Text、Label)
*/
textDraggable: boolean;
/**
* 允许节点文本可以拖拽
*/
nodeTextDraggable: boolean;
/**
* 允许边文本可以拖拽
*/
edgeTextDraggable: boolean;
/**
* 多选按键, 支持meta(cmd)、shift、alt
* 不支持ctrl,ctrl会触发contextmenu
*/
multipleSelectKey: string;
/**
* 2.0.0 新增配置,启用 Label 后生效
* 是否支持多文本,文本文字是否垂直展示
* 当前文本类型
*/
nodeTextMultiple: boolean;
edgeTextMultiple: boolean;
nodeTextVertical: boolean;
edgeTextVertical: boolean;
textMode: TextMode;
nodeTextMode: TextMode;
edgeTextMode: TextMode;
snapGrid: boolean;
}
export type IConfigKeys = keyof IEditConfigType;
/**
* 页面编辑配置
*/
export declare class EditConfigModel {
stagedConfig?: Partial<IEditConfigType>;
/*********************************************************
* 画布相关配置
********************************************************/
isSilentMode: boolean;
stopZoomGraph: boolean;
stopMoveGraph: boolean;
stopScrollGraph: boolean;
snapGrid: boolean;
/*********************************************************
* 文本相关配置(全局)
********************************************************/
textMode: TextMode;
textEdit: boolean;
textDraggable: boolean;
nodeTextEdit: boolean;
nodeTextDraggable: boolean;
nodeTextMultiple: boolean;
nodeTextVertical: boolean;
nodeTextMode: TextMode;
edgeTextMode: TextMode;
edgeTextEdit: boolean;
edgeTextDraggable: boolean;
edgeTextMultiple: boolean;
edgeTextVertical: boolean;
/*********************************************************
* 节点相关配置
********************************************************/
hideAnchors: boolean;
allowRotate: boolean;
allowResize: boolean;
hoverOutline: boolean;
nodeSelectedOutline: boolean;
adjustNodePosition: boolean;
autoExpand: boolean;
/*********************************************************
* 边相关配置
********************************************************/
adjustEdge: boolean;
adjustEdgeMiddle: boolean;
adjustEdgeStartAndEnd: boolean;
adjustEdgeStart: boolean;
adjustEdgeEnd: boolean;
edgeSelectedOutline: boolean;
/*********************************************************
* 其他
********************************************************/
multipleSelectKey: string;
constructor(config: Partial<IEditConfigType>);
updateEditConfig(config: Partial<IEditConfigType>): void;
computeConfig(config: Partial<IEditConfigType>): Partial<IEditConfigType> & Pick<Partial<IEditConfigType>, "textMode" | "adjustEdgeStartAndEnd" | "edgeTextDraggable" | "edgeTextEdit" | "nodeTextDraggable" | "nodeTextEdit" | "adjustEdge" | "edgeTextMode" | "nodeTextMode" | "allowRotate" | "allowResize" | "isSilentMode" | "stopScrollGraph" | "stopZoomGraph" | "stopMoveGraph" | "textEdit" | "snapGrid" | "adjustNodePosition" | "hoverOutline" | "nodeSelectedOutline" | "edgeSelectedOutline" | "adjustEdgeMiddle" | "adjustEdgeStart" | "adjustEdgeEnd" | "hideAnchors" | "autoExpand" | "textDraggable" | "multipleSelectKey" | "nodeTextMultiple" | "edgeTextMultiple" | "nodeTextVertical" | "edgeTextVertical">;
updateTextMode(textMode: TextMode): void;
getConfig(): IEditConfigType;
}
export default EditConfigModel;