@foblex/flow 17.0.7 → 17.0.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.
Files changed (105) hide show
  1. package/domain/f-draggable/providers.d.ts +1 -1
  2. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  3. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -4
  4. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +8 -1
  5. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +1 -2
  6. package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +1 -3
  7. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +8 -1
  8. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +1 -2
  9. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +25 -19
  10. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +1 -2
  11. package/esm2022/f-draggable/connections/providers.mjs +3 -7
  12. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +1 -2
  13. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +8 -1
  14. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +1 -2
  15. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +46 -42
  16. package/esm2022/f-draggable/domain/is-connection-under-node/index.mjs +1 -2
  17. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +4 -10
  18. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +5 -1
  19. package/esm2022/f-draggable/domain/providers.mjs +2 -3
  20. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  21. package/esm2022/f-draggable/f-draggable.directive.mjs +21 -17
  22. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/index.mjs +1 -2
  23. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +8 -1
  24. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/providers.mjs +1 -3
  25. package/esm2022/f-draggable/node/node-move-finalize/index.mjs +1 -3
  26. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +15 -2
  27. package/esm2022/f-draggable/node/providers.mjs +3 -3
  28. package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +1 -2
  29. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -1
  30. package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +1 -3
  31. package/esm2022/f-draggable/single-select/index.mjs +1 -2
  32. package/esm2022/f-draggable/single-select/providers.mjs +1 -3
  33. package/esm2022/f-draggable/single-select/single-select.execution.mjs +8 -1
  34. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +8 -1
  35. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +1 -2
  36. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +1 -3
  37. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -0
  38. package/f-connection/providers.d.ts +1 -1
  39. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -0
  40. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -1
  41. package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +1 -2
  42. package/f-draggable/canvas/providers.d.ts +1 -1
  43. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +1 -0
  44. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -1
  45. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +6 -6
  46. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -1
  47. package/f-draggable/connections/providers.d.ts +3 -3
  48. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -1
  49. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +1 -0
  50. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -1
  51. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +14 -16
  52. package/f-draggable/domain/is-connection-under-node/index.d.ts +0 -1
  53. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +0 -2
  54. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.d.ts +3 -0
  55. package/f-draggable/domain/providers.d.ts +2 -2
  56. package/f-draggable/f-draggable-base.d.ts +1 -0
  57. package/f-draggable/f-draggable.directive.d.ts +3 -1
  58. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  59. package/f-draggable/node/node-drag-to-parent-finalize/index.d.ts +0 -1
  60. package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.d.ts +1 -0
  61. package/f-draggable/node/node-drag-to-parent-finalize/providers.d.ts +1 -2
  62. package/f-draggable/node/node-move-finalize/index.d.ts +0 -2
  63. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  64. package/f-draggable/node/providers.d.ts +2 -1
  65. package/f-draggable/node-resize/node-resize-finalize/index.d.ts +0 -1
  66. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -0
  67. package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +1 -2
  68. package/f-draggable/node-resize/providers.d.ts +1 -1
  69. package/f-draggable/providers.d.ts +1 -1
  70. package/f-draggable/single-select/index.d.ts +0 -1
  71. package/f-draggable/single-select/providers.d.ts +1 -2
  72. package/f-draggable/single-select/single-select.execution.d.ts +1 -0
  73. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +1 -0
  74. package/f-external-item/domain/external-item-finalize/index.d.ts +0 -1
  75. package/f-external-item/domain/external-item-finalize/providers.d.ts +1 -2
  76. package/f-external-item/domain/providers.d.ts +1 -1
  77. package/f-minimap/domain/providers.d.ts +1 -1
  78. package/f-storage/providers.d.ts +1 -1
  79. package/fesm2022/foblex-flow.mjs +348 -517
  80. package/fesm2022/foblex-flow.mjs.map +1 -1
  81. package/package.json +1 -1
  82. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -26
  83. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -26
  84. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -35
  85. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -26
  86. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -47
  87. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.mjs +0 -23
  88. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.validator.mjs +0 -27
  89. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -26
  90. package/esm2022/f-draggable/node/node-move-finalize/providers.mjs +0 -7
  91. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -26
  92. package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
  93. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  94. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.d.ts +0 -11
  95. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.d.ts +0 -11
  96. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +0 -15
  97. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.d.ts +0 -11
  98. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +0 -20
  99. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.validator.d.ts +0 -9
  100. package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.validator.d.ts +0 -11
  101. package/f-draggable/node/node-move-finalize/node-move-finalize.validator.d.ts +0 -11
  102. package/f-draggable/node/node-move-finalize/providers.d.ts +0 -3
  103. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.d.ts +0 -11
  104. package/f-draggable/single-select/single-select.validator.d.ts +0 -13
  105. package/f-external-item/domain/external-item-finalize/external-item-finalize.validator.d.ts +0 -11
@@ -2243,6 +2243,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
2243
2243
  const F_CONNECTION_DRAG_HANDLE_CLASS = 'f-connection-drag-handle';
2244
2244
  class FConnectionDragHandleComponent {
2245
2245
  elementReference;
2246
+ point;
2247
+ radius = 8;
2246
2248
  class = F_CONNECTION_DRAG_HANDLE_CLASS;
2247
2249
  get hostElement() {
2248
2250
  return this.elementReference.nativeElement;
@@ -2251,9 +2253,9 @@ class FConnectionDragHandleComponent {
2251
2253
  this.elementReference = elementReference;
2252
2254
  }
2253
2255
  redraw(penultimatePoint, endPoint) {
2254
- const point = this._calculateCircleCenter(penultimatePoint, endPoint, 8);
2255
- this.hostElement.setAttribute('cx', point.x.toString());
2256
- this.hostElement.setAttribute('cy', point.y.toString());
2256
+ this.point = this._calculateCircleCenter(penultimatePoint, endPoint, 8);
2257
+ this.hostElement.setAttribute('cx', this.point.x.toString());
2258
+ this.hostElement.setAttribute('cy', this.point.y.toString());
2257
2259
  }
2258
2260
  _calculateCircleCenter(start, end, radius) {
2259
2261
  const direction = { x: end.x - start.x, y: end.y - start.y };
@@ -3329,6 +3331,24 @@ class CanvasMoveFinalizeRequest {
3329
3331
  }
3330
3332
  }
3331
3333
 
3334
+ class CanvasDragHandler {
3335
+ fComponentsStore;
3336
+ onPointerDownPosition = PointExtensions.initialize();
3337
+ constructor(fComponentsStore) {
3338
+ this.fComponentsStore = fComponentsStore;
3339
+ }
3340
+ prepareDragSequence() {
3341
+ this.onPointerDownPosition = this.fComponentsStore.fCanvas.transform.position;
3342
+ }
3343
+ onPointerMove(difference) {
3344
+ this.fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
3345
+ this.fComponentsStore.fCanvas.redraw();
3346
+ }
3347
+ onPointerUp() {
3348
+ this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
3349
+ }
3350
+ }
3351
+
3332
3352
  class FDraggableDataContext {
3333
3353
  selectedItems = [];
3334
3354
  isSelectedChanged = false;
@@ -3357,8 +3377,14 @@ let CanvasMoveFinalizeExecution = class CanvasMoveFinalizeExecution {
3357
3377
  this.fDraggableDataContext = fDraggableDataContext;
3358
3378
  }
3359
3379
  handle(request) {
3380
+ if (!this._isValid()) {
3381
+ return;
3382
+ }
3360
3383
  this.fDraggableDataContext.draggableItems.forEach((x) => x.onPointerUp?.());
3361
3384
  }
3385
+ _isValid() {
3386
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
3387
+ }
3362
3388
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
3363
3389
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeExecution });
3364
3390
  };
