@flowgram.ai/free-layout-core 0.2.9 → 0.2.11

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.
@@ -0,0 +1,22 @@
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-workflow-line-color-hidden,transparent)";
9
+ LineColors2["DEFUALT"] = "var(--g-workflow-line-color-default,#4d53e8)";
10
+ LineColors2["DRAWING"] = "var(--g-workflow-line-color-drawing, #5DD6E3)";
11
+ LineColors2["HOVER"] = "var(--g-workflow-line-color-hover,#37d0ff)";
12
+ LineColors2["SELECTED"] = "var(--g-workflow-line-color-selected,#37d0ff)";
13
+ LineColors2["ERROR"] = "var(--g-workflow-line-color-error,red)";
14
+ LineColors2["FLOWING"] = "var(--g-workflow-line-color-flowing,#4d53e8)";
15
+ return LineColors2;
16
+ })(LineColors || {});
17
+
18
+ export {
19
+ LineType,
20
+ LineColors
21
+ };
22
+ //# sourceMappingURL=chunk-BJKYSQMI.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 flowing: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'var(--g-workflow-line-color-hidden,transparent)', // 隐藏线条\n DEFUALT = 'var(--g-workflow-line-color-default,#4d53e8)',\n DRAWING = 'var(--g-workflow-line-color-drawing, #5DD6E3)', // '#b5bbf8', // '#9197F1',\n HOVER = 'var(--g-workflow-line-color-hover,#37d0ff)',\n SELECTED = 'var(--g-workflow-line-color-selected,#37d0ff)',\n ERROR = 'var(--g-workflow-line-color-error,red)',\n FLOWING = 'var(--g-workflow-line-color-flowing,#4d53e8)', // 流动线条,默认使用主题色\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;AAsBL,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;AACR,EAAAA,YAAA,aAAU;AAPA,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-6DKK25L7.js";
14
+ } from "./chunk-BJKYSQMI.js";
15
15
  import "./chunk-DDJTYHXN.js";
