@flowgram.ai/free-layout-core 0.1.13 → 0.1.15
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/dist/esm/{chunk-DE4324TR.js → chunk-IYUZVBAO.js} +1 -1
- package/dist/esm/chunk-IYUZVBAO.js.map +1 -0
- package/dist/esm/chunk-LJH3TSLZ.js +7 -0
- package/dist/esm/chunk-LJH3TSLZ.js.map +1 -0
- package/dist/esm/chunk-TQLT57GW.js +1 -0
- package/dist/esm/chunk-TQLT57GW.js.map +1 -0
- package/dist/esm/index.js +156 -60
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/typings/index.js +10 -5
- package/dist/esm/typings/workflow-drag.js +2 -0
- package/dist/esm/typings/workflow-drag.js.map +1 -0
- package/dist/esm/typings/workflow-operation.js +8 -0
- package/dist/esm/typings/workflow-operation.js.map +1 -0
- package/dist/index.d.mts +121 -7
- package/dist/index.d.ts +121 -7
- package/dist/index.js +202 -105
- package/dist/index.js.map +1 -1
- package/dist/typings/index.d.mts +2 -1
- package/dist/typings/index.d.ts +2 -1
- package/dist/typings/index.js +7 -2
- package/dist/typings/index.js.map +1 -1
- package/dist/typings/workflow-drag.d.mts +8 -0
- package/dist/typings/workflow-drag.d.ts +8 -0
- package/dist/typings/workflow-drag.js +19 -0
- package/dist/typings/workflow-drag.js.map +1 -0
- package/dist/typings/workflow-json.d.mts +1 -1
- package/dist/typings/workflow-json.d.ts +1 -1
- package/dist/typings/workflow-line.d.mts +1 -1
- package/dist/typings/workflow-line.d.ts +1 -1
- package/dist/typings/workflow-node.d.mts +1 -1
- package/dist/typings/workflow-node.d.ts +1 -1
- package/dist/typings/workflow-node.js.map +1 -1
- package/dist/typings/workflow-operation.d.mts +24 -0
- package/dist/typings/workflow-operation.d.ts +24 -0
- package/dist/typings/workflow-operation.js +31 -0
- package/dist/typings/workflow-operation.js.map +1 -0
- package/dist/typings/workflow-registry.d.mts +1 -1
- package/dist/typings/workflow-registry.d.ts +1 -1
- package/dist/{workflow-line-entity-BJQBRDgJ.d.mts → workflow-line-entity-CF97dniV.d.mts} +90 -170
- package/dist/{workflow-line-entity-CEitdjhk.d.ts → workflow-line-entity-niuFXSbE.d.ts} +90 -170
- package/package.json +9 -9
- package/dist/esm/chunk-DE4324TR.js.map +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
URLParams
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-IYUZVBAO.js";
|
|
4
|
+
import "../chunk-KNYZRMIO.js";
|
|
5
|
+
import "../chunk-NU6G5HF4.js";
|
|
6
|
+
import "../chunk-TQLT57GW.js";
|
|
4
7
|
import "../chunk-CGOMTQ3G.js";
|
|
5
8
|
import {
|
|
6
9
|
WorkflowContentChangeType
|
|
@@ -9,14 +12,16 @@ import {
|
|
|
9
12
|
LineColors,
|
|
10
13
|
LineType
|
|
11
14
|
} from "../chunk-PT4ZVDZZ.js";
|
|
12
|
-
import "../chunk-EUXUH3YW.js";
|
|
13
15
|
import "../chunk-DDJTYHXN.js";
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
+
import {
|
|
17
|
+
WorkflowOperationBaseService
|
|
18
|
+
} from "../chunk-LJH3TSLZ.js";
|
|
19
|
+
import "../chunk-EUXUH3YW.js";
|
|
16
20
|
export {
|
|
17
21
|
LineColors,
|
|
18
22
|
LineType,
|
|
19
23
|
URLParams,
|
|
20
|
-
WorkflowContentChangeType
|
|
24
|
+
WorkflowContentChangeType,
|
|
25
|
+
WorkflowOperationBaseService
|
|
21
26
|
};
|
|
22
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { PlaygroundConfigEntity, EntityData } from '@flowgram.ai/core';
|
|
1
|
+
import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData } from '@flowgram.ai/core';
|
|
2
2
|
export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, usePlaygroundLatest, useRefresh, useService } from '@flowgram.ai/core';
|
|
3
3
|
import { NodeFormProps } from '@flowgram.ai/node';
|
|
4
|
-
import { FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
-
import { W as
|
|
6
|
-
export {
|
|
4
|
+
import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
+
import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-CF97dniV.mjs';
|
|
6
|
+
export { C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, I as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, K as WorkflowDocumentOptionsDefault, J as WorkflowDocumentProvider, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-CF97dniV.mjs';
|
|
7
7
|
import { W as WorkflowNodeEntity } from './workflow-sub-canvas-DOVla1mw.mjs';
|
|
8
8
|
export { a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.mjs';
|
|
9
9
|
import * as _flowgram_ai_utils from '@flowgram.ai/utils';
|
|
10
|
-
import { IPoint, Rectangle } from '@flowgram.ai/utils';
|
|
10
|
+
import { DisposableCollection, IPoint, Disposable, Rectangle } from '@flowgram.ai/utils';
|
|
11
11
|
export { compose, composeAsync, delay } from '@flowgram.ai/utils';
|
|
12
12
|
export { URLParams } from './typings/index.mjs';
|
|
13
|
+
import React$1 from 'react';
|
|
14
|
+
import { WorkflowOperationBaseService, NodePostionUpdateEvent } from './typings/workflow-operation.mjs';
|
|
13
15
|
import { ContainerModule } from 'inversify';
|
|
14
16
|
export { WorkflowEdgeJSON } from './typings/workflow-edge.mjs';
|
|
15
17
|
export { WorkflowNodeFormMeta, WorkflowNodeRegistry, WorkflowNodeRenderProps } from './typings/workflow-registry.mjs';
|
|
16
18
|
import '@flowgram.ai/form-core';
|
|
17
|
-
import 'react';
|
|
18
19
|
|
|
19
20
|
declare enum WorkflowCommands {
|
|
20
21
|
DELETE_NODES = "DELETE_NODES",
|
|
@@ -26,6 +27,112 @@ declare enum WorkflowCommands {
|
|
|
26
27
|
REDO = "REDO"
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
declare class WorkflowDragService {
|
|
31
|
+
protected playgroundConfig: PlaygroundConfigEntity;
|
|
32
|
+
protected hoverService: WorkflowHoverService;
|
|
33
|
+
protected document: WorkflowDocument;
|
|
34
|
+
protected linesManager: WorkflowLinesManager;
|
|
35
|
+
protected commandService: CommandService;
|
|
36
|
+
protected selectService: WorkflowSelectService;
|
|
37
|
+
protected operationService: FlowOperationBaseService;
|
|
38
|
+
readonly options: WorkflowDocumentOptions;
|
|
39
|
+
private _onDragLineEventEmitter;
|
|
40
|
+
readonly onDragLineEventChange: _flowgram_ai_utils.Event<LineEventProps>;
|
|
41
|
+
isDragging: boolean;
|
|
42
|
+
private _nodesDragEmitter;
|
|
43
|
+
readonly onNodesDrag: _flowgram_ai_utils.Event<NodesDragEvent>;
|
|
44
|
+
protected _toDispose: DisposableCollection;
|
|
45
|
+
private _droppableTransforms;
|
|
46
|
+
private _dropNode?;
|
|
47
|
+
private posAdjusters;
|
|
48
|
+
private _onDragLineEndCallbacks;
|
|
49
|
+
init(): void;
|
|
50
|
+
dispose(): void;
|
|
51
|
+
/**
|
|
52
|
+
* 拖拽选中节点
|
|
53
|
+
* @param triggerEvent
|
|
54
|
+
*/
|
|
55
|
+
startDragSelectedNodes(triggerEvent: MouseEvent | React$1.MouseEvent): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* 通过拖入卡片添加
|
|
58
|
+
* @param type
|
|
59
|
+
* @param event
|
|
60
|
+
* @param data 节点数据
|
|
61
|
+
*/
|
|
62
|
+
dropCard(type: string, event: {
|
|
63
|
+
clientX: number;
|
|
64
|
+
clientY: number;
|
|
65
|
+
}, data?: Partial<WorkflowNodeJSON>, parent?: WorkflowNodeEntity): Promise<WorkflowNodeEntity | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* 拖拽卡片到画布
|
|
68
|
+
* 返回创建结果
|
|
69
|
+
* @param type
|
|
70
|
+
* @param event
|
|
71
|
+
*/
|
|
72
|
+
startDragCard(type: string, event: React$1.MouseEvent, data: Partial<WorkflowNodeJSON>, cloneNode?: (e: PlaygroundDragEvent) => HTMLDivElement): Promise<WorkflowNodeEntity | undefined>;
|
|
73
|
+
/**
|
|
74
|
+
* 如果存在容器节点,且传入鼠标坐标,需要用容器的坐标减去传入的鼠标坐标
|
|
75
|
+
*/
|
|
76
|
+
adjustSubNodePosition(subNodeType?: string, containerNode?: WorkflowNodeEntity, mousePos?: IPoint, resetEmptyPos?: boolean): IPoint;
|
|
77
|
+
/**
|
|
78
|
+
* 注册位置调整
|
|
79
|
+
*/
|
|
80
|
+
registerPosAdjuster(adjuster: (params: {
|
|
81
|
+
selectedNodes: WorkflowNodeEntity[];
|
|
82
|
+
position: IPoint;
|
|
83
|
+
}) => IPoint): {
|
|
84
|
+
dispose: () => boolean;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* 判断是否可以放置节点
|
|
88
|
+
*/
|
|
89
|
+
canDropToNode(params: {
|
|
90
|
+
dragNodeType?: FlowNodeType;
|
|
91
|
+
dropNode?: WorkflowNodeEntity;
|
|
92
|
+
}): {
|
|
93
|
+
allowDrop: boolean;
|
|
94
|
+
message?: string;
|
|
95
|
+
dropNode?: WorkflowNodeEntity;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* 获取拖拽偏移
|
|
99
|
+
*/
|
|
100
|
+
private getDragPosOffset;
|
|
101
|
+
private updateDroppableTransforms;
|
|
102
|
+
/** 是否容器节点 */
|
|
103
|
+
private isContainer;
|
|
104
|
+
/**
|
|
105
|
+
* 获取节点整体位置
|
|
106
|
+
*/
|
|
107
|
+
private getNodesPosition;
|
|
108
|
+
private nodeSelectable;
|
|
109
|
+
private updateDropNode;
|
|
110
|
+
private clearDrop;
|
|
111
|
+
private setLineColor;
|
|
112
|
+
private handleDragOnNode;
|
|
113
|
+
private childrenOfContainer;
|
|
114
|
+
/**
|
|
115
|
+
* 绘制线条
|
|
116
|
+
* @param opts
|
|
117
|
+
* @param event
|
|
118
|
+
*/
|
|
119
|
+
startDrawingLine(fromPort: WorkflowPortEntity, event: {
|
|
120
|
+
clientX: number;
|
|
121
|
+
clientY: number;
|
|
122
|
+
}, originLine?: WorkflowLineEntity): Promise<{
|
|
123
|
+
dragSuccess?: boolean;
|
|
124
|
+
newLine?: WorkflowLineEntity;
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* 重新连接线条
|
|
128
|
+
* @param line
|
|
129
|
+
* @param e
|
|
130
|
+
*/
|
|
131
|
+
resetLine(line: WorkflowLineEntity, e: MouseEvent): Promise<void>;
|
|
132
|
+
/** 线条拖拽结束 */
|
|
133
|
+
onDragLineEnd(callback: OnDragLineEnd): Disposable;
|
|
134
|
+
}
|
|
135
|
+
|
|
29
136
|
type PositionMap = Record<string, IPoint>;
|
|
30
137
|
/**
|
|
31
138
|
* 重置布局服务
|
|
@@ -67,6 +174,13 @@ declare class WorkflowResetLayoutService {
|
|
|
67
174
|
dispose(): void;
|
|
68
175
|
}
|
|
69
176
|
|
|
177
|
+
declare class WorkflowOperationBaseServiceImpl extends FlowOperationBaseServiceImpl implements WorkflowOperationBaseService {
|
|
178
|
+
protected document: WorkflowDocument;
|
|
179
|
+
private onNodePostionUpdateEmitter;
|
|
180
|
+
readonly onNodePostionUpdate: _flowgram_ai_utils.Event<NodePostionUpdateEvent>;
|
|
181
|
+
updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;
|
|
182
|
+
}
|
|
183
|
+
|
|
70
184
|
interface NodeRenderReturnType {
|
|
71
185
|
/**
|
|
72
186
|
* 当前节点
|
|
@@ -357,4 +471,4 @@ declare class WorkflowSimpleLineContribution implements WorkflowLineRenderContri
|
|
|
357
471
|
private projectPointOnLine;
|
|
358
472
|
}
|
|
359
473
|
|
|
360
|
-
export { EditorCursorState, InteractiveType, LinePosition, LineRenderType, type NodeRenderReturnType, type PositionMap, type StraightData, WorkflowCommands, WorkflowDocument, WorkflowDocumentContainerModule, WorkflowLineEntity, WorkflowLineRenderContribution, WorkflowLineRenderData, type WorkflowLineRenderDataSchema, WorkflowNodeEntity, type WorkflowNodeLines, WorkflowNodeLinesData, WorkflowNodePortsData, WorkflowPort, WorkflowPortEntity, WorkflowPortType, WorkflowPorts, WorkflowResetLayoutService, WorkflowSimpleLineContribution, fitView, getAntiOverlapPosition, nanoid, useCurrentDomNode, useCurrentEntity, useNodeRender, usePlaygroundReadonlyState, useWorkflowDocument };
|
|
474
|
+
export { EditorCursorState, InteractiveType, LineEventProps, LinePosition, LineRenderType, NodePostionUpdateEvent, type NodeRenderReturnType, NodesDragEvent, OnDragLineEnd, type PositionMap, type StraightData, WorkflowCommands, WorkflowDocument, WorkflowDocumentContainerModule, WorkflowDocumentOptions, WorkflowDragService, WorkflowHoverService, WorkflowLineEntity, WorkflowLineRenderContribution, WorkflowLineRenderData, type WorkflowLineRenderDataSchema, WorkflowLinesManager, WorkflowNodeEntity, WorkflowNodeJSON, type WorkflowNodeLines, WorkflowNodeLinesData, WorkflowNodePortsData, WorkflowOperationBaseService, WorkflowOperationBaseServiceImpl, WorkflowPort, WorkflowPortEntity, WorkflowPortType, WorkflowPorts, WorkflowResetLayoutService, WorkflowSelectService, WorkflowSimpleLineContribution, fitView, getAntiOverlapPosition, nanoid, useCurrentDomNode, useCurrentEntity, useNodeRender, usePlaygroundReadonlyState, useWorkflowDocument };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { PlaygroundConfigEntity, EntityData } from '@flowgram.ai/core';
|
|
1
|
+
import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData } from '@flowgram.ai/core';
|
|
2
2
|
export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, usePlaygroundLatest, useRefresh, useService } from '@flowgram.ai/core';
|
|
3
3
|
import { NodeFormProps } from '@flowgram.ai/node';
|
|
4
|
-
import { FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
-
import { W as
|
|
6
|
-
export {
|
|
4
|
+
import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
+
import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-niuFXSbE.js';
|
|
6
|
+
export { C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, I as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, K as WorkflowDocumentOptionsDefault, J as WorkflowDocumentProvider, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-niuFXSbE.js';
|
|
7
7
|
import { W as WorkflowNodeEntity } from './workflow-sub-canvas-DOVla1mw.js';
|
|
8
8
|
export { a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.js';
|
|
9
9
|
import * as _flowgram_ai_utils from '@flowgram.ai/utils';
|
|
10
|
-
import { IPoint, Rectangle } from '@flowgram.ai/utils';
|
|
10
|
+
import { DisposableCollection, IPoint, Disposable, Rectangle } from '@flowgram.ai/utils';
|
|
11
11
|
export { compose, composeAsync, delay } from '@flowgram.ai/utils';
|
|
12
12
|
export { URLParams } from './typings/index.js';
|
|
13
|
+
import React$1 from 'react';
|
|
14
|
+
import { WorkflowOperationBaseService, NodePostionUpdateEvent } from './typings/workflow-operation.js';
|
|
13
15
|
import { ContainerModule } from 'inversify';
|
|
14
16
|
export { WorkflowEdgeJSON } from './typings/workflow-edge.js';
|
|
15
17
|
export { WorkflowNodeFormMeta, WorkflowNodeRegistry, WorkflowNodeRenderProps } from './typings/workflow-registry.js';
|
|
16
18
|
import '@flowgram.ai/form-core';
|
|
17
|
-
import 'react';
|
|
18
19
|
|
|
19
20
|
declare enum WorkflowCommands {
|
|
20
21
|
DELETE_NODES = "DELETE_NODES",
|
|
@@ -26,6 +27,112 @@ declare enum WorkflowCommands {
|
|
|
26
27
|
REDO = "REDO"
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
declare class WorkflowDragService {
|
|
31
|
+
protected playgroundConfig: PlaygroundConfigEntity;
|
|
32
|
+
protected hoverService: WorkflowHoverService;
|
|
33
|
+
protected document: WorkflowDocument;
|
|
34
|
+
protected linesManager: WorkflowLinesManager;
|
|
35
|
+
protected commandService: CommandService;
|
|
36
|
+
protected selectService: WorkflowSelectService;
|
|
37
|
+
protected operationService: FlowOperationBaseService;
|
|
38
|
+
readonly options: WorkflowDocumentOptions;
|
|
39
|
+
private _onDragLineEventEmitter;
|
|
40
|
+
readonly onDragLineEventChange: _flowgram_ai_utils.Event<LineEventProps>;
|
|
41
|
+
isDragging: boolean;
|
|
42
|
+
private _nodesDragEmitter;
|
|
43
|
+
readonly onNodesDrag: _flowgram_ai_utils.Event<NodesDragEvent>;
|
|
44
|
+
protected _toDispose: DisposableCollection;
|
|
45
|
+
private _droppableTransforms;
|
|
46
|
+
private _dropNode?;
|
|
47
|
+
private posAdjusters;
|
|
48
|
+
private _onDragLineEndCallbacks;
|
|
49
|
+
init(): void;
|
|
50
|
+
dispose(): void;
|
|
51
|
+
/**
|
|
52
|
+
* 拖拽选中节点
|
|
53
|
+
* @param triggerEvent
|
|
54
|
+
*/
|
|
55
|
+
startDragSelectedNodes(triggerEvent: MouseEvent | React$1.MouseEvent): Promise<boolean>;
|
|
56
|
+
/**
|
|
57
|
+
* 通过拖入卡片添加
|
|
58
|
+
* @param type
|
|
59
|
+
* @param event
|
|
60
|
+
* @param data 节点数据
|
|
61
|
+
*/
|
|
62
|
+
dropCard(type: string, event: {
|
|
63
|
+
clientX: number;
|
|
64
|
+
clientY: number;
|
|
65
|
+
}, data?: Partial<WorkflowNodeJSON>, parent?: WorkflowNodeEntity): Promise<WorkflowNodeEntity | undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* 拖拽卡片到画布
|
|
68
|
+
* 返回创建结果
|
|
69
|
+
* @param type
|
|
70
|
+
* @param event
|
|
71
|
+
*/
|
|
72
|
+
startDragCard(type: string, event: React$1.MouseEvent, data: Partial<WorkflowNodeJSON>, cloneNode?: (e: PlaygroundDragEvent) => HTMLDivElement): Promise<WorkflowNodeEntity | undefined>;
|
|
73
|
+
/**
|
|
74
|
+
* 如果存在容器节点,且传入鼠标坐标,需要用容器的坐标减去传入的鼠标坐标
|
|
75
|
+
*/
|
|
76
|
+
adjustSubNodePosition(subNodeType?: string, containerNode?: WorkflowNodeEntity, mousePos?: IPoint, resetEmptyPos?: boolean): IPoint;
|
|
77
|
+
/**
|
|
78
|
+
* 注册位置调整
|
|
79
|
+
*/
|
|
80
|
+
registerPosAdjuster(adjuster: (params: {
|
|
81
|
+
selectedNodes: WorkflowNodeEntity[];
|
|
82
|
+
position: IPoint;
|
|
83
|
+
}) => IPoint): {
|
|
84
|
+
dispose: () => boolean;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* 判断是否可以放置节点
|
|
88
|
+
*/
|
|
89
|
+
canDropToNode(params: {
|
|
90
|
+
dragNodeType?: FlowNodeType;
|
|
91
|
+
dropNode?: WorkflowNodeEntity;
|
|
92
|
+
}): {
|
|
93
|
+
allowDrop: boolean;
|
|
94
|
+
message?: string;
|
|
95
|
+
dropNode?: WorkflowNodeEntity;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* 获取拖拽偏移
|
|
99
|
+
*/
|
|
100
|
+
private getDragPosOffset;
|
|
101
|
+
private updateDroppableTransforms;
|
|
102
|
+
/** 是否容器节点 */
|
|
103
|
+
private isContainer;
|
|
104
|
+
/**
|
|
105
|
+
* 获取节点整体位置
|
|
106
|
+
*/
|
|
107
|
+
private getNodesPosition;
|
|
108
|
+
private nodeSelectable;
|
|
109
|
+
private updateDropNode;
|
|
110
|
+
private clearDrop;
|
|
111
|
+
private setLineColor;
|
|
112
|
+
private handleDragOnNode;
|
|
113
|
+
private childrenOfContainer;
|
|
114
|
+
/**
|
|
115
|
+
* 绘制线条
|
|
116
|
+
* @param opts
|
|
117
|
+
* @param event
|
|
118
|
+
*/
|
|
119
|
+
startDrawingLine(fromPort: WorkflowPortEntity, event: {
|
|
120
|
+
clientX: number;
|
|
121
|
+
clientY: number;
|
|
122
|
+
}, originLine?: WorkflowLineEntity): Promise<{
|
|
123
|
+
dragSuccess?: boolean;
|
|
124
|
+
newLine?: WorkflowLineEntity;
|
|
125
|
+
}>;
|
|
126
|
+
/**
|
|
127
|
+
* 重新连接线条
|
|
128
|
+
* @param line
|
|
129
|
+
* @param e
|
|
130
|
+
*/
|
|
131
|
+
resetLine(line: WorkflowLineEntity, e: MouseEvent): Promise<void>;
|
|
132
|
+
/** 线条拖拽结束 */
|
|
133
|
+
onDragLineEnd(callback: OnDragLineEnd): Disposable;
|
|
134
|
+
}
|
|
135
|
+
|
|
29
136
|
type PositionMap = Record<string, IPoint>;
|
|
30
137
|
/**
|
|
31
138
|
* 重置布局服务
|
|
@@ -67,6 +174,13 @@ declare class WorkflowResetLayoutService {
|
|
|
67
174
|
dispose(): void;
|
|
68
175
|
}
|
|
69
176
|
|
|
177
|
+
declare class WorkflowOperationBaseServiceImpl extends FlowOperationBaseServiceImpl implements WorkflowOperationBaseService {
|
|
178
|
+
protected document: WorkflowDocument;
|
|
179
|
+
private onNodePostionUpdateEmitter;
|
|
180
|
+
readonly onNodePostionUpdate: _flowgram_ai_utils.Event<NodePostionUpdateEvent>;
|
|
181
|
+
updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;
|
|
182
|
+
}
|
|
183
|
+
|
|
70
184
|
interface NodeRenderReturnType {
|
|
71
185
|
/**
|
|
72
186
|
* 当前节点
|
|
@@ -357,4 +471,4 @@ declare class WorkflowSimpleLineContribution implements WorkflowLineRenderContri
|
|
|
357
471
|
private projectPointOnLine;
|
|
358
472
|
}
|
|
359
473
|
|
|
360
|
-
export { EditorCursorState, InteractiveType, LinePosition, LineRenderType, type NodeRenderReturnType, type PositionMap, type StraightData, WorkflowCommands, WorkflowDocument, WorkflowDocumentContainerModule, WorkflowLineEntity, WorkflowLineRenderContribution, WorkflowLineRenderData, type WorkflowLineRenderDataSchema, WorkflowNodeEntity, type WorkflowNodeLines, WorkflowNodeLinesData, WorkflowNodePortsData, WorkflowPort, WorkflowPortEntity, WorkflowPortType, WorkflowPorts, WorkflowResetLayoutService, WorkflowSimpleLineContribution, fitView, getAntiOverlapPosition, nanoid, useCurrentDomNode, useCurrentEntity, useNodeRender, usePlaygroundReadonlyState, useWorkflowDocument };
|
|
474
|
+
export { EditorCursorState, InteractiveType, LineEventProps, LinePosition, LineRenderType, NodePostionUpdateEvent, type NodeRenderReturnType, NodesDragEvent, OnDragLineEnd, type PositionMap, type StraightData, WorkflowCommands, WorkflowDocument, WorkflowDocumentContainerModule, WorkflowDocumentOptions, WorkflowDragService, WorkflowHoverService, WorkflowLineEntity, WorkflowLineRenderContribution, WorkflowLineRenderData, type WorkflowLineRenderDataSchema, WorkflowLinesManager, WorkflowNodeEntity, WorkflowNodeJSON, type WorkflowNodeLines, WorkflowNodeLinesData, WorkflowNodePortsData, WorkflowOperationBaseService, WorkflowOperationBaseServiceImpl, WorkflowPort, WorkflowPortEntity, WorkflowPortType, WorkflowPorts, WorkflowResetLayoutService, WorkflowSelectService, WorkflowSimpleLineContribution, fitView, getAntiOverlapPosition, nanoid, useCurrentDomNode, useCurrentEntity, useNodeRender, usePlaygroundReadonlyState, useWorkflowDocument };
|