@@ -3369,45 +3395,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
3369
3395
  type: Injectable
3370
3396
  }], ctorParameters: () => [{ type: FDraggableDataContext }] });
3371
3397
 
3372
- class CanvasDragHandler {
3373
- fComponentsStore;
3374
- onPointerDownPosition = PointExtensions.initialize();
3375
- constructor(fComponentsStore) {
3376
- this.fComponentsStore = fComponentsStore;
3377
- }
3378
- prepareDragSequence() {
3379
- this.onPointerDownPosition = this.fComponentsStore.fCanvas.transform.position;
3380
- }
3381
- onPointerMove(difference) {
3382
- this.fComponentsStore.fCanvas.setPosition(Point.fromPoint(this.onPointerDownPosition).add(difference));
3383
- this.fComponentsStore.fCanvas.redraw();
3384
- }
3385
- onPointerUp() {
3386
- this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
3387
- }
3388
- }
3389
-
3390
- let CanvasMoveFinalizeValidator = class CanvasMoveFinalizeValidator {
3391
- fDraggableDataContext;
3392
- constructor(fDraggableDataContext) {
3393
- this.fDraggableDataContext = fDraggableDataContext;
3394
- }
3395
- handle(request) {
3396
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CanvasDragHandler);
3397
- }
3398
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
3399
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator });
3400
- };
3401
- CanvasMoveFinalizeValidator = __decorate([
3402
- FValidatorRegister(CanvasMoveFinalizeRequest)
3403
- ], CanvasMoveFinalizeValidator);
3404
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CanvasMoveFinalizeValidator, decorators: [{
3405
- type: Injectable
3406
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
3407
-
3408
3398
  const CANVAS_MOVE_FINALIZE_PROVIDERS = [
3409
3399
  CanvasMoveFinalizeExecution,
3410
- CanvasMoveFinalizeValidator,
3411
3400
  ];
3412
3401
 
3413
3402
  class CanvasMovePreparationRequest {
@@ -3607,6 +3596,88 @@ class FCreateConnectionEvent {
3607
3596
  }
3608
3597
  }
3609
3598
 
3599
+ class CreateConnectionDragHandler {
3600
+ fMediator;
3601
+ fComponentsStore;
3602
+ fOutput;
3603
+ onPointerDownPosition;
3604
+ toConnectorRect = new RoundedRect();
3605
+ get fConnection() {
3606
+ return this.fComponentsStore.fTempConnection;
3607
+ }
3608
+ get fSnapConnection() {
3609
+ return this.fComponentsStore.fSnapConnection;
3610
+ }
3611
+ fOutputWithRect;
3612
+ canBeConnectedInputs = [];
3613
+ constructor(fMediator, fComponentsStore, fOutput, onPointerDownPosition) {
3614
+ this.fMediator = fMediator;
3615
+ this.fComponentsStore = fComponentsStore;
3616
+ this.fOutput = fOutput;
3617
+ this.onPointerDownPosition = onPointerDownPosition;
3618
+ }
3619
+ prepareDragSequence() {
3620
+ this._initializeSnapConnection();
3621
+ this._initializeConnectionForCreate();
3622
+ this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
3623
+ this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
3624
+ this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
3625
+ this.fConnection.show();
3626
+ this.onPointerMove(PointExtensions.initialize());
3627
+ }
3628
+ _initializeSnapConnection() {
3629
+ if (!this.fSnapConnection) {
3630
+ return;
3631
+ }
3632
+ this.fSnapConnection.fOutputId = this.fOutput.fId;
3633
+ this.fSnapConnection.initialize();
3634
+ }
3635
+ _initializeConnectionForCreate() {
3636
+ this.fConnection.fOutputId = this.fOutput.fId;
3637
+ this.fConnection.initialize();
3638
+ }
3639
+ onPointerMove(difference) {
3640
+ const fClosestInput = this._findClosestInput(difference);
3641
+ this._drawConnectionForCreate(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3642
+ if (this.fSnapConnection) {
3643
+ this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
3644
+ }
3645
+ }
3646
+ _drawConnectionForCreate(fInputRect, fSide) {
3647
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
3648
+ this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
3649
+ this.fConnection.redraw();
3650
+ }
3651
+ _drawSnapConnection(fClosestInput) {
3652
+ if (fClosestInput) {
3653
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
3654
+ this.fSnapConnection.show();
3655
+ this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
3656
+ this.fSnapConnection.redraw();
3657
+ }
3658
+ else {
3659
+ this.fSnapConnection?.hide();
3660
+ }
3661
+ }
3662
+ getClosetInput(difference) {
3663
+ if (!this.fSnapConnection) {
3664
+ return undefined;
3665
+ }
3666
+ return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
3667
+ }
3668
+ _findClosestInput(difference) {
3669
+ return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
3670
+ }
3671
+ _getClosestInputForSnapConnection(fClosestInput) {
3672
+ return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
3673
+ }
3674
+ onPointerUp() {
3675
+ this.fConnection.redraw();
3676
+ this.fConnection.hide();
3677
+ this.fSnapConnection?.hide();
3678
+ }
3679
+ }
3680
+
3610
3681
  class GetInputUnderPointerRequest {
3611
3682
  event;
3612
3683
  dragHandler;
@@ -3735,9 +3806,15 @@ let CreateConnectionFinalizeExecution = class CreateConnectionFinalizeExecution
3735
3806
  this.fMediator = fMediator;
3736
3807
  }
3737
3808
  handle(request) {
3809
+ if (!this._isValid()) {
3810
+ return;
3811
+ }
3738
3812
  this.emitEvent(request.event);
3739
3813
  this.dragHandler.onPointerUp();
3740
3814
  }
3815
+ _isValid() {
3816
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
3817
+ }
3741
3818
  getTargetOutput(output) {
3742
3819
  if (!output) {
3743
3820
  throw OutputNotFound(this.dragHandler.fConnection.fOutputId);
@@ -3766,106 +3843,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
3766
3843
  type: Injectable
3767
3844
  }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
3768
3845
 
3769
- class CreateConnectionDragHandler {
3770
- fMediator;
3771
- fComponentsStore;
3772
- fOutput;
3773
- onPointerDownPosition;
3774
- toConnectorRect = new RoundedRect();
3775
- get fConnection() {
3776
- return this.fComponentsStore.fTempConnection;
3777
- }
3778
- get fSnapConnection() {
3779
- return this.fComponentsStore.fSnapConnection;
3780
- }
3781
- fOutputWithRect;
3782
- canBeConnectedInputs = [];
3783
- constructor(fMediator, fComponentsStore, fOutput, onPointerDownPosition) {
3784
- this.fMediator = fMediator;
3785
- this.fComponentsStore = fComponentsStore;
3786
- this.fOutput = fOutput;
3787
- this.onPointerDownPosition = onPointerDownPosition;
3788
- }
3789
- prepareDragSequence() {
3790
- this._initializeSnapConnection();
3791
- this._initializeConnectionForCreate();
3792
- this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
3793
- this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
3794
- this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
3795
- this.fConnection.show();
3796
- this.onPointerMove(PointExtensions.initialize());
3797
- }
3798
- _initializeSnapConnection() {
3799
- if (!this.fSnapConnection) {
3800
- return;
3801
- }
3802
- this.fSnapConnection.fOutputId = this.fOutput.fId;
3803
- this.fSnapConnection.initialize();
3804
- }
3805
- _initializeConnectionForCreate() {
3806
- this.fConnection.fOutputId = this.fOutput.fId;
3807
- this.fConnection.initialize();
3808
- }
3809
- onPointerMove(difference) {
3810
- const fClosestInput = this._findClosestInput(difference);
3811
- this._drawConnectionForCreate(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3812
- if (this.fSnapConnection) {
3813
- this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
3814
- }
3815
- }
3816
- _drawConnectionForCreate(fInputRect, fSide) {
3817
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
3818
- this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
3819
- this.fConnection.redraw();
3820
- }
3821
- _drawSnapConnection(fClosestInput) {
3822
- if (fClosestInput) {
3823
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
3824
- this.fSnapConnection.show();
3825
- this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
3826
- this.fSnapConnection.redraw();
3827
- }
3828
- else {
3829
- this.fSnapConnection?.hide();
3830
- }
3831
- }
3832
- getClosetInput(difference) {
3833
- if (!this.fSnapConnection) {
3834
- return undefined;
3835
- }
3836
- return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
3837
- }
3838
- _findClosestInput(difference) {
3839
- return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
3840
- }
3841
- _getClosestInputForSnapConnection(fClosestInput) {
3842
- return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
3843
- }
3844
- onPointerUp() {
3845
- this.fConnection.redraw();
3846
- this.fConnection.hide();
3847
- this.fSnapConnection?.hide();
3848
- }
3849
- }
3850
-
3851
- let CreateConnectionFinalizeValidator = class CreateConnectionFinalizeValidator {
3852
- fDraggableDataContext;
3853
- constructor(fDraggableDataContext) {
3854
- this.fDraggableDataContext = fDraggableDataContext;
3855
- }
3856
- handle(request) {
3857
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof CreateConnectionDragHandler);
3858
- }
3859
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
3860
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator });
3861
- };
3862
- CreateConnectionFinalizeValidator = __decorate([
3863
- FValidatorRegister(CreateConnectionFinalizeRequest)
3864
- ], CreateConnectionFinalizeValidator);
3865
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionFinalizeValidator, decorators: [{
3866
- type: Injectable
3867
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
3868
-
3869
3846
  class CreateConnectionDragHandlerRequest {
3870
3847
  onPointerDownPosition;
3871
3848
  connector;
@@ -4038,31 +4015,37 @@ class CreateConnectionPreparationRequest {
4038
4015
  }
4039
4016
 
4040
4017
  let CreateConnectionPreparationExecution = class CreateConnectionPreparationExecution {
4041
- fComponentsStore;
4042
- fMediator;
4043
- constructor(fComponentsStore, fMediator) {
4044
- this.fComponentsStore = fComponentsStore;
4045
- this.fMediator = fMediator;
4046
- }
4018
+ _fMediator = inject(FMediator);
4019
+ _fComponentsStore = inject(FComponentsStore);
4020
+ _fDraggableDataContext = inject(FDraggableDataContext);
4047
4021
  handle(request) {
4022
+ if (!this._isValid(request)) {
4023
+ return;
4024
+ }
4048
4025
  if (isNodeOutlet(request.event.targetElement)) {
4049
- this.fMediator.send(new CreateConnectionFromOutletPreparationRequest(request.event));
4026
+ this._fMediator.send(new CreateConnectionFromOutletPreparationRequest(request.event));
4050
4027
  }
4051
- else if (this.isNodeOutput(request.event.targetElement, this.getNode(request.event))) {
4052
- this.fMediator.send(new CreateConnectionFromOutputPreparationRequest(request.event));
4028
+ else if (this.isNodeOutput(request.event.targetElement, this._getNode(request.event))) {
4029
+ this._fMediator.send(new CreateConnectionFromOutputPreparationRequest(request.event));
4053
4030
  }
4054
4031
  }
4055
- getNode(event) {
4056
- return this.fComponentsStore
4032
+ _isValid(request) {
4033
+ return !!this._getNode(request.event) && this._isValidConditions();
4034
+ }
4035
+ _getNode(event) {
4036
+ return this._fComponentsStore
4057
4037
  .fNodes.find(n => n.isContains(event.targetElement));
4058
4038
  }
4039
+ _isValidConditions() {
4040
+ return !this._fDraggableDataContext.draggableItems.length && !!this._fComponentsStore.fTempConnection;
4041
+ }
4059
4042
  isNodeOutput(targetElement, node) {
4060
4043
  return isNodeOutput(targetElement) && !this.getOutlets(node).length;
4061
4044
  }
4062
4045
  getOutlets(node) {
4063
- return this.fComponentsStore.fOutlets.filter((x) => node.isContains(x.hostElement));
4046
+ return this._fComponentsStore.fOutlets.filter((x) => node.isContains(x.hostElement));
4064
4047
  }
4065
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, deps: [{ token: FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
4048
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4066
4049
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution });
4067
4050
  };
4068
4051
  CreateConnectionPreparationExecution = __decorate([
@@ -4070,34 +4053,7 @@ CreateConnectionPreparationExecution = __decorate([
4070
4053
  ], CreateConnectionPreparationExecution);
4071
4054
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationExecution, decorators: [{
4072
4055
  type: Injectable
4073
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: i2.FMediator }] });
4074
-
4075
- let CreateConnectionPreparationValidator = class CreateConnectionPreparationValidator {
4076
- fComponentsStore;
4077
- fDraggableDataContext;
4078
- constructor(fComponentsStore, fDraggableDataContext) {
4079
- this.fComponentsStore = fComponentsStore;
4080
- this.fDraggableDataContext = fDraggableDataContext;
4081
- }
4082
- handle(request) {
4083
- return !!this.getNode(request.event) && this.isValidConditions();
4084
- }
4085
- getNode(event) {
4086
- return this.fComponentsStore
4087
- .fNodes.find(n => n.isContains(event.targetElement));
4088
- }
4089
- isValidConditions() {
4090
- return !this.fDraggableDataContext.draggableItems.length && !!this.fComponentsStore.fTempConnection;
4091
- }
4092
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationValidator, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
4093
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationValidator });
4094
- };
4095
- CreateConnectionPreparationValidator = __decorate([
4096
- FValidatorRegister(CreateConnectionPreparationRequest)
4097
- ], CreateConnectionPreparationValidator);
4098
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateConnectionPreparationValidator, decorators: [{
4099
- type: Injectable
4100
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }] });
4056
+ }] });
4101
4057
 
