@logicflow/core 1.1.7 → 1.1.9-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logicflow/core",
3
- "version": "1.1.7",
3
+ "version": "1.1.9-alpha.0",
4
4
  "description": "LogicFlow core, to quickly build flowchart editor",
5
5
  "main": "dist/logic-flow.js",
6
6
  "unpkg": "dist/logic-flow.js",
@@ -439,6 +439,15 @@ export default class LogicFlow {
439
439
  * 还原图形为初始位置
440
440
  */
441
441
  resetTranslate(): void;
442
+ /**
443
+ * 图形画布居中显示
444
+ */
445
+ translateCenter(): void;
446
+ /**
447
+ * 图形适应屏幕大小
448
+ * @param offset number 距离盒子四周的距离, 默认为20
449
+ */
450
+ fitView(offset: number): void;
442
451
  /**
443
452
  * 监听事件
444
453
  * 事件详情见 @see todo
@@ -57,6 +57,7 @@ export declare enum EventType {
57
57
  EDGE_ADJUST = "edge:adjust",
58
58
  EDGE_EXCHANGE_NODE = "edge:exchange-node",
59
59
  ANCHOR_DRAGSTART = "anchor:dragstart",
60
+ ANCHOR_DRAG = "anchor:drag",
60
61
  ANCHOR_DROP = "anchor:drop",
61
62
  BLANK_MOUSEDOWN = "blank:mousedown",
62
63
  BLANK_DRAGSTART = "blank:dragstart",
@@ -3,7 +3,7 @@ import BaseEdgeModel from './edge/BaseEdgeModel';
3
3
  import EditConfigModel from './EditConfigModel';
4
4
  import TransfromModel from './TransformModel';
5
5
  import { OverlapMode } from '../constant/constant';
6
- import { AdditionData, Point, NodeConfig, EdgeConfig, PointTuple, NodeMoveRule, GraphConfigData } from '../type';
6
+ import { AdditionData, Point, NodeConfig, EdgeConfig, PointTuple, NodeMoveRule, GraphConfigData, VirtualRectSize } from '../type';
7
7
  import EventEmitter from '../event/eventEmitter';
8
8
  import { Theme } from '../constant/DefaultTheme';
9
9
  import { Definition } from '../options';
@@ -106,6 +106,7 @@ declare class GraphModel {
106
106
  * 外部拖动节点进入画布的过程中,用fakerNode来和画布上正是的节点区分开
107
107
  */
108
108
  fakerNode: BaseNodeModel;
109
+ [key: string]: any;
109
110
  constructor(options: Definition);
110
111
  get nodesMap(): {
111
112
  [key: string]: {
@@ -415,6 +416,20 @@ declare class GraphModel {
415
416
  * 清空画布
416
417
  */
417
418
  clearData(): void;
419
+ /**
420
+ * 获取图形区域虚拟矩型的尺寸和中心坐标
421
+ * @returns
422
+ */
423
+ getVirtualRectSize(): VirtualRectSize;
424
+ /**
425
+ * 将图形整体移动到画布中心
426
+ */
427
+ translateCenter(): void;
428
+ /**
429
+ * 画布图形适应屏幕大小
430
+ * @param offset number 距离盒子四周的距离, 默认为20
431
+ */
432
+ fitView(offset?: number): void;
418
433
  }
419
434
  export { GraphModel };
420
435
  export default GraphModel;
@@ -103,6 +103,12 @@ declare class BaseEdgeModel implements IBaseModel {
103
103
  * 获取被保存时返回的数据
104
104
  */
105
105
  getData(): EdgeData;
106
+ /**
107
+ * 用于在历史记录时获取节点数据,
108
+ * 在某些情况下,如果希望某个属性变化不引起history的变化,
109
+ * 可以重写此方法。
110
+ */
111
+ getHistoryData(): EdgeData;
106
112
  setProperty(key: any, val: any): void;
107
113
  setProperties(properties: any): void;
108
114
  /**
@@ -134,7 +140,9 @@ declare class BaseEdgeModel implements IBaseModel {
134
140
  setHitable(flag?: boolean): void;
135
141
  setElementState(state: number, additionStateData?: AdditionData): void;
136
142
  updateStartPoint(anchor: any): void;
143
+ moveStartPoint(deltaX: any, deltaY: any): void;
137
144
  updateEndPoint(anchor: any): void;
145
+ moveEndPoint(deltaX: any, deltaY: any): void;
138
146
  setZIndex(zindex?: number): void;
139
147
  initPoints(): void;
140
148
  updateAttributes(attributes: any): void;
@@ -34,8 +34,11 @@ export default class BezierEdgeModel extends BaseEdgeModel {
34
34
  private getPath;
35
35
  initPoints(): void;
36
36
  updatePoints(): void;
37
+ updatePath(sNext: any, ePre: any): void;
37
38
  updateStartPoint(anchor: any): void;
38
39
  updateEndPoint(anchor: any): void;
40
+ moveStartPoint(deltaX: any, deltaY: any): void;
41
+ moveEndPoint(deltaX: any, deltaY: any): void;
39
42
  updateAdjustAnchor(anchor: Point, type: string): void;
40
43
  getAdjustStart(): any;
41
44
  getAdjustEnd(): any;
@@ -31,7 +31,9 @@ export default class PolylineEdgeModel extends BaseEdgeModel {
31
31
  initPoints(): void;
32
32
  updatePoints(): void;
33
33
  updateStartPoint(anchor: any): void;
34
+ moveStartPoint(deltaX: any, deltaY: any): void;
34
35
  updateEndPoint(anchor: any): void;
36
+ moveEndPoint(deltaX: any, deltaY: any): void;
35
37
  dragAppendStart(): void;
36
38
  dragAppendSimple(appendInfo: any, dragInfo: any): {
37
39
  start: any;
@@ -59,6 +59,9 @@ export default class BaseNodeModel implements IBaseNodeModel {
59
59
  hasSetSourceRules: boolean;
60
60
  [propName: string]: any;
61
61
  constructor(data: NodeConfig, graphModel: GraphModel);
62
+ /**
63
+ * 获取进入当前节点的边和节点
64
+ */
62
65
  get incoming(): {
63
66
  nodes: BaseNodeModel[];
64
67
  edges: BaseEdgeModel[];
@@ -102,6 +105,12 @@ export default class BaseNodeModel implements IBaseNodeModel {
102
105
  * @overridable 支持重写
103
106
  */
104
107
  getData(): NodeData;
108
+ /**
109
+ * 用于在历史记录时获取节点数据,
110
+ * 在某些情况下,如果希望某个属性变化不引起history的变化,
111
+ * 可以重写此方法。
112
+ */
113
+ getHistoryData(): NodeData;
105
114
  /**
106
115
  * 获取当前节点的properties
107
116
  */
@@ -368,4 +368,10 @@ export declare type DiamondAttributes = {
368
368
  points: PointTuple[];
369
369
  } & NodeAttributes;
370
370
  export declare type ShapeStyleAttribute = CommonTheme;
371
+ export declare type VirtualRectSize = {
372
+ virtualRectWidth: number;
373
+ virtualRectHeight: number;
374
+ virtualRectCenterPositionX: number;
375
+ virtualRectCenterPositionY: number;
376
+ };
371
377
  export {};
@@ -39,5 +39,6 @@ declare class StepDrag {
39
39
  handleMouseDown: (e: MouseEvent) => void;
40
40
  handleMouseMove: (e: MouseEvent) => void;
41
41
  handleMouseUp: (e: MouseEvent) => void;
42
+ cancelDrag: () => void;
42
43
  }
43
44
  export { createDrag, StepDrag, };
@@ -14,7 +14,6 @@ interface IProps {
14
14
  anchorIndex: number;
15
15
  graphModel: GraphModel;
16
16
  nodeModel: BaseNodeModel;
17
- nodeDraging: boolean;
18
17
  setHoverOFF: Function;
19
18
  }
20
19
  interface IState {
@@ -29,18 +28,18 @@ declare class Anchor extends Component<IProps, IState> {
29
28
  sourceRuleResults: Map<TargetNodeId, ConnectRuleResult>;
30
29
  targetRuleResults: Map<TargetNodeId, ConnectRuleResult>;
31
30
  dragHandler: StepDrag;
31
+ t: any;
32
32
  constructor();
33
33
  getAnchorShape(): h.JSX.Element;
34
34
  onDragStart: ({ event }: {
35
35
  event: any;
36
36
  }) => void;
37
- onDraging: ({ deltaX, deltaY, event }: {
38
- deltaX: any;
39
- deltaY: any;
37
+ onDraging: ({ event }: {
40
38
  event: any;
41
39
  }) => void;
42
40
  onDragEnd: (event: any) => void;
43
41
  checkEnd: () => void;
42
+ moveAnchorEnd(endX: number, endY: number): void;
44
43
  isShowLine(): boolean;
45
44
  render(): h.JSX.Element;
46
45
  }
@@ -5,6 +5,7 @@ export declare type NewNodeConfig = {
5
5
  type: string;
6
6
  text?: TextConfig | string;
7
7
  properties?: Record<string, unknown>;
8
+ [key: string]: any;
8
9
  };
9
10
  export default class Dnd {
10
11
  nodeConfig: NewNodeConfig;
@@ -11,6 +11,7 @@ declare type Istate = {
11
11
  isDraging?: boolean;
12
12
  };
13
13
  export default abstract class BaseNode extends Component<IProps, Istate> {
14
+ t: any;
14
15
  static getModel(defaultModel: any): any;
15
16
  stepDrag: StepDrag;
16
17
  contextMenuTime: number;
@@ -22,9 +23,8 @@ export default abstract class BaseNode extends Component<IProps, Istate> {
22
23
  getAnchors(): h.JSX.Element[];
23
24
  getText(): "" | h.JSX.Element;
24
25
  getStateClassName(): string;
25
- onDraging: ({ deltaX, deltaY }: {
26
- deltaX: any;
27
- deltaY: any;
26
+ onDraging: ({ event }: {
27
+ event: any;
28
28
  }) => void;
29
29
  onDragEnd: () => void;
30
30
  handleClick: (e: MouseEvent) => void;