16
16
  import {
17
17
  WorkflowOperationBaseService
@@ -52,7 +52,12 @@ import { useCallback, useEffect as useEffect2, useRef, useState, useContext, use
52
52
  import { useObserve } from "@flowgram.ai/reactive";
53
53
  import { getNodeForm } from "@flowgram.ai/node";
54
54
  import { FlowNodeRenderData as FlowNodeRenderData3 } from "@flowgram.ai/document";
55
- import { PlaygroundEntityContext, useListenEvents, useService } from "@flowgram.ai/core";
55
+ import {
56
+ MouseTouchEvent as MouseTouchEvent2,
57
+ PlaygroundEntityContext,
58
+ useListenEvents,
59
+ useService
60
+ } from "@flowgram.ai/core";
56
61
 
57
62
  // src/service/workflow-select-service.ts
58
63
  import { inject, injectable } from "inversify";
@@ -1048,7 +1053,9 @@ import { EntityManager } from "@flowgram.ai/core";
1048
1053
  var WorkflowHoverService = class {
1049
1054
  constructor() {
1050
1055
  this.onHoveredChangeEmitter = new Emitter2();
1056
+ this.onUpdateHoverPositionEmitter = new Emitter2();
1051
1057
  this.onHoveredChange = this.onHoveredChangeEmitter.event;
1058
+ this.onUpdateHoverPosition = this.onUpdateHoverPositionEmitter.event;
1052
1059
  // 当前鼠标 hover 位置
1053
1060
  this.hoveredPos = { x: 0, y: 0 };
1054
1061
  /**
@@ -1068,6 +1075,13 @@ var WorkflowHoverService = class {
1068
1075
  this.onHoveredChangeEmitter.fire(hoveredKey);
1069
1076
  }
1070
1077
  }
1078
+ updateHoverPosition(position, target) {
1079
+ this.hoveredPos = position;
1080
+ this.onUpdateHoverPositionEmitter.fire({
1081
+ position,
1082
+ target
1083
+ });
1084
+ }
1071
1085
  /**
1072
1086
  * 清空 hover 内容
1073
1087
  */
@@ -1117,6 +1131,7 @@ import {
1117
1131
  import { FlowNodeBaseType as FlowNodeBaseType2 } from "@flowgram.ai/document";
1118
1132
  import {
1119
1133
  CommandService,
1134
+ MouseTouchEvent,
1120
1135
  PlaygroundConfigEntity as PlaygroundConfigEntity5,
1121
1136
  PlaygroundDrag,
1122
1137
  TransformData as TransformData9
@@ -1236,12 +1251,13 @@ var WorkflowLinesManager = class {
1236
1251
  }
1237
1252
  get lineColor() {
1238
1253
  const color = {
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 */
1254
+ default: "var(--g-workflow-line-color-default,#4d53e8)" /* DEFUALT */,
1255
+ error: "var(--g-workflow-line-color-error,red)" /* ERROR */,
1256
+ hidden: "var(--g-workflow-line-color-hidden,transparent)" /* HIDDEN */,
1257
+ drawing: "var(--g-workflow-line-color-drawing, #5DD6E3)" /* DRAWING */,
1258
+ hovered: "var(--g-workflow-line-color-hover,#37d0ff)" /* HOVER */,
1259
+ selected: "var(--g-workflow-line-color-selected,#37d0ff)" /* SELECTED */,
1260
+ flowing: "var(--g-workflow-line-color-flowing,#4d53e8)" /* FLOWING */
1245
1261
  };
1246
1262
  if (this.options.lineColor) {
1247
1263
  Object.assign(color, this.options.lineColor);
@@ -1433,6 +1449,9 @@ var WorkflowLinesManager = class {
1433
1449
  if (this.selectService.isSelected(line.id)) {
1434
1450
  return this.lineColor.selected;
1435
1451
  }
1452
+ if (this.isFlowingLine(line)) {
1453
+ return this.lineColor.flowing;
1454
+ }
1436
1455
  return this.lineColor.default;
1437
1456
  }
1438
1457
  canAddLine(fromPort, toPort, silent) {
@@ -2388,7 +2407,8 @@ var WorkflowDragService = class {
2388
2407
  });
2389
2408
  }
2390
2409
  });
2391
- return dragger.start(triggerEvent.clientX, triggerEvent.clientY, this.playgroundConfig)?.then(() => dragSuccess);
2410
+ const { clientX, clientY } = MouseTouchEvent.getEventCoord(triggerEvent);
2411
+ return dragger.start(clientX, clientY, this.playgroundConfig)?.then(() => dragSuccess);
2392
2412
  }
2393
2413
  /**
2394
2414
  * 通过拖入卡片添加
@@ -2798,7 +2818,8 @@ var WorkflowDragService = class {
2798
2818
  }
2799
2819
  }
2800
2820
  });
2801
- await dragger.start(event.clientX, event.clientY, config);
2821
+ const { clientX, clientY } = MouseTouchEvent.getEventCoord(event);
2822
+ await dragger.start(clientX, clientY, config);
2802
2823
  return deferred.promise;
2803
2824
  }
2804
2825
  /**
@@ -3040,12 +3061,14 @@ function useNodeRender(nodeFromProps) {
3040
3061
  }, []);
3041
3062
  const startDrag = useCallback(
3042
3063
  (e) => {
3043
- e.preventDefault();
3064
+ MouseTouchEvent2.preventDefault(e);
3044
3065
  if (!selectionService.isSelected(node.id)) {
3045
3066
  selectNode(e);
3046
3067
  }
3047
- if (!checkTargetDraggable(e.target) || !checkTargetDraggable(document.activeElement)) {
3048
- return;
3068
+ if (!MouseTouchEvent2.isTouchEvent(e)) {
3069
+ if (!checkTargetDraggable(e.target) || !checkTargetDraggable(document.activeElement)) {
3070
+ return;
3071
+ }
3049
3072
  }
3050
3073
  isDragging.current = true;
3051
3074
  dragService.startDragSelectedNodes(e)?.finally(