@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// src/typings/workflow-line.ts
|
|
2
|
+
var LineType = /* @__PURE__ */ ((LineType2) => {
|
|
3
|
+
LineType2[LineType2["BEZIER"] = 0] = "BEZIER";
|
|
4
|
+
LineType2[LineType2["LINE_CHART"] = 1] = "LINE_CHART";
|
|
5
|
+
return LineType2;
|
|
6
|
+
})(LineType || {});
|
|
7
|
+
var LineColors = /* @__PURE__ */ ((LineColors2) => {
|
|
8
|
+
LineColors2["HIDDEN"] = "var(--g-line-color-hidden,transparent)";
|
|
9
|
+
LineColors2["DEFUALT"] = "var(--g-line-color-default,#4d53e8)";
|
|
10
|
+
LineColors2["DRAWING"] = "var(--g-line-color-drawing, #5DD6E3)";
|
|
11
|
+
LineColors2["HOVER"] = "var(--g-line-color-hover,#37d0ff)";
|
|
12
|
+
LineColors2["SELECTED"] = "var(--g-line-color-selected,#37d0ff)";
|
|
13
|
+
LineColors2["ERROR"] = "var(--g-line-color-error,red)";
|
|
14
|
+
return LineColors2;
|
|
15
|
+
})(LineColors || {});
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
LineType,
|
|
19
|
+
LineColors
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=chunk-6DKK25L7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 = 'var(--g-line-color-hidden,transparent)', // 隐藏线条\n DEFUALT = 'var(--g-line-color-default,#4d53e8)',\n DRAWING = 'var(--g-line-color-drawing, #5DD6E3)', // '#b5bbf8', // '#9197F1',\n HOVER = 'var(--g-line-color-hover,#37d0ff)',\n SELECTED = 'var(--g-line-color-selected,#37d0ff)',\n ERROR = 'var(--g-line-color-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":";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,cAAW;AACX,EAAAA,YAAA,WAAQ;AANE,SAAAA;AAAA,GAAA;","names":["LineType","LineColors"]}
|
package/dist/esm/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
LineColors,
|
|
13
13
|
LineType
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6DKK25L7.js";
|
|
15
15
|
import "./chunk-DDJTYHXN.js";
|
|
16
16
|
import {
|
|
17
17
|
WorkflowOperationBaseService
|
|
@@ -1043,8 +1043,8 @@ WorkflowSelectService = __decorateClass([
|
|
|
1043
1043
|
|
|
1044
1044
|
// src/service/workflow-hover-service.ts
|
|
1045
1045
|
import { inject as inject2, injectable as injectable2 } from "inversify";
|
|
1046
|
-
import { EntityManager } from "@flowgram.ai/core";
|
|
1047
1046
|
import { Emitter as Emitter2 } from "@flowgram.ai/utils";
|
|
1047
|
+
import { EntityManager } from "@flowgram.ai/core";
|
|
1048
1048
|
var WorkflowHoverService = class {
|
|
1049
1049
|
constructor() {
|
|
1050
1050
|
this.onHoveredChangeEmitter = new Emitter2();
|
|
@@ -1125,7 +1125,7 @@ import {
|
|
|
1125
1125
|
// src/workflow-lines-manager.ts
|
|
1126
1126
|
import { last } from "lodash-es";
|
|
1127
1127
|
import { inject as inject3, injectable as injectable3 } from "inversify";
|
|
1128
|
-
import {
|
|
1128
|
+
import { DisposableCollection, Emitter as Emitter3 } from "@flowgram.ai/utils";
|
|
1129
1129
|
import { FlowNodeRenderData as FlowNodeRenderData2, FlowNodeTransformData as FlowNodeTransformData3 } from "@flowgram.ai/document";
|
|
1130
1130
|
import { EntityManager as EntityManager2, PlaygroundConfigEntity as PlaygroundConfigEntity2, TransformData as TransformData6 } from "@flowgram.ai/core";
|
|
1131
1131
|
|
|
@@ -1144,19 +1144,23 @@ function toFormJSON(node) {
|
|
|
1144
1144
|
if (!formData || !node.getNodeRegistry().formMeta) return void 0;
|
|
1145
1145
|
return formData.toJSON();
|
|
1146
1146
|
}
|
|
1147
|
-
function initFormDataFromJSON(node, json) {
|
|
1147
|
+
function initFormDataFromJSON(node, json, isFirstCreate) {
|
|
1148
1148
|
const formData = node.getData(FlowNodeFormData);
|
|
1149
1149
|
const registry = node.getNodeRegistry();
|
|
1150
1150
|
const { formMeta } = registry;
|
|
1151
1151
|
if (formData && formMeta) {
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1152
|
+
if (isFirstCreate) {
|
|
1153
|
+
formData.createForm(formMeta, json.data);
|
|
1154
|
+
formData.onDataChange(() => {
|
|
1155
|
+
node.document.fireContentChange({
|
|
1156
|
+
type: "NODE_DATA_CHANGE" /* NODE_DATA_CHANGE */,
|
|
1157
|
+
toJSON: () => formData.toJSON(),
|
|
1158
|
+
entity: node
|
|
1159
|
+
});
|
|
1158
1160
|
});
|
|
1159
|
-
}
|
|
1161
|
+
} else {
|
|
1162
|
+
formData.updateFormValues(json.data);
|
|
1163
|
+
}
|
|
1160
1164
|
}
|
|
1161
1165
|
}
|
|
1162
1166
|
|
|
@@ -1167,8 +1171,8 @@ var WorkflowDocumentOptionsDefault = {
|
|
|
1167
1171
|
grab: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40ODczIDIuNjIzNzhDOS45MDczMSAyLjYyMzc4IDkuNDM3MTMgMy4wOTM5NiA5LjQzNzEzIDMuNjczOTZWNS4xNDM3NkM5LjM5NDI4IDQuNDAyNzQgOC43Nzk3OCAzLjgxNTA0IDguMDI4MDIgMy44MTUwNEM3LjI0ODQ4IDMuODE1MDQgNi42MTY1MyA0LjQ0Njk5IDYuNjE2NTMgNS4yMjY1M1YxMS44Mjg5TDUuNjc0MTggMTEuMDA0OUM1LjE1NDg3IDEwLjU1MDkgNC40MDk1IDEwLjQ2MzYgMy43OTkzOCAxMC43ODU1TDMuNjk2OTQgMTAuODM5NkMzLjA2MjE3IDExLjE3NDUgMi45MjI2IDEyLjAyMjggMy40MTY2MiAxMi41NDM0TDcuMzM5NTkgMTYuNjc3NVYxNy4zMjU5QzcuMzM5NTkgMTcuNzg2MiA3LjcxMjY5IDE4LjE1OTMgOC4xNzI5MiAxOC4xNTkzSDEzLjgwODRDMTQuMjY4NyAxOC4xNTkzIDE0LjY0MTcgMTcuNzg2MiAxNC42NDE3IDE3LjMyNTlWMTYuNzkzNUMxNS44MDk0IDE1LjY0ODUgMTYuNDY3MyAxNC4wODE5IDE2LjQ2NzMgMTIuNDQ2NVYxMS40OTY3TDE2LjQ2NzEgNi42MzY4NUMxNi40NjcxIDUuOTU2MyAxNS45MTU0IDUuNDA0NjEgMTUuMjM0OCA1LjQwNDYxQzE0LjU1NDMgNS40MDQ2MSAxNC4wMDI2IDUuOTU2MyAxNC4wMDI2IDYuNjM2ODVMMTQuMDAyMSA1LjA0NzI4QzE0LjAwMjEgNC4zNjY3MyAxMy40NTA0IDMuODE1MDQgMTIuNzY5OCAzLjgxNTA0QzEyLjA4OTMgMy44MTUwNCAxMS41Mzc2IDQuMzY2NzMgMTEuNTM3NiA1LjA0NzI4TDExLjUzNzUgMy42NzM5NUMxMS41Mzc1IDMuMDkzOTYgMTEuMDY3MyAyLjYyMzc4IDEwLjQ4NzMgMi42MjM3OFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3NCAxLjM3NDAyQzExLjM2MTIgMS4zNzQwMiAxMi4xMjExIDEuODYxMTggMTIuNTEwNSAyLjU3ODY4QzEyLjU5NTggMi41Njk4MyAxMi42ODIzIDIuNTY1MjggMTIuNzcgMi41NjUyOEMxMy44Mjc4IDIuNTY1MjggMTQuNzMxMSAzLjIyNzAxIDE1LjA4ODUgNC4xNTkxMUMxNS4xMzcgNC4xNTYyOSAxNS4xODU4IDQuMTU0ODYgMTUuMjM1IDQuMTU0ODZDMTYuNjA1OSA0LjE1NDg2IDE3LjcxNzIgNS4yNjYxOSAxNy43MTcyIDYuNjM3MDlMMTcuNzE3NCAxMi40NDY3QzE3LjcxNzQgMTQuMjM1NSAxNy4wNjQ0IDE1Ljk1NTkgMTUuODkxOSAxNy4yOTA0VjE3LjMyNjJDMTUuODkxOSAxOC40NzY4IDE0Ljk1OTEgMTkuNDA5NSAxMy44MDg1IDE5LjQwOTVIOC4xNzMwNkM3LjAyMjQ3IDE5LjQwOTUgNi4wODk3MyAxOC40NzY4IDYuMDg5NzMgMTcuMzI2MlYxNy4xNzY0TDIuNTEwMDMgMTMuNDA0MUMxLjQ0NTk5IDEyLjI4MjggMS43NDY2IDEwLjQ1NTUgMy4xMTM3OSA5LjczNDI0TDMuMjE2MjQgOS42ODAxOUMzLjg5MTY4IDkuMzIzODMgNC42NjE4NSA5LjI1NDAxIDUuMzY2NjYgOS40NTE5OFY1LjIyNjc4QzUuMzY2NjYgMy43NTY4NyA2LjU1ODI2IDIuNTY1MjggOC4wMjgxNiAyLjU2NTI4QzguMTcyOTMgMi41NjUyOCA4LjMxNDk5IDIuNTc2ODQgOC40NTM0NyAyLjU5OTA3QzguODM5NDMgMS44NzA0MiA5LjYwNTQ2IDEuMzc0MDIgMTAuNDg3NCAxLjM3NDAyWk0xMi40NDc2IDMuODU3ODdWOS40NzY0NkMxMi40NDc2IDkuNzI4NTIgMTIuMjQzMyA5LjkzMjg1IDExLjk5MTMgOS45MzI4NUMxMS43MzkyIDkuOTMyODUgMTEuNTM0OSA5LjcyODUyIDExLjUzNDkgOS40NzY0NlYzLjc5NjU1QzExLjUzNDkgMy43Nzk1NiAxMS41MzU4IDMuNzYyNzcgMTEuNTM3NiAzLjc0NjI2VjMuNjc0MkMxMS41Mzc2IDMuNDMyODIgMTEuNDU2MiAzLjIxMDQ2IDExLjMxOTMgMy4wMzMwOUMxMS4xMjcyIDIuNzg0MjggMTAuODI2MSAyLjYyNDAyIDEwLjQ4NzQgMi42MjQwMkMxMC4xMjM4IDIuNjI0MDIgOS44MDMzMiAyLjgwODg2IDkuNjE0ODMgMy4wODk3QzkuNTAyNjkgMy4yNTY3OSA5LjQzNzI2IDMuNDU3ODUgOS40MzcyNiAzLjY3NDJWMy43ODU3M0M5LjQzNzM1IDMuNzg5MzMgOS40MzczOSAzLjc5Mjk0IDkuNDM3MzkgMy43OTY1NVY5LjkwMTdDOS40MzczOSAxMC4xNTM3IDkuMjMzMDYgMTAuMzU4MSA4Ljk4MTAxIDEwLjM1ODFDOC43Mjg5NSAxMC4zNTgxIDguNTI0NjIgMTAuMTUzNyA4LjUyNDYyIDkuOTAxN1YzLjkwNTA3QzguNDE3NzMgMy44NjQ5IDguMzA0NjggMy44MzczMiA4LjE4NzI2IDMuODI0MTVDOC4xMzUwNCAzLjgxODI5IDguMDgxOTUgMy44MTUyOCA4LjAyODE2IDMuODE1MjhDNy4yNDg2MSAzLjgxNTI4IDYuNjE2NjYgNC40NDcyMyA2LjYxNjY2IDUuMjI2NzhWMTEuODI5Mkw1LjY3NDMxIDExLjAwNTJDNS41Nzg2OCAxMC45MjE2IDUuNDc1MzcgMTAuODUwNCA1LjM2NjY2IDEwLjc5MTlDNC44ODUwNiAxMC41MzI5IDQuMjk3MjggMTAuNTIzMSAzLjc5OTUyIDEwLjc4NThMMy42OTcwNyAxMC44Mzk4QzMuMDYyMzEgMTEuMTc0NyAyLjkyMjczIDEyLjAyMzEgMy40MTY3NSAxMi41NDM3TDcuMzM5NzMgMTYuNjc3N1YxNy4zMjYyQzcuMzM5NzMgMTcuNzg2NCA3LjcxMjgyIDE4LjE1OTUgOC4xNzMwNiAxOC4xNTk1SDEzLjgwODVDMTQuMjY4OCAxOC4xNTk1IDE0LjY0MTkgMTcuNzg2NCAxNC42NDE5IDE3LjMyNjJWMTYuNzkzOEMxNS43Mzc5IDE1LjcxOSAxNi4zODQ3IDE0LjI3MjggMTYuNDYgMTIuNzQ3QzE2LjQ2NDEgMTIuNjY0MSAxNi40NjY1IDEyLjU4MDkgMTYuNDY3MiAxMi40OTc1TDE2LjQ2NzQgMTIuNDQ2N0wxNi40NjcyIDYuNjM3MDlDMTYuNDY3MiA1Ljk2MjMgMTUuOTI0OCA1LjQxNDE5IDE1LjI1MjIgNS40MDQ5N0wxNS4yMzUgNS40MDQ4NkMxNS4xMjQ2IDUuNDA0ODYgMTUuMDE3NyA1LjQxOTM2IDE0LjkxNTkgNS40NDY1NlY5LjYwMjI2QzE0LjkxNTkgOS44NTQzMSAxNC43MTE2IDEwLjA1ODYgMTQuNDU5NSAxMC4wNTg2QzE0LjIwNzUgMTAuMDU4NiAxNC4wMDMxIDkuODU0MzEgMTQuMDAzMSA5LjYwMjI2VjYuNjA1MTRDMTQuMDAyOSA2LjYxNTc2IDE0LjAwMjcgNi42MjY0MSAxNC4wMDI3IDYuNjM3MDlWOS4yNzcwNUwxNC4wMDIyIDUuMDQ3NTJDMTQuMDAyMiA0Ljg2OTEzIDEzLjk2NDMgNC42OTk2IDEzLjg5NjEgNC41NDY1M0MxMy43MDY0IDQuMTIwNzIgMTMuMjgyMiAzLjgyMjM1IDEyLjc4NzYgMy44MTU0MUwxMi43NyAzLjgxNTI4QzEyLjY1ODQgMy44MTUyOCAxMi41NTA0IDMuODMwMSAxMi40NDc2IDMuODU3ODdaIiBmaWxsPSIjMUQxQzIzIi8+Cjwvc3ZnPg=="), auto',
|
|
1168
1172
|
grabbing: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYxODE3IDUuNTk4NzVDNi42MTgxNyA0LjgxOTIgNy4yNTAxMiA0LjE4NzI2IDguMDI5NjcgNC4xODcyNkM4Ljc3ODczIDQuMTg3MjYgOS4zOTE1MiA0Ljc3MDc1IDkuNDM4MjkgNS41MDgwMUM5LjQ1OTkyIDQuOTQ3MSA5LjkyMTQ3IDQuNDk5MDIgMTAuNDg3NyA0LjQ5OTAyQzExLjA2NzcgNC40OTkwMiAxMS41Mzc4IDQuOTY5MiAxMS41Mzc4IDUuNTQ5MTlWOC43NjI0NkwxMS41Mzc5IDYuNzExNUMxMS41Mzc5IDYuMDMwOTUgMTIuMDg5NiA1LjQ3OTI2IDEyLjc3MDIgNS40NzkyNkMxMy40NTA3IDUuNDc5MjYgMTQuMDAyNCA2LjAzMDk1IDE0LjAwMjQgNi43MTE1TDE0LjAwMjQgOC43NjI0NkwxNC4wMDI5IDguMDE5ODNDMTQuMDAyOSA3LjMzOTI5IDE0LjU1NDYgNi43ODc1OSAxNS4yMzUyIDYuNzg3NTlDMTUuOTE1NyA2Ljc4NzU5IDE2LjQ2NzQgNy4zMzkyOCAxNi40Njc0IDguMDE5ODNWMTEuNDk3TDE2LjQ2NzUgMTIuNDQ2N0MxNi40Njc1IDE0LjA4MjEgMTUuODA5NiAxNS42NDg3IDE0LjY0MiAxNi43OTM4VjE3LjMyNjJDMTQuNjQyIDE3Ljc4NjQgMTQuMjY4OSAxOC4xNTk1IDEzLjgwODcgMTguMTU5NUg4LjE3MzE3QzcuNzEyOTMgMTguMTU5NSA3LjMzOTg0IDE3Ljc4NjQgNy4zMzk4NCAxNy4zMjYyVjE1Ljk0MjRMNS4zNDU2MiAxNC43NTM0QzQuNTg5MjQgMTQuMzAyNCA0LjEyNTkxIDEzLjQ4NjcgNC4xMjU4OSAxMi42MDYxTDQuMTI1ODMgOS4yODM4M0M0LjEyNTgyIDguOTU0MjcgNC4zMjAwMyA4LjY1NTY2IDQuNjIxMjkgOC41MjIwNUw2LjYxODE3IDcuNjM2MzRWNS41OTg3NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3OCAzLjI0OTAyQzExLjI3OTYgMy4yNDkwMiAxMS45Nzc4IDMuNjQ5MDIgMTIuMzkxNyA0LjI1Nzk2QzEyLjUxNTEgNC4yMzkwNiAxMi42NDE2IDQuMjI5MjYgMTIuNzcwMyA0LjIyOTI2QzEzLjcyMjQgNC4yMjkyNiAxNC41NDkzIDQuNzY1MzEgMTQuOTY1NyA1LjU1MjA3QzE1LjA1NDMgNS41NDI1IDE1LjE0NDIgNS41Mzc1OSAxNS4yMzUzIDUuNTM3NTlDMTYuNjA2MiA1LjUzNzU5IDE3LjcxNzYgNi42NDg5MyAxNy43MTc2IDguMDE5ODNMMTcuNzE3NyAxMi40NDY3QzE3LjcxNzcgMTQuMjM1NSAxNy4wNjQ3IDE1Ljk1NTkgMTUuODkyMSAxNy4yOTA0VjE3LjMyNjJDMTUuODkyMSAxOC40NzY4IDE0Ljk1OTQgMTkuNDA5NSAxMy44MDg4IDE5LjQwOTVIOC4xNzMzMkM3LjAyMjczIDE5LjQwOTUgNi4wODk5OCAxOC40NzY4IDYuMDg5OTggMTcuMzI2MlYxNi42NTI0TDQuNzA1NjMgMTUuODI3QzMuNTcxMDYgMTUuMTUwNSAyLjg3NjA3IDEzLjkyNzEgMi44NzYwNCAxMi42MDYxTDIuODc1OTggOS4yODM4NUMyLjg3NTk2IDguNDU5OTYgMy4zNjE0OSA3LjcxMzQ1IDQuMTE0NjIgNy4zNzk0TDUuMzY4MzIgNi44MjMzM1Y1LjU5ODc1QzUuMzY4MzIgNC4xMjg4NSA2LjU1OTkxIDIuOTM3MjYgOC4wMjk4MiAyLjkzNzI2QzguNjA4MzEgMi45MzcyNiA5LjE0MzU1IDMuMTIxNyA5LjU4MDA1IDMuNDM1MDVDOS44NTg1MyAzLjMxNTMyIDEwLjE2NTQgMy4yNDkwMiAxMC40ODc4IDMuMjQ5MDJaTTEyLjQ0NzkgNS41MjE4NlY5LjQ3NTU3QzEyLjQ0NzkgOS43Mjc2MiAxMi4yNDM2IDkuOTMxOTUgMTEuOTkxNiA5LjkzMTk1QzExLjc1NjggOS45MzE5NSAxMS41NjM0IDkuNzU0NjUgMTEuNTM4IDkuNTI2NjNDMTEuNTM2MSA5LjUwOTg3IDExLjUzNTIgOS40OTI4MyAxMS41MzUyIDkuNDc1NTdWNS40NzE1OEMxMS41MTU0IDUuMjAwODMgMTEuMzkzIDQuOTU4NTggMTEuMjA2NiA0Ljc4MzU4QzExLjAxODggNC42MDcxMSAxMC43NjU5IDQuNDk5MDIgMTAuNDg3OCA0LjQ5OTAyQzEwLjQ3NjYgNC40OTkwMiAxMC40NjU0IDQuNDk5MTkgMTAuNDU0MiA0LjQ5OTU0QzkuOTAzNDcgNC41MTY4NCA5LjQ1OTY0IDQuOTU4MjQgOS40Mzg0NCA1LjUwODAxQzkuNDM4MiA1LjUwNDMgOS40Mzc5NSA1LjUwMDU4IDkuNDM3NjkgNS40OTY4OFY5LjkwMjQzQzkuNDM3NjkgMTAuMTU0NSA5LjIzMzM2IDEwLjM1ODggOC45ODEzMSAxMC4zNTg4QzguNzI5MjUgMTAuMzU4OCA4LjUyNDkyIDEwLjE1NDUgOC41MjQ5MiA5LjkwMjQzVjQuMjc2NTNDOC4zNzA4NiA0LjIxODgyIDguMjA0MDIgNC4xODcyNiA4LjAyOTgyIDQuMTg3MjZDNy4yNTAyNyA0LjE4NzI2IDYuNjE4MzIgNC44MTkyIDYuNjE4MzIgNS41OTg3NUw2LjYxODI3IDkuOTc1OTlDNi42MTgyNyAxMC4yMjggNi40MTM5NCAxMC40MzI0IDYuMTYxODkgMTAuNDMyNEM1LjkwOTgzIDEwLjQzMjQgNS43MDU1IDEwLjIyOCA1LjcwNTUgOS45NzU5OVY4LjA0MTIyTDQuNjIxNDQgOC41MjIwNUM0LjMyMDE4IDguNjU1NjYgNC4xMjU5NyA4Ljk1NDI3IDQuMTI1OTggOS4yODM4M0w0LjEyNjA0IDEyLjYwNjFDNC4xMjYwNiAxMy40ODY3IDQuNTg5MzkgMTQuMzAyNCA1LjM0NTc2IDE0Ljc1MzRMNy4zMzk5OCAxNS45NDI0VjE3LjMyNjJDNy4zMzk5OCAxNy43ODY0IDcuNzEzMDggMTguMTU5NSA4LjE3MzMyIDE4LjE1OTVIMTMuODA4OEMxNC4yNjkgMTguMTU5NSAxNC42NDIxIDE3Ljc4NjQgMTQuNjQyMSAxNy4zMjYyVjE2Ljc5MzhDMTUuNzM4MSAxNS43MTkgMTYuMzg1IDE0LjI3MjggMTYuNDYwMyAxMi43NDdDMTYuNDY0NiAxMi42NiAxNi40NjcgMTIuNTcyOCAxNi40Njc2IDEyLjQ4NTRMMTYuNDY3NyAxMi40NDY3TDE2LjQ2NzYgOC4wMTk4M0MxNi40Njc2IDcuMzQ1MDQgMTUuOTI1MiA2Ljc5NjkzIDE1LjI1MjUgNi43ODc3MUwxNS4yMzUzIDYuNzg3NTlDMTUuMTI1IDYuNzg3NTkgMTUuMDE4IDYuODAyMSAxNC45MTYyIDYuODI5MzFWOS42MDEzNkMxNC45MTYyIDkuODUzNDIgMTQuNzExOSAxMC4wNTc3IDE0LjQ1OTggMTAuMDU3N0MxNC4yMDc4IDEwLjA1NzcgMTQuMDAzNCA5Ljg1MzQxIDE0LjAwMzQgOS42MDEzNlY3Ljk4OTg1QzE0LjAwMzIgNy45OTk4MiAxNC4wMDMxIDguMDA5ODEgMTQuMDAzMSA4LjAxOTgzTDE0LjAwMzQgOS42MDEzNkwxNC4wMDI1IDYuNzExNUMxNC4wMDI1IDYuNDQ5NzQgMTMuOTIwOSA2LjIwNzA1IDEzLjc4MTggNi4wMDc0OEMxMy41NjIgNS42OTI0MiAxMy4xOTg5IDUuNDg0ODMgMTIuNzg3IDUuNDc5MzdMMTIuNzcwMyA1LjQ3OTI2QzEyLjY1ODggNS40NzkyNiAxMi41NTA3IDUuNDk0MDggMTIuNDQ3OSA1LjUyMTg2WiIgZmlsbD0iIzFEMUMyMyIvPgo8L3N2Zz4="), auto'
|
|
1169
1173
|
},
|
|
1170
|
-
fromNodeJSON(node, json) {
|
|
1171
|
-
initFormDataFromJSON(node, json);
|
|
1174
|
+
fromNodeJSON(node, json, isFirstCreate) {
|
|
1175
|
+
initFormDataFromJSON(node, json, isFirstCreate);
|
|
1172
1176
|
return;
|
|
1173
1177
|
},
|
|
1174
1178
|
toNodeJSON(node) {
|
|
@@ -1232,12 +1236,12 @@ var WorkflowLinesManager = class {
|
|
|
1232
1236
|
}
|
|
1233
1237
|
get lineColor() {
|
|
1234
1238
|
const color = {
|
|
1235
|
-
default: "
|
|
1236
|
-
error: "red" /* ERROR */,
|
|
1237
|
-
hidden: "transparent" /* HIDDEN */,
|
|
1238
|
-
drawing: "#5DD6E3" /* DRAWING */,
|
|
1239
|
-
hovered: "
|
|
1240
|
-
selected: "
|
|
1239
|
+
default: "var(--g-line-color-default,#4d53e8)" /* DEFUALT */,
|
|
1240
|
+
error: "var(--g-line-color-error,red)" /* ERROR */,
|
|
1241
|
+
hidden: "var(--g-line-color-hidden,transparent)" /* HIDDEN */,
|
|
1242
|
+
drawing: "var(--g-line-color-drawing, #5DD6E3)" /* DRAWING */,
|
|
1243
|
+
hovered: "var(--g-line-color-hover,#37d0ff)" /* HOVER */,
|
|
1244
|
+
selected: "var(--g-line-color-selected,#37d0ff)" /* SELECTED */
|
|
1241
1245
|
};
|
|
1242
1246
|
if (this.options.lineColor) {
|
|
1243
1247
|
Object.assign(color, this.options.lineColor);
|
|
@@ -1320,17 +1324,15 @@ var WorkflowLinesManager = class {
|
|
|
1320
1324
|
toNode?.removeLine(line);
|
|
1321
1325
|
line.validate();
|
|
1322
1326
|
});
|
|
1323
|
-
line.
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
})
|
|
1333
|
-
);
|
|
1327
|
+
line.onDispose(() => {
|
|
1328
|
+
if (available) {
|
|
1329
|
+
this.onAvailableLinesChangeEmitter.fire({
|
|
1330
|
+
type: "DELETE_LINE" /* DELETE_LINE */,
|
|
1331
|
+
toJSON: () => line.toJSON(),
|
|
1332
|
+
entity: line
|
|
1333
|
+
});
|
|
1334
|
+
}
|
|
1335
|
+
});
|
|
1334
1336
|
if (available) {
|
|
1335
1337
|
this.onAvailableLinesChangeEmitter.fire({
|
|
1336
1338
|
type: "ADD_LINE" /* ADD_LINE */,
|
|
@@ -1531,9 +1533,13 @@ WorkflowLinesManager = __decorateClass([
|
|
|
1531
1533
|
// src/workflow-document.ts
|
|
1532
1534
|
import { customAlphabet } from "nanoid";
|
|
1533
1535
|
import { inject as inject5, injectable as injectable5, optional, postConstruct } from "inversify";
|
|
1534
|
-
import {
|
|
1536
|
+
import { Emitter as Emitter4 } from "@flowgram.ai/utils";
|
|
1535
1537
|
import { NodeEngineContext } from "@flowgram.ai/form-core";
|
|
1536
|
-
import {
|
|
1538
|
+
import {
|
|
1539
|
+
FlowDocument,
|
|
1540
|
+
FlowNodeBaseType,
|
|
1541
|
+
FlowNodeTransformData as FlowNodeTransformData5
|
|
1542
|
+
} from "@flowgram.ai/document";
|
|
1537
1543
|
import {
|
|
1538
1544
|
injectPlaygroundContext,
|
|
1539
1545
|
PlaygroundConfigEntity as PlaygroundConfigEntity4,
|
|
@@ -1543,16 +1549,16 @@ import {
|
|
|
1543
1549
|
|
|
1544
1550
|
// src/layout/free-layout.ts
|
|
1545
1551
|
import { inject as inject4, injectable as injectable4 } from "inversify";
|
|
1546
|
-
import {
|
|
1547
|
-
FlowDocumentProvider,
|
|
1548
|
-
FlowNodeTransformData as FlowNodeTransformData4
|
|
1549
|
-
} from "@flowgram.ai/document";
|
|
1550
|
-
import { PlaygroundConfigEntity as PlaygroundConfigEntity3, TransformData as TransformData7 } from "@flowgram.ai/core";
|
|
1551
1552
|
import {
|
|
1552
1553
|
PaddingSchema,
|
|
1553
1554
|
Rectangle as Rectangle7,
|
|
1554
1555
|
SizeSchema as SizeSchema2
|
|
1555
1556
|
} from "@flowgram.ai/utils";
|
|
1557
|
+
import {
|
|
1558
|
+
FlowDocumentProvider,
|
|
1559
|
+
FlowNodeTransformData as FlowNodeTransformData4
|
|
1560
|
+
} from "@flowgram.ai/document";
|
|
1561
|
+
import { PlaygroundConfigEntity as PlaygroundConfigEntity3, TransformData as TransformData7 } from "@flowgram.ai/core";
|
|
1556
1562
|
var FREE_LAYOUT_KEY = "free-layout";
|
|
1557
1563
|
var FreeLayout = class {
|
|
1558
1564
|
constructor() {
|
|
@@ -1587,6 +1593,21 @@ var FreeLayout = class {
|
|
|
1587
1593
|
const parentTransform = node.parent.getData(FlowNodeTransformData4);
|
|
1588
1594
|
parentTransform.transform.fireChange();
|
|
1589
1595
|
}
|
|
1596
|
+
/**
|
|
1597
|
+
* 更新所有受影响的上下游节点
|
|
1598
|
+
*/
|
|
1599
|
+
updateAffectedTransform(node) {
|
|
1600
|
+
const transformData = node.transform;
|
|
1601
|
+
if (!transformData.localDirty) {
|
|
1602
|
+
return;
|
|
1603
|
+
}
|
|
1604
|
+
const allParents = this.getAllParents(node);
|
|
1605
|
+
const allBlocks = this.getAllBlocks(node).reverse();
|
|
1606
|
+
const affectedNodes = [...allBlocks, ...allParents];
|
|
1607
|
+
affectedNodes.forEach((node2) => {
|
|
1608
|
+
this.fireChange(node2);
|
|
1609
|
+
});
|
|
1610
|
+
}
|
|
1590
1611
|
/**
|
|
1591
1612
|
* 获取节点的 padding 数据
|
|
1592
1613
|
* @param node
|
|
@@ -1632,6 +1653,30 @@ var FreeLayout = class {
|
|
|
1632
1653
|
getDefaultNodeOrigin() {
|
|
1633
1654
|
return { x: 0.5, y: 0 };
|
|
1634
1655
|
}
|
|
1656
|
+
getAllParents(node) {
|
|
1657
|
+
const parents = [];
|
|
1658
|
+
let current = node.parent;
|
|
1659
|
+
while (current) {
|
|
1660
|
+
parents.push(current);
|
|
1661
|
+
current = current.parent;
|
|
1662
|
+
}
|
|
1663
|
+
return parents;
|
|
1664
|
+
}
|
|
1665
|
+
getAllBlocks(node) {
|
|
1666
|
+
return node.blocks.reduce(
|
|
1667
|
+
(acc, child) => [...acc, ...this.getAllBlocks(child)],
|
|
1668
|
+
[node]
|
|
1669
|
+
);
|
|
1670
|
+
}
|
|
1671
|
+
fireChange(node) {
|
|
1672
|
+
const transformData = node?.transform;
|
|
1673
|
+
if (!node || !transformData?.localDirty) {
|
|
1674
|
+
return;
|
|
1675
|
+
}
|
|
1676
|
+
node.clearMemoGlobal();
|
|
1677
|
+
node.clearMemoLocal();
|
|
1678
|
+
transformData.transform.fireChange();
|
|
1679
|
+
}
|
|
1635
1680
|
};
|
|
1636
1681
|
__decorateClass([
|
|
1637
1682
|
inject4(PlaygroundConfigEntity3)
|
|
@@ -1654,7 +1699,6 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1654
1699
|
this.onContentChange = this._onContentChangeEmitter.event;
|
|
1655
1700
|
this._onReloadEmitter = new Emitter4();
|
|
1656
1701
|
this.onReload = this._onReloadEmitter.event;
|
|
1657
|
-
this.disposed = false;
|
|
1658
1702
|
/**
|
|
1659
1703
|
* 数据加载完成
|
|
1660
1704
|
*/
|
|
@@ -1683,12 +1727,14 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1683
1727
|
});
|
|
1684
1728
|
}
|
|
1685
1729
|
async load() {
|
|
1730
|
+
if (this.disposed) return;
|
|
1686
1731
|
this._loading = true;
|
|
1687
1732
|
await super.load();
|
|
1688
1733
|
this._loading = false;
|
|
1689
1734
|
this.onLoadedEmitter.fire();
|
|
1690
1735
|
}
|
|
1691
1736
|
async reload(json, delayTime = 0) {
|
|
1737
|
+
if (this.disposed) return;
|
|
1692
1738
|
this._loading = true;
|
|
1693
1739
|
this.clear();
|
|
1694
1740
|
this.fromJSON(json);
|
|
@@ -1701,6 +1747,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1701
1747
|
* @param json
|
|
1702
1748
|
*/
|
|
1703
1749
|
fromJSON(json, fireRender = true) {
|
|
1750
|
+
if (this.disposed) return;
|
|
1704
1751
|
const workflowJSON = {
|
|
1705
1752
|
nodes: json.nodes ?? [],
|
|
1706
1753
|
edges: json.edges ?? []
|
|
@@ -1743,9 +1790,11 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1743
1790
|
const formData = getFlowNodeFormData(node);
|
|
1744
1791
|
const transform = node.getData(FlowNodeTransformData5);
|
|
1745
1792
|
const freeLayout = this.layout;
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1793
|
+
if (!isExistedNode) {
|
|
1794
|
+
transform.onDataChange(() => {
|
|
1795
|
+
freeLayout.syncTransform(node);
|
|
1796
|
+
});
|
|
1797
|
+
}
|
|
1749
1798
|
let { position } = meta;
|
|
1750
1799
|
if (!position) {
|
|
1751
1800
|
position = this.getNodeDefaultPosition(json.type);
|
|
@@ -1764,13 +1813,15 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1764
1813
|
});
|
|
1765
1814
|
}
|
|
1766
1815
|
const positionData = node.getData(PositionData);
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1816
|
+
if (!isExistedNode) {
|
|
1817
|
+
positionData.onDataChange(() => {
|
|
1818
|
+
this.fireContentChange({
|
|
1819
|
+
type: "MOVE_NODE" /* MOVE_NODE */,
|
|
1820
|
+
toJSON: () => positionData.toJSON(),
|
|
1821
|
+
entity: node
|
|
1822
|
+
});
|
|
1772
1823
|
});
|
|
1773
|
-
}
|
|
1824
|
+
}
|
|
1774
1825
|
const subCanvas = this.getNodeSubCanvas(node);
|
|
1775
1826
|
if (!isExistedNode && !subCanvas?.isCanvas) {
|
|
1776
1827
|
this.fireContentChange({
|
|
@@ -1778,26 +1829,24 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1778
1829
|
entity: node,
|
|
1779
1830
|
toJSON: () => this.toNodeJSON(node)
|
|
1780
1831
|
});
|
|
1781
|
-
node.
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
)
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
})
|
|
1800
|
-
);
|
|
1832
|
+
node.onDispose(() => {
|
|
1833
|
+
if (!node.parent || node.parent.flowNodeType === FlowNodeBaseType.ROOT) {
|
|
1834
|
+
return;
|
|
1835
|
+
}
|
|
1836
|
+
const parentTransform = node.parent.getData(FlowNodeTransformData5);
|
|
1837
|
+
parentTransform.fireChange();
|
|
1838
|
+
});
|
|
1839
|
+
let lastDeleteNodeData;
|
|
1840
|
+
node.preDispose.onDispose(() => {
|
|
1841
|
+
lastDeleteNodeData = this.toNodeJSON(node);
|
|
1842
|
+
});
|
|
1843
|
+
node.onDispose(() => {
|
|
1844
|
+
this.fireContentChange({
|
|
1845
|
+
type: "DELETE_NODE" /* DELETE_NODE */,
|
|
1846
|
+
entity: node,
|
|
1847
|
+
toJSON: () => lastDeleteNodeData
|
|
1848
|
+
});
|
|
1849
|
+
});
|
|
1801
1850
|
}
|
|
1802
1851
|
if (json.blocks) {
|
|
1803
1852
|
this.renderJSON(
|
|
@@ -1813,19 +1862,95 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
1813
1862
|
canvasTransform.update({
|
|
1814
1863
|
position: subCanvas.parentNode.getNodeMeta()?.canvasPosition
|
|
1815
1864
|
});
|
|
1816
|
-
|
|
1817
|
-
subCanvas.
|
|
1865
|
+
if (!isExistedNode) {
|
|
1866
|
+
subCanvas.parentNode.onDispose(() => {
|
|
1867
|
+
subCanvas.canvasNode.dispose();
|
|
1868
|
+
});
|
|
1869
|
+
subCanvas.canvasNode.onDispose(() => {
|
|
1870
|
+
subCanvas.parentNode.dispose();
|
|
1871
|
+
});
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
if (!isExistedNode) {
|
|
1875
|
+
this.onNodeCreateEmitter.fire({
|
|
1876
|
+
node,
|
|
1877
|
+
data: json,
|
|
1878
|
+
json
|
|
1818
1879
|
});
|
|
1819
|
-
|
|
1820
|
-
|
|
1880
|
+
} else {
|
|
1881
|
+
this.onNodeUpdateEmitter.fire({
|
|
1882
|
+
node,
|
|
1883
|
+
data: json,
|
|
1884
|
+
json
|
|
1821
1885
|
});
|
|
1822
1886
|
}
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1887
|
+
return node;
|
|
1888
|
+
}
|
|
1889
|
+
/**
|
|
1890
|
+
* 添加节点,如果节点已经存在则不会重复创建
|
|
1891
|
+
* @param data
|
|
1892
|
+
* @param addedNodes
|
|
1893
|
+
*/
|
|
1894
|
+
addNode(data, addedNodes, ignoreCreateAndUpdateEvent) {
|
|
1895
|
+
const { id, type = "block", originParent, parent, meta, hidden, index } = data;
|
|
1896
|
+
let node = this.getNode(id);
|
|
1897
|
+
let isNew = false;
|
|
1898
|
+
const register = this.getNodeRegistry(type, data.originParent);
|
|
1899
|
+
if (node && node.flowNodeType !== data.type) {
|
|
1900
|
+
node.dispose();
|
|
1901
|
+
node = void 0;
|
|
1902
|
+
}
|
|
1903
|
+
if (!node) {
|
|
1904
|
+
const { dataRegistries } = register;
|
|
1905
|
+
node = this.entityManager.createEntity(WorkflowNodeEntity, {
|
|
1906
|
+
id,
|
|
1907
|
+
document: this,
|
|
1908
|
+
flowNodeType: type,
|
|
1909
|
+
originParent,
|
|
1910
|
+
meta
|
|
1911
|
+
});
|
|
1912
|
+
const datas = dataRegistries ? this.nodeDataRegistries.concat(...dataRegistries) : this.nodeDataRegistries;
|
|
1913
|
+
node.addInitializeData(datas);
|
|
1914
|
+
node.onDispose(() => this.onNodeDisposeEmitter.fire({ node }));
|
|
1915
|
+
this.options.fromNodeJSON?.(node, data, true);
|
|
1916
|
+
isNew = true;
|
|
1917
|
+
} else {
|
|
1918
|
+
this.options.fromNodeJSON?.(node, data, false);
|
|
1919
|
+
}
|
|
1920
|
+
node.initData({
|
|
1921
|
+
originParent,
|
|
1922
|
+
parent,
|
|
1923
|
+
meta,
|
|
1924
|
+
hidden,
|
|
1925
|
+
index
|
|
1826
1926
|
});
|
|
1927
|
+
addedNodes?.push(node);
|
|
1928
|
+
if (register.onCreate) {
|
|
1929
|
+
const extendNodes = register.onCreate(node, data);
|
|
1930
|
+
if (extendNodes && addedNodes) {
|
|
1931
|
+
addedNodes.push(...extendNodes);
|
|
1932
|
+
}
|
|
1933
|
+
}
|
|
1934
|
+
if (!ignoreCreateAndUpdateEvent) {
|
|
1935
|
+
if (isNew) {
|
|
1936
|
+
this.onNodeCreateEmitter.fire({
|
|
1937
|
+
node,
|
|
1938
|
+
data,
|
|
1939
|
+
json: data
|
|
1940
|
+
});
|
|
1941
|
+
} else {
|
|
1942
|
+
this.onNodeUpdateEmitter.fire({ node, data, json: data });
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1827
1945
|
return node;
|
|
1828
1946
|
}
|
|
1947
|
+
get layout() {
|
|
1948
|
+
const layout = this.layouts.find((layout2) => layout2.name == this.currentLayoutKey);
|
|
1949
|
+
if (!layout) {
|
|
1950
|
+
throw new Error(`Unknown flow layout: ${this.currentLayoutKey}`);
|
|
1951
|
+
}
|
|
1952
|
+
return layout;
|
|
1953
|
+
}
|
|
1829
1954
|
/**
|
|
1830
1955
|
* 获取默认的 x y 坐标, 默认为当前画布可视区域中心
|
|
1831
1956
|
* @param type
|
|
@@ -2037,11 +2162,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2037
2162
|
};
|
|
2038
2163
|
}
|
|
2039
2164
|
dispose() {
|
|
2040
|
-
if (this.disposed) {
|
|
2041
|
-
return;
|
|
2042
|
-
}
|
|
2043
2165
|
super.dispose();
|
|
2044
|
-
this.disposed = true;
|
|
2045
2166
|
this._onReloadEmitter.dispose();
|
|
2046
2167
|
}
|
|
2047
2168
|
/**
|
|
@@ -2239,15 +2360,10 @@ var WorkflowDragService = class {
|
|
|
2239
2360
|
x: nodeStartPosition.x + offset.x,
|
|
2240
2361
|
y: nodeStartPosition.y + offset.y
|
|
2241
2362
|
};
|
|
2242
|
-
if (node.collapsedChildren?.length > 0) {
|
|
2243
|
-
node.collapsedChildren.forEach((childNode) => {
|
|
2244
|
-
const childNodeTransformData = childNode.getData(FlowNodeTransformData6);
|
|
2245
|
-
childNodeTransformData.fireChange();
|
|
2246
|
-
});
|
|
2247
|
-
}
|
|
2248
2363
|
transform.update({
|
|
2249
2364
|
position: newPosition
|
|
2250
2365
|
});
|
|
2366
|
+
this.document.layout.updateAffectedTransform(node);
|
|
2251
2367
|
positions.push(newPosition);
|
|
2252
2368
|
});
|
|
2253
2369
|
this._nodesDragEmitter.fire({
|
|
@@ -2768,18 +2884,14 @@ var layoutToPositions = async (nodes, nodePositionMap) => {
|
|
|
2768
2884
|
const transform = node.getData(TransformData10);
|
|
2769
2885
|
const deltaX = (nodePositionMap[node.id].x - transform.position.x) * v.d / 100;
|
|
2770
2886
|
const deltaY = (nodePositionMap[node.id].y - transform.bounds.height / 2 - transform.position.y) * v.d / 100;
|
|
2771
|
-
if (node.collapsedChildren?.length > 0) {
|
|
2772
|
-
node.collapsedChildren.forEach((childNode) => {
|
|
2773
|
-
const childNodeTransformData = childNode.getData(FlowNodeTransformData7);
|
|
2774
|
-
childNodeTransformData.fireChange();
|
|
2775
|
-
});
|
|
2776
|
-
}
|
|
2777
2887
|
transform.update({
|
|
2778
2888
|
position: {
|
|
2779
2889
|
x: transform.position.x + deltaX,
|
|
2780
2890
|
y: transform.position.y + deltaY
|
|
2781
2891
|
}
|
|
2782
2892
|
});
|
|
2893
|
+
const document2 = node.document;
|
|
2894
|
+
document2.layout.updateAffectedTransform(node);
|
|
2783
2895
|
});
|
|
2784
2896
|
},
|
|
2785
2897
|
onComplete: () => {
|