@logicflow/core 1.2.0-next.3 → 1.2.0-next.4

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.
@@ -27305,18 +27305,10 @@ var GraphModel_GraphModel = (GraphModel_class = /*#__PURE__*/function () {
27305
27305
  var nodeAsTarget = this.edges[i].targetNodeId === nodeId;
27306
27306
 
27307
27307
  if (nodeAsSource) {
27308
- // edgeModel.updateStartPoint({
27309
- // x: edgeModel.startPoint.x + deltaX,
27310
- // y: edgeModel.startPoint.y + deltaY,
27311
- // });
27312
27308
  edgeModel.moveStartPoint(deltaX, deltaY);
27313
27309
  }
27314
27310
 
27315
27311
  if (nodeAsTarget) {
27316
- // edgeModel.updateEndPoint({
27317
- // x: edgeModel.endPoint.x + deltaX,
27318
- // y: edgeModel.endPoint.y + deltaY,
27319
- // });
27320
27312
  edgeModel.moveEndPoint(deltaX, deltaY);
27321
27313
  } // 如果有文案了,当节点移动引起文案位置修改时,找出当前文案位置与最新边距离最短距离的点
27322
27314
  // 最大程度保持节点位置不变且在边上
@@ -27552,9 +27544,43 @@ var GraphModel_GraphModel = (GraphModel_class = /*#__PURE__*/function () {
27552
27544
  var _this2 = this;
27553
27545
 
27554
27546
  var isIgnoreRule = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
27555
- nodeIds.forEach(function (nodeId) {
27556
- return _this2.moveNode(nodeId, deltaX, deltaY, isIgnoreRule);
27557
- });
27547
+ // FIX: https://github.com/didi/LogicFlow/issues/1015
27548
+ // 如果节点之间存在连线,则只移动连线一次。
27549
+ var nodeIdMap = nodeIds.reduce(function (acc, cur) {
27550
+ var nodeModel = _this2.nodesMap[cur].model;
27551
+ var moveDistance = nodeModel.getMoveDistance(deltaX, deltaY, isIgnoreRule);
27552
+ acc[cur] = moveDistance;
27553
+ return acc;
27554
+ }, {});
27555
+
27556
+ for (var i = 0; i < this.edges.length; i++) {
27557
+ var edgeModel = this.edges[i];
27558
+ var sourceMoveDistance = nodeIdMap[edgeModel.sourceNodeId];
27559
+ var textDistanceX = void 0;
27560
+ var textDistanceY = void 0;
27561
+
27562
+ if (sourceMoveDistance) {
27563
+ var _sourceMoveDistance = GraphModel_slicedToArray(sourceMoveDistance, 2);
27564
+
27565
+ textDistanceX = _sourceMoveDistance[0];
27566
+ textDistanceY = _sourceMoveDistance[1];
27567
+ edgeModel.moveStartPoint(textDistanceX, textDistanceY);
27568
+ }
27569
+
27570
+ var targetMoveDistance = nodeIdMap[edgeModel.sourceNodeId];
27571
+
27572
+ if (targetMoveDistance) {
27573
+ var _targetMoveDistance = GraphModel_slicedToArray(targetMoveDistance, 2);
27574
+
27575
+ textDistanceX = _targetMoveDistance[0];
27576
+ textDistanceY = _targetMoveDistance[1];
27577
+ edgeModel.moveEndPoint(textDistanceX, textDistanceY);
27578
+ }
27579
+
27580
+ if (sourceMoveDistance || targetMoveDistance) {
27581
+ edgeModel.moveText(textDistanceX, textDistanceY);
27582
+ }
27583
+ }
27558
27584
  }
27559
27585
  /**
27560
27586
  * 添加节点移动限制规则,在节点移动的时候触发。