@flowgram.ai/free-layout-core 0.5.0 → 0.5.2
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-O4WKIIW2.js → chunk-3UW6BHP2.js} +1 -1
- package/dist/esm/chunk-3UW6BHP2.js.map +1 -0
- package/dist/esm/index.js +110 -38
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/typings/index.js +1 -1
- package/dist/esm/typings/workflow-operation.js +1 -1
- package/dist/index.d.mts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +109 -37
- package/dist/index.js.map +1 -1
- package/dist/typings/index.d.mts +1 -1
- package/dist/typings/index.d.ts +1 -1
- package/dist/typings/index.js.map +1 -1
- package/dist/typings/workflow-drag.d.mts +1 -1
- package/dist/typings/workflow-drag.d.ts +1 -1
- 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-operation.d.mts +9 -0
- package/dist/typings/workflow-operation.d.ts +9 -0
- package/dist/typings/workflow-operation.js.map +1 -1
- package/dist/typings/workflow-registry.d.mts +1 -1
- package/dist/typings/workflow-registry.d.ts +1 -1
- package/dist/typings/workflow-sub-canvas.d.mts +1 -1
- package/dist/typings/workflow-sub-canvas.d.ts +1 -1
- package/dist/{workflow-node-entity-lKu00Aj4.d.mts → workflow-node-entity-DgQT-wl9.d.mts} +16 -3
- package/dist/{workflow-node-entity-Cnte2phX.d.ts → workflow-node-entity-kGsp2Roz.d.ts} +16 -3
- package/package.json +9 -9
- package/dist/esm/chunk-O4WKIIW2.js.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -2,8 +2,8 @@ import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData
|
|
|
2
2
|
export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, useRefresh, useService } from '@flowgram.ai/core';
|
|
3
3
|
import { NodeFormProps } from '@flowgram.ai/node';
|
|
4
4
|
import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
-
import { W as WorkflowJSON, L as LineCenterPoint, a as WorkflowDocument, b as WorkflowNodeEntity, c as WorkflowHoverService, d as WorkflowLinesManager, e as WorkflowSelectService, f as WorkflowDocumentOptions, g as LineEventProps, N as NodesDragEvent, h as WorkflowNodeJSON, i as WorkflowPortEntity, j as WorkflowLineEntity, O as OnDragLineEnd, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-node-entity-
|
|
6
|
-
export { X as HoverPosition, F as LINE_HOVER_DISTANCE, x as LineColor, y as LineColors, w as LinePoint, v as LinePointLocation, u as LineType, C as NodesDragEndEvent, B as NodesDragStartEvent, D as NodesDraggingEvent, P as POINT_RADIUS, K as PORT_SIZE, p as WORKFLOW_LINE_ENTITY, Y as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, _ as WorkflowDocumentOptionsDefault, Z as WorkflowDocumentProvider, V as WorkflowEntityHoverable, H as WorkflowLineEntityOpts, I as WorkflowLineInfo, G as WorkflowLinePortInfo, z as WorkflowLineRenderContributionFactory, J as WorkflowLineUIState, T as WorkflowNodeLines, U as WorkflowNodeLinesData, t as WorkflowNodeMeta, S as WorkflowNodePortsData, M as WorkflowPort, R as WorkflowPortEntityOpts, n as WorkflowPortType, Q as WorkflowPorts, A as WorkflowSubCanvas, q as domReactToBounds, o as getPortEntityId, E as onDragLineEndParams } from './workflow-node-entity-
|
|
5
|
+
import { W as WorkflowJSON, L as LineCenterPoint, a as WorkflowDocument, b as WorkflowNodeEntity, c as WorkflowHoverService, d as WorkflowLinesManager, e as WorkflowSelectService, f as WorkflowDocumentOptions, g as LineEventProps, N as NodesDragEvent, h as WorkflowNodeJSON, i as WorkflowPortEntity, j as WorkflowLineEntity, O as OnDragLineEnd, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-node-entity-DgQT-wl9.mjs';
|
|
6
|
+
export { X as HoverPosition, F as LINE_HOVER_DISTANCE, x as LineColor, y as LineColors, w as LinePoint, v as LinePointLocation, u as LineType, C as NodesDragEndEvent, B as NodesDragStartEvent, D as NodesDraggingEvent, P as POINT_RADIUS, K as PORT_SIZE, p as WORKFLOW_LINE_ENTITY, Y as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, _ as WorkflowDocumentOptionsDefault, Z as WorkflowDocumentProvider, V as WorkflowEntityHoverable, H as WorkflowLineEntityOpts, I as WorkflowLineInfo, G as WorkflowLinePortInfo, z as WorkflowLineRenderContributionFactory, J as WorkflowLineUIState, T as WorkflowNodeLines, U as WorkflowNodeLinesData, t as WorkflowNodeMeta, S as WorkflowNodePortsData, M as WorkflowPort, R as WorkflowPortEntityOpts, n as WorkflowPortType, Q as WorkflowPorts, A as WorkflowSubCanvas, q as domReactToBounds, o as getPortEntityId, E as onDragLineEndParams } from './workflow-node-entity-DgQT-wl9.mjs';
|
|
7
7
|
import * as _flowgram_ai_utils from '@flowgram.ai/utils';
|
|
8
8
|
import { IPoint, Rectangle, DisposableCollection, Disposable } from '@flowgram.ai/utils';
|
|
9
9
|
export { compose, composeAsync, delay } from '@flowgram.ai/utils';
|
|
@@ -228,9 +228,11 @@ declare class WorkflowResetLayoutService {
|
|
|
228
228
|
|
|
229
229
|
declare class WorkflowOperationBaseServiceImpl extends FlowOperationBaseServiceImpl implements WorkflowOperationBaseService {
|
|
230
230
|
protected document: WorkflowDocument;
|
|
231
|
+
linesManager: WorkflowLinesManager;
|
|
231
232
|
private onNodePostionUpdateEmitter;
|
|
232
233
|
readonly onNodePostionUpdate: _flowgram_ai_utils.Event<NodePostionUpdateEvent>;
|
|
233
234
|
updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;
|
|
235
|
+
fromJSON(json: WorkflowJSON): void;
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
/**
|
|
@@ -355,7 +357,7 @@ interface NodeRenderReturnType {
|
|
|
355
357
|
* 更新节点的扩展数据
|
|
356
358
|
* @param extInfo
|
|
357
359
|
*/
|
|
358
|
-
updateExtInfo<T = any>(extInfo: T): void;
|
|
360
|
+
updateExtInfo<T = any>(extInfo: T, fullUpdate?: boolean): void;
|
|
359
361
|
/**
|
|
360
362
|
* 展开/收起节点
|
|
361
363
|
* @param expanded
|
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData
|
|
|
2
2
|
export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, useRefresh, useService } from '@flowgram.ai/core';
|
|
3
3
|
import { NodeFormProps } from '@flowgram.ai/node';
|
|
4
4
|
import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
|
|
5
|
-
import { W as WorkflowJSON, L as LineCenterPoint, a as WorkflowDocument, b as WorkflowNodeEntity, c as WorkflowHoverService, d as WorkflowLinesManager, e as WorkflowSelectService, f as WorkflowDocumentOptions, g as LineEventProps, N as NodesDragEvent, h as WorkflowNodeJSON, i as WorkflowPortEntity, j as WorkflowLineEntity, O as OnDragLineEnd, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-node-entity-
|
|
6
|
-
export { X as HoverPosition, F as LINE_HOVER_DISTANCE, x as LineColor, y as LineColors, w as LinePoint, v as LinePointLocation, u as LineType, C as NodesDragEndEvent, B as NodesDragStartEvent, D as NodesDraggingEvent, P as POINT_RADIUS, K as PORT_SIZE, p as WORKFLOW_LINE_ENTITY, Y as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, _ as WorkflowDocumentOptionsDefault, Z as WorkflowDocumentProvider, V as WorkflowEntityHoverable, H as WorkflowLineEntityOpts, I as WorkflowLineInfo, G as WorkflowLinePortInfo, z as WorkflowLineRenderContributionFactory, J as WorkflowLineUIState, T as WorkflowNodeLines, U as WorkflowNodeLinesData, t as WorkflowNodeMeta, S as WorkflowNodePortsData, M as WorkflowPort, R as WorkflowPortEntityOpts, n as WorkflowPortType, Q as WorkflowPorts, A as WorkflowSubCanvas, q as domReactToBounds, o as getPortEntityId, E as onDragLineEndParams } from './workflow-node-entity-
|
|
5
|
+
import { W as WorkflowJSON, L as LineCenterPoint, a as WorkflowDocument, b as WorkflowNodeEntity, c as WorkflowHoverService, d as WorkflowLinesManager, e as WorkflowSelectService, f as WorkflowDocumentOptions, g as LineEventProps, N as NodesDragEvent, h as WorkflowNodeJSON, i as WorkflowPortEntity, j as WorkflowLineEntity, O as OnDragLineEnd, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-node-entity-kGsp2Roz.js';
|
|
6
|
+
export { X as HoverPosition, F as LINE_HOVER_DISTANCE, x as LineColor, y as LineColors, w as LinePoint, v as LinePointLocation, u as LineType, C as NodesDragEndEvent, B as NodesDragStartEvent, D as NodesDraggingEvent, P as POINT_RADIUS, K as PORT_SIZE, p as WORKFLOW_LINE_ENTITY, Y as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, _ as WorkflowDocumentOptionsDefault, Z as WorkflowDocumentProvider, V as WorkflowEntityHoverable, H as WorkflowLineEntityOpts, I as WorkflowLineInfo, G as WorkflowLinePortInfo, z as WorkflowLineRenderContributionFactory, J as WorkflowLineUIState, T as WorkflowNodeLines, U as WorkflowNodeLinesData, t as WorkflowNodeMeta, S as WorkflowNodePortsData, M as WorkflowPort, R as WorkflowPortEntityOpts, n as WorkflowPortType, Q as WorkflowPorts, A as WorkflowSubCanvas, q as domReactToBounds, o as getPortEntityId, E as onDragLineEndParams } from './workflow-node-entity-kGsp2Roz.js';
|
|
7
7
|
import * as _flowgram_ai_utils from '@flowgram.ai/utils';
|
|
8
8
|
import { IPoint, Rectangle, DisposableCollection, Disposable } from '@flowgram.ai/utils';
|
|
9
9
|
export { compose, composeAsync, delay } from '@flowgram.ai/utils';
|
|
@@ -228,9 +228,11 @@ declare class WorkflowResetLayoutService {
|
|
|
228
228
|
|
|
229
229
|
declare class WorkflowOperationBaseServiceImpl extends FlowOperationBaseServiceImpl implements WorkflowOperationBaseService {
|
|
230
230
|
protected document: WorkflowDocument;
|
|
231
|
+
linesManager: WorkflowLinesManager;
|
|
231
232
|
private onNodePostionUpdateEmitter;
|
|
232
233
|
readonly onNodePostionUpdate: _flowgram_ai_utils.Event<NodePostionUpdateEvent>;
|
|
233
234
|
updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;
|
|
235
|
+
fromJSON(json: WorkflowJSON): void;
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
/**
|
|
@@ -355,7 +357,7 @@ interface NodeRenderReturnType {
|
|
|
355
357
|
* 更新节点的扩展数据
|
|
356
358
|
* @param extInfo
|
|
357
359
|
*/
|
|
358
|
-
updateExtInfo<T = any>(extInfo: T): void;
|
|
360
|
+
updateExtInfo<T = any>(extInfo: T, fullUpdate?: boolean): void;
|
|
359
361
|
/**
|
|
360
362
|
* 展开/收起节点
|
|
361
363
|
* @param expanded
|
package/dist/index.js
CHANGED
|
@@ -1513,10 +1513,11 @@ function initFormDataFromJSON(node, json, isFirstCreate) {
|
|
|
1513
1513
|
// src/workflow-document-option.ts
|
|
1514
1514
|
var WorkflowDocumentOptions = Symbol("WorkflowDocumentOptions");
|
|
1515
1515
|
var WorkflowDocumentOptionsDefault = {
|
|
1516
|
-
cursors: {
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1516
|
+
// cursors: {
|
|
1517
|
+
// grab: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40ODczIDIuNjIzNzhDOS45MDczMSAyLjYyMzc4IDkuNDM3MTMgMy4wOTM5NiA5LjQzNzEzIDMuNjczOTZWNS4xNDM3NkM5LjM5NDI4IDQuNDAyNzQgOC43Nzk3OCAzLjgxNTA0IDguMDI4MDIgMy44MTUwNEM3LjI0ODQ4IDMuODE1MDQgNi42MTY1MyA0LjQ0Njk5IDYuNjE2NTMgNS4yMjY1M1YxMS44Mjg5TDUuNjc0MTggMTEuMDA0OUM1LjE1NDg3IDEwLjU1MDkgNC40MDk1IDEwLjQ2MzYgMy43OTkzOCAxMC43ODU1TDMuNjk2OTQgMTAuODM5NkMzLjA2MjE3IDExLjE3NDUgMi45MjI2IDEyLjAyMjggMy40MTY2MiAxMi41NDM0TDcuMzM5NTkgMTYuNjc3NVYxNy4zMjU5QzcuMzM5NTkgMTcuNzg2MiA3LjcxMjY5IDE4LjE1OTMgOC4xNzI5MiAxOC4xNTkzSDEzLjgwODRDMTQuMjY4NyAxOC4xNTkzIDE0LjY0MTcgMTcuNzg2MiAxNC42NDE3IDE3LjMyNTlWMTYuNzkzNUMxNS44MDk0IDE1LjY0ODUgMTYuNDY3MyAxNC4wODE5IDE2LjQ2NzMgMTIuNDQ2NVYxMS40OTY3TDE2LjQ2NzEgNi42MzY4NUMxNi40NjcxIDUuOTU2MyAxNS45MTU0IDUuNDA0NjEgMTUuMjM0OCA1LjQwNDYxQzE0LjU1NDMgNS40MDQ2MSAxNC4wMDI2IDUuOTU2MyAxNC4wMDI2IDYuNjM2ODVMMTQuMDAyMSA1LjA0NzI4QzE0LjAwMjEgNC4zNjY3MyAxMy40NTA0IDMuODE1MDQgMTIuNzY5OCAzLjgxNTA0QzEyLjA4OTMgMy44MTUwNCAxMS41Mzc2IDQuMzY2NzMgMTEuNTM3NiA1LjA0NzI4TDExLjUzNzUgMy42NzM5NUMxMS41Mzc1IDMuMDkzOTYgMTEuMDY3MyAyLjYyMzc4IDEwLjQ4NzMgMi42MjM3OFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3NCAxLjM3NDAyQzExLjM2MTIgMS4zNzQwMiAxMi4xMjExIDEuODYxMTggMTIuNTEwNSAyLjU3ODY4QzEyLjU5NTggMi41Njk4MyAxMi42ODIzIDIuNTY1MjggMTIuNzcgMi41NjUyOEMxMy44Mjc4IDIuNTY1MjggMTQuNzMxMSAzLjIyNzAxIDE1LjA4ODUgNC4xNTkxMUMxNS4xMzcgNC4xNTYyOSAxNS4xODU4IDQuMTU0ODYgMTUuMjM1IDQuMTU0ODZDMTYuNjA1OSA0LjE1NDg2IDE3LjcxNzIgNS4yNjYxOSAxNy43MTcyIDYuNjM3MDlMMTcuNzE3NCAxMi40NDY3QzE3LjcxNzQgMTQuMjM1NSAxNy4wNjQ0IDE1Ljk1NTkgMTUuODkxOSAxNy4yOTA0VjE3LjMyNjJDMTUuODkxOSAxOC40NzY4IDE0Ljk1OTEgMTkuNDA5NSAxMy44MDg1IDE5LjQwOTVIOC4xNzMwNkM3LjAyMjQ3IDE5LjQwOTUgNi4wODk3MyAxOC40NzY4IDYuMDg5NzMgMTcuMzI2MlYxNy4xNzY0TDIuNTEwMDMgMTMuNDA0MUMxLjQ0NTk5IDEyLjI4MjggMS43NDY2IDEwLjQ1NTUgMy4xMTM3OSA5LjczNDI0TDMuMjE2MjQgOS42ODAxOUMzLjg5MTY4IDkuMzIzODMgNC42NjE4NSA5LjI1NDAxIDUuMzY2NjYgOS40NTE5OFY1LjIyNjc4QzUuMzY2NjYgMy43NTY4NyA2LjU1ODI2IDIuNTY1MjggOC4wMjgxNiAyLjU2NTI4QzguMTcyOTMgMi41NjUyOCA4LjMxNDk5IDIuNTc2ODQgOC40NTM0NyAyLjU5OTA3QzguODM5NDMgMS44NzA0MiA5LjYwNTQ2IDEuMzc0MDIgMTAuNDg3NCAxLjM3NDAyWk0xMi40NDc2IDMuODU3ODdWOS40NzY0NkMxMi40NDc2IDkuNzI4NTIgMTIuMjQzMyA5LjkzMjg1IDExLjk5MTMgOS45MzI4NUMxMS43MzkyIDkuOTMyODUgMTEuNTM0OSA5LjcyODUyIDExLjUzNDkgOS40NzY0NlYzLjc5NjU1QzExLjUzNDkgMy43Nzk1NiAxMS41MzU4IDMuNzYyNzcgMTEuNTM3NiAzLjc0NjI2VjMuNjc0MkMxMS41Mzc2IDMuNDMyODIgMTEuNDU2MiAzLjIxMDQ2IDExLjMxOTMgMy4wMzMwOUMxMS4xMjcyIDIuNzg0MjggMTAuODI2MSAyLjYyNDAyIDEwLjQ4NzQgMi42MjQwMkMxMC4xMjM4IDIuNjI0MDIgOS44MDMzMiAyLjgwODg2IDkuNjE0ODMgMy4wODk3QzkuNTAyNjkgMy4yNTY3OSA5LjQzNzI2IDMuNDU3ODUgOS40MzcyNiAzLjY3NDJWMy43ODU3M0M5LjQzNzM1IDMuNzg5MzMgOS40MzczOSAzLjc5Mjk0IDkuNDM3MzkgMy43OTY1NVY5LjkwMTdDOS40MzczOSAxMC4xNTM3IDkuMjMzMDYgMTAuMzU4MSA4Ljk4MTAxIDEwLjM1ODFDOC43Mjg5NSAxMC4zNTgxIDguNTI0NjIgMTAuMTUzNyA4LjUyNDYyIDkuOTAxN1YzLjkwNTA3QzguNDE3NzMgMy44NjQ5IDguMzA0NjggMy44MzczMiA4LjE4NzI2IDMuODI0MTVDOC4xMzUwNCAzLjgxODI5IDguMDgxOTUgMy44MTUyOCA4LjAyODE2IDMuODE1MjhDNy4yNDg2MSAzLjgxNTI4IDYuNjE2NjYgNC40NDcyMyA2LjYxNjY2IDUuMjI2NzhWMTEuODI5Mkw1LjY3NDMxIDExLjAwNTJDNS41Nzg2OCAxMC45MjE2IDUuNDc1MzcgMTAuODUwNCA1LjM2NjY2IDEwLjc5MTlDNC44ODUwNiAxMC41MzI5IDQuMjk3MjggMTAuNTIzMSAzLjc5OTUyIDEwLjc4NThMMy42OTcwNyAxMC44Mzk4QzMuMDYyMzEgMTEuMTc0NyAyLjkyMjczIDEyLjAyMzEgMy40MTY3NSAxMi41NDM3TDcuMzM5NzMgMTYuNjc3N1YxNy4zMjYyQzcuMzM5NzMgMTcuNzg2NCA3LjcxMjgyIDE4LjE1OTUgOC4xNzMwNiAxOC4xNTk1SDEzLjgwODVDMTQuMjY4OCAxOC4xNTk1IDE0LjY0MTkgMTcuNzg2NCAxNC42NDE5IDE3LjMyNjJWMTYuNzkzOEMxNS43Mzc5IDE1LjcxOSAxNi4zODQ3IDE0LjI3MjggMTYuNDYgMTIuNzQ3QzE2LjQ2NDEgMTIuNjY0MSAxNi40NjY1IDEyLjU4MDkgMTYuNDY3MiAxMi40OTc1TDE2LjQ2NzQgMTIuNDQ2N0wxNi40NjcyIDYuNjM3MDlDMTYuNDY3MiA1Ljk2MjMgMTUuOTI0OCA1LjQxNDE5IDE1LjI1MjIgNS40MDQ5N0wxNS4yMzUgNS40MDQ4NkMxNS4xMjQ2IDUuNDA0ODYgMTUuMDE3NyA1LjQxOTM2IDE0LjkxNTkgNS40NDY1NlY5LjYwMjI2QzE0LjkxNTkgOS44NTQzMSAxNC43MTE2IDEwLjA1ODYgMTQuNDU5NSAxMC4wNTg2QzE0LjIwNzUgMTAuMDU4NiAxNC4wMDMxIDkuODU0MzEgMTQuMDAzMSA5LjYwMjI2VjYuNjA1MTRDMTQuMDAyOSA2LjYxNTc2IDE0LjAwMjcgNi42MjY0MSAxNC4wMDI3IDYuNjM3MDlWOS4yNzcwNUwxNC4wMDIyIDUuMDQ3NTJDMTQuMDAyMiA0Ljg2OTEzIDEzLjk2NDMgNC42OTk2IDEzLjg5NjEgNC41NDY1M0MxMy43MDY0IDQuMTIwNzIgMTMuMjgyMiAzLjgyMjM1IDEyLjc4NzYgMy44MTU0MUwxMi43NyAzLjgxNTI4QzEyLjY1ODQgMy44MTUyOCAxMi41NTA0IDMuODMwMSAxMi40NDc2IDMuODU3ODdaIiBmaWxsPSIjMUQxQzIzIi8+Cjwvc3ZnPg=="), auto',
|
|
1518
|
+
// grabbing:
|
|
1519
|
+
// 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYxODE3IDUuNTk4NzVDNi42MTgxNyA0LjgxOTIgNy4yNTAxMiA0LjE4NzI2IDguMDI5NjcgNC4xODcyNkM4Ljc3ODczIDQuMTg3MjYgOS4zOTE1MiA0Ljc3MDc1IDkuNDM4MjkgNS41MDgwMUM5LjQ1OTkyIDQuOTQ3MSA5LjkyMTQ3IDQuNDk5MDIgMTAuNDg3NyA0LjQ5OTAyQzExLjA2NzcgNC40OTkwMiAxMS41Mzc4IDQuOTY5MiAxMS41Mzc4IDUuNTQ5MTlWOC43NjI0NkwxMS41Mzc5IDYuNzExNUMxMS41Mzc5IDYuMDMwOTUgMTIuMDg5NiA1LjQ3OTI2IDEyLjc3MDIgNS40NzkyNkMxMy40NTA3IDUuNDc5MjYgMTQuMDAyNCA2LjAzMDk1IDE0LjAwMjQgNi43MTE1TDE0LjAwMjQgOC43NjI0NkwxNC4wMDI5IDguMDE5ODNDMTQuMDAyOSA3LjMzOTI5IDE0LjU1NDYgNi43ODc1OSAxNS4yMzUyIDYuNzg3NTlDMTUuOTE1NyA2Ljc4NzU5IDE2LjQ2NzQgNy4zMzkyOCAxNi40Njc0IDguMDE5ODNWMTEuNDk3TDE2LjQ2NzUgMTIuNDQ2N0MxNi40Njc1IDE0LjA4MjEgMTUuODA5NiAxNS42NDg3IDE0LjY0MiAxNi43OTM4VjE3LjMyNjJDMTQuNjQyIDE3Ljc4NjQgMTQuMjY4OSAxOC4xNTk1IDEzLjgwODcgMTguMTU5NUg4LjE3MzE3QzcuNzEyOTMgMTguMTU5NSA3LjMzOTg0IDE3Ljc4NjQgNy4zMzk4NCAxNy4zMjYyVjE1Ljk0MjRMNS4zNDU2MiAxNC43NTM0QzQuNTg5MjQgMTQuMzAyNCA0LjEyNTkxIDEzLjQ4NjcgNC4xMjU4OSAxMi42MDYxTDQuMTI1ODMgOS4yODM4M0M0LjEyNTgyIDguOTU0MjcgNC4zMjAwMyA4LjY1NTY2IDQuNjIxMjkgOC41MjIwNUw2LjYxODE3IDcuNjM2MzRWNS41OTg3NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3OCAzLjI0OTAyQzExLjI3OTYgMy4yNDkwMiAxMS45Nzc4IDMuNjQ5MDIgMTIuMzkxNyA0LjI1Nzk2QzEyLjUxNTEgNC4yMzkwNiAxMi42NDE2IDQuMjI5MjYgMTIuNzcwMyA0LjIyOTI2QzEzLjcyMjQgNC4yMjkyNiAxNC41NDkzIDQuNzY1MzEgMTQuOTY1NyA1LjU1MjA3QzE1LjA1NDMgNS41NDI1IDE1LjE0NDIgNS41Mzc1OSAxNS4yMzUzIDUuNTM3NTlDMTYuNjA2MiA1LjUzNzU5IDE3LjcxNzYgNi42NDg5MyAxNy43MTc2IDguMDE5ODNMMTcuNzE3NyAxMi40NDY3QzE3LjcxNzcgMTQuMjM1NSAxNy4wNjQ3IDE1Ljk1NTkgMTUuODkyMSAxNy4yOTA0VjE3LjMyNjJDMTUuODkyMSAxOC40NzY4IDE0Ljk1OTQgMTkuNDA5NSAxMy44MDg4IDE5LjQwOTVIOC4xNzMzMkM3LjAyMjczIDE5LjQwOTUgNi4wODk5OCAxOC40NzY4IDYuMDg5OTggMTcuMzI2MlYxNi42NTI0TDQuNzA1NjMgMTUuODI3QzMuNTcxMDYgMTUuMTUwNSAyLjg3NjA3IDEzLjkyNzEgMi44NzYwNCAxMi42MDYxTDIuODc1OTggOS4yODM4NUMyLjg3NTk2IDguNDU5OTYgMy4zNjE0OSA3LjcxMzQ1IDQuMTE0NjIgNy4zNzk0TDUuMzY4MzIgNi44MjMzM1Y1LjU5ODc1QzUuMzY4MzIgNC4xMjg4NSA2LjU1OTkxIDIuOTM3MjYgOC4wMjk4MiAyLjkzNzI2QzguNjA4MzEgMi45MzcyNiA5LjE0MzU1IDMuMTIxNyA5LjU4MDA1IDMuNDM1MDVDOS44NTg1MyAzLjMxNTMyIDEwLjE2NTQgMy4yNDkwMiAxMC40ODc4IDMuMjQ5MDJaTTEyLjQ0NzkgNS41MjE4NlY5LjQ3NTU3QzEyLjQ0NzkgOS43Mjc2MiAxMi4yNDM2IDkuOTMxOTUgMTEuOTkxNiA5LjkzMTk1QzExLjc1NjggOS45MzE5NSAxMS41NjM0IDkuNzU0NjUgMTEuNTM4IDkuNTI2NjNDMTEuNTM2MSA5LjUwOTg3IDExLjUzNTIgOS40OTI4MyAxMS41MzUyIDkuNDc1NTdWNS40NzE1OEMxMS41MTU0IDUuMjAwODMgMTEuMzkzIDQuOTU4NTggMTEuMjA2NiA0Ljc4MzU4QzExLjAxODggNC42MDcxMSAxMC43NjU5IDQuNDk5MDIgMTAuNDg3OCA0LjQ5OTAyQzEwLjQ3NjYgNC40OTkwMiAxMC40NjU0IDQuNDk5MTkgMTAuNDU0MiA0LjQ5OTU0QzkuOTAzNDcgNC41MTY4NCA5LjQ1OTY0IDQuOTU4MjQgOS40Mzg0NCA1LjUwODAxQzkuNDM4MiA1LjUwNDMgOS40Mzc5NSA1LjUwMDU4IDkuNDM3NjkgNS40OTY4OFY5LjkwMjQzQzkuNDM3NjkgMTAuMTU0NSA5LjIzMzM2IDEwLjM1ODggOC45ODEzMSAxMC4zNTg4QzguNzI5MjUgMTAuMzU4OCA4LjUyNDkyIDEwLjE1NDUgOC41MjQ5MiA5LjkwMjQzVjQuMjc2NTNDOC4zNzA4NiA0LjIxODgyIDguMjA0MDIgNC4xODcyNiA4LjAyOTgyIDQuMTg3MjZDNy4yNTAyNyA0LjE4NzI2IDYuNjE4MzIgNC44MTkyIDYuNjE4MzIgNS41OTg3NUw2LjYxODI3IDkuOTc1OTlDNi42MTgyNyAxMC4yMjggNi40MTM5NCAxMC40MzI0IDYuMTYxODkgMTAuNDMyNEM1LjkwOTgzIDEwLjQzMjQgNS43MDU1IDEwLjIyOCA1LjcwNTUgOS45NzU5OVY4LjA0MTIyTDQuNjIxNDQgOC41MjIwNUM0LjMyMDE4IDguNjU1NjYgNC4xMjU5NyA4Ljk1NDI3IDQuMTI1OTggOS4yODM4M0w0LjEyNjA0IDEyLjYwNjFDNC4xMjYwNiAxMy40ODY3IDQuNTg5MzkgMTQuMzAyNCA1LjM0NTc2IDE0Ljc1MzRMNy4zMzk5OCAxNS45NDI0VjE3LjMyNjJDNy4zMzk5OCAxNy43ODY0IDcuNzEzMDggMTguMTU5NSA4LjE3MzMyIDE4LjE1OTVIMTMuODA4OEMxNC4yNjkgMTguMTU5NSAxNC42NDIxIDE3Ljc4NjQgMTQuNjQyMSAxNy4zMjYyVjE2Ljc5MzhDMTUuNzM4MSAxNS43MTkgMTYuMzg1IDE0LjI3MjggMTYuNDYwMyAxMi43NDdDMTYuNDY0NiAxMi42NiAxNi40NjcgMTIuNTcyOCAxNi40Njc2IDEyLjQ4NTRMMTYuNDY3NyAxMi40NDY3TDE2LjQ2NzYgOC4wMTk4M0MxNi40Njc2IDcuMzQ1MDQgMTUuOTI1MiA2Ljc5NjkzIDE1LjI1MjUgNi43ODc3MUwxNS4yMzUzIDYuNzg3NTlDMTUuMTI1IDYuNzg3NTkgMTUuMDE4IDYuODAyMSAxNC45MTYyIDYuODI5MzFWOS42MDEzNkMxNC45MTYyIDkuODUzNDIgMTQuNzExOSAxMC4wNTc3IDE0LjQ1OTggMTAuMDU3N0MxNC4yMDc4IDEwLjA1NzcgMTQuMDAzNCA5Ljg1MzQxIDE0LjAwMzQgOS42MDEzNlY3Ljk4OTg1QzE0LjAwMzIgNy45OTk4MiAxNC4wMDMxIDguMDA5ODEgMTQuMDAzMSA4LjAxOTgzTDE0LjAwMzQgOS42MDEzNkwxNC4wMDI1IDYuNzExNUMxNC4wMDI1IDYuNDQ5NzQgMTMuOTIwOSA2LjIwNzA1IDEzLjc4MTggNi4wMDc0OEMxMy41NjIgNS42OTI0MiAxMy4xOTg5IDUuNDg0ODMgMTIuNzg3IDUuNDc5MzdMMTIuNzcwMyA1LjQ3OTI2QzEyLjY1ODggNS40NzkyNiAxMi41NTA3IDUuNDk0MDggMTIuNDQ3OSA1LjUyMTg2WiIgZmlsbD0iIzFEMUMyMyIvPgo8L3N2Zz4="), auto',
|
|
1520
|
+
// },
|
|
1520
1521
|
fromNodeJSON(node, json, isFirstCreate) {
|
|
1521
1522
|
initFormDataFromJSON(node, json, isFirstCreate);
|
|
1522
1523
|
return;
|
|
@@ -2104,6 +2105,9 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2104
2105
|
this._loading = false;
|
|
2105
2106
|
this.onLoadedEmitter.fire();
|
|
2106
2107
|
}
|
|
2108
|
+
/**
|
|
2109
|
+
* @deprecated use `ctx.operation.fromJSON` instead
|
|
2110
|
+
*/
|
|
2107
2111
|
async reload(json, delayTime = 0) {
|
|
2108
2112
|
if (this.disposed) return;
|
|
2109
2113
|
this._loading = true;
|
|
@@ -2124,7 +2128,7 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2124
2128
|
edges: json.edges ?? []
|
|
2125
2129
|
};
|
|
2126
2130
|
this.entityManager.changeEntityLocked = true;
|
|
2127
|
-
this.
|
|
2131
|
+
this.batchAddFromJSON(workflowJSON);
|
|
2128
2132
|
this.entityManager.changeEntityLocked = false;
|
|
2129
2133
|
this.transformer.loading = false;
|
|
2130
2134
|
if (fireRender) {
|
|
@@ -2144,9 +2148,17 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2144
2148
|
* 创建流程节点
|
|
2145
2149
|
* @param json
|
|
2146
2150
|
*/
|
|
2147
|
-
createWorkflowNode(json, isClone = false,
|
|
2151
|
+
createWorkflowNode(json, isClone = false, parentID) {
|
|
2152
|
+
return this._createWorkflowNode(json, { parentID });
|
|
2153
|
+
}
|
|
2154
|
+
/**
|
|
2155
|
+
* 创建流程节点
|
|
2156
|
+
* @param json
|
|
2157
|
+
*/
|
|
2158
|
+
_createWorkflowNode(json, options) {
|
|
2159
|
+
const { parentID, onNodeCreated, onEdgeCreated } = options ?? {};
|
|
2148
2160
|
const isExistedNode = this.getNode(json.id);
|
|
2149
|
-
const parent = this.getNode(
|
|
2161
|
+
const parent = this.getNode(parentID ?? this.root.id) ?? this.root;
|
|
2150
2162
|
const node = this.addNode(
|
|
2151
2163
|
{
|
|
2152
2164
|
...json,
|
|
@@ -2173,15 +2185,19 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2173
2185
|
node.getData(import_core14.TransformData).update({
|
|
2174
2186
|
position
|
|
2175
2187
|
});
|
|
2176
|
-
if (formMeta && formData
|
|
2177
|
-
formData.
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2188
|
+
if (formMeta && formData) {
|
|
2189
|
+
if (!formData.formModel.initialized) {
|
|
2190
|
+
formData.createForm(formMeta, json.data);
|
|
2191
|
+
formData.onDataChange(() => {
|
|
2192
|
+
this.fireContentChange({
|
|
2193
|
+
type: "NODE_DATA_CHANGE" /* NODE_DATA_CHANGE */,
|
|
2194
|
+
toJSON: () => formData.toJSON(),
|
|
2195
|
+
entity: node
|
|
2196
|
+
});
|
|
2183
2197
|
});
|
|
2184
|
-
}
|
|
2198
|
+
} else {
|
|
2199
|
+
formData.updateFormValues(json.data);
|
|
2200
|
+
}
|
|
2185
2201
|
}
|
|
2186
2202
|
const positionData = node.getData(import_core14.PositionData);
|
|
2187
2203
|
if (!isExistedNode) {
|
|
@@ -2220,11 +2236,12 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2220
2236
|
});
|
|
2221
2237
|
}
|
|
2222
2238
|
if (json.blocks) {
|
|
2223
|
-
this.
|
|
2239
|
+
this.batchAddFromJSON(
|
|
2224
2240
|
{ nodes: json.blocks, edges: json.edges ?? [] },
|
|
2225
2241
|
{
|
|
2226
2242
|
parent: node,
|
|
2227
|
-
|
|
2243
|
+
onNodeCreated,
|
|
2244
|
+
onEdgeCreated
|
|
2228
2245
|
}
|
|
2229
2246
|
);
|
|
2230
2247
|
}
|
|
@@ -2356,7 +2373,7 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2356
2373
|
throw new Error(`[WorkflowDocument.createWorkflowNodeByType] Node Id "${id}" duplicated.`);
|
|
2357
2374
|
}
|
|
2358
2375
|
}
|
|
2359
|
-
return this.
|
|
2376
|
+
return this._createWorkflowNode(
|
|
2360
2377
|
{
|
|
2361
2378
|
...json,
|
|
2362
2379
|
id,
|
|
@@ -2367,13 +2384,15 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2367
2384
|
blocks: json?.blocks,
|
|
2368
2385
|
edges: json?.edges
|
|
2369
2386
|
},
|
|
2370
|
-
|
|
2371
|
-
parentID
|
|
2387
|
+
{ parentID }
|
|
2372
2388
|
);
|
|
2373
2389
|
}
|
|
2374
2390
|
getAllNodes() {
|
|
2375
2391
|
return this.entityManager.getEntities(WorkflowNodeEntity).filter((n) => n.id !== import_document8.FlowNodeBaseType.ROOT);
|
|
2376
2392
|
}
|
|
2393
|
+
getAllEdges() {
|
|
2394
|
+
return this.entityManager.getEntities(WorkflowLineEntity);
|
|
2395
|
+
}
|
|
2377
2396
|
getAllPorts() {
|
|
2378
2397
|
return this.entityManager.getEntities(WorkflowPortEntity).filter((p) => p.node.id !== import_document8.FlowNodeBaseType.ROOT);
|
|
2379
2398
|
}
|
|
@@ -2474,7 +2493,7 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2474
2493
|
x: json.meta.position.x + 30,
|
|
2475
2494
|
y: json.meta.position.y + 30
|
|
2476
2495
|
};
|
|
2477
|
-
return this.
|
|
2496
|
+
return this._createWorkflowNode(
|
|
2478
2497
|
{
|
|
2479
2498
|
id: newNodeId || `1${nanoid2()}`,
|
|
2480
2499
|
type: node.flowNodeType,
|
|
@@ -2486,16 +2505,17 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2486
2505
|
blocks: json.blocks,
|
|
2487
2506
|
edges: json.edges
|
|
2488
2507
|
},
|
|
2489
|
-
|
|
2490
|
-
|
|
2508
|
+
{
|
|
2509
|
+
parentID: node.parent?.id
|
|
2510
|
+
}
|
|
2491
2511
|
);
|
|
2492
2512
|
}
|
|
2493
|
-
copyNodeFromJSON(flowNodeType, nodeJSON, newNodeId, position,
|
|
2513
|
+
copyNodeFromJSON(flowNodeType, nodeJSON, newNodeId, position, parentID) {
|
|
2494
2514
|
position = position || {
|
|
2495
2515
|
x: nodeJSON.meta.position.x + 30,
|
|
2496
2516
|
y: nodeJSON.meta.position.y + 30
|
|
2497
2517
|
};
|
|
2498
|
-
return this.
|
|
2518
|
+
return this._createWorkflowNode(
|
|
2499
2519
|
{
|
|
2500
2520
|
id: newNodeId || `1${nanoid2()}`,
|
|
2501
2521
|
type: flowNodeType,
|
|
@@ -2507,8 +2527,9 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2507
2527
|
blocks: nodeJSON.blocks,
|
|
2508
2528
|
edges: nodeJSON.edges
|
|
2509
2529
|
},
|
|
2510
|
-
|
|
2511
|
-
|
|
2530
|
+
{
|
|
2531
|
+
parentID
|
|
2532
|
+
}
|
|
2512
2533
|
);
|
|
2513
2534
|
}
|
|
2514
2535
|
canRemove(node, silent) {
|
|
@@ -2563,13 +2584,17 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2563
2584
|
* 批量添加节点
|
|
2564
2585
|
*/
|
|
2565
2586
|
batchAddFromJSON(json, options) {
|
|
2566
|
-
const { parent = this.root
|
|
2567
|
-
const
|
|
2587
|
+
const { parent = this.root } = options ?? {};
|
|
2588
|
+
const parentID = this.getNodeSubCanvas(parent)?.canvasNode.id ?? parent.id;
|
|
2568
2589
|
const processedJSON = buildGroupJSON(json);
|
|
2569
2590
|
const nodes = processedJSON.nodes.map(
|
|
2570
|
-
(nodeJSON) => this.
|
|
2591
|
+
(nodeJSON) => this._createWorkflowNode(nodeJSON, {
|
|
2592
|
+
parentID
|
|
2593
|
+
})
|
|
2571
2594
|
);
|
|
2572
|
-
const edges = processedJSON.edges.map((edge) => this.createWorkflowLine(edge,
|
|
2595
|
+
const edges = processedJSON.edges.map((edge) => this.createWorkflowLine(edge, parentID)).filter(Boolean);
|
|
2596
|
+
nodes.forEach((node) => options?.onNodeCreated?.(node));
|
|
2597
|
+
edges.forEach((edge) => options?.onEdgeCreated?.(edge));
|
|
2573
2598
|
return { nodes, edges };
|
|
2574
2599
|
}
|
|
2575
2600
|
getNodeSubCanvas(node) {
|
|
@@ -2618,7 +2643,7 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2618
2643
|
}
|
|
2619
2644
|
return lineJSON;
|
|
2620
2645
|
}
|
|
2621
|
-
createWorkflowLine(json,
|
|
2646
|
+
createWorkflowLine(json, parentID) {
|
|
2622
2647
|
const fromNode = this.getNode(json.sourceNodeID);
|
|
2623
2648
|
const toNode = this.getNode(json.targetNodeID);
|
|
2624
2649
|
if (!fromNode || !toNode) {
|
|
@@ -2631,10 +2656,10 @@ var WorkflowDocument = class extends import_document8.FlowDocument {
|
|
|
2631
2656
|
toPort: json.targetPortID,
|
|
2632
2657
|
data: json.data
|
|
2633
2658
|
};
|
|
2634
|
-
if (!
|
|
2659
|
+
if (!parentID) {
|
|
2635
2660
|
return this.linesManager.createLine(lineInfo);
|
|
2636
2661
|
}
|
|
2637
|
-
const canvasNode = this.getNode(
|
|
2662
|
+
const canvasNode = this.getNode(parentID);
|
|
2638
2663
|
if (!canvasNode) {
|
|
2639
2664
|
return this.linesManager.createLine(lineInfo);
|
|
2640
2665
|
}
|
|
@@ -3579,10 +3604,57 @@ var WorkflowOperationBaseServiceImpl = class extends import_document12.FlowOpera
|
|
|
3579
3604
|
newPosition: position
|
|
3580
3605
|
});
|
|
3581
3606
|
}
|
|
3607
|
+
fromJSON(json) {
|
|
3608
|
+
if (this.document.disposed) return;
|
|
3609
|
+
const workflowJSON = {
|
|
3610
|
+
nodes: json.nodes ?? [],
|
|
3611
|
+
edges: json.edges ?? []
|
|
3612
|
+
};
|
|
3613
|
+
const oldNodes = this.document.getAllNodes();
|
|
3614
|
+
const oldPositionMap = new Map(
|
|
3615
|
+
oldNodes.map((node) => [
|
|
3616
|
+
node.id,
|
|
3617
|
+
{
|
|
3618
|
+
x: node.transform.transform.position.x,
|
|
3619
|
+
y: node.transform.transform.position.y
|
|
3620
|
+
}
|
|
3621
|
+
])
|
|
3622
|
+
);
|
|
3623
|
+
const newNodes = [];
|
|
3624
|
+
const newEdges = [];
|
|
3625
|
+
this.linesManager.getAllLines().map((line) => line.dispose());
|
|
3626
|
+
this.document.batchAddFromJSON(workflowJSON, {
|
|
3627
|
+
onNodeCreated: (node) => newNodes.push(node),
|
|
3628
|
+
onEdgeCreated: (edge) => newEdges.push(edge)
|
|
3629
|
+
});
|
|
3630
|
+
const newNodeIDSet = new Set(newNodes.map((node) => node.id));
|
|
3631
|
+
oldNodes.forEach((node) => {
|
|
3632
|
+
if (!newNodeIDSet.has(node.id)) {
|
|
3633
|
+
node.dispose();
|
|
3634
|
+
return;
|
|
3635
|
+
}
|
|
3636
|
+
const oldPosition = oldPositionMap.get(node.id);
|
|
3637
|
+
const newPosition = {
|
|
3638
|
+
x: node.transform.transform.position.x,
|
|
3639
|
+
y: node.transform.transform.position.y
|
|
3640
|
+
};
|
|
3641
|
+
if (oldPosition && (oldPosition.x !== newPosition.x || oldPosition.y !== newPosition.y)) {
|
|
3642
|
+
this.onNodePostionUpdateEmitter.fire({
|
|
3643
|
+
node,
|
|
3644
|
+
oldPosition,
|
|
3645
|
+
newPosition
|
|
3646
|
+
});
|
|
3647
|
+
}
|
|
3648
|
+
});
|
|
3649
|
+
this.document.fireRender();
|
|
3650
|
+
}
|
|
3582
3651
|
};
|
|
3583
3652
|
__decorateClass([
|
|
3584
3653
|
(0, import_inversify8.inject)(WorkflowDocument)
|
|
3585
3654
|
], WorkflowOperationBaseServiceImpl.prototype, "document", 2);
|
|
3655
|
+
__decorateClass([
|
|
3656
|
+
(0, import_inversify8.inject)(WorkflowLinesManager)
|
|
3657
|
+
], WorkflowOperationBaseServiceImpl.prototype, "linesManager", 2);
|
|
3586
3658
|
|
|
3587
3659
|
// src/hooks/use-playground-readonly-state.ts
|
|
3588
3660
|
var import_react = require("react");
|
|
@@ -3680,8 +3752,8 @@ function useNodeRender(nodeFromProps) {
|
|
|
3680
3752
|
}, []);
|
|
3681
3753
|
const getExtInfo = (0, import_react2.useCallback)(() => node.getExtInfo(), [node]);
|
|
3682
3754
|
const updateExtInfo = (0, import_react2.useCallback)(
|
|
3683
|
-
(data) => {
|
|
3684
|
-
node.updateExtInfo(data);
|
|
3755
|
+
(data, fullUpdate) => {
|
|
3756
|
+
node.updateExtInfo(data, fullUpdate);
|
|
3685
3757
|
},
|
|
3686
3758
|
[node]
|
|
3687
3759
|
);
|
|
@@ -3716,7 +3788,7 @@ function useNodeRender(nodeFromProps) {
|
|
|
3716
3788
|
if (form) {
|
|
3717
3789
|
form.updateFormValues(values);
|
|
3718
3790
|
} else {
|
|
3719
|
-
updateExtInfo(values);
|
|
3791
|
+
updateExtInfo(values, true);
|
|
3720
3792
|
}
|
|
3721
3793
|
},
|
|
3722
3794
|
node,
|