@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/typings/workflow-operation.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { IPoint, Event } from '@flowgram.ai/utils';\nimport {\n FlowNodeEntity,\n FlowNodeEntityOrId,\n FlowOperationBaseService,\n} from '@flowgram.ai/document';\n\nimport { WorkflowJSON } from './workflow-json';\n\nexport interface NodePostionUpdateEvent {\n node: FlowNodeEntity;\n oldPosition: IPoint;\n newPosition: IPoint;\n}\n\nexport interface WorkflowOperationBaseService extends FlowOperationBaseService {\n /**\n * 节点位置更新事件\n */\n readonly onNodePostionUpdate: Event<NodePostionUpdateEvent>;\n /**\n * 更新节点位置\n * @param nodeOrId\n * @param position\n * @returns\n */\n updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;\n\n /**\n * 更新节点与线条\n */\n fromJSON(json: WorkflowJSON): void;\n}\n\nexport const WorkflowOperationBaseService = Symbol('WorkflowOperationBaseService');\n"],"mappings":";AAuCO,IAAM,+BAA+B,OAAO,8BAA8B;","names":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import "./chunk-DDJTYHXN.js";
|
|
16
16
|
import {
|
|
17
17
|
WorkflowOperationBaseService
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3UW6BHP2.js";
|
|
19
19
|
import {
|
|
20
20
|
__decorateClass
|
|
21
21
|
} from "./chunk-EUXUH3YW.js";
|
|
@@ -1449,10 +1449,11 @@ function initFormDataFromJSON(node, json, isFirstCreate) {
|
|
|
1449
1449
|
// src/workflow-document-option.ts
|
|
1450
1450
|
var WorkflowDocumentOptions = Symbol("WorkflowDocumentOptions");
|
|
1451
1451
|
var WorkflowDocumentOptionsDefault = {
|
|
1452
|
-
cursors: {
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1452
|
+
// cursors: {
|
|
1453
|
+
// grab: 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC40ODczIDIuNjIzNzhDOS45MDczMSAyLjYyMzc4IDkuNDM3MTMgMy4wOTM5NiA5LjQzNzEzIDMuNjczOTZWNS4xNDM3NkM5LjM5NDI4IDQuNDAyNzQgOC43Nzk3OCAzLjgxNTA0IDguMDI4MDIgMy44MTUwNEM3LjI0ODQ4IDMuODE1MDQgNi42MTY1MyA0LjQ0Njk5IDYuNjE2NTMgNS4yMjY1M1YxMS44Mjg5TDUuNjc0MTggMTEuMDA0OUM1LjE1NDg3IDEwLjU1MDkgNC40MDk1IDEwLjQ2MzYgMy43OTkzOCAxMC43ODU1TDMuNjk2OTQgMTAuODM5NkMzLjA2MjE3IDExLjE3NDUgMi45MjI2IDEyLjAyMjggMy40MTY2MiAxMi41NDM0TDcuMzM5NTkgMTYuNjc3NVYxNy4zMjU5QzcuMzM5NTkgMTcuNzg2MiA3LjcxMjY5IDE4LjE1OTMgOC4xNzI5MiAxOC4xNTkzSDEzLjgwODRDMTQuMjY4NyAxOC4xNTkzIDE0LjY0MTcgMTcuNzg2MiAxNC42NDE3IDE3LjMyNTlWMTYuNzkzNUMxNS44MDk0IDE1LjY0ODUgMTYuNDY3MyAxNC4wODE5IDE2LjQ2NzMgMTIuNDQ2NVYxMS40OTY3TDE2LjQ2NzEgNi42MzY4NUMxNi40NjcxIDUuOTU2MyAxNS45MTU0IDUuNDA0NjEgMTUuMjM0OCA1LjQwNDYxQzE0LjU1NDMgNS40MDQ2MSAxNC4wMDI2IDUuOTU2MyAxNC4wMDI2IDYuNjM2ODVMMTQuMDAyMSA1LjA0NzI4QzE0LjAwMjEgNC4zNjY3MyAxMy40NTA0IDMuODE1MDQgMTIuNzY5OCAzLjgxNTA0QzEyLjA4OTMgMy44MTUwNCAxMS41Mzc2IDQuMzY2NzMgMTEuNTM3NiA1LjA0NzI4TDExLjUzNzUgMy42NzM5NUMxMS41Mzc1IDMuMDkzOTYgMTEuMDY3MyAyLjYyMzc4IDEwLjQ4NzMgMi42MjM3OFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3NCAxLjM3NDAyQzExLjM2MTIgMS4zNzQwMiAxMi4xMjExIDEuODYxMTggMTIuNTEwNSAyLjU3ODY4QzEyLjU5NTggMi41Njk4MyAxMi42ODIzIDIuNTY1MjggMTIuNzcgMi41NjUyOEMxMy44Mjc4IDIuNTY1MjggMTQuNzMxMSAzLjIyNzAxIDE1LjA4ODUgNC4xNTkxMUMxNS4xMzcgNC4xNTYyOSAxNS4xODU4IDQuMTU0ODYgMTUuMjM1IDQuMTU0ODZDMTYuNjA1OSA0LjE1NDg2IDE3LjcxNzIgNS4yNjYxOSAxNy43MTcyIDYuNjM3MDlMMTcuNzE3NCAxMi40NDY3QzE3LjcxNzQgMTQuMjM1NSAxNy4wNjQ0IDE1Ljk1NTkgMTUuODkxOSAxNy4yOTA0VjE3LjMyNjJDMTUuODkxOSAxOC40NzY4IDE0Ljk1OTEgMTkuNDA5NSAxMy44MDg1IDE5LjQwOTVIOC4xNzMwNkM3LjAyMjQ3IDE5LjQwOTUgNi4wODk3MyAxOC40NzY4IDYuMDg5NzMgMTcuMzI2MlYxNy4xNzY0TDIuNTEwMDMgMTMuNDA0MUMxLjQ0NTk5IDEyLjI4MjggMS43NDY2IDEwLjQ1NTUgMy4xMTM3OSA5LjczNDI0TDMuMjE2MjQgOS42ODAxOUMzLjg5MTY4IDkuMzIzODMgNC42NjE4NSA5LjI1NDAxIDUuMzY2NjYgOS40NTE5OFY1LjIyNjc4QzUuMzY2NjYgMy43NTY4NyA2LjU1ODI2IDIuNTY1MjggOC4wMjgxNiAyLjU2NTI4QzguMTcyOTMgMi41NjUyOCA4LjMxNDk5IDIuNTc2ODQgOC40NTM0NyAyLjU5OTA3QzguODM5NDMgMS44NzA0MiA5LjYwNTQ2IDEuMzc0MDIgMTAuNDg3NCAxLjM3NDAyWk0xMi40NDc2IDMuODU3ODdWOS40NzY0NkMxMi40NDc2IDkuNzI4NTIgMTIuMjQzMyA5LjkzMjg1IDExLjk5MTMgOS45MzI4NUMxMS43MzkyIDkuOTMyODUgMTEuNTM0OSA5LjcyODUyIDExLjUzNDkgOS40NzY0NlYzLjc5NjU1QzExLjUzNDkgMy43Nzk1NiAxMS41MzU4IDMuNzYyNzcgMTEuNTM3NiAzLjc0NjI2VjMuNjc0MkMxMS41Mzc2IDMuNDMyODIgMTEuNDU2MiAzLjIxMDQ2IDExLjMxOTMgMy4wMzMwOUMxMS4xMjcyIDIuNzg0MjggMTAuODI2MSAyLjYyNDAyIDEwLjQ4NzQgMi42MjQwMkMxMC4xMjM4IDIuNjI0MDIgOS44MDMzMiAyLjgwODg2IDkuNjE0ODMgMy4wODk3QzkuNTAyNjkgMy4yNTY3OSA5LjQzNzI2IDMuNDU3ODUgOS40MzcyNiAzLjY3NDJWMy43ODU3M0M5LjQzNzM1IDMuNzg5MzMgOS40MzczOSAzLjc5Mjk0IDkuNDM3MzkgMy43OTY1NVY5LjkwMTdDOS40MzczOSAxMC4xNTM3IDkuMjMzMDYgMTAuMzU4MSA4Ljk4MTAxIDEwLjM1ODFDOC43Mjg5NSAxMC4zNTgxIDguNTI0NjIgMTAuMTUzNyA4LjUyNDYyIDkuOTAxN1YzLjkwNTA3QzguNDE3NzMgMy44NjQ5IDguMzA0NjggMy44MzczMiA4LjE4NzI2IDMuODI0MTVDOC4xMzUwNCAzLjgxODI5IDguMDgxOTUgMy44MTUyOCA4LjAyODE2IDMuODE1MjhDNy4yNDg2MSAzLjgxNTI4IDYuNjE2NjYgNC40NDcyMyA2LjYxNjY2IDUuMjI2NzhWMTEuODI5Mkw1LjY3NDMxIDExLjAwNTJDNS41Nzg2OCAxMC45MjE2IDUuNDc1MzcgMTAuODUwNCA1LjM2NjY2IDEwLjc5MTlDNC44ODUwNiAxMC41MzI5IDQuMjk3MjggMTAuNTIzMSAzLjc5OTUyIDEwLjc4NThMMy42OTcwNyAxMC44Mzk4QzMuMDYyMzEgMTEuMTc0NyAyLjkyMjczIDEyLjAyMzEgMy40MTY3NSAxMi41NDM3TDcuMzM5NzMgMTYuNjc3N1YxNy4zMjYyQzcuMzM5NzMgMTcuNzg2NCA3LjcxMjgyIDE4LjE1OTUgOC4xNzMwNiAxOC4xNTk1SDEzLjgwODVDMTQuMjY4OCAxOC4xNTk1IDE0LjY0MTkgMTcuNzg2NCAxNC42NDE5IDE3LjMyNjJWMTYuNzkzOEMxNS43Mzc5IDE1LjcxOSAxNi4zODQ3IDE0LjI3MjggMTYuNDYgMTIuNzQ3QzE2LjQ2NDEgMTIuNjY0MSAxNi40NjY1IDEyLjU4MDkgMTYuNDY3MiAxMi40OTc1TDE2LjQ2NzQgMTIuNDQ2N0wxNi40NjcyIDYuNjM3MDlDMTYuNDY3MiA1Ljk2MjMgMTUuOTI0OCA1LjQxNDE5IDE1LjI1MjIgNS40MDQ5N0wxNS4yMzUgNS40MDQ4NkMxNS4xMjQ2IDUuNDA0ODYgMTUuMDE3NyA1LjQxOTM2IDE0LjkxNTkgNS40NDY1NlY5LjYwMjI2QzE0LjkxNTkgOS44NTQzMSAxNC43MTE2IDEwLjA1ODYgMTQuNDU5NSAxMC4wNTg2QzE0LjIwNzUgMTAuMDU4NiAxNC4wMDMxIDkuODU0MzEgMTQuMDAzMSA5LjYwMjI2VjYuNjA1MTRDMTQuMDAyOSA2LjYxNTc2IDE0LjAwMjcgNi42MjY0MSAxNC4wMDI3IDYuNjM3MDlWOS4yNzcwNUwxNC4wMDIyIDUuMDQ3NTJDMTQuMDAyMiA0Ljg2OTEzIDEzLjk2NDMgNC42OTk2IDEzLjg5NjEgNC41NDY1M0MxMy43MDY0IDQuMTIwNzIgMTMuMjgyMiAzLjgyMjM1IDEyLjc4NzYgMy44MTU0MUwxMi43NyAzLjgxNTI4QzEyLjY1ODQgMy44MTUyOCAxMi41NTA0IDMuODMwMSAxMi40NDc2IDMuODU3ODdaIiBmaWxsPSIjMUQxQzIzIi8+Cjwvc3ZnPg=="), auto',
|
|
1454
|
+
// grabbing:
|
|
1455
|
+
// 'url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjYxODE3IDUuNTk4NzVDNi42MTgxNyA0LjgxOTIgNy4yNTAxMiA0LjE4NzI2IDguMDI5NjcgNC4xODcyNkM4Ljc3ODczIDQuMTg3MjYgOS4zOTE1MiA0Ljc3MDc1IDkuNDM4MjkgNS41MDgwMUM5LjQ1OTkyIDQuOTQ3MSA5LjkyMTQ3IDQuNDk5MDIgMTAuNDg3NyA0LjQ5OTAyQzExLjA2NzcgNC40OTkwMiAxMS41Mzc4IDQuOTY5MiAxMS41Mzc4IDUuNTQ5MTlWOC43NjI0NkwxMS41Mzc5IDYuNzExNUMxMS41Mzc5IDYuMDMwOTUgMTIuMDg5NiA1LjQ3OTI2IDEyLjc3MDIgNS40NzkyNkMxMy40NTA3IDUuNDc5MjYgMTQuMDAyNCA2LjAzMDk1IDE0LjAwMjQgNi43MTE1TDE0LjAwMjQgOC43NjI0NkwxNC4wMDI5IDguMDE5ODNDMTQuMDAyOSA3LjMzOTI5IDE0LjU1NDYgNi43ODc1OSAxNS4yMzUyIDYuNzg3NTlDMTUuOTE1NyA2Ljc4NzU5IDE2LjQ2NzQgNy4zMzkyOCAxNi40Njc0IDguMDE5ODNWMTEuNDk3TDE2LjQ2NzUgMTIuNDQ2N0MxNi40Njc1IDE0LjA4MjEgMTUuODA5NiAxNS42NDg3IDE0LjY0MiAxNi43OTM4VjE3LjMyNjJDMTQuNjQyIDE3Ljc4NjQgMTQuMjY4OSAxOC4xNTk1IDEzLjgwODcgMTguMTU5NUg4LjE3MzE3QzcuNzEyOTMgMTguMTU5NSA3LjMzOTg0IDE3Ljc4NjQgNy4zMzk4NCAxNy4zMjYyVjE1Ljk0MjRMNS4zNDU2MiAxNC43NTM0QzQuNTg5MjQgMTQuMzAyNCA0LjEyNTkxIDEzLjQ4NjcgNC4xMjU4OSAxMi42MDYxTDQuMTI1ODMgOS4yODM4M0M0LjEyNTgyIDguOTU0MjcgNC4zMjAwMyA4LjY1NTY2IDQuNjIxMjkgOC41MjIwNUw2LjYxODE3IDcuNjM2MzRWNS41OTg3NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNDg3OCAzLjI0OTAyQzExLjI3OTYgMy4yNDkwMiAxMS45Nzc4IDMuNjQ5MDIgMTIuMzkxNyA0LjI1Nzk2QzEyLjUxNTEgNC4yMzkwNiAxMi42NDE2IDQuMjI5MjYgMTIuNzcwMyA0LjIyOTI2QzEzLjcyMjQgNC4yMjkyNiAxNC41NDkzIDQuNzY1MzEgMTQuOTY1NyA1LjU1MjA3QzE1LjA1NDMgNS41NDI1IDE1LjE0NDIgNS41Mzc1OSAxNS4yMzUzIDUuNTM3NTlDMTYuNjA2MiA1LjUzNzU5IDE3LjcxNzYgNi42NDg5MyAxNy43MTc2IDguMDE5ODNMMTcuNzE3NyAxMi40NDY3QzE3LjcxNzcgMTQuMjM1NSAxNy4wNjQ3IDE1Ljk1NTkgMTUuODkyMSAxNy4yOTA0VjE3LjMyNjJDMTUuODkyMSAxOC40NzY4IDE0Ljk1OTQgMTkuNDA5NSAxMy44MDg4IDE5LjQwOTVIOC4xNzMzMkM3LjAyMjczIDE5LjQwOTUgNi4wODk5OCAxOC40NzY4IDYuMDg5OTggMTcuMzI2MlYxNi42NTI0TDQuNzA1NjMgMTUuODI3QzMuNTcxMDYgMTUuMTUwNSAyLjg3NjA3IDEzLjkyNzEgMi44NzYwNCAxMi42MDYxTDIuODc1OTggOS4yODM4NUMyLjg3NTk2IDguNDU5OTYgMy4zNjE0OSA3LjcxMzQ1IDQuMTE0NjIgNy4zNzk0TDUuMzY4MzIgNi44MjMzM1Y1LjU5ODc1QzUuMzY4MzIgNC4xMjg4NSA2LjU1OTkxIDIuOTM3MjYgOC4wMjk4MiAyLjkzNzI2QzguNjA4MzEgMi45MzcyNiA5LjE0MzU1IDMuMTIxNyA5LjU4MDA1IDMuNDM1MDVDOS44NTg1MyAzLjMxNTMyIDEwLjE2NTQgMy4yNDkwMiAxMC40ODc4IDMuMjQ5MDJaTTEyLjQ0NzkgNS41MjE4NlY5LjQ3NTU3QzEyLjQ0NzkgOS43Mjc2MiAxMi4yNDM2IDkuOTMxOTUgMTEuOTkxNiA5LjkzMTk1QzExLjc1NjggOS45MzE5NSAxMS41NjM0IDkuNzU0NjUgMTEuNTM4IDkuNTI2NjNDMTEuNTM2MSA5LjUwOTg3IDExLjUzNTIgOS40OTI4MyAxMS41MzUyIDkuNDc1NTdWNS40NzE1OEMxMS41MTU0IDUuMjAwODMgMTEuMzkzIDQuOTU4NTggMTEuMjA2NiA0Ljc4MzU4QzExLjAxODggNC42MDcxMSAxMC43NjU5IDQuNDk5MDIgMTAuNDg3OCA0LjQ5OTAyQzEwLjQ3NjYgNC40OTkwMiAxMC40NjU0IDQuNDk5MTkgMTAuNDU0MiA0LjQ5OTU0QzkuOTAzNDcgNC41MTY4NCA5LjQ1OTY0IDQuOTU4MjQgOS40Mzg0NCA1LjUwODAxQzkuNDM4MiA1LjUwNDMgOS40Mzc5NSA1LjUwMDU4IDkuNDM3NjkgNS40OTY4OFY5LjkwMjQzQzkuNDM3NjkgMTAuMTU0NSA5LjIzMzM2IDEwLjM1ODggOC45ODEzMSAxMC4zNTg4QzguNzI5MjUgMTAuMzU4OCA4LjUyNDkyIDEwLjE1NDUgOC41MjQ5MiA5LjkwMjQzVjQuMjc2NTNDOC4zNzA4NiA0LjIxODgyIDguMjA0MDIgNC4xODcyNiA4LjAyOTgyIDQuMTg3MjZDNy4yNTAyNyA0LjE4NzI2IDYuNjE4MzIgNC44MTkyIDYuNjE4MzIgNS41OTg3NUw2LjYxODI3IDkuOTc1OTlDNi42MTgyNyAxMC4yMjggNi40MTM5NCAxMC40MzI0IDYuMTYxODkgMTAuNDMyNEM1LjkwOTgzIDEwLjQzMjQgNS43MDU1IDEwLjIyOCA1LjcwNTUgOS45NzU5OVY4LjA0MTIyTDQuNjIxNDQgOC41MjIwNUM0LjMyMDE4IDguNjU1NjYgNC4xMjU5NyA4Ljk1NDI3IDQuMTI1OTggOS4yODM4M0w0LjEyNjA0IDEyLjYwNjFDNC4xMjYwNiAxMy40ODY3IDQuNTg5MzkgMTQuMzAyNCA1LjM0NTc2IDE0Ljc1MzRMNy4zMzk5OCAxNS45NDI0VjE3LjMyNjJDNy4zMzk5OCAxNy43ODY0IDcuNzEzMDggMTguMTU5NSA4LjE3MzMyIDE4LjE1OTVIMTMuODA4OEMxNC4yNjkgMTguMTU5NSAxNC42NDIxIDE3Ljc4NjQgMTQuNjQyMSAxNy4zMjYyVjE2Ljc5MzhDMTUuNzM4MSAxNS43MTkgMTYuMzg1IDE0LjI3MjggMTYuNDYwMyAxMi43NDdDMTYuNDY0NiAxMi42NiAxNi40NjcgMTIuNTcyOCAxNi40Njc2IDEyLjQ4NTRMMTYuNDY3NyAxMi40NDY3TDE2LjQ2NzYgOC4wMTk4M0MxNi40Njc2IDcuMzQ1MDQgMTUuOTI1MiA2Ljc5NjkzIDE1LjI1MjUgNi43ODc3MUwxNS4yMzUzIDYuNzg3NTlDMTUuMTI1IDYuNzg3NTkgMTUuMDE4IDYuODAyMSAxNC45MTYyIDYuODI5MzFWOS42MDEzNkMxNC45MTYyIDkuODUzNDIgMTQuNzExOSAxMC4wNTc3IDE0LjQ1OTggMTAuMDU3N0MxNC4yMDc4IDEwLjA1NzcgMTQuMDAzNCA5Ljg1MzQxIDE0LjAwMzQgOS42MDEzNlY3Ljk4OTg1QzE0LjAwMzIgNy45OTk4MiAxNC4wMDMxIDguMDA5ODEgMTQuMDAzMSA4LjAxOTgzTDE0LjAwMzQgOS42MDEzNkwxNC4wMDI1IDYuNzExNUMxNC4wMDI1IDYuNDQ5NzQgMTMuOTIwOSA2LjIwNzA1IDEzLjc4MTggNi4wMDc0OEMxMy41NjIgNS42OTI0MiAxMy4xOTg5IDUuNDg0ODMgMTIuNzg3IDUuNDc5MzdMMTIuNzcwMyA1LjQ3OTI2QzEyLjY1ODggNS40NzkyNiAxMi41NTA3IDUuNDk0MDggMTIuNDQ3OSA1LjUyMTg2WiIgZmlsbD0iIzFEMUMyMyIvPgo8L3N2Zz4="), auto',
|
|
1456
|
+
// },
|
|
1456
1457
|
fromNodeJSON(node, json, isFirstCreate) {
|
|
1457
1458
|
initFormDataFromJSON(node, json, isFirstCreate);
|
|
1458
1459
|
return;
|
|
@@ -2056,6 +2057,9 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2056
2057
|
this._loading = false;
|
|
2057
2058
|
this.onLoadedEmitter.fire();
|
|
2058
2059
|
}
|
|
2060
|
+
/**
|
|
2061
|
+
* @deprecated use `ctx.operation.fromJSON` instead
|
|
2062
|
+
*/
|
|
2059
2063
|
async reload(json, delayTime = 0) {
|
|
2060
2064
|
if (this.disposed) return;
|
|
2061
2065
|
this._loading = true;
|
|
@@ -2076,7 +2080,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2076
2080
|
edges: json.edges ?? []
|
|
2077
2081
|
};
|
|
2078
2082
|
this.entityManager.changeEntityLocked = true;
|
|
2079
|
-
this.
|
|
2083
|
+
this.batchAddFromJSON(workflowJSON);
|
|
2080
2084
|
this.entityManager.changeEntityLocked = false;
|
|
2081
2085
|
this.transformer.loading = false;
|
|
2082
2086
|
if (fireRender) {
|
|
@@ -2096,9 +2100,17 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2096
2100
|
* 创建流程节点
|
|
2097
2101
|
* @param json
|
|
2098
2102
|
*/
|
|
2099
|
-
createWorkflowNode(json, isClone = false,
|
|
2103
|
+
createWorkflowNode(json, isClone = false, parentID) {
|
|
2104
|
+
return this._createWorkflowNode(json, { parentID });
|
|
2105
|
+
}
|
|
2106
|
+
/**
|
|
2107
|
+
* 创建流程节点
|
|
2108
|
+
* @param json
|
|
2109
|
+
*/
|
|
2110
|
+
_createWorkflowNode(json, options) {
|
|
2111
|
+
const { parentID, onNodeCreated, onEdgeCreated } = options ?? {};
|
|
2100
2112
|
const isExistedNode = this.getNode(json.id);
|
|
2101
|
-
const parent = this.getNode(
|
|
2113
|
+
const parent = this.getNode(parentID ?? this.root.id) ?? this.root;
|
|
2102
2114
|
const node = this.addNode(
|
|
2103
2115
|
{
|
|
2104
2116
|
...json,
|
|
@@ -2125,15 +2137,19 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2125
2137
|
node.getData(TransformData7).update({
|
|
2126
2138
|
position
|
|
2127
2139
|
});
|
|
2128
|
-
if (formMeta && formData
|
|
2129
|
-
formData.
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2140
|
+
if (formMeta && formData) {
|
|
2141
|
+
if (!formData.formModel.initialized) {
|
|
2142
|
+
formData.createForm(formMeta, json.data);
|
|
2143
|
+
formData.onDataChange(() => {
|
|
2144
|
+
this.fireContentChange({
|
|
2145
|
+
type: "NODE_DATA_CHANGE" /* NODE_DATA_CHANGE */,
|
|
2146
|
+
toJSON: () => formData.toJSON(),
|
|
2147
|
+
entity: node
|
|
2148
|
+
});
|
|
2135
2149
|
});
|
|
2136
|
-
}
|
|
2150
|
+
} else {
|
|
2151
|
+
formData.updateFormValues(json.data);
|
|
2152
|
+
}
|
|
2137
2153
|
}
|
|
2138
2154
|
const positionData = node.getData(PositionData);
|
|
2139
2155
|
if (!isExistedNode) {
|
|
@@ -2172,11 +2188,12 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2172
2188
|
});
|
|
2173
2189
|
}
|
|
2174
2190
|
if (json.blocks) {
|
|
2175
|
-
this.
|
|
2191
|
+
this.batchAddFromJSON(
|
|
2176
2192
|
{ nodes: json.blocks, edges: json.edges ?? [] },
|
|
2177
2193
|
{
|
|
2178
2194
|
parent: node,
|
|
2179
|
-
|
|
2195
|
+
onNodeCreated,
|
|
2196
|
+
onEdgeCreated
|
|
2180
2197
|
}
|
|
2181
2198
|
);
|
|
2182
2199
|
}
|
|
@@ -2308,7 +2325,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2308
2325
|
throw new Error(`[WorkflowDocument.createWorkflowNodeByType] Node Id "${id}" duplicated.`);
|
|
2309
2326
|
}
|
|
2310
2327
|
}
|
|
2311
|
-
return this.
|
|
2328
|
+
return this._createWorkflowNode(
|
|
2312
2329
|
{
|
|
2313
2330
|
...json,
|
|
2314
2331
|
id,
|
|
@@ -2319,13 +2336,15 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2319
2336
|
blocks: json?.blocks,
|
|
2320
2337
|
edges: json?.edges
|
|
2321
2338
|
},
|
|
2322
|
-
|
|
2323
|
-
parentID
|
|
2339
|
+
{ parentID }
|
|
2324
2340
|
);
|
|
2325
2341
|
}
|
|
2326
2342
|
getAllNodes() {
|
|
2327
2343
|
return this.entityManager.getEntities(WorkflowNodeEntity).filter((n) => n.id !== FlowNodeBaseType2.ROOT);
|
|
2328
2344
|
}
|
|
2345
|
+
getAllEdges() {
|
|
2346
|
+
return this.entityManager.getEntities(WorkflowLineEntity);
|
|
2347
|
+
}
|
|
2329
2348
|
getAllPorts() {
|
|
2330
2349
|
return this.entityManager.getEntities(WorkflowPortEntity).filter((p) => p.node.id !== FlowNodeBaseType2.ROOT);
|
|
2331
2350
|
}
|
|
@@ -2426,7 +2445,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2426
2445
|
x: json.meta.position.x + 30,
|
|
2427
2446
|
y: json.meta.position.y + 30
|
|
2428
2447
|
};
|
|
2429
|
-
return this.
|
|
2448
|
+
return this._createWorkflowNode(
|
|
2430
2449
|
{
|
|
2431
2450
|
id: newNodeId || `1${nanoid2()}`,
|
|
2432
2451
|
type: node.flowNodeType,
|
|
@@ -2438,16 +2457,17 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2438
2457
|
blocks: json.blocks,
|
|
2439
2458
|
edges: json.edges
|
|
2440
2459
|
},
|
|
2441
|
-
|
|
2442
|
-
|
|
2460
|
+
{
|
|
2461
|
+
parentID: node.parent?.id
|
|
2462
|
+
}
|
|
2443
2463
|
);
|
|
2444
2464
|
}
|
|
2445
|
-
copyNodeFromJSON(flowNodeType, nodeJSON, newNodeId, position,
|
|
2465
|
+
copyNodeFromJSON(flowNodeType, nodeJSON, newNodeId, position, parentID) {
|
|
2446
2466
|
position = position || {
|
|
2447
2467
|
x: nodeJSON.meta.position.x + 30,
|
|
2448
2468
|
y: nodeJSON.meta.position.y + 30
|
|
2449
2469
|
};
|
|
2450
|
-
return this.
|
|
2470
|
+
return this._createWorkflowNode(
|
|
2451
2471
|
{
|
|
2452
2472
|
id: newNodeId || `1${nanoid2()}`,
|
|
2453
2473
|
type: flowNodeType,
|
|
@@ -2459,8 +2479,9 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2459
2479
|
blocks: nodeJSON.blocks,
|
|
2460
2480
|
edges: nodeJSON.edges
|
|
2461
2481
|
},
|
|
2462
|
-
|
|
2463
|
-
|
|
2482
|
+
{
|
|
2483
|
+
parentID
|
|
2484
|
+
}
|
|
2464
2485
|
);
|
|
2465
2486
|
}
|
|
2466
2487
|
canRemove(node, silent) {
|
|
@@ -2515,13 +2536,17 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2515
2536
|
* 批量添加节点
|
|
2516
2537
|
*/
|
|
2517
2538
|
batchAddFromJSON(json, options) {
|
|
2518
|
-
const { parent = this.root
|
|
2519
|
-
const
|
|
2539
|
+
const { parent = this.root } = options ?? {};
|
|
2540
|
+
const parentID = this.getNodeSubCanvas(parent)?.canvasNode.id ?? parent.id;
|
|
2520
2541
|
const processedJSON = buildGroupJSON(json);
|
|
2521
2542
|
const nodes = processedJSON.nodes.map(
|
|
2522
|
-
(nodeJSON) => this.
|
|
2543
|
+
(nodeJSON) => this._createWorkflowNode(nodeJSON, {
|
|
2544
|
+
parentID
|
|
2545
|
+
})
|
|
2523
2546
|
);
|
|
2524
|
-
const edges = processedJSON.edges.map((edge) => this.createWorkflowLine(edge,
|
|
2547
|
+
const edges = processedJSON.edges.map((edge) => this.createWorkflowLine(edge, parentID)).filter(Boolean);
|
|
2548
|
+
nodes.forEach((node) => options?.onNodeCreated?.(node));
|
|
2549
|
+
edges.forEach((edge) => options?.onEdgeCreated?.(edge));
|
|
2525
2550
|
return { nodes, edges };
|
|
2526
2551
|
}
|
|
2527
2552
|
getNodeSubCanvas(node) {
|
|
@@ -2570,7 +2595,7 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2570
2595
|
}
|
|
2571
2596
|
return lineJSON;
|
|
2572
2597
|
}
|
|
2573
|
-
createWorkflowLine(json,
|
|
2598
|
+
createWorkflowLine(json, parentID) {
|
|
2574
2599
|
const fromNode = this.getNode(json.sourceNodeID);
|
|
2575
2600
|
const toNode = this.getNode(json.targetNodeID);
|
|
2576
2601
|
if (!fromNode || !toNode) {
|
|
@@ -2583,10 +2608,10 @@ var WorkflowDocument = class extends FlowDocument {
|
|
|
2583
2608
|
toPort: json.targetPortID,
|
|
2584
2609
|
data: json.data
|
|
2585
2610
|
};
|
|
2586
|
-
if (!
|
|
2611
|
+
if (!parentID) {
|
|
2587
2612
|
return this.linesManager.createLine(lineInfo);
|
|
2588
2613
|
}
|
|
2589
|
-
const canvasNode = this.getNode(
|
|
2614
|
+
const canvasNode = this.getNode(parentID);
|
|
2590
2615
|
if (!canvasNode) {
|
|
2591
2616
|
return this.linesManager.createLine(lineInfo);
|
|
2592
2617
|
}
|
|
@@ -3531,10 +3556,57 @@ var WorkflowOperationBaseServiceImpl = class extends FlowOperationBaseServiceImp
|
|
|
3531
3556
|
newPosition: position
|
|
3532
3557
|
});
|
|
3533
3558
|
}
|
|
3559
|
+
fromJSON(json) {
|
|
3560
|
+
if (this.document.disposed) return;
|
|
3561
|
+
const workflowJSON = {
|
|
3562
|
+
nodes: json.nodes ?? [],
|
|
3563
|
+
edges: json.edges ?? []
|
|
3564
|
+
};
|
|
3565
|
+
const oldNodes = this.document.getAllNodes();
|
|
3566
|
+
const oldPositionMap = new Map(
|
|
3567
|
+
oldNodes.map((node) => [
|
|
3568
|
+
node.id,
|
|
3569
|
+
{
|
|
3570
|
+
x: node.transform.transform.position.x,
|
|
3571
|
+
y: node.transform.transform.position.y
|
|
3572
|
+
}
|
|
3573
|
+
])
|
|
3574
|
+
);
|
|
3575
|
+
const newNodes = [];
|
|
3576
|
+
const newEdges = [];
|
|
3577
|
+
this.linesManager.getAllLines().map((line) => line.dispose());
|
|
3578
|
+
this.document.batchAddFromJSON(workflowJSON, {
|
|
3579
|
+
onNodeCreated: (node) => newNodes.push(node),
|
|
3580
|
+
onEdgeCreated: (edge) => newEdges.push(edge)
|
|
3581
|
+
});
|
|
3582
|
+
const newNodeIDSet = new Set(newNodes.map((node) => node.id));
|
|
3583
|
+
oldNodes.forEach((node) => {
|
|
3584
|
+
if (!newNodeIDSet.has(node.id)) {
|
|
3585
|
+
node.dispose();
|
|
3586
|
+
return;
|
|
3587
|
+
}
|
|
3588
|
+
const oldPosition = oldPositionMap.get(node.id);
|
|
3589
|
+
const newPosition = {
|
|
3590
|
+
x: node.transform.transform.position.x,
|
|
3591
|
+
y: node.transform.transform.position.y
|
|
3592
|
+
};
|
|
3593
|
+
if (oldPosition && (oldPosition.x !== newPosition.x || oldPosition.y !== newPosition.y)) {
|
|
3594
|
+
this.onNodePostionUpdateEmitter.fire({
|
|
3595
|
+
node,
|
|
3596
|
+
oldPosition,
|
|
3597
|
+
newPosition
|
|
3598
|
+
});
|
|
3599
|
+
}
|
|
3600
|
+
});
|
|
3601
|
+
this.document.fireRender();
|
|
3602
|
+
}
|
|
3534
3603
|
};
|
|
3535
3604
|
__decorateClass([
|
|
3536
3605
|
inject8(WorkflowDocument)
|
|
3537
3606
|
], WorkflowOperationBaseServiceImpl.prototype, "document", 2);
|
|
3607
|
+
__decorateClass([
|
|
3608
|
+
inject8(WorkflowLinesManager)
|
|
3609
|
+
], WorkflowOperationBaseServiceImpl.prototype, "linesManager", 2);
|
|
3538
3610
|
|
|
3539
3611
|
// src/hooks/use-playground-readonly-state.ts
|
|
3540
3612
|
import { useEffect } from "react";
|
|
@@ -3632,8 +3704,8 @@ function useNodeRender(nodeFromProps) {
|
|
|
3632
3704
|
}, []);
|
|
3633
3705
|
const getExtInfo = useCallback(() => node.getExtInfo(), [node]);
|
|
3634
3706
|
const updateExtInfo = useCallback(
|
|
3635
|
-
(data) => {
|
|
3636
|
-
node.updateExtInfo(data);
|
|
3707
|
+
(data, fullUpdate) => {
|
|
3708
|
+
node.updateExtInfo(data, fullUpdate);
|
|
3637
3709
|
},
|
|
3638
3710
|
[node]
|
|
3639
3711
|
);
|
|
@@ -3668,7 +3740,7 @@ function useNodeRender(nodeFromProps) {
|
|
|
3668
3740
|
if (form) {
|
|
3669
3741
|
form.updateFormValues(values);
|
|
3670
3742
|
} else {
|
|
3671
|
-
updateExtInfo(values);
|
|
3743
|
+
updateExtInfo(values, true);
|
|
3672
3744
|
}
|
|
3673
3745
|
},
|
|
3674
3746
|
node,
|