4102
4058
  class ReassignConnectionFinalizeRequest {
4103
4059
  event;
@@ -4106,63 +4062,6 @@ class ReassignConnectionFinalizeRequest {
4106
4062
  }
4107
4063
  }
4108
4064
 
4109
- class FReassignConnectionEvent {
4110
- fConnectionId;
4111
- fOutputId;
4112
- oldFInputId;
4113
- newFInputId;
4114
- fDropPosition;
4115
- constructor(fConnectionId, fOutputId, oldFInputId, newFInputId, fDropPosition) {
4116
- this.fConnectionId = fConnectionId;
4117
- this.fOutputId = fOutputId;
4118
- this.oldFInputId = oldFInputId;
4119
- this.newFInputId = newFInputId;
4120
- this.fDropPosition = fDropPosition;
4121
- }
4122
- }
4123
-
4124
- let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
4125
- fComponentsStore;
4126
- fDraggableDataContext;
4127
- fMediator;
4128
- get fDraggable() {
4129
- return this.fComponentsStore.fDraggable;
4130
- }
4131
- get dragHandler() {
4132
- return this.fDraggableDataContext.draggableItems[0];
4133
- }
4134
- constructor(fComponentsStore, fDraggableDataContext, fMediator) {
4135
- this.fComponentsStore = fComponentsStore;
4136
- this.fDraggableDataContext = fDraggableDataContext;
4137
- this.fMediator = fMediator;
4138
- }
4139
- handle(request) {
4140
- this.emitEvent(request.event);
4141
- this.dragHandler.onPointerUp();
4142
- }
4143
- emitEvent(event) {
4144
- const input = this.getInputUnderPointer(event);
4145
- if (!!input && !this.isReassignToDifferentInput(input)) {
4146
- return;
4147
- }
4148
- this.fDraggable.fReassignConnection.emit(new FReassignConnectionEvent(this.dragHandler.fConnection.fId, this.dragHandler.fConnection.fOutputId, this.dragHandler.fConnection.fInputId, input?.fId, event.getPosition()));
4149
- }
4150
- getInputUnderPointer(event) {
4151
- return this.fMediator.send(new GetInputUnderPointerRequest(event, this.dragHandler));
4152
- }
4153
- isReassignToDifferentInput(inputsUnderPointer) {
4154
- return this.dragHandler.fConnection.fInputId !== inputsUnderPointer.fId;
4155
- }
4156
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
4157
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution });
4158
- };
4159
- ReassignConnectionFinalizeExecution = __decorate([
4160
- FExecutionRegister(ReassignConnectionFinalizeRequest)
4161
- ], ReassignConnectionFinalizeExecution);
4162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
4163
- type: Injectable
4164
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
4165
-
4166
4065
  class ReassignConnectionDragHandler {
4167
4066
  fMediator;
4168
4067
  fComponentsStore;
@@ -4240,76 +4139,128 @@ class ReassignConnectionDragHandler {
4240
4139
  }
4241
4140
  }
