@inditextech/weave-sdk 5.1.2 → 5.1.3

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/sdk.js CHANGED
@@ -4917,6 +4917,7 @@ function handleClickOrTap(ctx, e) {
4917
4917
  if (canMove && e.evt) {
4918
4918
  nodeTargeted.draggable(true);
4919
4919
  ctx.armDrag(nodeTargeted, e.evt.pointerId);
4920
+ return;
4920
4921
  }
4921
4922
  }
4922
4923
  if (metaPressed && isSelected) {
@@ -5028,6 +5029,25 @@ function handlePointerDown(ctx, e) {
5028
5029
  ctx.setAreaSelecting(false);
5029
5030
  ctx.getEdgePanning().stop();
5030
5031
  ctx.getAreaSelector().hide();
5032
+ const weave = ctx.getWeaveInstance();
5033
+ const realNode = weave.getRealSelectedNode(selectedGroup);
5034
+ const tr = ctx.getTransformerController().getTransformer();
5035
+ const selectedIds = new Set(tr.nodes().map((node) => node.getAttrs().id));
5036
+ let isWithinSelection = false;
5037
+ for (let cur = realNode; cur; cur = cur.getParent()) {
5038
+ if (typeof cur.getAttrs !== "function") break;
5039
+ if (selectedIds.has(cur.getAttrs().id)) {
5040
+ isWithinSelection = true;
5041
+ break;
5042
+ }
5043
+ }
5044
+ if (!isWithinSelection && realNode.getAttrs().nodeType) {
5045
+ Konva.DD._dragElements.forEach((elem, key) => {
5046
+ if (elem.dragStatus === "ready") Konva.DD._dragElements.delete(key);
5047
+ });
5048
+ tr.setAttrs({ listening: false });
5049
+ handleClickOrTap(ctx, e);
5050
+ }
5031
5051
  return;
5032
5052
  }
5033
5053
  const isStage = e.target instanceof Konva.Stage;
@@ -5226,7 +5246,7 @@ function handleArmedDrag(ctx, e) {
5226
5246
  if (!ctx.getGesture().checkMoved(e.evt.clientX, e.evt.clientY)) return;
5227
5247
  if (node.isDragging()) return;
5228
5248
  ctx.clearArmedDrag();
5229
- node.startDrag(e.evt);
5249
+ node.startDrag({ evt: e.evt });
5230
5250
  }
5231
5251
 
5232
5252
  //#endregion
@@ -5562,6 +5582,8 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
5562
5582
  }
