@foblex/flow 17.0.8 → 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.
- package/domain/f-background/providers.d.ts +1 -1
- package/domain/f-canvas/providers.d.ts +1 -1
- package/domain/f-draggable/providers.d.ts +1 -1
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +2 -3
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +2 -2
- package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +4 -6
- package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
- package/domain/f-flow/providers.d.ts +1 -1
- package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +3 -0
- package/domain/f-node/providers.d.ts +1 -1
- package/domain/index.d.ts +1 -0
- package/domain/log-execution-time.d.ts +1 -0
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +17 -19
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -5
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +14 -19
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +2 -2
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +2 -2
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +4 -4
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +5 -1
- package/esm2022/domain/index.mjs +2 -1
- package/esm2022/domain/log-execution-time.mjs +16 -0
- package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -4
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +25 -19
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +1 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/connections/providers.mjs +3 -5
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +33 -33
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +1 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +46 -42
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +9 -3
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +8 -17
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +6 -6
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +26 -22
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -2
- package/esm2022/f-draggable/f-draggable.directive.mjs +11 -7
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +1 -1
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +5 -7
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +5 -7
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +37 -22
- 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
- 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
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +3 -0
- 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
- 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
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +3 -0
- 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
- 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
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +1 -1
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +3 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -3
- package/esm2022/f-draggable/node/index.mjs +3 -1
- package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +67 -0
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +3 -0
- package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +61 -0
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +8 -6
- package/esm2022/f-draggable/node/node-move-preparation/index.mjs +1 -2
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +26 -21
- package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +1 -3
- package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -19
- package/esm2022/f-draggable/node/providers.mjs +3 -1
- package/esm2022/f-draggable/single-select/index.mjs +1 -2
- package/esm2022/f-draggable/single-select/providers.mjs +1 -3
- package/esm2022/f-draggable/single-select/single-select.execution.mjs +8 -1
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +1 -1
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +12 -78
- package/esm2022/f-storage/f-components-store.mjs +2 -1
- package/f-backgroud/providers.d.ts +1 -1
- package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +2 -0
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +6 -6
- package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -1
- package/f-draggable/connections/providers.d.ts +3 -3
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +12 -13
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +14 -16
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -0
- package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +3 -6
- package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +3 -3
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +3 -2
- package/f-draggable/f-draggable-base.d.ts +1 -0
- package/f-draggable/f-draggable-data-context.d.ts +1 -2
- package/f-draggable/f-draggable.directive.d.ts +3 -1
- package/f-draggable/node/connection-base-drag-handler.d.ts +2 -3
- package/f-draggable/node/connection-source.drag-handler.d.ts +3 -4
- package/f-draggable/node/connection-target.drag-handler.d.ts +3 -4
- package/f-draggable/node/connection.drag-handler.d.ts +3 -3
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +6 -3
- 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
- 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
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +2 -0
- 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
- 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
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +2 -0
- 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
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +4 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +2 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -2
- package/f-draggable/node/index.d.ts +2 -0
- package/f-draggable/node/line-alignment-preparation/index.d.ts +2 -0
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +21 -0
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +2 -0
- package/f-draggable/node/line-alignment.drag-handler.d.ts +20 -0
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +1 -1
- package/f-draggable/node/node-move-preparation/index.d.ts +0 -1
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +4 -3
- package/f-draggable/node/node-move-preparation/providers.d.ts +1 -2
- package/f-draggable/node/node.drag-handler.d.ts +4 -7
- package/f-draggable/node/providers.d.ts +2 -1
- package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +1 -1
- package/f-draggable/node-resize/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/index.d.ts +0 -1
- package/f-draggable/single-select/providers.d.ts +1 -2
- package/f-draggable/single-select/single-select.execution.d.ts +1 -0
- package/f-line-alignment/f-line-alignment-base.d.ts +2 -8
- package/f-line-alignment/f-line-alignment.component.d.ts +6 -25
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/providers.d.ts +1 -1
- package/f-storage/f-components-store.d.ts +2 -0
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +654 -624
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +2 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -35
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -47
- 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
- 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
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -4
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -39
- package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.d.ts +0 -15
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +0 -20
- 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
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +0 -5
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +0 -3
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +0 -14
- package/f-draggable/single-select/single-select.validator.d.ts +0 -13
|
@@ -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 {
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
return findClosestAlignment(this.rects, rect, this.fAlignThreshold);
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this._fMediator.execute(new AddLineAlignmentToStoreRequest(this));
|
|
76
15
|
}
|
|
77
|
-
|
|
78
|
-
this.
|
|
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:
|
|
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
|
-
}],
|
|
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,
|
|
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
|
|
4
|
+
export declare const F_BACKGROUND_PROVIDERS: (typeof FBackgroundComponent | typeof FCirclePatternComponent | typeof FRectPatternComponent)[];
|
|
@@ -5,6 +5,8 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
export declare const F_CONNECTION_DRAG_HANDLE_CLASS = "f-connection-drag-handle";
|
|
6
6
|
export declare class FConnectionDragHandleComponent implements IHasHostElement {
|
|
7
7
|
private elementReference;
|
|
8
|
+
point: IPoint;
|
|
9
|
+
radius: number;
|
|
8
10
|
readonly class: string;
|
|
9
11
|
get hostElement(): SVGCircleElement;
|
|
10
12
|
constructor(elementReference: ElementRef<SVGCircleElement>);
|
|
@@ -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
|
|
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
|
|
4
|
+
export declare const F_CONNECTORS_PROVIDERS: (typeof FNodeOutputDirective | typeof FNodeOutletDirective | typeof FNodeInputDirective)[];
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { IHandler } from '@foblex/mediator';
|
|
2
|
-
import { FComponentsStore } from '../../../../f-storage';
|
|
3
2
|
import { CreateConnectionPreparationRequest } from './create-connection-preparation.request';
|
|
4
|
-
import { FMediator } from '@foblex/mediator';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
4
|
export declare class CreateConnectionPreparationExecution implements IHandler<CreateConnectionPreparationRequest, void> {
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
|
|
5
|
+
private _fMediator;
|
|
6
|
+
private _fComponentsStore;
|
|
7
|
+
private _fDraggableDataContext;
|
|
10
8
|
handle(request: CreateConnectionPreparationRequest): void;
|
|
11
|
-
private
|
|
9
|
+
private _isValid;
|
|
10
|
+
private _getNode;
|
|
11
|
+
private _isValidConditions;
|
|
12
12
|
private isNodeOutput;
|
|
13
13
|
private getOutlets;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<CreateConnectionPreparationExecution, never>;
|
|
@@ -3,4 +3,3 @@ export * from './create-connection-from-outlet-preparation';
|
|
|
3
3
|
export * from './create-connection-from-output-preparation';
|
|
4
4
|
export * from './create-connection-preparation.execution';
|
|
5
5
|
export * from './create-connection-preparation.request';
|
|
6
|
-
export * from './create-connection-preparation.validator';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateConnectionDragHandlerExecution, CreateConnectionFinalizeExecution, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationValidator, CreateConnectionPreparationExecution,
|
|
2
|
-
import { ReassignConnectionFinalizeExecution, ReassignConnectionPreparationExecution
|
|
1
|
+
import { CreateConnectionDragHandlerExecution, CreateConnectionFinalizeExecution, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationValidator, CreateConnectionPreparationExecution, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletValidator } from './create-connection';
|
|
2
|
+
import { ReassignConnectionFinalizeExecution, ReassignConnectionPreparationExecution } from './reassign-connection';
|
|
3
3
|
import { GetInputUnderPointerExecution, GetInputUnderPointerValidator } from './get-input-under-pointer';
|
|
4
|
-
export declare const CONNECTIONS_PROVIDERS: (typeof
|
|
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 {
|
|
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
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private get
|
|
11
|
-
private get
|
|
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
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
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
|
}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { ReassignConnectionPreparationRequest } from './reassign-connection-preparation.request';
|
|
2
|
-
import {
|
|
3
|
-
import { FDraggableDataContext } from '../../../f-draggable-data-context';
|
|
4
|
-
import { FMediator, IExecution } from '@foblex/mediator';
|
|
5
|
-
import { FConnectionBase } from '../../../../f-connection';
|
|
6
|
-
import { BrowserService } from '@foblex/platform';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
7
3
|
import * as i0 from "@angular/core";
|
|
8
4
|
export declare class ReassignConnectionPreparationExecution implements IExecution<ReassignConnectionPreparationRequest, void> {
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private get
|
|
14
|
-
private get
|
|
15
|
-
private get
|
|
16
|
-
constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FMediator, fBrowser: BrowserService);
|
|
5
|
+
private _fMediator;
|
|
6
|
+
private _fComponentsStore;
|
|
7
|
+
private _fDraggableDataContext;
|
|
8
|
+
private _fConnection;
|
|
9
|
+
private get _transform();
|
|
10
|
+
private get _fHost();
|
|
11
|
+
private get _fConnections();
|
|
17
12
|
handle(request: ReassignConnectionPreparationRequest): void;
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
|
|
13
|
+
private _isValid;
|
|
14
|
+
private _getPointInFlow;
|
|
15
|
+
private _getConnectionToReassign;
|
|
16
|
+
private _getConnectionsFromPoint;
|
|
17
|
+
private _isPointInsideCircle;
|
|
18
|
+
private _updateConnectionLayer;
|
|
21
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<ReassignConnectionPreparationExecution, never>;
|
|
22
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<ReassignConnectionPreparationExecution>;
|
|
23
21
|
}
|
|
@@ -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 {
|
|
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
|
|
9
|
-
private
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
constructor(
|
|
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
|
|
9
|
-
private
|
|
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
|
}
|
|
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
export declare abstract class FDraggableBase extends DragAndDropBase {
|
|
10
10
|
abstract fSelectionChange: EventEmitter<FSelectionChangeEvent>;
|
|
11
11
|
abstract fNodeIntersectedWithConnections: EventEmitter<FNodeIntersectedWithConnections>;
|
|
12
|
+
abstract emitWhenNodeIntersectedWithConnection: boolean;
|
|
12
13
|
abstract fCreateNode: EventEmitter<FCreateNodeEvent>;
|
|
13
14
|
abstract fReassignConnection: EventEmitter<FReassignConnectionEvent>;
|
|
14
15
|
abstract fCreateConnection: EventEmitter<FCreateConnectionEvent>;
|
|
@@ -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
|
}
|
|
@@ -16,6 +16,7 @@ export declare class FDraggableDirective extends FDraggableBase implements OnIni
|
|
|
16
16
|
get hostElement(): HTMLElement;
|
|
17
17
|
fSelectionChange: EventEmitter<FSelectionChangeEvent>;
|
|
18
18
|
fNodeIntersectedWithConnections: EventEmitter<FNodeIntersectedWithConnections>;
|
|
19
|
+
emitWhenNodeIntersectedWithConnection: boolean;
|
|
19
20
|
fCreateNode: EventEmitter<FCreateNodeEvent<any>>;
|
|
20
21
|
fReassignConnection: EventEmitter<FReassignConnectionEvent>;
|
|
21
22
|
fCreateConnection: EventEmitter<FCreateConnectionEvent>;
|
|
@@ -34,5 +35,6 @@ export declare class FDraggableDirective extends FDraggableBase implements OnIni
|
|
|
34
35
|
protected finalizeDragSequence(): void;
|
|
35
36
|
ngOnDestroy(): void;
|
|
36
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<FDraggableDirective, [{ optional: true; }, null]>;
|
|
37
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FDraggableDirective, "f-flow[fDraggable]", ["fDraggable"], { "disabled": { "alias": "fDraggableDisabled"; "required": false; }; "vCellSize": { "alias": "vCellSize"; "required": false; }; "hCellSize": { "alias": "hCellSize"; "required": false; }; }, { "fSelectionChange": "fSelectionChange"; "fNodeIntersectedWithConnections": "fNodeIntersectedWithConnections"; "fCreateNode": "fCreateNode"; "fReassignConnection": "fReassignConnection"; "fCreateConnection": "fCreateConnection"; "fDropToGroup": "fDropToGroup"; }, ["plugins"], never, false, never>;
|
|
38
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FDraggableDirective, "f-flow[fDraggable]", ["fDraggable"], { "disabled": { "alias": "fDraggableDisabled"; "required": false; }; "emitWhenNodeIntersectedWithConnection": { "alias": "emitWhenNodeIntersectedWithConnection"; "required": false; }; "vCellSize": { "alias": "vCellSize"; "required": false; }; "hCellSize": { "alias": "hCellSize"; "required": false; }; }, { "fSelectionChange": "fSelectionChange"; "fNodeIntersectedWithConnections": "fNodeIntersectedWithConnections"; "fCreateNode": "fCreateNode"; "fReassignConnection": "fReassignConnection"; "fCreateConnection": "fCreateConnection"; "fDropToGroup": "fDropToGroup"; }, ["plugins"], never, false, never>;
|
|
39
|
+
static ngAcceptInputType_emitWhenNodeIntersectedWithConnection: unknown;
|
|
38
40
|
}
|
|
@@ -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 {
|
|
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:
|
|
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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
8
|
-
|
|
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(
|
|
11
|
-
setInputRestrictions(
|
|
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
|
|
10
|
+
private _getDraggedNodes;
|
|
11
11
|
private _getNodesFromSelection;
|
|
12
12
|
private _findNode;
|
|
13
13
|
private _getNodesWithRestrictions;
|
|
14
|
-
private
|
|
15
|
-
private
|
|
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,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
|
|
2
|
+
export declare class CalculateNodeMoveRestrictionsRequest {
|
|
3
3
|
fNode: FNodeBase;
|
|
4
4
|
hasParentNodeInSelected: boolean;
|
|
5
5
|
constructor(fNode: FNodeBase, hasParentNodeInSelected: boolean);
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { PutInputConnectionHandlersToArrayRequest } from './put-input-connection-handlers-to-array.request';
|
|
2
|
-
import {
|
|
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
|
|
9
|
-
private
|
|
10
|
-
private get
|
|
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 {
|
|
3
|
-
export interface INodeWithDistanceRestrictions extends
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { IMinMaxPoint } from '@foblex/2d';
|
|
3
|
+
export interface INodeWithDistanceRestrictions extends IMinMaxPoint {
|
|
4
|
+
fDraggedNode: FNodeBase;
|
|
5
|
+
fParentNodes?: FNodeBase[];
|
|
6
6
|
}
|