4242
4141
 
4243
- let ReassignConnectionFinalizeValidator = class ReassignConnectionFinalizeValidator {
4142
+ class FReassignConnectionEvent {
4143
+ fConnectionId;
4144
+ fOutputId;
4145
+ oldFInputId;
4146
+ newFInputId;
4147
+ fDropPosition;
4148
+ constructor(fConnectionId, fOutputId, oldFInputId, newFInputId, fDropPosition) {
4149
+ this.fConnectionId = fConnectionId;
4150
+ this.fOutputId = fOutputId;
4151
+ this.oldFInputId = oldFInputId;
4152
+ this.newFInputId = newFInputId;
4153
+ this.fDropPosition = fDropPosition;
4154
+ }
4155
+ }
4156
+
4157
+ let ReassignConnectionFinalizeExecution = class ReassignConnectionFinalizeExecution {
4158
+ fComponentsStore;
4244
4159
  fDraggableDataContext;
4245
- constructor(fDraggableDataContext) {
4160
+ fMediator;
4161
+ get fDraggable() {
4162
+ return this.fComponentsStore.fDraggable;
4163
+ }
4164
+ get dragHandler() {
4165
+ return this.fDraggableDataContext.draggableItems[0];
4166
+ }
4167
+ constructor(fComponentsStore, fDraggableDataContext, fMediator) {
4168
+ this.fComponentsStore = fComponentsStore;
4246
4169
  this.fDraggableDataContext = fDraggableDataContext;
4170
+ this.fMediator = fMediator;
4247
4171
  }
4248
4172
  handle(request) {
4173
+ if (!this._isValid()) {
4174
+ return;
4175
+ }
4176
+ this.emitEvent(request.event);
4177
+ this.dragHandler.onPointerUp();
4178
+ }
4179
+ _isValid() {
4249
4180
  return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ReassignConnectionDragHandler);
4250
4181
  }
4251
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
4252
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeValidator });
4182
+ emitEvent(event) {
4183
+ const input = this.getInputUnderPointer(event);
4184
+ if (!!input && !this.isReassignToDifferentInput(input)) {
4185
+ return;
4186
+ }
4187
+ this.fDraggable.fReassignConnection.emit(new FReassignConnectionEvent(this.dragHandler.fConnection.fId, this.dragHandler.fConnection.fOutputId, this.dragHandler.fConnection.fInputId, input?.fId, event.getPosition()));
4188
+ }
4189
+ getInputUnderPointer(event) {
4190
+ return this.fMediator.send(new GetInputUnderPointerRequest(event, this.dragHandler));
4191
+ }
4192
+ isReassignToDifferentInput(inputsUnderPointer) {
4193
+ return this.dragHandler.fConnection.fInputId !== inputsUnderPointer.fId;
4194
+ }
4195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
4196
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution });
4253
4197
  };
