@flowgram.ai/free-layout-core 0.1.6 → 0.1.8

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.
@@ -1,9 +1,7 @@
1
- export { o as WorkflowContentChangeEvent, n as WorkflowContentChangeType, m as WorkflowJSON, d as WorkflowNodeJSON, p as WorkflowNodeMeta } from '../workflow-line-entity-1qT4aXVU.mjs';
1
+ export { t as LineColor, u as LineColors, k as LinePosition, L as LineRenderType, s as LineType, q as WorkflowContentChangeEvent, p as WorkflowContentChangeType, o as WorkflowJSON, j as WorkflowLineRenderContribution, v as WorkflowLineRenderContributionFactory, d as WorkflowNodeJSON, r as WorkflowNodeMeta } from '../workflow-line-entity-DZGrnBuq.mjs';
2
2
  export { WorkflowEdgeJSON } from './workflow-edge.mjs';
3
3
  export { WorkflowNodeFormMeta, WorkflowNodeRegistry, WorkflowNodeRenderProps } from './workflow-registry.mjs';
4
- export { LineColor, LineColors, LinePosition, LineType } from './workflow-line.mjs';
5
4
  export { a as WorkflowSubCanvas } from '../workflow-sub-canvas-DOVla1mw.mjs';
6
- import 'bezier-js';
7
5
  import '@flowgram.ai/utils';
8
6
  import '@flowgram.ai/core';
9
7
  import '@flowgram.ai/document';
@@ -1,9 +1,7 @@
1
- export { o as WorkflowContentChangeEvent, n as WorkflowContentChangeType, m as WorkflowJSON, d as WorkflowNodeJSON, p as WorkflowNodeMeta } from '../workflow-line-entity-CG_8mknJ.js';
1
+ export { t as LineColor, u as LineColors, k as LinePosition, L as LineRenderType, s as LineType, q as WorkflowContentChangeEvent, p as WorkflowContentChangeType, o as WorkflowJSON, j as WorkflowLineRenderContribution, v as WorkflowLineRenderContributionFactory, d as WorkflowNodeJSON, r as WorkflowNodeMeta } from '../workflow-line-entity-BcXJ4GjA.js';
2
2
  export { WorkflowEdgeJSON } from './workflow-edge.js';
3
3
  export { WorkflowNodeFormMeta, WorkflowNodeRegistry, WorkflowNodeRenderProps } from './workflow-registry.js';
4
- export { LineColor, LineColors, LinePosition, LineType } from './workflow-line.js';
5
4
  export { a as WorkflowSubCanvas } from '../workflow-sub-canvas-DOVla1mw.js';
6
- import 'bezier-js';
7
5
  import '@flowgram.ai/utils';
8
6
  import '@flowgram.ai/core';