5563
5583
  setSelectedNodes(nodes) {
5564
5584
  const tr = this.transformerCtrl.getTransformer();
5585
+ const previousNodes = tr.getNodes();
5586
+ for (const previousNode of previousNodes) if (!nodes.includes(previousNode) && typeof previousNode.draggable === "function") previousNode.draggable(false);
5565
5587
  tr.setNodes(nodes);
5566
5588
  this.handleBehaviors();
5567
5589
  if (nodes.length === 0) this.getNodesSelectionFeedbackPlugin()?.cleanupSelectedHalos();
@@ -6516,7 +6538,7 @@ var WeaveNode = class {
6516
6538
  if (e.evt?.button === 1) isWheelMousePressed = true;
6517
6539
  this.getNodesSelectionFeedbackPlugin()?.hideSelectionHalo(nodeTarget);
6518
6540
  const canMove = typeof nodeTarget?.canDrag === "function" ? nodeTarget.canDrag() : false;
6519
- if (!canMove) {
6541
+ if (!canMove || !this.isSelecting()) {
6520
6542
  nodeTarget.stopDrag();
6521
6543
  return;
6522
6544
  }
@@ -9756,7 +9778,7 @@ var WeaveRegisterManager = class {
9756
9778
 
9757
9779
  //#endregion
9758
9780
  //#region package.json
9759
- var version = "5.1.2";
9781
+ var version = "5.1.3";
9760
9782
 
9761
9783
  //#endregion
9762
9784
  //#region src/managers/setup.ts
package/dist/sdk.node.js CHANGED
@@ -4916,6 +4916,7 @@ function handleClickOrTap(ctx, e) {
4916
4916
  if (canMove && e.evt) {
4917
4917
  nodeTargeted.draggable(true);
4918
4918
  ctx.armDrag(nodeTargeted, e.evt.pointerId);
4919
+ return;
4919
4920
  }
4920
4921
  }
4921
4922
  if (metaPressed && isSelected) {
@@ -5027,6 +5028,25 @@ function handlePointerDown(ctx, e) {
5027
5028
  ctx.setAreaSelecting(false);
5028
5029
  ctx.getEdgePanning().stop();
5029
5030
  ctx.getAreaSelector().hide();
5031
+ const weave = ctx.getWeaveInstance();
5032
+ const realNode = weave.getRealSelectedNode(selectedGroup);
5033
+ const tr = ctx.getTransformerController().getTransformer();
5034
+ const selectedIds = new Set(tr.nodes().map((node) => node.getAttrs().id));
5035
+ let isWithinSelection = false;
5036
+ for (let cur = realNode; cur; cur = cur.getParent()) {
5037
+ if (typeof cur.getAttrs !== "function") break;
5038
+ if (selectedIds.has(cur.getAttrs().id)) {
5039
+ isWithinSelection = true;
5040
+ break;
5041
+ }
5042
+ }
5043
+ if (!isWithinSelection && realNode.getAttrs().nodeType) {
5044
+ Konva.DD._dragElements.forEach((elem, key) => {
5045
+ if (elem.dragStatus === "ready") Konva.DD._dragElements.delete(key);
5046
+ });
5047
+ tr.setAttrs({ listening: false });
5048
+ handleClickOrTap(ctx, e);
5049
+ }
5030
5050
  return;
5031
5051
  }
5032
5052
  const isStage = e.target instanceof Konva.Stage;
@@ -5225,7 +5245,7 @@ function handleArmedDrag(ctx, e) {
5225
5245
  if (!ctx.getGesture().checkMoved(e.evt.clientX, e.evt.clientY)) return;
5226
5246
  if (node.isDragging()) return;
5227
5247
  ctx.clearArmedDrag();
5228
- node.startDrag(e.evt);
5248
+ node.startDrag({ evt: e.evt });
5229
5249
  }
5230
5250
 
5231
5251
  //#endregion
@@ -5561,6 +5581,8 @@ var WeaveNodesSelectionPlugin = class extends WeavePlugin {
5561
5581
  }
5562
5582
  setSelectedNodes(nodes) {
5563
5583
  const tr = this.transformerCtrl.getTransformer();
5584
+ const previousNodes = tr.getNodes();
5585
+ for (const previousNode of previousNodes) if (!nodes.includes(previousNode) && typeof previousNode.draggable === "function") previousNode.draggable(false);
5564
5586
  tr.setNodes(nodes);
5565
5587
  this.handleBehaviors();
5566
5588
  if (nodes.length === 0) this.getNodesSelectionFeedbackPlugin()?.cleanupSelectedHalos();
@@ -6515,7 +6537,7 @@ var WeaveNode = class {
6515
6537
  if (e.evt?.button === 1) isWheelMousePressed = true;
6516
6538
  this.getNodesSelectionFeedbackPlugin()?.hideSelectionHalo(nodeTarget);
6517
6539
  const canMove = typeof nodeTarget?.canDrag === "function" ? nodeTarget.canDrag() : false;
6518
- if (!canMove) {
6540
+ if (!canMove || !this.isSelecting()) {
6519
6541
  nodeTarget.stopDrag();
6520
6542
  return;
6521
6543
  }
@@ -9755,7 +9777,7 @@ var WeaveRegisterManager = class {
9755
9777
 
9756
9778
  //#endregion
9757
9779
  //#region package.json
9758
- var version = "5.1.2";
9780
+ var version = "5.1.3";
9759
9781
 
9760
9782
  //#endregion
9761
9783
  //#region src/managers/setup.ts