4254
- ReassignConnectionFinalizeValidator = __decorate([
4255
- FValidatorRegister(ReassignConnectionFinalizeRequest)
4256
- ], ReassignConnectionFinalizeValidator);
4257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeValidator, decorators: [{
4198
+ ReassignConnectionFinalizeExecution = __decorate([
4199
+ FExecutionRegister(ReassignConnectionFinalizeRequest)
4200
+ ], ReassignConnectionFinalizeExecution);
4201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionFinalizeExecution, decorators: [{
4258
4202
  type: Injectable
4259
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
4203
+ }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
4260
4204
 
4261
4205
  class ReassignConnectionPreparationRequest {
4262
4206
  event;
4263
4207
  constructor(event) {
4264
4208
  this.event = event;
4265
4209
  }
4266
- }
4267
-
4268
- let ReassignConnectionPreparationExecution = class ReassignConnectionPreparationExecution {
4269
- fComponentsStore;
4270
- fDraggableDataContext;
4271
- fMediator;
4272
- fBrowser;
4273
- get transform() {
4274
- return this.fComponentsStore.fCanvas.transform;
4275
- }
4276
- get flowHost() {
4277
- return this.fComponentsStore.fFlow.hostElement;
4210
+ }
4211
+
4212
+ let ReassignConnectionPreparationExecution = class ReassignConnectionPreparationExecution {
4213
+ _fMediator = inject(FMediator);
4214
+ _fComponentsStore = inject(FComponentsStore);
4215
+ _fDraggableDataContext = inject(FDraggableDataContext);
4216
+ _fConnection;
4217
+ get _transform() {
4218
+ return this._fComponentsStore.fCanvas.transform;
4278
4219
  }
4279
- get fConnections() {
4280
- return this.fComponentsStore.fConnections;
4220
+ get _fHost() {
4221
+ return this._fComponentsStore.fFlow.hostElement;
4281
4222
  }
4282
- constructor(fComponentsStore, fDraggableDataContext, fMediator, fBrowser) {
4283
- this.fComponentsStore = fComponentsStore;
4284
- this.fDraggableDataContext = fDraggableDataContext;
4285
- this.fMediator = fMediator;
4286
- this.fBrowser = fBrowser;
4223
+ get _fConnections() {
4224
+ return this._fComponentsStore.fConnections;
4287
4225
  }
4288
4226
  handle(request) {
4289
- const connectionToReassign = this.getConnectionHandler(this.getDragHandleElement(request.event.getPosition()));
4290
- if (connectionToReassign.fDraggingDisabled) {
4227
+ if (!this._isValid(request)) {
4291
4228
  return;
4292
4229
  }
4293
- this.fMediator.send(new UpdateItemAndChildrenLayersRequest(connectionToReassign, this.fComponentsStore.fCanvas.fConnectionsContainer.nativeElement));
4294
- this.fDraggableDataContext.onPointerDownScale = this.transform.scale;
4295
- this.fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
4296
- .elementTransform(this.flowHost).div(this.transform.scale);
4297
- this.fDraggableDataContext.draggableItems = [
4298
- new ReassignConnectionDragHandler(this.fMediator, this.fComponentsStore, connectionToReassign)
4230
+ this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
4231
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
4232
+ .elementTransform(this._fHost).div(this._transform.scale);
4233
+ this._fDraggableDataContext.draggableItems = [
4234
+ new ReassignConnectionDragHandler(this._fMediator, this._fComponentsStore, this._fConnection)
4299
4235
  ];
4236
+ setTimeout(() => this._updateConnectionLayer());
4300
4237
  }
4301
- getDragHandleElement(position) {
4302
- return this.getElementsFromPoint(position).filter((x) => {
4303
- return !!this.getConnectionHandler(x) && x.classList.contains(F_CONNECTION_DRAG_HANDLE_CLASS);
4304
- }).find((x) => !!x);
4238
+ _isValid(request) {
4239
+ this._fConnection = this._getConnectionToReassign(this._getPointInFlow(request));
4240
+ return !!this._fConnection && !this._fDraggableDataContext.draggableItems.length;
4305
4241
  }
4306
- getElementsFromPoint(position) {
4307
- return this.fBrowser.document.elementsFromPoint(position.x, position.y);
4242
+ _getPointInFlow(request) {
4243
+ return Point.fromPoint(request.event.getPosition())
4244
+ .elementTransform(this._fHost)
4245
+ .sub(this._transform.scaledPosition).sub(this._transform.position)
4246
+ .div(this._transform.scale);
4308
4247
  }
4309
- getConnectionHandler(element) {
4310
- return this.fConnections.find(c => c.isContains(element));
4248
+ _getConnectionToReassign(position) {
4249
+ const connections = this._getConnectionsFromPoint(position);
4250
+ return connections.length ? connections[0] : undefined;
4251
+ }
4252
+ _getConnectionsFromPoint(position) {
4253
+ return this._fConnections.filter((x) => {
4254
+ return this._isPointInsideCircle(position, x.fDragHandle.point) && !x.fDraggingDisabled;
4255
+ });
4256
+ }
4257
+ _isPointInsideCircle(point, circleCenter) {
4258
+ return (point.x - circleCenter.x) ** 2 + (point.y - circleCenter.y) ** 2 <= 8 ** 2;
4311
4259
  }
4312
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
4260
+ _updateConnectionLayer() {
4261
+ this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(this._fConnection, this._fComponentsStore.fCanvas.fConnectionsContainer.nativeElement));
4262
+ }
4263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4313
4264
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution });
4314
4265
  };
4315
4266
  ReassignConnectionPreparationExecution = __decorate([
@@ -4317,50 +4268,12 @@ ReassignConnectionPreparationExecution = __decorate([
4317
4268
  ], ReassignConnectionPreparationExecution);
4318
4269
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationExecution, decorators: [{
4319
4270
  type: Injectable
4320
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }, { type: i1.BrowserService }] });
4321
-
4322
- let ReassignConnectionPreparationValidator = class ReassignConnectionPreparationValidator {
4323
- fComponentsStore;
4324
- fDraggableDataContext;
4325
- fBrowser;
4326
- get fConnections() {
4327
- return this.fComponentsStore.fConnections;
4328
- }
4329
- constructor(fComponentsStore, fDraggableDataContext, fBrowser) {
4330
- this.fComponentsStore = fComponentsStore;
4331
- this.fDraggableDataContext = fDraggableDataContext;
4332
- this.fBrowser = fBrowser;
4333
- }
4334
- handle(request) {
4335
- return !!this.getDragHandleElements(request.event.getPosition()).length
4336
- && !this.fDraggableDataContext.draggableItems.length;
4337
- }
4338
- getDragHandleElements(position) {
4339
- return this.getElementsFromPoint(position).filter((x) => {
4340
- return !!this.getConnectionHandler(x) && x.classList.contains(F_CONNECTION_DRAG_HANDLE_CLASS);
4341
- });
4342
- }
4343
- getElementsFromPoint(position) {
4344
- return this.fBrowser.document.elementsFromPoint(position.x, position.y);
4345
- }
4346
- getConnectionHandler(element) {
4347
- return this.fConnections.find(c => c.isContains(element));
4348
- }
4349
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationValidator, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
4350
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationValidator });
4351
- };
4352
- ReassignConnectionPreparationValidator = __decorate([
4353
- FValidatorRegister(ReassignConnectionPreparationRequest)
4354
- ], ReassignConnectionPreparationValidator);
4355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReassignConnectionPreparationValidator, decorators: [{
4356
- type: Injectable
4357
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i1.BrowserService }] });
4271
+ }] });
4358
4272
 
4359
4273
  const CONNECTIONS_PROVIDERS = [
4360
4274
  GetInputUnderPointerExecution,
4361
4275
  GetInputUnderPointerValidator,
4362
4276
  CreateConnectionFinalizeExecution,
4363
- CreateConnectionFinalizeValidator,
4364
4277
  CreateConnectionDragHandlerExecution,
4365
4278
  CreateConnectionFromOutletPreparationExecution,
4366
4279
  GetCanBeConnectedOutputByOutletExecution,
@@ -4368,11 +4281,8 @@ const CONNECTIONS_PROVIDERS = [
4368
4281
  CreateConnectionFromOutputPreparationExecution,
4369
4282
  CreateConnectionFromOutputPreparationValidator,
4370
4283
  CreateConnectionPreparationExecution,
4371
- CreateConnectionPreparationValidator,
4372
4284
  ReassignConnectionFinalizeExecution,
4373
- ReassignConnectionFinalizeValidator,
4374
4285
  ReassignConnectionPreparationExecution,
4375
- ReassignConnectionPreparationValidator,
4376
4286
  ];
4377
4287
 
4378
4288
  class GetNormalizedParentNodeRectRequest {
@@ -4501,14 +4411,17 @@ class FNodeIntersectedWithConnections {
4501
4411
  }
4502
4412
 
4503
4413
  class IsConnectionUnderNodeRequest {
4414
+ fNode;
4415
+ constructor(fNode) {
4416
+ this.fNode = fNode;
4417
+ }
4504
4418
  }
4505
4419
 
4506
4420
  let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
4507
4421
  _fMediator = inject(FMediator);
4508
4422
  _fComponentsStore = inject(FComponentsStore);
4509
- _fDraggableDataContext = inject(FDraggableDataContext);
4510
4423
  handle(request) {
4511
- const fNode = this._getDraggedNodeUnderPointer();
4424
+ const fNode = request.fNode;
4512
4425
  const fOutputConnectors = this._getNodeOutputConnectors(fNode);
4513
4426
  const fInputConnectors = this._getNodeInputConnectors(fNode);
4514
4427
  const canBeConnectedOutputs = fOutputConnectors.filter((x) => x.canBeConnected);
@@ -4524,9 +4437,6 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
4524
4437
  }
4525
4438
  }
4526
4439
  }
4527
- _getDraggedNodeUnderPointer() {
4528
- return this._fDraggableDataContext.draggableItems[0].fNode;
4529
- }
4530
4440
  _getNodeOutputConnectors(fNode) {
4531
4441
  return this._fComponentsStore.fOutputs.filter((x) => fNode.isContains(x.hostElement));
4532
4442
  }
@@ -4550,9 +4460,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
4550
4460
  }
4551
4461
  _calculateConnectionsUnderNode(fNode) {
4552
4462
  const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, true));
4553
- return this._fComponentsStore.fConnections.filter((x) => {
4554
- return this._isConnectionHasIntersectionsWithNode(x, fNodeRect);
4555
- });
4463
+ return this._fComponentsStore.fConnections.filter((x) => this._isConnectionHasIntersectionsWithNode(x, fNodeRect));
4556
4464
  }
