@foblex/flow 17.0.9 → 17.1.0

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 (116) hide show
  1. package/domain/f-background/providers.d.ts +1 -1
  2. package/domain/f-canvas/providers.d.ts +1 -1
  3. package/domain/f-draggable/providers.d.ts +1 -1
  4. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +2 -3
  5. package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +2 -2
  6. package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +4 -6
  7. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  8. package/domain/f-flow/providers.d.ts +1 -1
  9. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +3 -0
  10. package/domain/f-node/providers.d.ts +1 -1
  11. package/domain/index.d.ts +1 -0
  12. package/domain/log-execution-time.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +17 -19
  15. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -5
  16. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +14 -19
  17. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +2 -2
  18. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +2 -2
  19. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +4 -4
  20. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +5 -1
  21. package/esm2022/domain/index.mjs +2 -1
  22. package/esm2022/domain/log-execution-time.mjs +16 -0
  23. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +3 -3
  24. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +33 -33
  25. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +1 -1
  26. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +9 -3
  27. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +8 -17
  28. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +6 -6
  29. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +25 -19
  30. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -2
  31. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +1 -1
  32. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +5 -7
  33. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +5 -7
  34. package/esm2022/f-draggable/node/connection.drag-handler.mjs +5 -5
  35. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +37 -22
  36. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +40 -0
  37. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +7 -0
  38. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +3 -0
  39. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +42 -0
  40. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +9 -0
  41. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +3 -0
  42. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +16 -21
  43. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +4 -4
  44. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +1 -1
  45. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +3 -2
  46. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -3
  47. package/esm2022/f-draggable/node/index.mjs +3 -1
  48. package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +3 -0
  49. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +67 -0
  50. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +3 -0
  51. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +61 -0
  52. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +5 -3
  53. package/esm2022/f-draggable/node/node-move-preparation/index.mjs +1 -2
  54. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +26 -21
  55. package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +1 -3
  56. package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -19
  57. package/esm2022/f-draggable/node/providers.mjs +3 -1
  58. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
  59. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -78
  60. package/esm2022/f-storage/f-components-store.mjs +2 -1
  61. package/f-backgroud/providers.d.ts +1 -1
  62. package/f-connection/providers.d.ts +1 -1
  63. package/f-connectors/providers.d.ts +1 -1
  64. package/f-draggable/connections/providers.d.ts +1 -1
  65. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +12 -13
  66. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -0
  67. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +3 -6
  68. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +3 -3
  69. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +3 -2
  70. package/f-draggable/domain/providers.d.ts +1 -1
  71. package/f-draggable/f-draggable-data-context.d.ts +1 -2
  72. package/f-draggable/node/connection-base-drag-handler.d.ts +2 -3
  73. package/f-draggable/node/connection-source.drag-handler.d.ts +3 -4
  74. package/f-draggable/node/connection-target.drag-handler.d.ts +3 -4
  75. package/f-draggable/node/connection.drag-handler.d.ts +3 -3
  76. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +6 -3
  77. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +13 -0
  78. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +5 -0
  79. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +2 -0
  80. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +12 -0
  81. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{get-node-move-restrictions/get-node-move-restrictions.request.d.ts → calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts} +1 -1
  82. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +2 -0
  83. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +4 -6
  84. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +4 -4
  85. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +2 -1
  86. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -2
  87. package/f-draggable/node/index.d.ts +2 -0
  88. package/f-draggable/node/line-alignment-preparation/index.d.ts +2 -0
  89. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +21 -0
  90. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +2 -0
  91. package/f-draggable/node/line-alignment.drag-handler.d.ts +20 -0
  92. package/f-draggable/node/node-move-preparation/index.d.ts +0 -1
  93. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +4 -3
  94. package/f-draggable/node/node-move-preparation/providers.d.ts +1 -2
  95. package/f-draggable/node/node.drag-handler.d.ts +4 -7
  96. package/f-draggable/node/providers.d.ts +2 -1
  97. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +1 -1
  98. package/f-draggable/node-resize/providers.d.ts +1 -1
  99. package/f-draggable/providers.d.ts +1 -1
  100. package/f-line-alignment/f-line-alignment-base.d.ts +2 -8
  101. package/f-line-alignment/f-line-alignment.component.d.ts +6 -25
  102. package/f-node/providers.d.ts +1 -1
  103. package/f-storage/f-components-store.d.ts +2 -0
  104. package/f-storage/providers.d.ts +1 -1
  105. package/fesm2022/foblex-flow.mjs +638 -544
  106. package/fesm2022/foblex-flow.mjs.map +1 -1
  107. package/package.json +2 -2
  108. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -42
  109. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -9
  110. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -2
  111. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -4
  112. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -39
  113. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +0 -12
  114. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +0 -5
  115. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +0 -3
  116. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +0 -14
@@ -1,88 +1,22 @@
1
- import { Component, inject, Input } from '@angular/core';
2
- import { findClosestAlignment, RectExtensions, SizeExtensions } from '@foblex/2d';
3
- import { LineService } from './domain';
1
+ import { Component, ElementRef, inject, Input } from '@angular/core';
4
2
  import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
5
- import { GetCanvasRequest, GetNormalizedElementRectRequest, GetFlowHostElementRequest } from '../domain';
3
+ import { RemoveLineAlignmentFromStoreRequest, AddLineAlignmentToStoreRequest, } from '../domain';
6
4
  import { FMediator } from '@foblex/mediator';
7
5
  import * as i0 from "@angular/core";
