@flowgram.ai/free-layout-core 0.2.7 → 0.2.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.
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  LineColors,
13
13
  LineType
14
- } from "../chunk-PT4ZVDZZ.js";
14
+ } from "../chunk-6DKK25L7.js";
15
15
  import "../chunk-DDJTYHXN.js";
16
16
  import {
17
17
  WorkflowOperationBaseService
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  LineColors,
3
3
  LineType
4
- } from "../chunk-PT4ZVDZZ.js";
4
+ } from "../chunk-6DKK25L7.js";
5
5
  import "../chunk-EUXUH3YW.js";
6
6
  export {
7
7
  LineColors,
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-DSMjQU0t.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-DSMjQU0t.mjs';
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-VNz8dyPS.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-VNz8dyPS.js';
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
@@ -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"] = "#4d53e8";
1192
- LineColors2["DRAWING"] = "#5DD6E3";
1193
- LineColors2["HOVER"] = "#37d0ff";
1194
- LineColors2["ERROR"] = "red";
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
 
@@ -1302,12 +1303,12 @@ var WorkflowLinesManager = class {
1302
1303
  }
1303
1304
  get lineColor() {
1304
1305
  const color = {
1305
- default: "#4d53e8" /* DEFUALT */,
1306
- error: "red" /* ERROR */,
1307
- hidden: "transparent" /* HIDDEN */,
1308
- drawing: "#5DD6E3" /* DRAWING */,
1309
- hovered: "#37d0ff" /* HOVER */,
1310
- selected: "#37d0ff" /* HOVER */
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 */
1311
1312
  };
1312
1313
  if (this.options.lineColor) {
1313
1314
  Object.assign(color, this.options.lineColor);
@@ -1832,7 +1833,6 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
1832
1833
  parent
1833
1834
  },
1834
1835
  void 0,
1835
- true,
1836
1836
  true
1837
1837
  );
1838
1838
  const registry = node.getNodeRegistry();
@@ -1937,6 +1937,64 @@ var WorkflowDocument = class extends import_document7.FlowDocument {
1937
1937
  }
1938
1938
  return node;
1939
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
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
+ }
1996
+ return node;
1997
+ }
1940
1998
  get layout() {
1941
1999
  const layout = this.layouts.find((layout2) => layout2.name == this.currentLayoutKey);
1942
2000
  if (!layout) {