4557
4465
  _isConnectionHasIntersectionsWithNode(fConnection, fNodeRect) {
4558
4466
  return GetIntersections.getRoundedRectIntersectionsWithSVGPath(fConnection.fPath.hostElement, fNodeRect).length > 0;
@@ -4567,27 +4475,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
4567
4475
  type: Injectable
4568
4476
  }] });
4569
4477
 
4570
- let IsConnectionUnderNodeValidator = class IsConnectionUnderNodeValidator {
4571
- _fDraggableDataContext = inject(FDraggableDataContext);
4572
- handle(request) {
4573
- return !!this._fDraggableDataContext.draggableItems.length &&
4574
- this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
4575
- }
4576
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4577
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator });
4578
- };
4579
- IsConnectionUnderNodeValidator = __decorate([
4580
- FValidatorRegister(IsConnectionUnderNodeRequest)
4581
- ], IsConnectionUnderNodeValidator);
4582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsConnectionUnderNodeValidator, decorators: [{
4583
- type: Injectable
4584
- }] });
4585
-
4586
4478
  const DRAG_AND_DROP_COMMON_PROVIDERS = [
4587
4479
  GetNormalizedParentNodeRectExecution,
4588
4480
  IsArrayHasParentNodeExecution,
4589
4481
  IsConnectionUnderNodeExecution,
4590
- IsConnectionUnderNodeValidator,
4591
4482
  ];
4592
4483
 
4593
4484
  class IsDragStartedRequest {
@@ -5140,12 +5031,19 @@ let NodeDragToParentFinalizeExecution = class NodeDragToParentFinalizeExecution
5140
5031
  this.fDraggableDataContext = fDraggableDataContext;
5141
5032
  }
5142
5033
  handle(request) {
5034
+ if (!this._isValid()) {
5035
+ return;
5036
+ }
5143
5037
  const item = this.getDragHandleItem();
5144
5038
  if (item.fNodeWithRect) {
5145
5039
  this.emitDroppedChildrenEvent(item.fNodeWithRect.node.fId, request.event);
5146
5040
  }
5147
5041
  item.onPointerUp?.();
5148
5042
  }
5043
+ _isValid() {
5044
+ return this.fDraggableDataContext.draggableItems
5045
+ .some((x) => x instanceof NodeDragToParentDragHandler);
5046
+ }
5149
5047
  emitDroppedChildrenEvent(fTargetId, event) {
5150
5048
  this.fComponentsStore.fDraggable?.fDropToGroup.emit(new FDropToGroupEvent(fTargetId, this.getDraggedNodeIds(), event.getPosition()));
5151
5049
  }
@@ -5175,28 +5073,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
5175
5073
  type: Injectable
5176
5074
  }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }] });
5177
5075
 
5178
- let NodeDragToParentFinalizeValidator = class NodeDragToParentFinalizeValidator {
5179
- fDraggableDataContext;
5180
- constructor(fDraggableDataContext) {
5181
- this.fDraggableDataContext = fDraggableDataContext;
5182
- }
5183
- handle(request) {
5184
- return this.fDraggableDataContext.draggableItems
5185
- .some((x) => x instanceof NodeDragToParentDragHandler);
5186
- }
5187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5188
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator });
5189
- };
5190
- NodeDragToParentFinalizeValidator = __decorate([
5191
- FValidatorRegister(NodeDragToParentFinalizeRequest)
5192
- ], NodeDragToParentFinalizeValidator);
5193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeValidator, decorators: [{
5194
- type: Injectable
5195
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
5196
-
5197
5076
  const NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS = [
5198
5077
  NodeDragToParentFinalizeExecution,
5199
- NodeDragToParentFinalizeValidator,
5200
5078
  ];
5201
5079
 
5202
5080
  class NodeDragToParentPreparationRequest {
@@ -5405,13 +5283,19 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
5405
5283
  return this._fComponentsStore.fFlow.hostElement;
5406
5284
  }
5407
5285
  handle(request) {
5286
+ if (!this._isValid()) {
5287
+ return;
5288
+ }
5408
5289
  const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
5409
5290
  const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
5410
5291
  .find((x) => x instanceof NodeDragHandler);
5411
5292
  const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
5412
5293
  this._finalizeMove(differenceWithCellSize);
5413
- this._fMediator.send(new IsConnectionUnderNodeRequest());
5414
5294
  this._fDraggableDataContext.fLineAlignment?.complete();
5295
+ this._applyConnectionUnderDroppedNode();
5296
+ }
5297
+ _isValid() {
5298
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
5415
5299
  }
5416
5300
  _finalizeMove(difference) {
5417
5301
  this._getItems().forEach((x) => {
@@ -5441,6 +5325,13 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
5441
5325
  }
5442
5326
  return difference;
5443
5327
  }
5328
+ _applyConnectionUnderDroppedNode() {
5329
+ const isDraggedJustOneNode = this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
5330
+ if (isDraggedJustOneNode && this._fComponentsStore.fDraggable?.emitWhenNodeIntersectedWithConnection) {
5331
+ const fNode = this._fDraggableDataContext.draggableItems[0].fNode;
5332
+ setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
5333
+ }
5334
+ }
5444
5335
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5445
5336
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
5446
5337
  };
@@ -5451,32 +5342,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
5451
5342
  type: Injectable
5452
5343
  }] });
5453
5344
 
5454
- let NodeMoveFinalizeValidator = class NodeMoveFinalizeValidator {
5455
- fDraggableDataContext;
5456
- constructor(fDraggableDataContext) {
5457
- this.fDraggableDataContext = fDraggableDataContext;
5458
- }
5459
- handle(request) {
5460
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
5461
- }
5462
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5463
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator });
5464
- };
5465
- NodeMoveFinalizeValidator = __decorate([
5466
- FValidatorRegister(NodeMoveFinalizeRequest)
5467
- ], NodeMoveFinalizeValidator);
5468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeValidator, decorators: [{
5469
- type: Injectable
5470
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
5471
-
5472
- const NODE_MOVE_FINALIZE_PROVIDERS = [
5473
- NodeMoveFinalizeExecution,
5474
- NodeMoveFinalizeValidator,
5475
- ];
5476
-
5477
5345
  const NODE_PROVIDERS = [
5478
5346
  ...CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS,
5479
- ...NODE_MOVE_FINALIZE_PROVIDERS,
5347
+ NodeMoveFinalizeExecution,
5480
5348
  ...NODE_MOVE_PREPARATION_PROVIDERS,
5481
5349
  ...NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS,
5482
5350
  ...NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS
@@ -5742,26 +5610,6 @@ class NodeResizeFinalizeRequest {
5742
5610
  }
5743
5611
  }
5744
5612
 
5745
- let NodeResizeFinalizeExecution = class NodeResizeFinalizeExecution {
5746
- fDraggableDataContext;
5747
- constructor(fDraggableDataContext) {
5748
- this.fDraggableDataContext = fDraggableDataContext;
5749
- }
5750
- handle(request) {
5751
- this.fDraggableDataContext.draggableItems.forEach((x) => {
5752
- x.onPointerUp?.();
5753
- });
5754
- }
5755
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5756
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution });
5757
- };
5758
- NodeResizeFinalizeExecution = __decorate([
5759
- FExecutionRegister(NodeResizeFinalizeRequest)
5760
- ], NodeResizeFinalizeExecution);
5761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, decorators: [{
5762
- type: Injectable
5763
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
5764
-
5765
5613
  class NodeResizeDragHandler {
5766
5614
  fMediator;
5767
5615
  fNode;
@@ -5809,27 +5657,34 @@ class NodeResizeDragHandler {
5809
5657
  }
5810
5658
  }
5811
5659
 
5812
- let NodeResizeFinalizeValidator = class NodeResizeFinalizeValidator {
5660
+ let NodeResizeFinalizeExecution = class NodeResizeFinalizeExecution {
5813
5661
  fDraggableDataContext;
5814
5662
  constructor(fDraggableDataContext) {
5815
5663
  this.fDraggableDataContext = fDraggableDataContext;
5816
5664
  }
5817
5665
  handle(request) {
5666
+ if (!this._isValid()) {
5667
+ return;
5668
+ }
5669
+ this.fDraggableDataContext.draggableItems.forEach((x) => {
5670
+ x.onPointerUp?.();
5671
+ });
5672
+ }
5673
+ _isValid() {
5818
5674
  return this.fDraggableDataContext.draggableItems.some((x) => x instanceof NodeResizeDragHandler);
5819
5675
  }
5820
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5821
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeValidator });
5676
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
5677
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution });
5822
5678
  };