9
7
  import '@flowgram.ai/document';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/typings/index.ts","../../src/typings/workflow-json.ts","../../src/typings/workflow-line.ts"],"sourcesContent":["export * from './workflow-json';\nexport * from './workflow-edge';\nexport * from './workflow-node';\nexport * from './workflow-registry';\nexport * from './workflow-line';\nexport * from './workflow-sub-canvas';\n\nexport const URLParams = Symbol('');\n\nexport interface URLParams {\n [key: string]: string;\n}\n","import { type WorkflowLineEntity, type WorkflowNodeEntity } from '../entities';\nimport { type WorkflowNodeJSON } from './workflow-node';\nimport { type WorkflowEdgeJSON } from './workflow-edge';\n\nexport interface WorkflowJSON {\n nodes: WorkflowNodeJSON[];\n edges: WorkflowEdgeJSON[];\n}\n\nexport enum WorkflowContentChangeType {\n /**\n * 添加节点\n */\n ADD_NODE = 'ADD_NODE',\n /**\n * 删除节点\n */\n DELETE_NODE = 'DELETE_NODE',\n /**\n * 移动节点\n */\n MOVE_NODE = 'MOVE_NODE',\n /**\n * 节点数据更新 (表单引擎数据 或者 extInfo 数据)\n */\n NODE_DATA_CHANGE = 'NODE_DATA_CHANGE',\n /**\n * 添加线条\n */\n ADD_LINE = 'ADD_LINE',\n /**\n * 删除线条\n */\n DELETE_LINE = 'DELETE_LINE',\n /**\n * 节点Meta信息变更\n */\n META_CHANGE = 'META_CHANGE',\n}\n\nexport interface WorkflowContentChangeEvent {\n type: WorkflowContentChangeType;\n /**\n * 当前触发的元素的json数据,toJSON 需要主动触发\n */\n toJSON: () => any;\n /*\n * 当前的事件的 entity\n */\n entity: WorkflowNodeEntity | WorkflowLineEntity;\n}\n","import { type IPoint } from '@flowgram.ai/utils';\n\nexport enum LineType {\n BEZIER, // 贝塞尔曲线\n LINE_CHART, // 折叠线\n}\n\nexport interface LinePosition {\n from: IPoint;\n to: IPoint;\n}\n\nexport interface LineColor {\n hidden: string;\n default: string;\n drawing: string;\n hovered: string;\n selected: string;\n error: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'transparent', // 隐藏线条\n DEFUALT = '#4d53e8',\n DRAWING = '#5DD6E3', // '#b5bbf8', // '#9197F1',\n HOVER = '#37d0ff',\n ERROR = 'red',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSO,IAAK,4BAAL,kBAAKA,+BAAL;AAIL,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,eAAY;AAIZ,EAAAA,2BAAA,sBAAmB;AAInB,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,iBAAc;AA5BJ,SAAAA;AAAA,GAAA;;;ACPL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAmBL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;;;AFdL,IAAM,YAAY,OAAO,EAAE;","names":["WorkflowContentChangeType","LineType","LineColors"]}
1
+ {"version":3,"sources":["../../src/typings/index.ts","../../src/typings/workflow-json.ts","../../src/typings/workflow-line.ts"],"sourcesContent":["export * from './workflow-json';\nexport * from './workflow-edge';\nexport * from './workflow-node';\nexport * from './workflow-registry';\nexport * from './workflow-line';\nexport * from './workflow-sub-canvas';\n\nexport const URLParams = Symbol('');\n\nexport interface URLParams {\n [key: string]: string;\n}\n","import { type WorkflowLineEntity, type WorkflowNodeEntity } from '../entities';\nimport { type WorkflowNodeJSON } from './workflow-node';\nimport { type WorkflowEdgeJSON } from './workflow-edge';\n\nexport interface WorkflowJSON {\n nodes: WorkflowNodeJSON[];\n edges: WorkflowEdgeJSON[];\n}\n\nexport enum WorkflowContentChangeType {\n /**\n * 添加节点\n */\n ADD_NODE = 'ADD_NODE',\n /**\n * 删除节点\n */\n DELETE_NODE = 'DELETE_NODE',\n /**\n * 移动节点\n */\n MOVE_NODE = 'MOVE_NODE',\n /**\n * 节点数据更新 (表单引擎数据 或者 extInfo 数据)\n */\n NODE_DATA_CHANGE = 'NODE_DATA_CHANGE',\n /**\n * 添加线条\n */\n ADD_LINE = 'ADD_LINE',\n /**\n * 删除线条\n */\n DELETE_LINE = 'DELETE_LINE',\n /**\n * 节点Meta信息变更\n */\n META_CHANGE = 'META_CHANGE',\n}\n\nexport interface WorkflowContentChangeEvent {\n type: WorkflowContentChangeType;\n /**\n * 当前触发的元素的json数据,toJSON 需要主动触发\n */\n toJSON: () => any;\n /*\n * 当前的事件的 entity\n */\n entity: WorkflowNodeEntity | WorkflowLineEntity;\n}\n","import type { Rectangle, IPoint } from '@flowgram.ai/utils';\n\nimport { type WorkflowLineEntity } from '../entities';\n\nexport enum LineType {\n BEZIER, // 贝塞尔曲线\n LINE_CHART, // 折叠线\n}\n\nexport type LineRenderType = LineType | string;\n\nexport interface LinePosition {\n from: IPoint;\n to: IPoint;\n}\n\nexport interface LineColor {\n hidden: string;\n default: string;\n drawing: string;\n hovered: string;\n selected: string;\n error: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'transparent', // 隐藏线条\n DEFUALT = '#4d53e8',\n DRAWING = '#5DD6E3', // '#b5bbf8', // '#9197F1',\n HOVER = '#37d0ff',\n ERROR = 'red',\n}\n\nexport interface WorkflowLineRenderContribution {\n entity: WorkflowLineEntity;\n path: string;\n bounds: Rectangle;\n update: (params: { fromPos: IPoint; toPos: IPoint }) => void;\n calcDistance: (pos: IPoint) => number;\n}\n\nexport type WorkflowLineRenderContributionFactory = (new (\n entity: WorkflowLineEntity\n) => WorkflowLineRenderContribution) & {\n type: LineRenderType;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSO,IAAK,4BAAL,kBAAKA,+BAAL;AAIL,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,eAAY;AAIZ,EAAAA,2BAAA,sBAAmB;AAInB,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,iBAAc;AA5BJ,SAAAA;AAAA,GAAA;;;ACLL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAqBL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;;;AFlBL,IAAM,YAAY,OAAO,EAAE;","names":["WorkflowContentChangeType","LineType","LineColors"]}
@@ -1,9 +1,7 @@
1
1
  import '../workflow-sub-canvas-DOVla1mw.mjs';
2
- export { o as WorkflowContentChangeEvent, n as WorkflowContentChangeType, m as WorkflowJSON } from '../workflow-line-entity-1qT4aXVU.mjs';
2
+ export { q as WorkflowContentChangeEvent, p as WorkflowContentChangeType, o as WorkflowJSON } from '../workflow-line-entity-DZGrnBuq.mjs';
3
3
  import './workflow-edge.mjs';
4
4
  import '@flowgram.ai/document';
5
- import 'bezier-js';
6
5
  import '@flowgram.ai/utils';
7
6
  import '@flowgram.ai/core';
8
7
  import '@flowgram.ai/form-core';
9
- import './workflow-line.mjs';
@@ -1,9 +1,7 @@
1
1
  import '../workflow-sub-canvas-DOVla1mw.js';
2
- export { o as WorkflowContentChangeEvent, n as WorkflowContentChangeType, m as WorkflowJSON } from '../workflow-line-entity-CG_8mknJ.js';
2
+ export { q as WorkflowContentChangeEvent, p as WorkflowContentChangeType, o as WorkflowJSON } from '../workflow-line-entity-BcXJ4GjA.js';
3
3
  import './workflow-edge.js';
4
4
  import '@flowgram.ai/document';
5
- import 'bezier-js';
6
5
  import '@flowgram.ai/utils';
7
6
  import '@flowgram.ai/core';
8
7
  import '@flowgram.ai/form-core';
9
- import './workflow-line.js';
@@ -1,27 +1,7 @@
1
- import { IPoint } from '@flowgram.ai/utils';
2
-
3
- declare enum LineType {
4
- BEZIER = 0,
5
- LINE_CHART = 1
6
- }
7
- interface LinePosition {
8
- from: IPoint;
9
- to: IPoint;
10
- }
11
- interface LineColor {
12
- hidden: string;
13
- default: string;
14
- drawing: string;
15
- hovered: string;
16
- selected: string;
17
- error: string;
18
- }
19
- declare enum LineColors {
20
- HIDDEN = "transparent",
21
- DEFUALT = "#4d53e8",
22
- DRAWING = "#5DD6E3",
23
- HOVER = "#37d0ff",
24
- ERROR = "red"
25
- }
26
-
27
- export { type LineColor, LineColors, type LinePosition, LineType };
1
+ import '@flowgram.ai/utils';
2
+ export { t as LineColor, u as LineColors, k as LinePosition, L as LineRenderType, s as LineType, j as WorkflowLineRenderContribution, v as WorkflowLineRenderContributionFactory } from '../workflow-line-entity-DZGrnBuq.mjs';
3
+ import '@flowgram.ai/core';
4
+ import '@flowgram.ai/document';
5
+ import '../workflow-sub-canvas-DOVla1mw.mjs';
6
+ import '@flowgram.ai/form-core';
7
+ import './workflow-edge.mjs';
@@ -1,27 +1,7 @@
1
- import { IPoint } from '@flowgram.ai/utils';
2
-
3
- declare enum LineType {
4
- BEZIER = 0,
5
- LINE_CHART = 1
6
- }
7
- interface LinePosition {
8
- from: IPoint;
9
- to: IPoint;
10
- }
11
- interface LineColor {
12
- hidden: string;
13
- default: string;
14
- drawing: string;
15
- hovered: string;
16
- selected: string;
17
- error: string;
18
- }
19
- declare enum LineColors {
20
- HIDDEN = "transparent",
21
- DEFUALT = "#4d53e8",
22
- DRAWING = "#5DD6E3",
23
- HOVER = "#37d0ff",
24
- ERROR = "red"
25
- }
26
-
27
- export { type LineColor, LineColors, type LinePosition, LineType };
1
+ import '@flowgram.ai/utils';
2
+ export { t as LineColor, u as LineColors, k as LinePosition, L as LineRenderType, s as LineType, j as WorkflowLineRenderContribution, v as WorkflowLineRenderContributionFactory } from '../workflow-line-entity-BcXJ4GjA.js';
3
+ import '@flowgram.ai/core';
4
+ import '@flowgram.ai/document';
5
+ import '../workflow-sub-canvas-DOVla1mw.js';
6
+ import '@flowgram.ai/form-core';
7
+ import './workflow-edge.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/typings/workflow-line.ts"],"sourcesContent":["import { type IPoint } from '@flowgram.ai/utils';\n\nexport enum LineType {\n BEZIER, // 贝塞尔曲线\n LINE_CHART, // 折叠线\n}\n\nexport interface LinePosition {\n from: IPoint;\n to: IPoint;\n}\n\nexport interface LineColor {\n hidden: string;\n default: string;\n drawing: string;\n hovered: string;\n selected: string;\n error: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'transparent', // 隐藏线条\n DEFUALT = '#4d53e8',\n DRAWING = '#5DD6E3', // '#b5bbf8', // '#9197F1',\n HOVER = '#37d0ff',\n ERROR = 'red',\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAmBL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;","names":["LineType","LineColors"]}
1
+ {"version":3,"sources":["../../src/typings/workflow-line.ts"],"sourcesContent":["import type { Rectangle, IPoint } from '@flowgram.ai/utils';\n\nimport { type WorkflowLineEntity } from '../entities';\n\nexport enum LineType {\n BEZIER, // 贝塞尔曲线\n LINE_CHART, // 折叠线\n}\n\nexport type LineRenderType = LineType | string;\n\nexport interface LinePosition {\n from: IPoint;\n to: IPoint;\n}\n\nexport interface LineColor {\n hidden: string;\n default: string;\n drawing: string;\n hovered: string;\n selected: string;\n error: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'transparent', // 隐藏线条\n DEFUALT = '#4d53e8',\n DRAWING = '#5DD6E3', // '#b5bbf8', // '#9197F1',\n HOVER = '#37d0ff',\n ERROR = 'red',\n}\n\nexport interface WorkflowLineRenderContribution {\n entity: WorkflowLineEntity;\n path: string;\n bounds: Rectangle;\n update: (params: { fromPos: IPoint; toPos: IPoint }) => void;\n calcDistance: (pos: IPoint) => number;\n}\n\nexport type WorkflowLineRenderContributionFactory = (new (\n entity: WorkflowLineEntity\n) => WorkflowLineRenderContribution) & {\n type: LineRenderType;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAqBL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;","names":["LineType","LineColors"]}
@@ -1,9 +1,7 @@
1
1
  import '@flowgram.ai/utils';
2
2
  import '@flowgram.ai/document';
3
3
  import '../workflow-sub-canvas-DOVla1mw.mjs';
4
- export { d as WorkflowNodeJSON, p as WorkflowNodeMeta } from '../workflow-line-entity-1qT4aXVU.mjs';
4
+ export { d as WorkflowNodeJSON, r as WorkflowNodeMeta } from '../workflow-line-entity-DZGrnBuq.mjs';
5
5
  import './workflow-edge.mjs';
6
- import 'bezier-js';
7
6
  import '@flowgram.ai/core';
8
7
  import '@flowgram.ai/form-core';
9
- import './workflow-line.mjs';
@@ -1,9 +1,7 @@
1
1
  import '@flowgram.ai/utils';
2
2
  import '@flowgram.ai/document';
3
3
  import '../workflow-sub-canvas-DOVla1mw.js';
4
- export { d as WorkflowNodeJSON, p as WorkflowNodeMeta } from '../workflow-line-entity-CG_8mknJ.js';
4
+ export { d as WorkflowNodeJSON, r as WorkflowNodeMeta } from '../workflow-line-entity-BcXJ4GjA.js';
5
5
  import './workflow-edge.js';
6
- import 'bezier-js';
7
6
  import '@flowgram.ai/core';
8
7
  import '@flowgram.ai/form-core';
9
- import './workflow-line.js';
@@ -2,12 +2,10 @@ import { FormMeta } from '@flowgram.ai/node';
2
2
  import { FormMetaOrFormMetaGenerator } from '@flowgram.ai/form-core';
3
3
  import { FlowNodeRegistry } from '@flowgram.ai/document';
4
4
  import { W as WorkflowNodeEntity } from '../workflow-sub-canvas-DOVla1mw.mjs';
5
- import { p as WorkflowNodeMeta } from '../workflow-line-entity-1qT4aXVU.mjs';
6
- import 'bezier-js';
5
+ import { r as WorkflowNodeMeta } from '../workflow-line-entity-DZGrnBuq.mjs';
7
6
  import '@flowgram.ai/utils';
8
7
  import '@flowgram.ai/core';
9
8
  import './workflow-edge.mjs';
10
- import './workflow-line.mjs';
11
9
 
12
10
  /**
13
11
  * 节点表单引擎配置
@@ -2,12 +2,10 @@ import { FormMeta } from '@flowgram.ai/node';
2
2
  import { FormMetaOrFormMetaGenerator } from '@flowgram.ai/form-core';
3
3
  import { FlowNodeRegistry } from '@flowgram.ai/document';
4
4
  import { W as WorkflowNodeEntity } from '../workflow-sub-canvas-DOVla1mw.js';
5
- import { p as WorkflowNodeMeta } from '../workflow-line-entity-CG_8mknJ.js';
6
- import 'bezier-js';
5
+ import { r as WorkflowNodeMeta } from '../workflow-line-entity-BcXJ4GjA.js';
7
6
  import '@flowgram.ai/utils';
8
7
  import '@flowgram.ai/core';
9
8
  import './workflow-edge.js';
10
- import './workflow-line.js';
11
9
 
12
10
  /**
13
11
  * 节点表单引擎配置
@@ -1,12 +1,10 @@
1
- import { Bezier } from 'bezier-js';
2
1
  import * as _flowgram_ai_utils from '@flowgram.ai/utils';
3
- import { IPoint, Emitter, Event, DisposableCollection, Rectangle } from '@flowgram.ai/utils';
2
+ import { IPoint, Rectangle, Emitter, Event, DisposableCollection } from '@flowgram.ai/utils';
4
3
  import { EntityManager, SelectionService, Playground, Entity, PlaygroundConfigEntity, PlaygroundContext, EntityOpts } from '@flowgram.ai/core';
5
4
  import { FlowNodeMeta, FlowNodeJSON, FlowDocumentOptions, FlowDocument } from '@flowgram.ai/document';
6
5
  import { W as WorkflowNodeEntity, a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.js';
7
6
  import { NodeEngineContext } from '@flowgram.ai/form-core';
8
7
  import { WorkflowEdgeJSON } from './typings/workflow-edge.js';
9
- import { LineColor, LineType, LinePosition } from './typings/workflow-line.js';
10
8
 
11
9
  /**
12
10
  * 节点 meta 信息
@@ -89,6 +87,44 @@ interface WorkflowContentChangeEvent {
89
87
  entity: WorkflowNodeEntity | WorkflowLineEntity;
90
88
  }
91
89
 
90
+ declare enum LineType {
91
+ BEZIER = 0,
92
+ LINE_CHART = 1
93
+ }
94
+ type LineRenderType = LineType | string;
95
+ interface LinePosition {
96
+ from: IPoint;
97
+ to: IPoint;
98
+ }
99
+ interface LineColor {
100
+ hidden: string;
101
+ default: string;
102
+ drawing: string;
103
+ hovered: string;
104
+ selected: string;
105
+ error: string;
106
+ }
107
+ declare enum LineColors {
108
+ HIDDEN = "transparent",
109
+ DEFUALT = "#4d53e8",
110
+ DRAWING = "#5DD6E3",
111
+ HOVER = "#37d0ff",
112
+ ERROR = "red"
113
+ }
114
+ interface WorkflowLineRenderContribution {
115
+ entity: WorkflowLineEntity;
116
+ path: string;
117
+ bounds: Rectangle;
118
+ update: (params: {
119
+ fromPos: IPoint;
120
+ toPos: IPoint;
121
+ }) => void;
122
+ calcDistance: (pos: IPoint) => number;
123
+ }
124
+ type WorkflowLineRenderContributionFactory = (new (entity: WorkflowLineEntity) => WorkflowLineRenderContribution) & {
125
+ type: LineRenderType;
126
+ };
127
+
92
128
  declare const WorkflowDocumentOptions: unique symbol;
93
129
  /**
94
130
  * 线条配置
@@ -116,6 +152,10 @@ interface WorkflowDocumentOptions extends FlowDocumentOptions {
116
152
  isDisabledLine?: (line: WorkflowLineEntity) => boolean;
117
153
  /** 是否竖向线条 */
118
154
  isVerticalLine?: (line: WorkflowLineEntity) => boolean;
155
+ /** 获取线条渲染器 */
156
+ setLineRenderType?: (line: WorkflowLineEntity) => LineRenderType | undefined;
157
+ /** 设置线条样式 */
158
+ setLineClassName?: (line: WorkflowLineEntity) => string | undefined;
119
159
  /** 能否添加线条 */
120
160
  canAddLine?: (fromPort: WorkflowPortEntity, toPort: WorkflowPortEntity, lines: WorkflowLinesManager, silent?: boolean) => boolean;
121
161
  /** 能否删除节点 */
@@ -313,7 +353,7 @@ declare class WorkflowDocument extends FlowDocument {
313
353
  declare class WorkflowLinesManager {
314
354
  protected document: WorkflowDocument;
315
355
  protected toDispose: DisposableCollection;
316
- protected _lineType: LineType;
356
+ protected _lineType: LineRenderType;
317
357
  protected onAvailableLinesChangeEmitter: Emitter<WorkflowContentChangeEvent>;
318
358
  protected onForceUpdateEmitter: Emitter<void>;
319
359
  hoverService: WorkflowHoverService;
@@ -328,11 +368,12 @@ declare class WorkflowLinesManager {
328
368
  * 强制渲染 lines
329
369
  */
330
370
  readonly onForceUpdate: _flowgram_ai_utils.Event<void>;
371
+ readonly contributionFactories: WorkflowLineRenderContributionFactory[];
331
372
  init(doc: WorkflowDocument): void;
332
373
  forceUpdate(): void;
333
- get lineType(): LineType;
374
+ get lineType(): LineRenderType;
334
375
  get lineColor(): LineColor;
335
- switchLineType(newType?: LineType): LineType;
376
+ switchLineType(newType?: LineRenderType): LineRenderType;
336
377
  getAllLines(): WorkflowLineEntity[];
337
378
  hasLine(portInfo: WorkflowLinePortInfo): boolean;
338
379
  getLine(portInfo: WorkflowLinePortInfo): WorkflowLineEntity | undefined;
@@ -360,6 +401,8 @@ declare class WorkflowLinesManager {
360
401
  isFlowingLine(line: WorkflowLineEntity): boolean;
361
402
  isDisabledLine(line: WorkflowLineEntity): boolean;
362
403
  isVerticalLine(line: WorkflowLineEntity): boolean;
404
+ setLineRenderType(line: WorkflowLineEntity): LineRenderType | undefined;
405
+ setLineClassName(line: WorkflowLineEntity): string | undefined;
363
406
  getLineColor(line: WorkflowLineEntity): string | undefined;
364
407
  canAddLine(fromPort: WorkflowPortEntity, toPort: WorkflowPortEntity, silent?: boolean): boolean;
365
408
  toJSON(): WorkflowEdgeJSON[];
@@ -376,6 +419,8 @@ declare class WorkflowLinesManager {
376
419
  * @param pos - 鼠标位置
377
420
  */
378
421
  getNodeFromMousePos(pos: IPoint): WorkflowNodeEntity | undefined;
422
+ registerContribution(factory: WorkflowLineRenderContributionFactory): this;
423
+ private registerData;
379
424
  }
380
425
 
381
426
  type WorkflowPortType = 'input' | 'output';
@@ -470,16 +515,6 @@ interface WorkflowLineEntityOpts extends EntityOpts, WorkflowLinePortInfo {
470
515
  linesManager: WorkflowLinesManager;
471
516
  drawingTo?: IPoint;
472
517
  }
473
- interface BezierLine {
474
- fromPos: IPoint;
475
- toPos: IPoint;
476
- bbox: Rectangle;
477
- controls: IPoint[];
478
- bezier: Bezier;
479
- foldPoints: IPoint[];
480
- foldBounds: Rectangle;
481
- foldPath: string;
482
- }
483
518
  interface WorkflowLineInfo extends WorkflowLinePortInfo {
484
519
  drawingTo?: IPoint;
485
520
  isDefaultLine?: boolean;
@@ -506,14 +541,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
506
541
  */
507
542
  info: WorkflowLineInfo;
508
543
  readonly isDrawing: boolean;
509
- /**
510
- * 贝塞尔线条版本
511
- */
512
- private _bezierVersion;
513
- /**
514
- * 贝塞尔线条数据
515
- */
516
- private _bezier?;
517
544
  /**
518
545
  * 线条 Portal 挂载的 div
519
546
  */
@@ -553,13 +580,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
553
580
  get drawingTo(): IPoint | undefined;
554
581
  get highlightColor(): string;
555
582
  set highlightColor(color: string);
556
- /**
557
- * 创建贝塞尔线条
558
- * @param fromPos 前置节点位置
559
- * @param toPos 后置节点位置
560
- * @returns 贝塞尔线条数据
561
- */
562
- private createBezier;
563
583
  /**
564
584
  * 获取线条的边框位置大小
565
585
  */
@@ -567,23 +587,13 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
567
587
  /**
568
588
  * 获取点和线最接近的距离
569
589
  */
570
- getHoverDist(pos: IPoint, lineType?: LineType): number;
590
+ getHoverDist(pos: IPoint): number;
571
591
  get fromPort(): WorkflowPortEntity;
572
592
  get toPort(): WorkflowPortEntity | undefined;
573
593
  /**
574
594
  * 获取线条真实的输入输出节点坐标
575
595
  */
576
596
  get position(): LinePosition;
577
- /**
578
- * 获取贝塞尔数据
579
- * 根据两边节点的位置信息创建贝塞尔曲线
580
- */
581
- get bezier(): BezierLine;
582
- refreshBezier(): void;
583
- /**
584
- * 可以用于判断线条点位信息是否变化
585
- */
586
- get bezierDataVersion(): string;
587
597
  /** 是否反转箭头 */
588
598
  get reverse(): boolean;
589
599
  /** 是否隐藏箭头 */
@@ -594,6 +604,10 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
594
604
  get disabled(): boolean;
595
605
  /** 是否竖向 */
596
606
  get vertical(): boolean;
607
+ /** 获取线条渲染器类型 */
608
+ get renderType(): LineRenderType | undefined;
609
+ /** 获取线条样式 */
610
+ get className(): string | undefined;
597
611
  get color(): string | undefined;
598
612
  /**
599
613
  * 初始化线条
@@ -603,12 +617,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
603
617
  validate(): void;
604
618
  validateSelf(): void;
605
619
  is(line: WorkflowLineEntity | WorkflowLinePortInfo): boolean;
606
- /**
607
- * 框选 贝塞尔曲线
608
- * TODO 这个方法可能有性能问题,后续看看有没有更好的方式
609
- * @param rect
610
- */
611
- intersectsRectangle(rect: Rectangle): boolean;
612
620
  canRemove(newLineInfo?: Required<WorkflowLinePortInfo>): boolean;
613
621
  get node(): HTMLDivElement;
614
622
  toJSON(): WorkflowEdgeJSON;
@@ -616,4 +624,4 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
616
624
  fireRender(): void;
617
625
  }
618
626
 
619
- export { type BezierLine as B, LINE_HOVER_DISTANCE as L, POINT_RADIUS as P, WorkflowHoverService as W, WorkflowDocument as a, WorkflowLinesManager as b, WorkflowSelectService as c, type WorkflowNodeJSON as d, WorkflowPortEntity as e, WorkflowLineEntity as f, type WorkflowPorts as g, type WorkflowPortType as h, type WorkflowPort as i, getPortEntityId as j, WORKFLOW_LINE_ENTITY as k, domReactToBounds as l, type WorkflowJSON as m, WorkflowContentChangeType as n, type WorkflowContentChangeEvent as o, type WorkflowNodeMeta as p, type WorkflowLinePortInfo as q, type WorkflowLineEntityOpts as r, type WorkflowLineInfo as s, PORT_SIZE as t, type WorkflowPortEntityOpts as u, type WorkfloEntityHoverable as v, WorkflowDocumentProvider as w, WorkflowDocumentOptions as x, WorkflowDocumentOptionsDefault as y };
627
+ export { PORT_SIZE as A, type WorkflowPortEntityOpts as B, type WorkfloEntityHoverable as C, WorkflowDocumentProvider as D, WorkflowDocumentOptions as E, WorkflowDocumentOptionsDefault as F, type LineRenderType as L, POINT_RADIUS as P, WorkflowHoverService as W, WorkflowDocument as a, WorkflowLinesManager as b, WorkflowSelectService as c, type WorkflowNodeJSON as d, WorkflowPortEntity as e, WorkflowLineEntity as f, type WorkflowPorts as g, type WorkflowPortType as h, type WorkflowPort as i, type WorkflowLineRenderContribution as j, type LinePosition as k, getPortEntityId as l, WORKFLOW_LINE_ENTITY as m, domReactToBounds as n, type WorkflowJSON as o, WorkflowContentChangeType as p, type WorkflowContentChangeEvent as q, type WorkflowNodeMeta as r, LineType as s, type LineColor as t, LineColors as u, type WorkflowLineRenderContributionFactory as v, LINE_HOVER_DISTANCE as w, type WorkflowLinePortInfo as x, type WorkflowLineEntityOpts as y, type WorkflowLineInfo as z };
@@ -1,12 +1,10 @@
1
- import { Bezier } from 'bezier-js';
2
1
  import * as _flowgram_ai_utils from '@flowgram.ai/utils';
3
- import { IPoint, Emitter, Event, DisposableCollection, Rectangle } from '@flowgram.ai/utils';
2
+ import { IPoint, Rectangle, Emitter, Event, DisposableCollection } from '@flowgram.ai/utils';
4
3
  import { EntityManager, SelectionService, Playground, Entity, PlaygroundConfigEntity, PlaygroundContext, EntityOpts } from '@flowgram.ai/core';
5
4
  import { FlowNodeMeta, FlowNodeJSON, FlowDocumentOptions, FlowDocument } from '@flowgram.ai/document';
6
5
  import { W as WorkflowNodeEntity, a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.mjs';
7
6
  import { NodeEngineContext } from '@flowgram.ai/form-core';
8
7
  import { WorkflowEdgeJSON } from './typings/workflow-edge.mjs';
9
- import { LineColor, LineType, LinePosition } from './typings/workflow-line.mjs';
10
8
 
11
9
  /**
12
10
  * 节点 meta 信息
@@ -89,6 +87,44 @@ interface WorkflowContentChangeEvent {
89
87
  entity: WorkflowNodeEntity | WorkflowLineEntity;
90
88
  }
91
89
 
90
+ declare enum LineType {
91
+ BEZIER = 0,
92
+ LINE_CHART = 1
93
+ }
94
+ type LineRenderType = LineType | string;
95
+ interface LinePosition {
96
+ from: IPoint;
97
+ to: IPoint;
98
+ }
99
+ interface LineColor {
100
+ hidden: string;
101
+ default: string;
102
+ drawing: string;
103
+ hovered: string;
104
+ selected: string;
105
+ error: string;
106
+ }
107
+ declare enum LineColors {
108
+ HIDDEN = "transparent",
109
+ DEFUALT = "#4d53e8",
110
+ DRAWING = "#5DD6E3",
111
+ HOVER = "#37d0ff",
112
+ ERROR = "red"
113
+ }
114
+ interface WorkflowLineRenderContribution {
115
+ entity: WorkflowLineEntity;
116
+ path: string;
117
+ bounds: Rectangle;
118
+ update: (params: {
119
+ fromPos: IPoint;
120
+ toPos: IPoint;
121
+ }) => void;
122
+ calcDistance: (pos: IPoint) => number;
123
+ }
124
+ type WorkflowLineRenderContributionFactory = (new (entity: WorkflowLineEntity) => WorkflowLineRenderContribution) & {
125
+ type: LineRenderType;
126
+ };
127
+
92
128
  declare const WorkflowDocumentOptions: unique symbol;
93
129
  /**
94
130
  * 线条配置
@@ -116,6 +152,10 @@ interface WorkflowDocumentOptions extends FlowDocumentOptions {
116
152
  isDisabledLine?: (line: WorkflowLineEntity) => boolean;
117
153
  /** 是否竖向线条 */
118
154
  isVerticalLine?: (line: WorkflowLineEntity) => boolean;
155
+ /** 获取线条渲染器 */
156
+ setLineRenderType?: (line: WorkflowLineEntity) => LineRenderType | undefined;
157
+ /** 设置线条样式 */
158
+ setLineClassName?: (line: WorkflowLineEntity) => string | undefined;
119
159
  /** 能否添加线条 */
120
160
  canAddLine?: (fromPort: WorkflowPortEntity, toPort: WorkflowPortEntity, lines: WorkflowLinesManager, silent?: boolean) => boolean;
121
161
  /** 能否删除节点 */
@@ -313,7 +353,7 @@ declare class WorkflowDocument extends FlowDocument {
313
353
  declare class WorkflowLinesManager {
314
354
  protected document: WorkflowDocument;
315
355
  protected toDispose: DisposableCollection;
316
- protected _lineType: LineType;
356
+ protected _lineType: LineRenderType;
317
357
  protected onAvailableLinesChangeEmitter: Emitter<WorkflowContentChangeEvent>;
318
358
  protected onForceUpdateEmitter: Emitter<void>;
319
359
  hoverService: WorkflowHoverService;
@@ -328,11 +368,12 @@ declare class WorkflowLinesManager {
328
368
  * 强制渲染 lines
329
369
  */
330
370
  readonly onForceUpdate: _flowgram_ai_utils.Event<void>;
371
+ readonly contributionFactories: WorkflowLineRenderContributionFactory[];
331
372
  init(doc: WorkflowDocument): void;
332
373
  forceUpdate(): void;
333
- get lineType(): LineType;
374
+ get lineType(): LineRenderType;
334
375
  get lineColor(): LineColor;
335
- switchLineType(newType?: LineType): LineType;
376
+ switchLineType(newType?: LineRenderType): LineRenderType;
336
377
  getAllLines(): WorkflowLineEntity[];
337
378
  hasLine(portInfo: WorkflowLinePortInfo): boolean;
338
379
  getLine(portInfo: WorkflowLinePortInfo): WorkflowLineEntity | undefined;
@@ -360,6 +401,8 @@ declare class WorkflowLinesManager {
360
401
  isFlowingLine(line: WorkflowLineEntity): boolean;
361
402
  isDisabledLine(line: WorkflowLineEntity): boolean;
362
403
  isVerticalLine(line: WorkflowLineEntity): boolean;
404
+ setLineRenderType(line: WorkflowLineEntity): LineRenderType | undefined;
405
+ setLineClassName(line: WorkflowLineEntity): string | undefined;
363
406
  getLineColor(line: WorkflowLineEntity): string | undefined;
364
407
  canAddLine(fromPort: WorkflowPortEntity, toPort: WorkflowPortEntity, silent?: boolean): boolean;
365
408
  toJSON(): WorkflowEdgeJSON[];
@@ -376,6 +419,8 @@ declare class WorkflowLinesManager {
376
419
  * @param pos - 鼠标位置
377
420
  */
378
421
  getNodeFromMousePos(pos: IPoint): WorkflowNodeEntity | undefined;
422
+ registerContribution(factory: WorkflowLineRenderContributionFactory): this;
423
+ private registerData;
379
424
  }
380
425
 
381
426
  type WorkflowPortType = 'input' | 'output';
@@ -470,16 +515,6 @@ interface WorkflowLineEntityOpts extends EntityOpts, WorkflowLinePortInfo {
470
515
  linesManager: WorkflowLinesManager;
471
516
  drawingTo?: IPoint;
472
517
  }
473
- interface BezierLine {
474
- fromPos: IPoint;
475
- toPos: IPoint;
476
- bbox: Rectangle;
477
- controls: IPoint[];
478
- bezier: Bezier;
479
- foldPoints: IPoint[];
480
- foldBounds: Rectangle;
481
- foldPath: string;
482
- }
483
518
  interface WorkflowLineInfo extends WorkflowLinePortInfo {
484
519
  drawingTo?: IPoint;
485
520
  isDefaultLine?: boolean;
@@ -506,14 +541,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
506
541
  */
507
542
  info: WorkflowLineInfo;
508
543
  readonly isDrawing: boolean;
509
- /**
510
- * 贝塞尔线条版本
511
- */
512
- private _bezierVersion;
513
- /**
514
- * 贝塞尔线条数据
515
- */
516
- private _bezier?;
517
544
  /**
518
545
  * 线条 Portal 挂载的 div
519
546
  */
@@ -553,13 +580,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
553
580
  get drawingTo(): IPoint | undefined;
554
581
  get highlightColor(): string;
555
582
  set highlightColor(color: string);
556
- /**
557
- * 创建贝塞尔线条
558
- * @param fromPos 前置节点位置
559
- * @param toPos 后置节点位置
560
- * @returns 贝塞尔线条数据
561
- */
562
- private createBezier;
563
583
  /**
564
584
  * 获取线条的边框位置大小
565
585
  */
@@ -567,23 +587,13 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
567
587
  /**
568
588
  * 获取点和线最接近的距离
569
589
  */
570
- getHoverDist(pos: IPoint, lineType?: LineType): number;
590
+ getHoverDist(pos: IPoint): number;
571
591
  get fromPort(): WorkflowPortEntity;
572
592
  get toPort(): WorkflowPortEntity | undefined;
573
593
  /**
574
594
  * 获取线条真实的输入输出节点坐标
575
595
  */
576
596
  get position(): LinePosition;
577
- /**
578
- * 获取贝塞尔数据
579
- * 根据两边节点的位置信息创建贝塞尔曲线
580
- */
581
- get bezier(): BezierLine;
582
- refreshBezier(): void;
583
- /**
584
- * 可以用于判断线条点位信息是否变化
585
- */
586
- get bezierDataVersion(): string;
587
597
  /** 是否反转箭头 */
588
598
  get reverse(): boolean;
589
599
  /** 是否隐藏箭头 */
@@ -594,6 +604,10 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
594
604
  get disabled(): boolean;
595
605
  /** 是否竖向 */
596
606
  get vertical(): boolean;
607
+ /** 获取线条渲染器类型 */
608
+ get renderType(): LineRenderType | undefined;
609
+ /** 获取线条样式 */
610
+ get className(): string | undefined;
597
611
  get color(): string | undefined;
598
612
  /**
599
613
  * 初始化线条
@@ -603,12 +617,6 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
603
617
  validate(): void;
604
618
  validateSelf(): void;
605
619
  is(line: WorkflowLineEntity | WorkflowLinePortInfo): boolean;
606
- /**
607
- * 框选 贝塞尔曲线
608
- * TODO 这个方法可能有性能问题,后续看看有没有更好的方式
609
- * @param rect
610
- */
611
- intersectsRectangle(rect: Rectangle): boolean;
612
620
  canRemove(newLineInfo?: Required<WorkflowLinePortInfo>): boolean;
613
621
  get node(): HTMLDivElement;
614
622
  toJSON(): WorkflowEdgeJSON;
@@ -616,4 +624,4 @@ declare class WorkflowLineEntity extends Entity<WorkflowLineEntityOpts> {
616
624
  fireRender(): void;
617
625
  }
618
626
 
619
- export { type BezierLine as B, LINE_HOVER_DISTANCE as L, POINT_RADIUS as P, WorkflowHoverService as W, WorkflowDocument as a, WorkflowLinesManager as b, WorkflowSelectService as c, type WorkflowNodeJSON as d, WorkflowPortEntity as e, WorkflowLineEntity as f, type WorkflowPorts as g, type WorkflowPortType as h, type WorkflowPort as i, getPortEntityId as j, WORKFLOW_LINE_ENTITY as k, domReactToBounds as l, type WorkflowJSON as m, WorkflowContentChangeType as n, type WorkflowContentChangeEvent as o, type WorkflowNodeMeta as p, type WorkflowLinePortInfo as q, type WorkflowLineEntityOpts as r, type WorkflowLineInfo as s, PORT_SIZE as t, type WorkflowPortEntityOpts as u, type WorkfloEntityHoverable as v, WorkflowDocumentProvider as w, WorkflowDocumentOptions as x, WorkflowDocumentOptionsDefault as y };
627
+ export { PORT_SIZE as A, type WorkflowPortEntityOpts as B, type WorkfloEntityHoverable as C, WorkflowDocumentProvider as D, WorkflowDocumentOptions as E, WorkflowDocumentOptionsDefault as F, type LineRenderType as L, POINT_RADIUS as P, WorkflowHoverService as W, WorkflowDocument as a, WorkflowLinesManager as b, WorkflowSelectService as c, type WorkflowNodeJSON as d, WorkflowPortEntity as e, WorkflowLineEntity as f, type WorkflowPorts as g, type WorkflowPortType as h, type WorkflowPort as i, type WorkflowLineRenderContribution as j, type LinePosition as k, getPortEntityId as l, WORKFLOW_LINE_ENTITY as m, domReactToBounds as n, type WorkflowJSON as o, WorkflowContentChangeType as p, type WorkflowContentChangeEvent as q, type WorkflowNodeMeta as r, LineType as s, type LineColor as t, LineColors as u, type WorkflowLineRenderContributionFactory as v, LINE_HOVER_DISTANCE as w, type WorkflowLinePortInfo as x, type WorkflowLineEntityOpts as y, type WorkflowLineInfo as z };