8
- import * as i1 from "../f-draggable";
9
- import * as i2 from "@foblex/platform";
10
6
  export class FLineAlignmentComponent extends FLineAlignmentBase {
11
- elementReference;
12
- fDraggableDataContext;
13
- DEBOUNCE_TIME = 10;
14
7
  fAlignThreshold = 10;
15
- get hostElement() {
16
- return this.elementReference.nativeElement;
17
- }
18
- lineService;
19
- size = SizeExtensions.initialize();
20
- draggedNodeRect = RectExtensions.initialize();
21
- rects = [];
22
8
  _fMediator = inject(FMediator);
23
- _fCanvas;
24
- _debounceTimer = null;
25
- get _transform() {
26
- return this._fCanvas.transform;
27
- }
28
- constructor(elementReference, fDraggableDataContext, fBrowser) {
29
- super();
30
- this.elementReference = elementReference;
31
- this.fDraggableDataContext = fDraggableDataContext;
32
- this.lineService = new LineService(fBrowser, this.hostElement);
33
- }
34
- ngAfterViewInit() {
35
- this._fCanvas = this._fMediator.send(new GetCanvasRequest());
36
- this.fDraggableDataContext.fLineAlignment = this;
37
- }
38
- initialize(allNodes, currentNodes) {
39
- this.size = this._fMediator.send(new GetFlowHostElementRequest()).getBoundingClientRect();
40
- this.rects = [];
41
- const draggedNodeRects = currentNodes.map((x) => {
42
- return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
43
- });
44
- this.draggedNodeRect = RectExtensions.union(draggedNodeRects) || RectExtensions.initialize();
45
- const allNodesExcludeCurrents = allNodes.filter((x) => {
46
- return !currentNodes.includes(x);
47
- });
48
- this.rects = allNodesExcludeCurrents.map((x) => {
49
- return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
50
- });
51
- }
52
- handle(difference) {
53
- if (this._debounceTimer) {
54
- clearTimeout(this._debounceTimer);
55
- }
56
- this._debounceTimer = setTimeout(() => this.drawIntersectingLines(difference), this.DEBOUNCE_TIME);
57
- }
58
- drawIntersectingLines(difference) {
59
- const intersect = this.findNearestCoordinate(difference);
60
- if (intersect.xResult.value !== undefined) {
61
- this.lineService.drawVerticalLine(intersect.xResult.value, this.size, this._transform);
62
- }
63
- else {
64
- this.lineService.hideVerticalLine();
65
- }
66
- if (intersect.yResult.value !== undefined) {
67
- this.lineService.drawHorizontalLine(intersect.yResult.value, this.size, this._transform);
68
- }
69
- else {
70
- this.lineService.hideHorizontalLine();
71
- }
9
+ _elementReference = inject(ElementRef);
10
+ get hostElement() {
11
+ return this._elementReference.nativeElement;
72
12
  }
73
- findNearestCoordinate(difference) {
74
- const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
75
- return findClosestAlignment(this.rects, rect, this.fAlignThreshold);
13
+ ngOnInit() {
14
+ this._fMediator.execute(new AddLineAlignmentToStoreRequest(this));
76
15
  }
77
- complete() {
78
- this.lineService.hideVerticalLine();
79
- this.lineService.hideHorizontalLine();
80
- if (this._debounceTimer) {
81
- clearTimeout(this._debounceTimer);
82
- this._debounceTimer = null;
83
- }
16
+ ngOnDestroy() {
17
+ this._fMediator.execute(new RemoveLineAlignmentFromStoreRequest());
84
18
  }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: i2.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
86
20
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FLineAlignmentComponent, selector: "f-line-alignment", inputs: { fAlignThreshold: "fAlignThreshold" }, host: { classAttribute: "f-line-alignment f-component" }, providers: [
87
21
  { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
88
22
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "", isInline: true, styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] });
@@ -94,7 +28,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
94
28
  }, providers: [
95
29
  { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
96
30
  ], styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }]
97
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }, { type: i2.BrowserService }], propDecorators: { fAlignThreshold: [{
31
+ }], propDecorators: { fAlignThreshold: [{
98
32
  type: Input
99
33
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQ0wsb0JBQW9CLEVBS3BCLGNBQWMsRUFDZCxjQUFjLEVBQ2YsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUF3QixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLCtCQUErQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWdCN0MsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQThCbkQ7SUFDQTtJQTdCRixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBR3BCLGVBQWUsR0FBVyxFQUFFLENBQUM7SUFFcEMsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVPLFdBQVcsQ0FBYztJQUV6QixJQUFJLEdBQVUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTFDLGVBQWUsR0FBVSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFckQsS0FBSyxHQUFZLEVBQUUsQ0FBQztJQUVwQixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9CLFFBQVEsQ0FBMEI7SUFFbEMsY0FBYyxHQUFRLElBQUksQ0FBQztJ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O3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmaW5kQ2xvc2VzdEFsaWdubWVudCxcbiAgSVBvaW50LFxuICBJUmVjdCxcbiAgSVNpemUsXG4gIElUcmFuc2Zvcm1Nb2RlbCxcbiAgUmVjdEV4dGVuc2lvbnMsXG4gIFNpemVFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQsIExpbmVTZXJ2aWNlIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVCwgRkxpbmVBbGlnbm1lbnRCYXNlIH0gZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LWJhc2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEdldENhbnZhc1JlcXVlc3QsIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QsIEdldEZsb3dIb3N0RWxlbWVudFJlcXVlc3QgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi9mLWNhbnZhcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWxpbmUtYWxpZ25tZW50XCIsXG4gIHRlbXBsYXRlOiBcIlwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtbGluZS1hbGlnbm1lbnQuY29tcG9uZW50LnNjc3NcIiBdLFxuICBleHBvcnRBczogXCJmQ29tcG9uZW50XCIsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1saW5lLWFsaWdubWVudCBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0xJTkVfQUxJR05NRU5ULCB1c2VFeGlzdGluZzogRkxpbmVBbGlnbm1lbnRDb21wb25lbnQgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTGluZUFsaWdubWVudENvbXBvbmVudCBleHRlbmRzIEZMaW5lQWxpZ25tZW50QmFzZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgREVCT1VOQ0VfVElNRSA9IDEwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQWxpZ25UaHJlc2hvbGQ6IG51bWJlciA9IDEwO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgbGluZVNlcnZpY2U6IExpbmVTZXJ2aWNlO1xuXG4gIHByaXZhdGUgc2l6ZTogSVNpemUgPSBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBkcmFnZ2VkTm9kZVJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgcmVjdHM6IElSZWN0W10gPSBbXTtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBwcml2YXRlIF9mQ2FudmFzOiBGQ2FudmFzQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBhbnkgPSBudWxsO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIGZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UoZkJyb3dzZXIsIHRoaXMuaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mQ2FudmFzID0gdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IEdldENhbnZhc1JlcXVlc3QoKSk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5fZk1lZGlhdG9yLnNlbmQ8SFRNTEVsZW1lbnQ+KG5ldyBHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0KCkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMucmVjdHMgPSBbXTtcbiAgICBjb25zdCBkcmFnZ2VkTm9kZVJlY3RzID0gY3VycmVudE5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh4Lmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICAgIH0pO1xuICAgIHRoaXMuZHJhZ2dlZE5vZGVSZWN0ID0gUmVjdEV4dGVuc2lvbnMudW5pb24oZHJhZ2dlZE5vZGVSZWN0cykgfHwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gICAgY29uc3QgYWxsTm9kZXNFeGNsdWRlQ3VycmVudHMgPSBhbGxOb2Rlcy5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhY3VycmVudE5vZGVzLmluY2x1ZGVzKHgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZWN0cyA9IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh4Lmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xuICAgIH1cblxuICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpLCB0aGlzLkRFQk9VTkNFX1RJTUUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLl90cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB9XG4gICAgaWYgKGludGVyc2VjdC55UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd0hvcml6b250YWxMaW5lKGludGVyc2VjdC55UmVzdWx0LnZhbHVlLCB0aGlzLnNpemUsIHRoaXMuX3RyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbmROZWFyZXN0Q29vcmRpbmF0ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB7XG4gICAgY29uc3QgcmVjdCA9IFJlY3RFeHRlbnNpb25zLmFkZFBvaW50KHRoaXMuZHJhZ2dlZE5vZGVSZWN0LCBkaWZmZXJlbmNlKTtcblxuICAgIHJldHVybiBmaW5kQ2xvc2VzdEFsaWdubWVudCh0aGlzLnJlY3RzLCByZWN0LCB0aGlzLmZBbGlnblRocmVzaG9sZCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5saW5lU2VydmljZS5oaWRlVmVydGljYWxMaW5lKCk7XG4gICAgdGhpcy5saW5lU2VydmljZS5oaWRlSG9yaXpvbnRhbExpbmUoKTtcblxuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyw4QkFBOEIsR0FDL0IsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWM3QyxNQUFNLE9BQU8sdUJBQ1gsU0FBUSxrQkFBa0I7SUFHVixlQUFlLEdBQVcsRUFBRSxDQUFDO0lBRXJDLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksbUNBQW1DLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7dUdBbkJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFKQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUNwRSwyRUFSUyxFQUFFOzsyRkFVRCx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsWUFFRixZQUFZLFFBQ2hCO3dCQUNKLE9BQU8sRUFBRSw4QkFBOEI7cUJBQ3hDLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDcEU7OEJBTWUsZUFBZTtzQkFEOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfTElORV9BTElHTk1FTlQsIEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudC1iYXNlJztcbmltcG9ydCB7XG4gIFJlbW92ZUxpbmVBbGlnbm1lbnRGcm9tU3RvcmVSZXF1ZXN0LFxuICBBZGRMaW5lQWxpZ25tZW50VG9TdG9yZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50XG4gIGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQWxpZ25UaHJlc2hvbGQ6IG51bWJlciA9IDEwO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZExpbmVBbGlnbm1lbnRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUxpbmVBbGlnbm1lbnRGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG59XG4iXX0=
@@ -20,6 +20,7 @@ export class FComponentsStore {
20
20
  fInputs = [];
21
21
  fOutlets = [];
22
22
  fDraggable;
23
+ fLineAlignment;
23
24
  addComponent(collection, component) {
24
25
  collection.push(component);
25
26
  this.countChanged();
@@ -46,4 +47,4 @@ export class FComponentsStore {
46
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FComponentsStore, decorators: [{
47
48
  type: Injectable
48
49
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGdCQUFnQjtJQUVYLGlCQUFpQixHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFbkMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFOUIsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUVqQyxXQUFXLENBQThCO0lBRXpDLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRXJDLGVBQWUsQ0FBOEI7SUFFN0MsZUFBZSxDQUE4QjtJQUU3QyxRQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUU3QixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUUvQixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxVQUFVLENBQTZCO0lBRXZDLFlBQVksQ0FBSSxVQUFlLEVBQUUsU0FBWTtRQUNsRCxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZUFBZSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ3JELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xDLENBQUM7dUdBM0RVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZGbG93QmFzZSB9IGZyb20gJy4uL2YtZmxvdyc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uL2YtY2FudmFzJztcbmltcG9ydCB7IEZCYWNrZ3JvdW5kQmFzZSB9IGZyb20gJy4uL2YtYmFja2dyb3VkJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZDaGFubmVsIH0gZnJvbSAnLi4vcmVhY3Rpdml0eSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGQ29tcG9uZW50c1N0b3JlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNmb3JtQ2hhbmdlcyQgPSBuZXcgRkNoYW5uZWwoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YUNoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvdW50Q2hhbmdlcyQgPSBuZXcgRkNoYW5uZWwoKTtcblxuICBwdWJsaWMgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mRmxvdz8uaG9zdEVsZW1lbnQhO1xuICB9XG5cbiAgcHVibGljIGZGbG93OiBGRmxvd0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZDYW52YXM6IEZDYW52YXNCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmQmFja2dyb3VuZDogRkJhY2tncm91bmRCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmTm9kZXM6IEZOb2RlQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZDb25uZWN0aW9uczogRkNvbm5lY3Rpb25CYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZlRlbXBDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZTbmFwQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmTWFya2VyczogRk1hcmtlckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmT3V0cHV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmSW5wdXRzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZPdXRsZXRzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZEcmFnZ2FibGU6IEZEcmFnZ2FibGVCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBhZGRDb21wb25lbnQ8VD4oY29sbGVjdGlvbjogVFtdLCBjb21wb25lbnQ6IFQpOiB2b2lkIHtcbiAgICBjb2xsZWN0aW9uLnB1c2goY29tcG9uZW50KTtcbiAgICB0aGlzLmNvdW50Q2hhbmdlZCgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNvbXBvbmVudDxUPihjb2xsZWN0aW9uOiBUW10sIGNvbXBvbmVudDogVCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gY29sbGVjdGlvbi5pbmRleE9mKGNvbXBvbmVudCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIGNvbGxlY3Rpb24uc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHRoaXMuY291bnRDaGFuZ2VkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNvdW50Q2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50Q2hhbmdlcyQubm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgZGF0YUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlcyQubm90aWZ5KCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zZm9ybUNoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJekMsTUFBTSxPQUFPLGdCQUFnQjtJQUVYLGlCQUFpQixHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFbkMsWUFBWSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFOUIsYUFBYSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFZLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUVqQyxXQUFXLENBQThCO0lBRXpDLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRXJDLGVBQWUsQ0FBOEI7SUFFN0MsZUFBZSxDQUE4QjtJQUU3QyxRQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUU3QixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxPQUFPLEdBQXFCLEVBQUUsQ0FBQztJQUUvQixRQUFRLEdBQXFCLEVBQUUsQ0FBQztJQUVoQyxVQUFVLENBQTZCO0lBRXZDLGNBQWMsQ0FBaUM7SUFFL0MsWUFBWSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxlQUFlLENBQUksVUFBZSxFQUFFLFNBQVk7UUFDckQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt1R0E3RFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi4vZi1iYWNrZ3JvdWQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRkNoYW5uZWwgfSBmcm9tICcuLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNvbXBvbmVudHNTdG9yZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZm9ybUNoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDaGFuZ2VzJCA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb3VudENoYW5nZXMkID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkZsb3c/Lmhvc3RFbGVtZW50ITtcbiAgfVxuXG4gIHB1YmxpYyBmRmxvdzogRkZsb3dCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmQ2FudmFzOiBGQ2FudmFzQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkJhY2tncm91bmQ6IEZCYWNrZ3JvdW5kQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZk5vZGVzOiBGTm9kZUJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmQ29ubmVjdGlvbnM6IEZDb25uZWN0aW9uQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZUZW1wQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmU25hcENvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZk1hcmtlcnM6IEZNYXJrZXJCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dHB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZklucHV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmT3V0bGV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmRHJhZ2dhYmxlOiBGRHJhZ2dhYmxlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkxpbmVBbGlnbm1lbnQ6IEZMaW5lQWxpZ25tZW50QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWRkQ29tcG9uZW50PFQ+KGNvbGxlY3Rpb246IFRbXSwgY29tcG9uZW50OiBUKTogdm9pZCB7XG4gICAgY29sbGVjdGlvbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jb3VudENoYW5nZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDb21wb25lbnQ8VD4oY29sbGVjdGlvbjogVFtdLCBjb21wb25lbnQ6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IGNvbGxlY3Rpb24uaW5kZXhPZihjb21wb25lbnQpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb2xsZWN0aW9uLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLmNvdW50Q2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb3VudENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudENoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIGRhdGFDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZXMkLm5vdGlmeSgpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2Zvcm1DaGFuZ2VzJC5ub3RpZnkoKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
1
  import { FBackgroundComponent } from './f-background.component';
2
2
  import { FRectPatternComponent } from './f-rect-pattern';
3
3
  import { FCirclePatternComponent } from './f-circle-pattern';
4
- export declare const F_BACKGROUND_PROVIDERS: (typeof FRectPatternComponent | typeof FCirclePatternComponent | typeof FBackgroundComponent)[];
4
+ export declare const F_BACKGROUND_PROVIDERS: (typeof FBackgroundComponent | typeof FCirclePatternComponent | typeof FRectPatternComponent)[];
@@ -4,4 +4,4 @@ import { FConnectionCenterDirective } from './f-connection-center';
4
4
  import { FConnectionForCreateComponent } from './f-connection-for-create';
5
5
  import { FMarkerDirective } from './f-marker';
6
6
  import { FSnapConnectionComponent } from './f-snap-connection';
7
- export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionDragHandleComponent | typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionForCreateComponent | typeof FConnectionComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FSnapConnectionComponent | typeof FConnectionDragHandleComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FMarkerDirective | typeof FConnectionComponent | typeof FConnectionForCreateComponent | typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent)[];
@@ -1,4 +1,4 @@
1
1
  import { FNodeInputDirective } from './f-node-input';
2
2
  import { FNodeOutletDirective } from './f-node-outlet';
3
3
  import { FNodeOutputDirective } from './f-node-output';
4
- export declare const F_CONNECTORS_PROVIDERS: (typeof FNodeInputDirective | typeof FNodeOutletDirective | typeof FNodeOutputDirective)[];
4
+ export declare const F_CONNECTORS_PROVIDERS: (typeof FNodeOutputDirective | typeof FNodeOutletDirective | typeof FNodeInputDirective)[];
@@ -1,4 +1,4 @@
1
1
  import { CreateConnectionDragHandlerExecution, CreateConnectionFinalizeExecution, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationValidator, CreateConnectionPreparationExecution, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletValidator } from './create-connection';
2
2
  import { ReassignConnectionFinalizeExecution, ReassignConnectionPreparationExecution } from './reassign-connection';
3
3
  import { GetInputUnderPointerExecution, GetInputUnderPointerValidator } from './get-input-under-pointer';
4
- export declare const CONNECTIONS_PROVIDERS: (typeof ReassignConnectionFinalizeExecution | typeof ReassignConnectionPreparationExecution | typeof CreateConnectionPreparationExecution | typeof GetInputUnderPointerExecution | typeof GetInputUnderPointerValidator | typeof CreateConnectionFinalizeExecution | typeof CreateConnectionDragHandlerExecution | typeof CreateConnectionFromOutletPreparationExecution | typeof GetCanBeConnectedOutputByOutletExecution | typeof GetCanBeConnectedOutputByOutletValidator | typeof CreateConnectionFromOutputPreparationExecution | typeof CreateConnectionFromOutputPreparationValidator)[];
4
+ export declare const CONNECTIONS_PROVIDERS: (typeof CreateConnectionPreparationExecution | typeof CreateConnectionDragHandlerExecution | typeof CreateConnectionFinalizeExecution | typeof GetInputUnderPointerExecution | typeof ReassignConnectionPreparationExecution | typeof ReassignConnectionFinalizeExecution | typeof GetInputUnderPointerValidator | typeof CreateConnectionFromOutletPreparationExecution | typeof GetCanBeConnectedOutputByOutletExecution | typeof GetCanBeConnectedOutputByOutletValidator | typeof CreateConnectionFromOutputPreparationExecution | typeof CreateConnectionFromOutputPreparationValidator)[];
@@ -1,20 +1,19 @@
1
1
  import { ReassignConnectionFinalizeRequest } from './reassign-connection-finalize.request';
2
- import { FComponentsStore } from '../../../../f-storage';
3
- import { FDraggableDataContext } from '../../../f-draggable-data-context';
4
- import { FMediator, IExecution } from '@foblex/mediator';
2
+ import { IExecution } from '@foblex/mediator';
5
3
  import * as i0 from "@angular/core";
6
4
  export declare class ReassignConnectionFinalizeExecution implements IExecution<ReassignConnectionFinalizeRequest, void> {
7
- private fComponentsStore;
8
- private fDraggableDataContext;
9
- private fMediator;
10
- private get fDraggable();
11
- private get dragHandler();
12
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator);
5
+ private _fMediator;
6
+ private _fComponentsStore;
7
+ private _fDraggableDataContext;
8
+ private get _fDraggable();
9
+ private get _fDragHandler();
13
10
  handle(request: ReassignConnectionFinalizeRequest): void;
14
- private _isValid;
15
- private emitEvent;
16
- private getInputUnderPointer;
17
- private isReassignToDifferentInput;
11
+ private _isDroppedConnectionReassignEvent;
12
+ private _applyReassignEvent;
13
+ private _getInputUnderPointer;
14
+ private _isReassignToDifferentInput;
15
+ private _emitReassignConnectionEvent;
16
+ private _getEventData;
18
17
  static ɵfac: i0.ɵɵFactoryDeclaration<ReassignConnectionFinalizeExecution, never>;
19
18
  static ɵprov: i0.ɵɵInjectableDeclaration<ReassignConnectionFinalizeExecution>;
20
19
  }
@@ -20,7 +20,9 @@ export declare class ReassignConnectionDragHandler implements IDraggableItem {
20
20
  private getInput;
21
21
  onPointerMove(difference: IPoint): void;
22
22
  private _drawConnection;
23
+ private _getLineToPointer;
23
24
  private _drawSnapConnection;
25
+ private _getLineToClosestInput;
24
26
  getClosetInput(difference: IPoint): IClosestInput | undefined;
25
27
  private _findClosestInput;
26
28
  private _getClosestInputForSnapConnection;
@@ -1,13 +1,10 @@
1
1
  import { IsArrayHasParentNodeRequest } from './is-array-has-parent-node.request';
2
- import { FMediator, IExecution } from '@foblex/mediator';
2
+ import { IExecution } from '@foblex/mediator';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class IsArrayHasParentNodeExecution implements IExecution<IsArrayHasParentNodeRequest, boolean> {
5
- private fMediator;
6
- constructor(fMediator: FMediator);
7
5
  handle(request: IsArrayHasParentNodeRequest): boolean;
8
- private getParentNodeIds;
9
- private getParentNodes;
10
- private isParentNodeInArray;
6
+ private _getParentNodeIds;
7
+ private _isParentNodeInArray;
11
8
  static ɵfac: i0.ɵɵFactoryDeclaration<IsArrayHasParentNodeExecution, never>;
12
9
  static ɵprov: i0.ɵɵInjectableDeclaration<IsArrayHasParentNodeExecution>;
13
10
  }
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
2
  export declare class IsArrayHasParentNodeRequest {
3
- fNode: FNodeBase;
4
- fNodes: FNodeBase[];
5
- constructor(fNode: FNodeBase, fNodes: FNodeBase[]);
3
+ fParentNodes: FNodeBase[];
4
+ fDraggedNodes: FNodeBase[];
5
+ constructor(fParentNodes: FNodeBase[], fDraggedNodes: FNodeBase[]);
6
6
  }
@@ -5,13 +5,14 @@ export declare class IsConnectionUnderNodeExecution implements IExecution<IsConn
5
5
  private _fMediator;
6
6
  private _fComponentsStore;
7
7
  handle(request: IsConnectionUnderNodeRequest): void;
8
- private _getNodeOutputConnectors;
9
- private _getNodeInputConnectors;
8
+ private _getOutputConnectors;
9
+ private _getInputConnectors;
10
10
  private _getOutputConnectionsId;
11
11
  private _getInputConnectionsId;
12
12
  private _getConnectorsId;
13
13
  private _calculateConnectionsUnderNode;
14
14
  private _isConnectionHasIntersectionsWithNode;
15
+ private _emitNodeIntersectedWithConnections;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<IsConnectionUnderNodeExecution, never>;
16
17
  static ɵprov: i0.ɵɵInjectableDeclaration<IsConnectionUnderNodeExecution>;
17
18
  }
@@ -1,4 +1,4 @@
1
1
  import { IsArrayHasParentNodeExecution } from './is-array-has-parent-node';
2
2
  import { GetNormalizedParentNodeRectExecution } from './get-normalized-parent-node-rect';
3
3
  import { IsConnectionUnderNodeExecution } from './is-connection-under-node';
4
- export declare const DRAG_AND_DROP_COMMON_PROVIDERS: (typeof IsConnectionUnderNodeExecution | typeof GetNormalizedParentNodeRectExecution | typeof IsArrayHasParentNodeExecution)[];
4
+ export declare const DRAG_AND_DROP_COMMON_PROVIDERS: (typeof GetNormalizedParentNodeRectExecution | typeof IsArrayHasParentNodeExecution | typeof IsConnectionUnderNodeExecution)[];
@@ -1,6 +1,5 @@
1
1
  import { Point } from '@foblex/2d';
2
2
  import { IDraggableItem } from './i-draggable-item';
3
- import { FLineAlignmentBase } from '../f-line-alignment';
4
3
  import { ICanChangeSelection } from '../mixins';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class FDraggableDataContext {
@@ -9,9 +8,9 @@ export declare class FDraggableDataContext {
9
8
  onPointerDownScale: number;
10
9
  onPointerDownPosition: Point;
11
10
  draggableItems: IDraggableItem[];
12
- fLineAlignment: FLineAlignmentBase | undefined;
13
11
  reset(): void;
14
12
  markSelectionAsChanged(): void;
13
+ isEmpty(): boolean;
15
14
  static ɵfac: i0.ɵɵFactoryDeclaration<FDraggableDataContext, never>;
16
15
  static ɵprov: i0.ɵɵInjectableDeclaration<FDraggableDataContext>;
17
16
  }
@@ -1,8 +1,7 @@
1
1
  import { IDraggableItem } from '../i-draggable-item';
2
2
  import { FConnectionBase } from '../../f-connection';
3
3
  import { FMediator } from '@foblex/mediator';
4
- import { INodeMoveRestrictions } from './create-move-nodes-drag-model-from-selection';
5
- import { ILine, IPoint } from '@foblex/2d';
4
+ import { ILine, IMinMaxPoint, IPoint } from '@foblex/2d';
6
5
  import { FComponentsStore } from '../../f-storage';
7
6
  import { IConnectorWithRect } from '../../domain';
8
7
  import * as i0 from "@angular/core";
@@ -18,7 +17,7 @@ export declare abstract class ConnectionBaseDragHandler implements IDraggableIte
18
17
  private getInput;
19
18
  private connectorNotFoundPrefix;
20
19
  abstract onPointerMove(difference: IPoint): void;
21
- protected getRestrictedDifference(difference: IPoint, restrictions: INodeMoveRestrictions): IPoint;
20
+ protected getRestrictedDifference(difference: IPoint, restrictions: IMinMaxPoint): IPoint;
22
21
  protected redrawConnection(line: ILine): void;
23
22
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionBaseDragHandler, never>;
24
23
  static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionBaseDragHandler, never, never, {}, {}, never, never, false, never>;
@@ -1,12 +1,11 @@
1
- import { IPoint } from '@foblex/2d';
1
+ import { IMinMaxPoint, IPoint } from '@foblex/2d';
2
2
  import { FConnectionBase } from '../../f-connection';
3
3
  import { FMediator } from '@foblex/mediator';
4
4
  import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
5
5
  import { FComponentsStore } from '../../f-storage';
6
6
  export declare class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
7
- minDistance: IPoint;
8
- maxDistance: IPoint;
9
- constructor(fMediator: FMediator, fComponentsStore: FComponentsStore, connection: FConnectionBase, minDistance: IPoint, maxDistance: IPoint);
7
+ restrictions: IMinMaxPoint;
8
+ constructor(fMediator: FMediator, fComponentsStore: FComponentsStore, connection: FConnectionBase, restrictions: IMinMaxPoint);
10
9
  onPointerMove(difference: IPoint): void;
11
10
  private getNewLineValue;
12
11
  }
@@ -1,12 +1,11 @@
1
- import { IPoint } from '@foblex/2d';
1
+ import { IMinMaxPoint, IPoint } from '@foblex/2d';
2
2
  import { FConnectionBase } from '../../f-connection';
3
3
  import { FMediator } from '@foblex/mediator';
4
4
  import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
5
5
  import { FComponentsStore } from '../../f-storage';
6
6
  export declare class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
7
- minDistance: IPoint;
8
- maxDistance: IPoint;
9
- constructor(fMediator: FMediator, fComponentsStore: FComponentsStore, connection: FConnectionBase, minDistance: IPoint, maxDistance: IPoint);
7
+ restrictions: IMinMaxPoint;
8
+ constructor(fMediator: FMediator, fComponentsStore: FComponentsStore, connection: FConnectionBase, restrictions: IMinMaxPoint);
10
9
  onPointerMove(difference: IPoint): void;
11
10
  private getNewLineValue;
12
11
  }
@@ -1,4 +1,4 @@
1
- import { IPoint } from '@foblex/2d';
1
+ import { IMinMaxPoint, IPoint } from '@foblex/2d';
2
2
  import { FConnectionBase } from '../../f-connection';
3
3
  import { FMediator } from '@foblex/mediator';
4
4
  import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
@@ -7,8 +7,8 @@ export declare class ConnectionDragHandler extends ConnectionBaseDragHandler {
7
7
  private sourceRestrictions;
8
8
  private targetRestrictions;
9
9
  constructor(fMediator: FMediator, fComponentsStore: FComponentsStore, connection: FConnectionBase);
10
- setOutputRestrictions(min: IPoint, max: IPoint): void;
11
- setInputRestrictions(min: IPoint, max: IPoint): void;
10
+ setOutputRestrictions(restrictions: IMinMaxPoint): void;
11
+ setInputRestrictions(restrictions: IMinMaxPoint): void;
12
12
  onPointerMove(difference: IPoint): void;
13
13
  private getNewLineValue;
14
14
  }
@@ -7,12 +7,15 @@ export declare class CreateMoveNodesDragModelFromSelectionExecution implements I
7
7
  private _fComponentsStore;
8
8
  private _fDraggableDataContext;
9
9
  handle(request: CreateMoveNodesDragModelFromSelectionRequest): IDraggableItem[];
10
- private _getSelectedNodes;
10
+ private _getDraggedNodes;
11
11
  private _getNodesFromSelection;
12
12
  private _findNode;
13
13
  private _getNodesWithRestrictions;
14
- private getChildrenItemsToDrag;
15
- private getChildrenNodes;
14
+ private _getNodeMoveRestrictions;
15
+ private _isParentNodeInArray;
16
+ private _getChildrenItemsToDrag;
17
+ private _getChildrenNodes;
18
+ private _applyCommonRestrictions;
16
19
  private getAllOutputIds;
17
20
  private getOutputsForNode;
18
21
  private getAllInputIds;
@@ -0,0 +1,13 @@
1
+ import { CalculateCommonNodeMoveRestrictionsRequest } from './calculate-common-node-move-restrictions.request';
2
+ import { IMinMaxPoint } from '@foblex/2d';
3
+ import { IExecution } from '@foblex/mediator';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CalculateCommonNodeMoveRestrictionsExecution implements IExecution<CalculateCommonNodeMoveRestrictionsRequest, IMinMaxPoint> {
6
+ handle(request: CalculateCommonNodeMoveRestrictionsRequest): IMinMaxPoint;
7
+ private _calculateCommonRestrictions;
8
+ private _clampRestrictions;
9
+ private _clampMinRestrictions;
10
+ private _clampMaxRestrictions;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateCommonNodeMoveRestrictionsExecution, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateCommonNodeMoveRestrictionsExecution>;
13
+ }
@@ -0,0 +1,5 @@
1
+ import { INodeWithDistanceRestrictions } from '../../i-node-with-distance-restrictions';
2
+ export declare class CalculateCommonNodeMoveRestrictionsRequest {
3
+ restrictions: INodeWithDistanceRestrictions[];
4
+ constructor(restrictions: INodeWithDistanceRestrictions[]);
5
+ }
@@ -0,0 +1,2 @@
1
+ export * from './calculate-common-node-move-restrictions.execution';
2
+ export * from './calculate-common-node-move-restrictions.request';
@@ -0,0 +1,12 @@
1
+ import { CalculateNodeMoveRestrictionsRequest } from './calculate-node-move-restrictions.request';
2
+ import { IMinMaxPoint } from '@foblex/2d';
3
+ import { IExecution } from '@foblex/mediator';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CalculateNodeMoveRestrictionsExecution implements IExecution<CalculateNodeMoveRestrictionsRequest, IMinMaxPoint> {
6
+ private _fMediator;
7
+ handle(request: CalculateNodeMoveRestrictionsRequest): IMinMaxPoint;
8
+ private _getNodeRect;
9
+ private _getParentNodeRect;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<CalculateNodeMoveRestrictionsExecution, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<CalculateNodeMoveRestrictionsExecution>;
12
+ }
@@ -1,5 +1,5 @@
1
1
  import { FNodeBase } from '../../../../../f-node';
2
- export declare class GetNodeMoveRestrictionsRequest {
2
+ export declare class CalculateNodeMoveRestrictionsRequest {
3
3
  fNode: FNodeBase;
4
4
  hasParentNodeInSelected: boolean;
5
5
  constructor(fNode: FNodeBase, hasParentNodeInSelected: boolean);
@@ -0,0 +1,2 @@
1
+ export * from './calculate-node-move-restrictions.execution';
2
+ export * from './calculate-node-move-restrictions.request';
@@ -1,14 +1,12 @@
1
1
  import { PutInputConnectionHandlersToArrayRequest } from './put-input-connection-handlers-to-array.request';
2
- import { FComponentsStore } from '../../../../../f-storage';
3
- import { FMediator, IExecution } from '@foblex/mediator';
2
+ import { IExecution } from '@foblex/mediator';
4
3
  import { FNodeBase } from '../../../../../f-node';
5
4
  import { FConnectionBase } from '../../../../../f-connection';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class PutInputConnectionHandlersToArrayExecution implements IExecution<PutInputConnectionHandlersToArrayRequest, void> {
8
- private fComponentsStore;
9
- private fMediator;
10
- private get fConnections();
11
- constructor(fComponentsStore: FComponentsStore, fMediator: FMediator);
7
+ private _fMediator;
8
+ private _fComponentsStore;
9
+ private get _fConnections();
12
10
  handle(request: PutInputConnectionHandlersToArrayRequest): void;
13
11
  getInputConnections(node: FNodeBase): FConnectionBase[];
14
12
  private getInputsForNode;
@@ -1,6 +1,6 @@
1
1
  import { FNodeBase } from '../../../f-node';
2
- import { INodeMoveRestrictions } from './domain/get-node-move-restrictions';
3
- export interface INodeWithDistanceRestrictions extends INodeMoveRestrictions {
4
- node: FNodeBase;
5
- parentNodes?: FNodeBase[];
2
+ import { IMinMaxPoint } from '@foblex/2d';
3
+ export interface INodeWithDistanceRestrictions extends IMinMaxPoint {
4
+ fDraggedNode: FNodeBase;
5
+ fParentNodes?: FNodeBase[];
6
6
  }
@@ -1,6 +1,7 @@
1
+ export * from './domain/calculate-common-node-move-restrictions';
1
2
  export * from './domain/put-input-connection-handlers-to-array';
2
3
  export * from './domain/put-output-connection-handlers-to-array';
3
- export * from './domain/get-node-move-restrictions';
4
+ export * from './domain/calculate-node-move-restrictions';
4
5
  export * from './providers';
5
6
  export * from './create-move-nodes-drag-model-from-selection.execution';
6
7
  export * from './create-move-nodes-drag-model-from-selection.request';
@@ -1,5 +1,6 @@
1
1
  import { CreateMoveNodesDragModelFromSelectionExecution } from './create-move-nodes-drag-model-from-selection.execution';
2
- import { GetNodeMoveRestrictionsExecution } from './domain/get-node-move-restrictions';
2
+ import { CalculateNodeMoveRestrictionsExecution } from './domain/calculate-node-move-restrictions';
3
3
  import { PutInputConnectionHandlersToArrayExecution } from './domain/put-input-connection-handlers-to-array';
4
4
  import { PutOutputConnectionHandlersToArrayExecution } from './domain/put-output-connection-handlers-to-array';
5
- export declare const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS: (typeof GetNodeMoveRestrictionsExecution | typeof PutInputConnectionHandlersToArrayExecution | typeof PutOutputConnectionHandlersToArrayExecution | typeof CreateMoveNodesDragModelFromSelectionExecution)[];
5
+ import { CalculateCommonNodeMoveRestrictionsExecution } from './domain/calculate-common-node-move-restrictions';
6
+ export declare const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS: (typeof CalculateCommonNodeMoveRestrictionsExecution | typeof CalculateNodeMoveRestrictionsExecution | typeof PutInputConnectionHandlersToArrayExecution | typeof PutOutputConnectionHandlersToArrayExecution | typeof CreateMoveNodesDragModelFromSelectionExecution)[];
@@ -1,4 +1,5 @@
1
1
  export * from './create-move-nodes-drag-model-from-selection';
2
+ export * from './line-alignment-preparation';
2
3
  export * from './node-drag-to-parent-finalize';
3
4
  export * from './node-drag-to-parent-preparation';
4
5
  export * from './node-move-preparation';
@@ -8,6 +9,7 @@ export * from './connection-base-drag-handler';
8
9
  export * from './connection-source.drag-handler';
9
10
  export * from './connection-target.drag-handler';
10
11
  export * from './f-drop-to-group.event';
12
+ export * from './line-alignment.drag-handler';
11
13
  export * from './node.drag-handler';
12
14
  export * from './node-drag-to-parent.drag-handler';
13
15
  export * from './node-resize-by-child.drag-handler';
@@ -0,0 +1,2 @@
1
+ export * from './line-alignment-preparation.execution';
2
+ export * from './line-alignment-preparation.request';
@@ -0,0 +1,21 @@
1
+ import { LineAlignmentPreparationRequest } from './line-alignment-preparation.request';
2
+ import { IExecution } from '@foblex/mediator';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LineAlignmentPreparationExecution implements IExecution<LineAlignmentPreparationRequest, void> {
5
+ private _fMediator;
6
+ private _fComponentsStore;
7
+ private _fDraggableDataContext;
8
+ private _fBrowser;
9
+ private _lineService;
10
+ handle(request: LineAlignmentPreparationRequest): void;
11
+ private _getDraggedNodes;
12
+ private _addLineAlignmentDragHandler;
13
+ private _getFlowHostSize;
14
+ private _createLineService;
15
+ private _getDraggedNodesBoundingRect;
16
+ private _getStaticNodeRects;
17
+ private _getStaticNodes;
18
+ private _getCommonRestrictions;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<LineAlignmentPreparationExecution, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<LineAlignmentPreparationExecution>;
21
+ }
@@ -0,0 +1,2 @@
1
+ export declare class LineAlignmentPreparationRequest {
2
+ }
@@ -0,0 +1,20 @@
1
+ import { IMinMaxPoint, IPoint, IRect, ISize } from '@foblex/2d';
2
+ import { IDraggableItem } from '../index';
3
+ import { FComponentsStore } from '../../f-storage';
4
+ import { ILineAlignmentResult, LineService } from '../../f-line-alignment';
5
+ export declare class LineAlignmentDragHandler implements IDraggableItem {
6
+ private _fComponentsStore;
7
+ private _lineService;
8
+ private _size;
9
+ private _draggedNodeRect;
10
+ private _rects;
11
+ private _restrictions;
12
+ private _debounceTimer;
13
+ private readonly _transform;
14
+ constructor(_fComponentsStore: FComponentsStore, _lineService: LineService, _size: ISize, _draggedNodeRect: IRect, _rects: IRect[], _restrictions: IMinMaxPoint);
15
+ onPointerMove(difference: IPoint): void;
16
+ private _drawIntersectingLines;
17
+ private _getDifference;
18
+ findNearestCoordinate(difference: IPoint): ILineAlignmentResult;
19
+ onPointerUp(): void;
20
+ }
@@ -1,4 +1,3 @@
1
1
  export * from './providers';
2
2
  export * from './node-move-preparation.execution';
3
3
  export * from './node-move-preparation.request';
4
- export * from './node-move-preparation.validator';
@@ -7,12 +7,13 @@ export declare class NodeMovePreparationExecution implements IExecution<NodeMove
7
7
  private _fDraggableDataContext;
8
8
  private get _transform();
9
9
  private get _fHost();
10
+ private _fNode;
10
11
  handle(request: NodeMovePreparationRequest): void;
12
+ private _isValid;
13
+ private _isDragHandleElement;
11
14
  private _getNode;
12
- private _calculateDraggableItems;
15
+ private _calculateDraggedItems;
13
16
  private _dragModelFromSelection;
14
- private _initializeLineAlignment;
15
- private _filterNodesFromDraggableItems;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeMovePreparationExecution, never>;
17
18
  static ɵprov: i0.ɵɵInjectableDeclaration<NodeMovePreparationExecution>;
18
19
  }