5823
- NodeResizeFinalizeValidator = __decorate([
5824
- FValidatorRegister(NodeResizeFinalizeRequest)
5825
- ], NodeResizeFinalizeValidator);
5826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeValidator, decorators: [{
5679
+ NodeResizeFinalizeExecution = __decorate([
5680
+ FExecutionRegister(NodeResizeFinalizeRequest)
5681
+ ], NodeResizeFinalizeExecution);
5682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeResizeFinalizeExecution, decorators: [{
5827
5683
  type: Injectable
5828
5684
  }], ctorParameters: () => [{ type: FDraggableDataContext }] });
5829
5685
 
5830
5686
  const NODE_RESIZE_FINALIZE_PROVIDERS = [
5831
5687
  NodeResizeFinalizeExecution,
5832
- NodeResizeFinalizeValidator,
5833
5688
  ];
5834
5689
 
5835
5690
  class NodeResizePreparationRequest {
@@ -5952,6 +5807,9 @@ let SingleSelectExecution = class SingleSelectExecution {
5952
5807
  this.fMediator = fMediator;
5953
5808
  }
5954
5809
  handle(request) {
5810
+ if (!this._isValid(request)) {
5811
+ return;
5812
+ }
5955
5813
  const { event } = request;
5956
5814
  const item = this.getSelectableItem(event);
5957
5815
  if (item) {
@@ -5959,6 +5817,10 @@ let SingleSelectExecution = class SingleSelectExecution {
5959
5817
  }
5960
5818
  this.isMultiselectEnabled(event) ? this.multiSelect(item) : this.singleSelect(item);
5961
5819
  }
5820
+ _isValid(request) {
5821
+ return this.fComponentsStore.fFlow.hostElement.contains(request.event.targetElement)
5822
+ && !this.fDraggableDataContext.draggableItems.length;
5823
+ }
5962
5824
  getSelectableItem(event) {
5963
5825
  return this._findNode(event.targetElement) || this.getConnectionHandler(event.targetElement);
5964
5826
  }
@@ -6027,30 +5889,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6027
5889
  type: Injectable
6028
5890
  }], ctorParameters: () => [{ type: i1.PlatformService }, { type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }] });
6029
5891
 
6030
- let SingleSelectValidator = class SingleSelectValidator {
6031
- fComponentsStore;
6032
- fDraggableDataContext;
6033
- constructor(fComponentsStore, fDraggableDataContext) {
6034
- this.fComponentsStore = fComponentsStore;
6035
- this.fDraggableDataContext = fDraggableDataContext;
6036
- }
6037
- handle(request) {
6038
- return this.fComponentsStore.fFlow.hostElement.contains(request.event.targetElement)
6039
- && !this.fDraggableDataContext.draggableItems.length;
6040
- }
6041
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectValidator, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
6042
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectValidator });
6043
- };
6044
- SingleSelectValidator = __decorate([
6045
- FValidatorRegister(SingleSelectRequest)
6046
- ], SingleSelectValidator);
6047
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectValidator, decorators: [{
6048
- type: Injectable
6049
- }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }] });
6050
-
6051
5892
  const SINGLE_SELECT_PROVIDERS = [
6052
5893
  SingleSelectExecution,
6053
- SingleSelectValidator
6054
5894
  ];
6055
5895
 
6056
5896
  class FDraggableBase extends DragAndDropBase {
@@ -6071,6 +5911,43 @@ class ExternalItemFinalizeRequest {
6071
5911
  }
6072
5912
  }
6073
5913
 
5914
+ class ExternalItemDragHandler {
5915
+ externalItem;
5916
+ fBrowser;
5917
+ placeholder;
5918
+ onPointerDownRect = RectExtensions.initialize();
5919
+ difference = PointExtensions.initialize();
5920
+ constructor(externalItem, fBrowser) {
5921
+ this.externalItem = externalItem;
5922
+ this.fBrowser = fBrowser;
5923
+ }
5924
+ getStyle(position) {
5925
+ return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
5926
+ }
5927
+ prepareDragSequence() {
5928
+ this.onPointerDownRect = this.getExternalItemRect();
5929
+ this.placeholder = deepCloneNode(this.externalItem.hostElement);
5930
+ this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
5931
+ this.fBrowser.document.body.appendChild(this.placeholder);
5932
+ }
5933
+ getExternalItemRect() {
5934
+ const rect = this.externalItem.hostElement.getBoundingClientRect();
5935
+ const scrollTop = this.fBrowser.window.pageYOffset || this.fBrowser.document.documentElement.scrollTop;
5936
+ const scrollLeft = this.fBrowser.window.pageXOffset || this.fBrowser.document.documentElement.scrollLeft;
5937
+ const offsetTop = rect.top + scrollTop;
5938
+ const offsetLeft = rect.left + scrollLeft;
5939
+ return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
5940
+ }
5941
+ onPointerMove(difference) {
5942
+ this.difference = difference;
5943
+ const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
5944
+ this.placeholder.setAttribute('style', this.getStyle(position));
5945
+ }
5946
+ onPointerUp() {
5947
+ this.fBrowser.document.body.removeChild(this.placeholder);
5948
+ }
5949
+ }
5950
+
6074
5951
  class FCreateNodeEvent {
6075
5952
  rect;
6076
5953
  data;
@@ -6101,9 +5978,15 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
6101
5978
  this.fBrowser = fBrowser;
6102
5979
  }
6103
5980
  handle(request) {
5981
+ if (!this._isValid()) {
5982
+ return;
5983
+ }
6104
5984
  this.emitEvent(this.getExternalItemElementsFromPoint(request.event.getPosition()));
6105
5985
  this.dragHandler.onPointerUp();
6106
5986
  }
5987
+ _isValid() {
5988
+ return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
5989
+ }
6107
5990
  getExternalItemElementsFromPoint(position) {
6108
5991
  return this.fBrowser.document.elementsFromPoint(position.x, position.y)
6109
5992
  .filter(x => !x.closest('.f-external-item'));
@@ -6129,64 +6012,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6129
6012
  type: Injectable
6130
6013
  }], ctorParameters: () => [{ type: FComponentsStore }, { type: FDraggableDataContext }, { type: i2.FMediator }, { type: i1.BrowserService }] });
6131
6014
 
