@flowgram.ai/free-layout-core 0.1.0-alpha.7 → 0.1.0-alpha.9
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-6DKK25L7.js +21 -0
- package/dist/esm/chunk-6DKK25L7.js.map +1 -0
- package/dist/esm/index.js +202 -90
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/typings/index.js +1 -1
- package/dist/esm/typings/workflow-line.js +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +196 -87
- 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 +6 -5
- 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-line.js +6 -5
- package/dist/typings/workflow-line.js.map +1 -1
- package/dist/typings/workflow-node.d.mts +1 -1
- package/dist/typings/workflow-node.d.ts +1 -1
- package/dist/typings/workflow-registry.d.mts +1 -1
- package/dist/typings/workflow-registry.d.ts +1 -1
- package/dist/{workflow-line-entity-DgCmDX1d.d.mts → workflow-line-entity-BcD7CpoN.d.mts} +63 -10
- package/dist/{workflow-line-entity-B8wC-OVt.d.ts → workflow-line-entity-CXh_ddVD.d.ts} +63 -10
- package/package.json +11 -11
- package/dist/esm/chunk-PT4ZVDZZ.js +0 -20
- package/dist/esm/chunk-PT4ZVDZZ.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, usePlaygroundLatest, 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 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-
|
|
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,
|
|
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-BcD7CpoN.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, J as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, M as WorkflowDocumentOptionsDefault, K as WorkflowDocumentProvider, I as WorkflowEntityHoverable, 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-BcD7CpoN.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';
|
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, usePlaygroundLatest, 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 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-
|
|
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,
|
|
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-CXh_ddVD.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, J as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, M as WorkflowDocumentOptionsDefault, K as WorkflowDocumentProvider, I as WorkflowEntityHoverable, 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-CXh_ddVD.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';
|
package/dist/index.js
CHANGED
|
@@ -1089,8 +1089,8 @@ WorkflowSelectService = __decorateClass([
|
|
|
1089
1089
|
|
|
1090
1090
|
// src/service/workflow-hover-service.ts
|
|
1091
1091
|
var import_inversify2 = require("inversify");
|
|
1092
|
-
var import_core10 = require("@flowgram.ai/core");
|
|
1093
1092
|
var import_utils11 = require("@flowgram.ai/utils");
|
|
1093
|
+
var import_core10 = require("@flowgram.ai/core");
|
|
1094
1094
|
var WorkflowHoverService = class {
|
|
1095
1095
|
constructor() {
|
|
1096
1096
|
this.onHoveredChangeEmitter = new import_utils11.Emitter();
|
|
@@ -1187,11 +1187,12 @@ var LineType = /* @__PURE__ */ ((LineType2) => {
|
|
|
1187
1187
|
return LineType2;
|
|
1188
1188
|
})(LineType || {});
|
|
1189
1189
|
var LineColors = /* @__PURE__ */ ((LineColors2) => {
|
|
1190
|
-
LineColors2["HIDDEN"] = "transparent";
|
|
1191
|
-
LineColors2["DEFUALT"] = "
|
|
1192
|
-
LineColors2["DRAWING"] = "#5DD6E3";
|
|
1193
|
-
LineColors2["HOVER"] = "
|
|
1194
|
-
LineColors2["
|
|
1190
|
+
LineColors2["HIDDEN"] = "var(--g-line-color-hidden,transparent)";
|
|
1191
|
+
LineColors2["DEFUALT"] = "var(--g-line-color-default,#4d53e8)";
|
|
1192
|
+
LineColors2["DRAWING"] = "var(--g-line-color-drawing, #5DD6E3)";
|
|
1193
|
+
LineColors2["HOVER"] = "var(--g-line-color-hover,#37d0ff)";
|
|
1194
|
+
LineColors2["SELECTED"] = "var(--g-line-color-selected,#37d0ff)";
|
|
1195
|
+
LineColors2["ERROR"] = "var(--g-line-color-error,red)";
|
|
1195
1196
|
return LineColors2;
|
|
1196
1197
|
})(LineColors || {});
|
|
1197
1198
|
|
|
@@ -1210,19 +1211,23 @@ function toFormJSON(node) {
|
|
|
1210
1211
|
if (!formData || !node.getNodeRegistry().formMeta) return void 0;
|
|
1211
1212
|
return formData.toJSON();
|
|
1212
1213
|
}
|
|
1213
|
-
function initFormDataFromJSON(node, json) {
|
|
1214
|
+
function initFormDataFromJSON(node, json, isFirstCreate) {
|
|
1214
1215
|
const formData = node.getData(import_form_core.FlowNodeFormData);
|
|
1215
1216
|
const registry = node.getNodeRegistry();
|
|
1216
1217
|
const { formMeta } = registry;
|
|
1217
1218
|
if (formData && formMeta) {
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1219
|
+
if (isFirstCreate) {
|
|
1220
|
+
formData.createForm(formMeta, json.data);
|
|
1221
|
+
formData.onDataChange(() => {
|
|
1222
|
+
node.document.fireContentChange({
|
|
1223
|
+
type: "NODE_DATA_CHANGE" /* NODE_DATA_CHANGE */,
|
|
1224
|
+
toJSON: () => formData.toJSON(),
|
|
1225
|
+
entity: node
|
|
1226
|
+
});
|
|
1224
1227
|
});
|
|
1225
|
-
}
|
|
1228
|
+
} else {
|
|
1229
|
+
formData.updateFormValues(json.data);
|
|
1230
|
+
}
|
|
1226
1231
|
}
|
|
1227
1232
|
}
|
|
1228
1233
|
|
|
@@ -1233,8 +1238,8 @@ var WorkflowDocumentOptionsDefault = {
|
|
|
1233
1238
|
grab: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40ODczIDIuNjIzNzhDOS45MDczMSAyLjYyMzc4IDkuNDM3MTMgMy4wOTM5NiA5LjQzNzEzIDMuNjczOTZWNS4xNDM3NkM5LjM5NDI4IDQuNDAyNzQgOC43Nzk3OCAzLjgxNTA0IDguMDI4MDIgMy44MTUwNEM3LjI0ODQ4IDMuODE1MDQgNi42MTY1MyA0LjQ0Njk5IDYuNjE2NTMgNS4yMjY1M1YxMS44Mjg5TDUuNjc0MTggMTEuMDA0OUM1LjE1NDg3IDEwLjU1MDkgNC40MDk1IDEwLjQ2MzYgMy43OTkzOCAxMC43ODU1TDMuNjk2OTQgMTAuODM5NkMzLjA2MjE3IDExLjE3NDUgMi45MjI2IDEyLjAyMjggMy40MTY2MiAxMi41NDM0TDcuMzM5NTkgMTYuNjc3NVYxNy4zMjU5QzcuMzM5NTkgMTcuNzg2MiA3LjcxMjY5IDE4LjE1OTMgOC4xNzI5MiAxOC4xNTkzSDEzLjgwODRDMTQuMjY4NyAxOC4xNTkzIDE0LjY0MTcgMTcuNzg2MiAxNC42NDE3IDE3LjMyNTlWMTYuNzkzNUMxNS44MDk0IDE1LjY0ODUgMTYuNDY3MyAxNC4wODE5IDE2LjQ2NzMgMTIuNDQ2NVYxMS40OTY3TDE2LjQ2NzEgNi42MzY4NUMxNi40NjcxIDUuOTU2MyAxNS45MTU0IDUuNDA0NjEgMTUuMjM0OCA1LjQwNDYxQzE0LjU1NDMgNS40MDQ2MSAxNC4wMDI2IDUuOTU2MyAxNC4wMDI2IDYuNjM2ODVMMTQuMDAyMSA1LjA0NzI4QzE0LjAwMjEgNC4zNjY3MyAxMy40NTA0IDMuODE1MDQgMTIuNzY5OCAzLjgxNTA0QzEyLjA4OTMgMy44MTUwNCAxMS41Mzc2IDQuMzY2NzMgMTEuNTM3NiA1LjA0NzI4TDExLjUzNzUgMy42NzM5NUMxMS41Mzc1IDMuMDkzOTYgMTEuMDY3MyAyLjYyMzc4IDEwLjQ4NzMgMi42MjM3OFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3NCAxLjM3NDAyQzExLjM2MTIgMS4zNzQwMiAxMi4xMjExIDEuODYxMTggMTIuNTEwNSAyLjU3ODY4QzEyLjU5NTggMi41Njk4MyAxMi42ODIzIDIuNTY1MjggMTIuNzcgMi41NjUyOEMxMy44Mjc4IDIuNTY1MjggMTQuNzMxMSAzLjIyNzAxIDE1LjA4ODUgNC4xNTkxMUMxNS4xMzcgNC4xNTYyOSAxNS4xODU4IDQuMTU0ODYgMTUuMjM1IDQuMTU0ODZDMTYuNjA1OSA0LjE1NDg2IDE3LjcxNzIgNS4yNjYxOSAxNy43MTcyIDYuNjM3MDlMMTcuNzE3NCAxMi40NDY3QzE3LjcxNzQgMTQuMjM1NSAxNy4wNjQ0IDE1Ljk1NTkgMTUuODkxOSAxNy4yOTA0VjE3LjMyNjJDMTUuODkxOSAxOC40NzY4IDE0Ljk1OTEgMTkuNDA5NSAxMy44MDg1IDE5LjQwOTVIOC4xNzMwNkM3LjAyMjQ3IDE5LjQwOTUgNi4wODk3MyAxOC40NzY4IDYuMDg5NzMgMTcuMzI2MlYxNy4xNzY0TDIuNTEwMDMgMTMuNDA0MUMxLjQ0NTk5IDEyLjI4MjggMS43NDY2IDEwLjQ1NTUgMy4xMTM3OSA5LjczNDI0TDMuMjE2MjQgOS42ODAxOUMzLjg5MTY4IDkuMzIzODMgNC42NjE4NSA5LjI1NDAxIDUuMzY2NjYgOS40NTE5OFY1LjIyNjc4QzUuMzY2NjYgMy43NTY4NyA2LjU1ODI2IDIuNTY1MjggOC4wMjgxNiAyLjU2NTI4QzguMTcyOTMgMi41NjUyOCA4LjMxNDk5IDIuNTc2ODQgOC40NTM0NyAyLjU5OTA3QzguODM5NDMgMS44NzA0MiA5LjYwNTQ2IDEuMzc0MDIgMTAuNDg3NCAxLjM3NDAyWk0xMi40NDc2IDMuODU3ODdWOS40NzY0NkMxMi40NDc2IDkuNzI4NTIgMTIuMjQzMyA5LjkzMjg1IDExLjk5MTMgOS45MzI4NUMxMS43MzkyIDkuOTMyODUgMTEuNTM0OSA5LjcyODUyIDExLjUzNDkgOS40NzY0NlYzLjc5NjU1QzExLjUzNDkgMy43Nzk1NiAxMS41MzU4IDMuNzYyNzcgMTEuNTM3NiAzLjc0NjI2VjMuNjc0MkMxMS41Mzc2IDMuNDMyODIgMTEuNDU2MiAzLjIxMDQ2IDExLjMxOTMgMy4wMzMwOUMxMS4xMjcyIDIuNzg0MjggMTAuODI2MSAyLjYyNDAyIDEwLjQ4NzQgMi42MjQwMkMxMC4xMjM4IDIuNjI0MDIgOS44MDMzMiAyLjgwODg2IDkuNjE0ODMgMy4wODk3QzkuNTAyNjkgMy4yNTY3OSA5LjQzNzI2IDMuNDU3ODUgOS40MzcyNiAzLjY3NDJWMy43ODU3M0M5LjQzNzM1IDMuNzg5MzMgOS40MzczOSAzLjc5Mjk0IDkuNDM3MzkgMy43OTY1NVY5LjkwMTdDOS40MzczOSAxMC4xNTM3IDkuMjMzMDYgMTAuMzU4MSA4Ljk4MTAxIDEwLjM1ODFDOC43Mjg5NSAxMC4zNTgxIDguNTI0NjIgMTAuMTUzNyA4LjUyNDYyIDkuOTAxN1YzLjkwNTA3QzguNDE3NzMgMy44NjQ5IDguMzA0NjggMy44MzczMiA4LjE4NzI2IDMuODI0MTVDOC4xMzUwNCAzLjgxODI5IDguMDgxOTUgMy44MTUyOCA4LjAyODE2IDMuODE1MjhDNy4yNDg2MSAzLjgxNTI4IDYuNjE2NjYgNC40NDcyMyA2LjYxNjY2IDUuMjI2NzhWMTEuODI5Mkw1LjY3NDMxIDExLjAwNTJDNS41Nzg2OCAxMC45MjE2IDUuNDc1MzcgMTAuODUwNCA1LjM2NjY2IDEwLjc5MTlDNC44ODUwNiAxMC41MzI5IDQuMjk3MjggMTAuNTIzMSAzLjc5OTUyIDEwLjc4NThMMy42OTcwNyAxMC44Mzk4QzMuMDYyMzEgMTEuMTc0NyAyLjkyMjczIDEyLjAyMzEgMy40MTY3NSAxMi41NDM3TDcuMzM5NzMgMTYuNjc3N1YxNy4zMjYyQzcuMzM5NzMgMTcuNzg2NCA3LjcxMjgyIDE4LjE1OTUgOC4xNzMwNiAxOC4xNTk1SDEzLjgwODVDMTQuMjY4OCAxOC4xNTk1IDE0LjY0MTkgMTcuNzg2NCAxNC42NDE5IDE3LjMyNjJWMTYuNzkzOEMxNS43Mzc5IDE1LjcxOSAxNi4zODQ3IDE0LjI3MjggMTYuNDYgMTIuNzQ3QzE2LjQ2NDEgMTIuNjY0MSAxNi40NjY1IDEyLjU4MDkgMTYuNDY3MiAxMi40OTc1TDE2LjQ2NzQgMTIuNDQ2N0wxNi40NjcyIDYuNjM3MDlDMTYuNDY3MiA1Ljk2MjMgMTUuOTI0OCA1LjQxNDE5IDE1LjI1MjIgNS40MDQ5N0wxNS4yMzUgNS40MDQ4NkMxNS4xMjQ2IDUuNDA0ODYgMTUuMDE3NyA1LjQxOTM2IDE0LjkxNTkgNS40NDY1NlY5LjYwMjI2QzE0LjkxNTkgOS44NTQzMSAxNC43MTE2IDEwLjA1ODYgMTQuNDU5NSAxMC4wNTg2QzE0LjIwNzUgMTAuMDU4NiAxNC4wMDMxIDkuODU0MzEgMTQuMDAzMSA5LjYwMjI2VjYuNjA1MTRDMTQuMDAyOSA2LjYxNTc2IDE0LjAwMjcgNi42MjY0MSAxNC4wMDI3IDYuNjM3MDlWOS4yNzcwNUwxNC4wMDIyIDUuMDQ3NTJDMTQuMDAyMiA0Ljg2OTEzIDEzLjk2NDMgNC42OTk2IDEzLjg5NjEgNC41NDY1M0MxMy43MDY0IDQuMTIwNzIgMTMuMjgyMiAzLjgyMjM1IDEyLjc4NzYgMy44MTU0MUwxMi43NyAzLjgxNTI4QzEyLjY1ODQgMy44MTUyOCAxMi41NTA0IDMuODMwMSAxMi40NDc2IDMuODU3ODdaIiBmaWxsPSIjMUQxQzIzIi8+Cjwvc3ZnPg=="), auto',
|
|
1234
1239
|
grabbing: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYxODE3IDUuNTk4NzVDNi42MTgxNyA0LjgxOTIgNy4yNTAxMiA0LjE4NzI2IDguMDI5NjcgNC4xODcyNkM4Ljc3ODczIDQuMTg3MjYgOS4zOTE1MiA0Ljc3MDc1IDkuNDM4MjkgNS41MDgwMUM5LjQ1OTkyIDQuOTQ3MSA5LjkyMTQ3IDQuNDk5MDIgMTAuNDg3NyA0LjQ5OTAyQzExLjA2NzcgNC40OTkwMiAxMS41Mzc4IDQuOTY5MiAxMS41Mzc4IDUuNTQ5MTlWOC43NjI0NkwxMS41Mzc5IDYuNzExNUMxMS41Mzc5IDYuMDMwOTUgMTIuMDg5NiA1LjQ3OTI2IDEyLjc3MDIgNS40NzkyNkMxMy40NTA3IDUuNDc5MjYgMTQuMDAyNCA2LjAzMDk1IDE0LjAwMjQgNi43MTE1TDE0LjAwMjQgOC43NjI0NkwxNC4wMDI5IDguMDE5ODNDMTQuMDAyOSA3LjMzOTI5IDE0LjU1NDYgNi43ODc1OSAxNS4yMzUyIDYuNzg3NTlDMTUuOTE1NyA2Ljc4NzU5IDE2LjQ2NzQgNy4zMzkyOCAxNi40Njc0IDguMDE5ODNWMTEuNDk3TDE2LjQ2NzUgMTIuNDQ2N0MxNi40Njc1IDE0LjA4MjEgMTUuODA5NiAxNS42NDg3IDE0LjY0MiAxNi43OTM4VjE3LjMyNjJDMTQuNjQyIDE3Ljc4NjQgMTQuMjY4OSAxOC4xNTk1IDEzLjgwODcgMTguMTU5NUg4LjE3MzE3QzcuNzEyOTMgMTguMTU5NSA3LjMzOTg0IDE3Ljc4NjQgNy4zMzk4NCAxNy4zMjYyVjE1Ljk0MjRMNS4zNDU2MiAxNC43NTM0QzQuNTg5MjQgMTQuMzAyNCA0LjEyNTkxIDEzLjQ4NjcgNC4xMjU4OSAxMi42MDYxTDQuMTI1ODMgOS4yODM4M0M0LjEyNTgyIDguOTU0MjcgNC4zMjAwMyA4LjY1NTY2IDQuNjIxMjkgOC41MjIwNUw2LjYxODE3IDcuNjM2MzRWNS41OTg3NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3OCAzLjI0OTAyQzExLjI3OTYgMy4yNDkwMiAxMS45Nzc4IDMuNjQ5MDIgMTIuMzkxNyA0LjI1Nzk2QzEyLjUxNTEgNC4yMzkwNiAxMi42NDE2IDQuMjI5MjYgMTIuNzcwMyA0LjIyOTI2QzEzLjcyMjQgNC4yMjkyNiAxNC41NDkzIDQuNzY1MzEgMTQuOTY1NyA1LjU1MjA3QzE1LjA1NDMgNS41NDI1IDE1LjE0NDIgNS41Mzc1OSAxNS4yMzUzIDUuNTM3NTlDMTYuNjA2MiA1LjUzNzU5IDE3LjcxNzYgNi42NDg5MyAxNy43MTc2IDguMDE5ODNMMTcuNzE3NyAxMi40NDY3QzE3LjcxNzcgMTQuMjM1NSAxNy4wNjQ3IDE1Ljk1NTkgMTUuODkyMSAxNy4yOTA0VjE3LjMyNjJDMTUuODkyMSAxOC40NzY4IDE0Ljk1OTQgMTkuNDA5NSAxMy44MDg4IDE5LjQwOTVIOC4xNzMzMkM3LjAyMjczIDE5LjQwOTUgNi4wODk5OCAxOC40NzY4IDYuMDg5OTggMTcuMzI2MlYxNi42NTI0TDQuNzA1NjMgMTUuODI3QzMuNTcxMDYgMTUuMTUwNSAyLjg3NjA3IDEzLjkyNzEgMi44NzYwNCAxMi42MDYxTDIuODc1OTggOS4yODM4NUMyLjg3NTk2IDguNDU5OTYgMy4zNjE0OSA3LjcxMzQ1IDQuMTE0NjIgNy4zNzk0TDUuMzY4MzIgNi44MjMzM1Y1LjU5ODc1QzUuMzY4MzIgNC4xMjg4NSA2LjU1OTkxIDIuOTM3MjYgOC4wMjk4MiAyLjkzNzI2QzguNjA4MzEgMi45MzcyNiA5LjE0MzU1IDMuMTIxNyA5LjU4MDA1IDMuNDM1MDVDOS44NTg1MyAzLjMxNTMyIDEwLjE2NTQgMy4yNDkwMiAxMC40ODc4IDMuMjQ5MDJaTTEyLjQ0NzkgNS41MjE4NlY5LjQ3NTU3QzEyLjQ0NzkgOS43Mjc2MiAxMi4yNDM2IDkuOTMxOTUgMTEuOTkxNiA5LjkzMTk1QzExLjc1NjggOS45MzE5NSAxMS41NjM0IDkuNzU0NjUgMTEuNTM4IDkuNTI2NjNDMTEuNTM2MSA5LjUwOTg3IDExLjUzNTIgOS40OTI4MyAxMS41MzUyIDkuNDc1NTdWNS40NzE1OEMxMS41MTU0IDUuMjAwODMgMTEuMzkzIDQuOTU4NTggMTEuMjA2NiA0Ljc4MzU4QzExLjAxODggNC42MDcxMSAxMC43NjU5IDQuNDk5MDIgMTAuNDg3OCA0LjQ5OTAyQzEwLjQ3NjYgNC40OTkwMiAxMC40NjU0IDQuNDk5MTkgMTAuNDU0MiA0LjQ5OTU0QzkuOTAzNDcgNC41MTY4NCA5LjQ1OTY0IDQuOTU4MjQgOS40Mzg0NCA1LjUwODAxQzkuNDM4MiA1LjUwNDMgOS40Mzc5NSA1LjUwMDU4IDkuNDM3NjkgNS40OTY4OFY5LjkwMjQzQzkuNDM3NjkgMTAuMTU0NSA5LjIzMzM2IDEwLjM1ODggOC45ODEzMSAxMC4zNTg4QzguNzI5MjUgMTAuMzU4OCA4LjUyNDkyIDEwLjE1NDUgOC41MjQ5MiA5LjkwMjQzVjQuMjc2NTNDOC4zNzA4NiA0LjIxODgyIDguMjA0MDIgNC4xODcyNiA4LjAyOTgyIDQuMTg3MjZDNy4yNTAyNyA0LjE4NzI2IDYuNjE4MzIgNC44MTkyIDYuNjE4MzIgNS41OTg3NUw2LjYxODI3IDkuOTc1OTlDNi42MTgyNyAxMC4yMjggNi40MTM5NCAxMC40MzI0IDYuMTYxODkgMTAuNDMyNEM1LjkwOTgzIDEwLjQzMjQgNS43MDU1IDEwLjIyOCA1LjcwNTUgOS45NzU5OVY4LjA0MTIyTDQuNjIxNDQgOC41MjIwNUM0LjMyMDE4IDguNjU1NjYgNC4xMjU5NyA4Ljk1NDI3IDQuMTI1OTggOS4yODM4M0w0LjEyNjA0IDEyLjYwNjFDNC4xMjYwNiAxMy40ODY3IDQuNTg5MzkgMTQuMzAyNCA1LjM0NTc2IDE0Ljc1MzRMNy4zMzk5OCAxNS45NDI0VjE3LjMyNjJDNy4zMzk5OCAxNy43ODY0IDcuNzEzMDggMTguMTU5NSA4LjE3MzMyIDE4LjE1OTVIMTMuODA4OEMxNC4yNjkgMTguMTU5NSAxNC42NDIxIDE3Ljc4NjQgMTQuNjQyMSAxNy4zMjYyVjE2Ljc5MzhDMTUuNzM4MSAxNS43MTkgMTYuMzg1IDE0LjI3MjggMTYuNDYwMyAxMi43NDdDMTYuNDY0NiAxMi42NiAxNi40NjcgMTIuNTcyOCAxNi40Njc2IDEyLjQ4NTRMMTYuNDY3NyAxMi40NDY3TDE2LjQ2NzYgOC4wMTk4M0MxNi40Njc2IDcuMzQ1MDQgMTUuOTI1MiA2Ljc5NjkzIDE1LjI1MjUgNi43ODc3MUwxNS4yMzUzIDYuNzg3NTlDMTUuMTI1IDYuNzg3NTkgMTUuMDE4IDYuODAyMSAxNC45MTYyIDYuODI5MzFWOS42MDEzNkMxNC45MTYyIDkuODUzNDIgMTQuNzExOSAxMC4wNTc3IDE0LjQ1OTggMTAuMDU3N0MxNC4yMDc4IDEwLjA1NzcgMTQuMDAzNCA5Ljg1MzQxIDE0LjAwMzQgOS42MDEzNlY3Ljk4OTg1QzE0LjAwMzIgNy45OTk4MiAxNC4wMDMxIDguMDA5ODEgMTQuMDAzMSA4LjAxOTgzTDE0LjAwMzQgOS42MDEzNkwxNC4wMDI1IDYuNzExNUMxNC4wMDI1IDYuNDQ5NzQgMTMuOTIwOSA2LjIwNzA1IDEzLjc4MTggNi4wMDc0OEMxMy41NjIgNS42OTI0MiAxMy4xOTg5IDUuNDg0ODMgMTIuNzg3IDUuNDc5MzdMMTIuNzcwMyA1LjQ3OTI2QzEyLjY1ODggNS40NzkyNiAxMi41NTA3IDUuNDk0MDggMTIuNDQ3OSA1LjUyMTg2WiIgZmlsbD0iIzFEMUMyMyIvPgo8L3N2Zz4="), auto'
|
|
1235
1240
|
},
|
|
1236
|
-
fromNodeJSON(node, json) {
|
|
1237
|
-
initFormDataFromJSON(node, json);
|
|
1241
|
+
fromNodeJSON(node, json, isFirstCreate) {
|
|
1242
|
+
initFormDataFromJSON(node, json, isFirstCreate);
|
|
1238
1243
|
return;
|
|
1239
1244
|
},
|
|
1240
1245
|
toNodeJSON(node) {
|
|
@@ -1298,12 +1303,12 @@ var WorkflowLinesManager = class {
|
|
|
1298
1303
|
}
|
|
1299
1304
|
get lineColor() {
|
|
1300
1305
|
const color = {
|
|
1301
|
-
default: "
|
|
1302
|
-
error: "red" /* ERROR */,
|
|
1303
|
-
hidden: "transparent" /* HIDDEN */,
|
|
1304
|
-
drawing: "#5DD6E3" /* DRAWING */,
|
|
1305
|
-
hovered: "
|
|
1306
|
-
selected: "
|
|
1306
|
+
default: "var(--g-line-color-default,#4d53e8)" /* DEFUALT */,
|
|
1307
|
+
error: "var(--g-line-color-error,red)" /* ERROR */,
|
|
1308
|
+
hidden: "var(--g-line-color-hidden,transparent)" /* HIDDEN */,
|
|
1309
|
+
drawing: "var(--g-line-color-drawing, #5DD6E3)" /* DRAWING */,
|
|
1310
|
+
hovered: "var(--g-line-color-hover,#37d0ff)" /* HOVER */,
|
|
1311
|
+
selected: "var(--g-line-color-selected,#37d0ff)" /* SELECTED */
|
|
1307
1312
|
};
|
|
1308
1313
|
if (this.options.lineColor) {
|
|
1309
1314
|
Object.assign(color, this.options.lineColor);
|
|
@@ -1386,17 +1391,15 @@ var WorkflowLinesManager = class {
|
|
|
1386
1391
|
toNode?.removeLine(line);
|
|
1387
1392
|
line.validate();
|
|
1388
1393
|
});
|
|
1389
|
-
line.
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
})
|
|
1399
|
-
);
|
|
1394
|
+
line.onDispose(() => {
|
|
1395
|
+
if (available) {
|
|
1396
|
+
this.onAvailableLinesChangeEmitter.fire({
|
|
1397
|
+
type: "DELETE_LINE" /* DELETE_LINE */,
|
|
1398
|
+
toJSON: () => line.toJSON(),
|
|
1399
|
+
entity: line
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1402
|
+
});
|
|
1400
1403
|
if (available) {
|
|
1401
1404
|
this.onAvailableLinesChangeEmitter.fire({
|
|
1402
1405
|
type: "ADD_LINE" /* ADD_LINE */,
|
|
@@ -1604,9 +1607,9 @@ var import_core14 = require("@flowgram.ai/core");
|
|
|
1604
1607
|
|
|
1605
1608
|
// src/layout/free-layout.ts
|
|
1606
1609
|
var import_inversify4 = require("inversify");
|
|
1610
|
+
var import_utils13 = require("@flowgram.ai/utils");
|
|
1607
1611
|
var import_document6 = require("@flowgram.ai/document");
|
|
1608
1612
|
var import_core13 = require("@flowgram.ai/core");
|
|
1609
|
-
var import_utils13 = require("@flowgram.ai/utils");
|
|
1610
1613
|
var FREE_LAYOUT_KEY = "free-layout";
|
|
1611
1614
|
var FreeLayout = class {
|
|
1612
1615
|
constructor() {
|
|
@@ -1641,6 +1644,21 @@ var FreeLayout = class {
|
|
|
1641
1644
|
const parentTransform = node.parent.getData(import_document6.FlowNodeTransformData);
|
|
1642
1645
|
parentTransform.transform.fireChange();
|
|
1643
1646
|
}
|
|
1647
|
+
/**
|
|
1648
|
+
* 更新所有受影响的上下游节点
|
|
1649
|
+
*/
|
|
1650
|
+
updateAffectedTransform(node) {
|
|
1651
|
+
const transformData = node.transform;
|
|
1652
|
+
if (!transformData.localDirty) {
|
|
1653
|
+
return;
|
|
1654
|
+
}
|
|
1655
|
+
const allParents = this.getAllParents(node);
|
|
1656
|
+
const allBlocks = this.getAllBlocks(node).reverse();
|
|
1657
|
+
const affectedNodes = [...allBlocks, ...allParents];
|
|
1658
|
+
affectedNodes.forEach((node2) => {
|
|
1659
|
+
this.fireChange(node2);
|
|
1660
|
+
});
|
|
1661
|
+
}
|
|
1644
1662
|
/**
|
|
1645
1663
|
* 获取节点的 padding 数据
|
|
1646
1664
|
* @param node
|
|
@@ -1686,6 +1704,30 @@ var FreeLayout = class {
|
|
|
1686
1704
|
getDefaultNodeOrigin() {
|
|
1687
1705
|
return { x: 0.5, y: 0 };
|
|
1688
1706
|
}
|
|
1707
|
+
getAllParents(node) {
|
|
1708
|
+
const parents = [];
|
|
1709
|
+
let current = node.parent;
|
|
1710
|
+
while (current) {
|
|
1711
|
+
parents.push(current);
|
|
1712
|
+
current = current.parent;
|
|
1713
|
+
}
|
|
1714
|
+
return parents;
|
|
1715
|
+
}
|
|
1716
|
+
getAllBlocks(node) {
|
|
1717
|
+
return node.blocks.reduce(
|
|
1718
|
+
(acc, child) => [...acc, ...this.getAllBlocks(child)],
|
|
1719
|
+
[node]
|
|
1720
|
+
);
|
|
1721
|
+
}
|
|
1722
|
+
fireChange(node) {
|
|
1723
|
+
const transformData = node?.transform;
|
|
1724
|
+
if (!node || !transformData?.localDirty) {
|
|
1725
|
+
return;
|
|
1726
|
+
}
|
|
1727
|
+
node.clearMemoGlobal();
|
|
1728
|
+
node.clearMemoLocal();
|
|
1729
|
+
transformData.transform.fireChange();
|
|
1730
|
+
}
|
|
1689
1731
|
};
|
|
1690
1732
|
__decorateClass([
|
|
1691
1733
|
(0, import_inversify4.inject)(import_core13.PlaygroundConfigEntity)
|
|
@@ -1708,7 +1750,6 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1708
1750
|
this.onContentChange = this._onContentChangeEmitter.event;
|
|
1709
1751
|
this._onReloadEmitter = new import_utils14.Emitter();
|
|
1710
1752
|
this.onReload = this._onReloadEmitter.event;
|
|
1711
|
-
this.disposed = false;
|
|
1712
1753
|
/**
|
|
1713
1754
|
* 数据加载完成
|
|
1714
1755
|
*/
|
|
@@ -1737,12 +1778,14 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1737
1778
|
});
|
|
1738
1779
|
}
|
|
1739
1780
|
async load() {
|
|
1781
|
+
if (this.disposed) return;
|
|
1740
1782
|
this._loading = true;
|
|
1741
1783
|
await super.load();
|
|
1742
1784
|
this._loading = false;
|
|
1743
1785
|
this.onLoadedEmitter.fire();
|
|
1744
1786
|
}
|
|
1745
1787
|
async reload(json, delayTime = 0) {
|
|
1788
|
+
if (this.disposed) return;
|
|
1746
1789
|
this._loading = true;
|
|
1747
1790
|
this.clear();
|
|
1748
1791
|
this.fromJSON(json);
|
|
@@ -1755,6 +1798,7 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1755
1798
|
* @param json
|
|
1756
1799
|
*/
|
|
1757
1800
|
fromJSON(json, fireRender = true) {
|
|
1801
|
+
if (this.disposed) return;
|
|
1758
1802
|
const workflowJSON = {
|
|
1759
1803
|
nodes: json.nodes ?? [],
|
|
1760
1804
|
edges: json.edges ?? []
|
|
@@ -1797,9 +1841,11 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1797
1841
|
const formData = getFlowNodeFormData(node);
|
|
1798
1842
|
const transform = node.getData(import_document7.FlowNodeTransformData);
|
|
1799
1843
|
const freeLayout = this.layout;
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1844
|
+
if (!isExistedNode) {
|
|
1845
|
+
transform.onDataChange(() => {
|
|
1846
|
+
freeLayout.syncTransform(node);
|
|
1847
|
+
});
|
|
1848
|
+
}
|
|
1803
1849
|
let { position } = meta;
|
|
1804
1850
|
if (!position) {
|
|
1805
1851
|
position = this.getNodeDefaultPosition(json.type);
|
|
@@ -1818,13 +1864,15 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1818
1864
|
});
|
|
1819
1865
|
}
|
|
1820
1866
|
const positionData = node.getData(import_core14.PositionData);
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1867
|
+
if (!isExistedNode) {
|
|
1868
|
+
positionData.onDataChange(() => {
|
|
1869
|
+
this.fireContentChange({
|
|
1870
|
+
type: "MOVE_NODE" /* MOVE_NODE */,
|
|
1871
|
+
toJSON: () => positionData.toJSON(),
|
|
1872
|
+
entity: node
|
|
1873
|
+
});
|
|
1826
1874
|
});
|
|
1827
|
-
}
|
|
1875
|
+
}
|
|
1828
1876
|
const subCanvas = this.getNodeSubCanvas(node);
|
|
1829
1877
|
if (!isExistedNode && !subCanvas?.isCanvas) {
|
|
1830
1878
|
this.fireContentChange({
|
|
@@ -1832,26 +1880,24 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1832
1880
|
entity: node,
|
|
1833
1881
|
toJSON: () => this.toNodeJSON(node)
|
|
1834
1882
|
});
|
|
1835
|
-
node.
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
)
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
})
|
|
1854
|
-
);
|
|
1883
|
+
node.onDispose(() => {
|
|
1884
|
+
if (!node.parent || node.parent.flowNodeType === import_document7.FlowNodeBaseType.ROOT) {
|
|
1885
|
+
return;
|
|
1886
|
+
}
|
|
1887
|
+
const parentTransform = node.parent.getData(import_document7.FlowNodeTransformData);
|
|
1888
|
+
parentTransform.fireChange();
|
|
1889
|
+
});
|
|
1890
|
+
let lastDeleteNodeData;
|
|
1891
|
+
node.preDispose.onDispose(() => {
|
|
1892
|
+
lastDeleteNodeData = this.toNodeJSON(node);
|
|
1893
|
+
});
|
|
1894
|
+
node.onDispose(() => {
|
|
1895
|
+
this.fireContentChange({
|
|
1896
|
+
type: "DELETE_NODE" /* DELETE_NODE */,
|
|
1897
|
+
entity: node,
|
|
1898
|
+
toJSON: () => lastDeleteNodeData
|
|
1899
|
+
});
|
|
1900
|
+
});
|
|
1855
1901
|
}
|
|
1856
1902
|
if (json.blocks) {
|
|
1857
1903
|
this.renderJSON(
|
|
@@ -1867,19 +1913,95 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
1867
1913
|
canvasTransform.update({
|
|
1868
1914
|
position: subCanvas.parentNode.getNodeMeta()?.canvasPosition
|
|
1869
1915
|
});
|
|
1870
|
-
|
|
1871
|
-
subCanvas.
|
|
1916
|
+
if (!isExistedNode) {
|
|
1917
|
+
subCanvas.parentNode.onDispose(() => {
|
|
1918
|
+
subCanvas.canvasNode.dispose();
|
|
1919
|
+
});
|
|
1920
|
+
subCanvas.canvasNode.onDispose(() => {
|
|
1921
|
+
subCanvas.parentNode.dispose();
|
|
1922
|
+
});
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
if (!isExistedNode) {
|
|
1926
|
+
this.onNodeCreateEmitter.fire({
|
|
1927
|
+
node,
|
|
1928
|
+
data: json,
|
|
1929
|
+
json
|
|
1872
1930
|
});
|
|
1873
|
-
|
|
1874
|
-
|
|
1931
|
+
} else {
|
|
1932
|
+
this.onNodeUpdateEmitter.fire({
|
|
1933
|
+
node,
|
|
1934
|
+
data: json,
|
|
1935
|
+
json
|
|
1875
1936
|
});
|
|
1876
1937
|
}
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1938
|
+
return node;
|
|
1939
|
+
}
|
|
1940
|
+
/**
|
|
1941
|
+
* 添加节点,如果节点已经存在则不会重复创建
|
|
1942
|
+
* @param data
|
|
1943
|
+
* @param addedNodes
|
|
1944
|
+
*/
|
|
1945
|
+
addNode(data, addedNodes, ignoreCreateAndUpdateEvent) {
|
|
1946
|
+
const { id, type = "block", originParent, parent, meta, hidden, index } = data;
|
|
1947
|
+
let node = this.getNode(id);
|
|
1948
|
+
let isNew = false;
|
|
1949
|
+
const register = this.getNodeRegistry(type, data.originParent);
|
|
1950
|
+
if (node && node.flowNodeType !== data.type) {
|
|
1951
|
+
node.dispose();
|
|
1952
|
+
node = void 0;
|
|
1953
|
+
}
|
|
1954
|
+
if (!node) {
|
|
1955
|
+
const { dataRegistries } = register;
|
|
1956
|
+
node = this.entityManager.createEntity(WorkflowNodeEntity, {
|
|
1957
|
+
id,
|
|
1958
|
+
document: this,
|
|
1959
|
+
flowNodeType: type,
|
|
1960
|
+
originParent,
|
|
1961
|
+
meta
|
|
1962
|
+
});
|
|
1963
|
+
const datas = dataRegistries ? this.nodeDataRegistries.concat(...dataRegistries) : this.nodeDataRegistries;
|
|
1964
|
+
node.addInitializeData(datas);
|
|
1965
|
+
node.onDispose(() => this.onNodeDisposeEmitter.fire({ node }));
|
|
1966
|
+
this.options.fromNodeJSON?.(node, data, true);
|
|
1967
|
+
isNew = true;
|
|
1968
|
+
} else {
|
|
1969
|
+
this.options.fromNodeJSON?.(node, data, false);
|
|
1970
|
+
}
|
|
1971
|
+
node.initData({
|
|
1972
|
+
originParent,
|
|
1973
|
+
parent,
|
|
1974
|
+
meta,
|
|
1975
|
+
hidden,
|
|
1976
|
+
index
|
|
1880
1977
|
});
|
|
1978
|
+
addedNodes?.push(node);
|
|
1979
|
+
if (register.onCreate) {
|
|
1980
|
+
const extendNodes = register.onCreate(node, data);
|
|
1981
|
+
if (extendNodes && addedNodes) {
|
|
1982
|
+
addedNodes.push(...extendNodes);
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
if (!ignoreCreateAndUpdateEvent) {
|
|
1986
|
+
if (isNew) {
|
|
1987
|
+
this.onNodeCreateEmitter.fire({
|
|
1988
|
+
node,
|
|
1989
|
+
data,
|
|
1990
|
+
json: data
|
|
1991
|
+
});
|
|
1992
|
+
} else {
|
|
1993
|
+
this.onNodeUpdateEmitter.fire({ node, data, json: data });
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1881
1996
|
return node;
|
|
1882
1997
|
}
|
|
1998
|
+
get layout() {
|
|
1999
|
+
const layout = this.layouts.find((layout2) => layout2.name == this.currentLayoutKey);
|
|
2000
|
+
if (!layout) {
|
|
2001
|
+
throw new Error(`Unknown flow layout: ${this.currentLayoutKey}`);
|
|
2002
|
+
}
|
|
2003
|
+
return layout;
|
|
2004
|
+
}
|
|
1883
2005
|
/**
|
|
1884
2006
|
* 获取默认的 x y 坐标, 默认为当前画布可视区域中心
|
|
1885
2007
|
* @param type
|
|
@@ -2091,11 +2213,7 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
|
|
|
2091
2213
|
};
|
|
2092
2214
|
}
|
|
2093
2215
|
dispose() {
|
|
2094
|
-
if (this.disposed) {
|
|
2095
|
-
return;
|
|
2096
|
-
}
|
|
2097
2216
|
super.dispose();
|
|
2098
|
-
this.disposed = true;
|
|
2099
2217
|
this._onReloadEmitter.dispose();
|
|
2100
2218
|
}
|
|
2101
2219
|
/**
|
|
@@ -2293,15 +2411,10 @@ var WorkflowDragService = class {
|
|
|
2293
2411
|
x: nodeStartPosition.x + offset.x,
|
|
2294
2412
|
y: nodeStartPosition.y + offset.y
|
|
2295
2413
|
};
|
|
2296
|
-
if (node.collapsedChildren?.length > 0) {
|
|
2297
|
-
node.collapsedChildren.forEach((childNode) => {
|
|
2298
|
-
const childNodeTransformData = childNode.getData(import_document8.FlowNodeTransformData);
|
|
2299
|
-
childNodeTransformData.fireChange();
|
|
2300
|
-
});
|
|
2301
|
-
}
|
|
2302
2414
|
transform.update({
|
|
2303
2415
|
position: newPosition
|
|
2304
2416
|
});
|
|
2417
|
+
this.document.layout.updateAffectedTransform(node);
|
|
2305
2418
|
positions.push(newPosition);
|
|
2306
2419
|
});
|
|
2307
2420
|
this._nodesDragEmitter.fire({
|
|
@@ -2822,18 +2935,14 @@ var layoutToPositions = async (nodes, nodePositionMap) => {
|
|
|
2822
2935
|
const transform = node.getData(import_core16.TransformData);
|
|
2823
2936
|
const deltaX = (nodePositionMap[node.id].x - transform.position.x) * v.d / 100;
|
|
2824
2937
|
const deltaY = (nodePositionMap[node.id].y - transform.bounds.height / 2 - transform.position.y) * v.d / 100;
|
|
2825
|
-
if (node.collapsedChildren?.length > 0) {
|
|
2826
|
-
node.collapsedChildren.forEach((childNode) => {
|
|
2827
|
-
const childNodeTransformData = childNode.getData(import_document10.FlowNodeTransformData);
|
|
2828
|
-
childNodeTransformData.fireChange();
|
|
2829
|
-
});
|
|
2830
|
-
}
|
|
2831
2938
|
transform.update({
|
|
2832
2939
|
position: {
|
|
2833
2940
|
x: transform.position.x + deltaX,
|
|
2834
2941
|
y: transform.position.y + deltaY
|
|
2835
2942
|
}
|
|
2836
2943
|
});
|
|
2944
|
+
const document2 = node.document;
|
|
2945
|
+
document2.layout.updateAffectedTransform(node);
|
|
2837
2946
|
});
|
|
2838
2947
|
},
|
|
2839
2948
|
onComplete: () => {
|