6132
- class ExternalItemDragHandler {
6133
- externalItem;
6134
- fBrowser;
6135
- placeholder;
6136
- onPointerDownRect = RectExtensions.initialize();
6137
- difference = PointExtensions.initialize();
6138
- constructor(externalItem, fBrowser) {
6139
- this.externalItem = externalItem;
6140
- this.fBrowser = fBrowser;
6141
- }
6142
- getStyle(position) {
6143
- return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
6144
- }
6145
- prepareDragSequence() {
6146
- this.onPointerDownRect = this.getExternalItemRect();
6147
- this.placeholder = deepCloneNode(this.externalItem.hostElement);
6148
- this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
6149
- this.fBrowser.document.body.appendChild(this.placeholder);
6150
- }
6151
- getExternalItemRect() {
6152
- const rect = this.externalItem.hostElement.getBoundingClientRect();
6153
- const scrollTop = this.fBrowser.window.pageYOffset || this.fBrowser.document.documentElement.scrollTop;
6154
- const scrollLeft = this.fBrowser.window.pageXOffset || this.fBrowser.document.documentElement.scrollLeft;
6155
- const offsetTop = rect.top + scrollTop;
6156
- const offsetLeft = rect.left + scrollLeft;
6157
- return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
6158
- }
6159
- onPointerMove(difference) {
6160
- this.difference = difference;
6161
- const position = Point.fromPoint(this.onPointerDownRect).add(this.difference);
6162
- this.placeholder.setAttribute('style', this.getStyle(position));
6163
- }
6164
- onPointerUp() {
6165
- this.fBrowser.document.body.removeChild(this.placeholder);
6166
- }
6167
- }
6168
-
6169
- let ExternalItemFinalizeValidator = class ExternalItemFinalizeValidator {
6170
- fDraggableDataContext;
6171
- constructor(fDraggableDataContext) {
6172
- this.fDraggableDataContext = fDraggableDataContext;
6173
- }
6174
- handle(request) {
6175
- return this.fDraggableDataContext.draggableItems.some((x) => x instanceof ExternalItemDragHandler);
6176
- }
6177
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator, deps: [{ token: FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
6178
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator });
6179
- };
6180
- ExternalItemFinalizeValidator = __decorate([
6181
- FValidatorRegister(ExternalItemFinalizeRequest)
6182
- ], ExternalItemFinalizeValidator);
6183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeValidator, decorators: [{
6184
- type: Injectable
6185
- }], ctorParameters: () => [{ type: FDraggableDataContext }] });
6186
-
6187
6015
  const EXTERNAL_ITEM_FINALIZE_PROVIDERS = [
6188
6016
  ExternalItemFinalizeExecution,
6189
- ExternalItemFinalizeValidator,
6190
6017
  ];
6191
6018
 
6192
6019
  class ExternalItemPreparationRequest {
@@ -6410,6 +6237,7 @@ class FDraggableDirective extends FDraggableBase {
6410
6237
  }
6411
6238
  fSelectionChange = new EventEmitter();
6412
6239
  fNodeIntersectedWithConnections = new EventEmitter();
6240
+ emitWhenNodeIntersectedWithConnection = false;
6413
6241
  fCreateNode = new EventEmitter();
6414
6242
  fReassignConnection = new EventEmitter();
6415
6243
  fCreateConnection = new EventEmitter();
@@ -6428,11 +6256,11 @@ class FDraggableDirective extends FDraggableBase {
6428
6256
  super.subscribe(this._fBrowser.document);
6429
6257
  }
6430
6258
  onPointerDown(event) {
6431
- this._fMediator.send(new InitializeDragSequenceRequest());
6259
+ this._fMediator.execute(new InitializeDragSequenceRequest());
6432
6260
  this.plugins.forEach((p) => p.onPointerDown?.(event));
6433
- this._fMediator.send(new SingleSelectRequest(event));
6434
- this._fMediator.send(new ReassignConnectionPreparationRequest(event));
6435
- this._fMediator.send(new CreateConnectionPreparationRequest(event));
6261
+ this._fMediator.execute(new SingleSelectRequest(event));
6262
+ this._fMediator.execute(new ReassignConnectionPreparationRequest(event));
6263
+ this._fMediator.execute(new CreateConnectionPreparationRequest(event));
6436
6264
  const isMouseLeftButton = event.isMouseLeftButton();
6437
6265
  if (!isMouseLeftButton) {
6438
6266
  this.finalizeDragSequence();
@@ -6450,31 +6278,31 @@ class FDraggableDirective extends FDraggableBase {
6450
6278
  }
6451
6279
  onSelect(event) {
6452
6280
  this.plugins.forEach((x) => x.onSelect?.(event));
6453
- this._fMediator.send(new PreventDefaultIsExternalItemRequest(event));
6281
+ this._fMediator.execute(new PreventDefaultIsExternalItemRequest(event));
6454
6282
  }
6455
6283
  onPointerMove(event) {
6456
- this._fMediator.send(new OnPointerMoveRequest(event));
6284
+ this._fMediator.execute(new OnPointerMoveRequest(event));
6457
6285
  }
6458
6286
  onPointerUp(event) {
6459
6287
  this.plugins.forEach((x) => x.onPointerUp?.(event));
6460
- this._fMediator.send(new ReassignConnectionFinalizeRequest(event));
6461
- this._fMediator.send(new CreateConnectionFinalizeRequest(event));
6462
- this._fMediator.send(new NodeResizeFinalizeRequest(event));
6463
- this._fMediator.send(new NodeMoveFinalizeRequest(event));
6464
- this._fMediator.send(new NodeDragToParentFinalizeRequest(event));
6288
+ this._fMediator.execute(new ReassignConnectionFinalizeRequest(event));
6289
+ this._fMediator.execute(new CreateConnectionFinalizeRequest(event));
6290
+ this._fMediator.execute(new NodeResizeFinalizeRequest(event));
6291
+ this._fMediator.execute(new NodeMoveFinalizeRequest(event));
6292
+ this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
6465
6293
  this._fMediator.send(new CanvasMoveFinalizeRequest(event));
6466
- this._fMediator.send(new ExternalItemFinalizeRequest(event));
6467
- this._fMediator.send(new EndDragSequenceRequest());
6294
+ this._fMediator.execute(new ExternalItemFinalizeRequest(event));
6295
+ this._fMediator.execute(new EndDragSequenceRequest());
6468
6296
  }
6469
6297
  finalizeDragSequence() {
6470
- this._fMediator.send(new EmitSelectionChangeEventRequest());
6298
+ this._fMediator.execute(new EmitSelectionChangeEventRequest());
6471
6299
  }
6472
6300
  ngOnDestroy() {
6473
6301
  this._fMediator.send(new RemoveDndFromStoreRequest());
6474
6302
  super.unsubscribe();
6475
6303
  }
6476
6304
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
6477
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6305
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], emitWhenNodeIntersectedWithConnection: ["emitWhenNodeIntersectedWithConnection", "emitWhenNodeIntersectedWithConnection", booleanAttribute], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
6478
6306
  }
6479
6307
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
6480
6308
  type: Directive,
@@ -6494,6 +6322,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
6494
6322
  type: Output
6495
6323
  }], fNodeIntersectedWithConnections: [{
6496
6324
  type: Output
6325
+ }], emitWhenNodeIntersectedWithConnection: [{
6326
+ type: Input,
6327
+ args: [{ transform: booleanAttribute }]
6497
6328
  }], fCreateNode: [{
6498
6329
  type: Output
6499
6330
  }], fReassignConnection: [{
@@ -9356,5 +9187,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9356
9187
  * Generated bundle index. Do not edit.
9357
9188
  */
9358
9189
 
9359
- export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputExecution, FindClosestInputRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9190
+ export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputExecution, FindClosestInputRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9360
9191
  //# sourceMappingURL=foblex-flow.mjs.map