@foblex/flow 1.5.0 → 1.5.2
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/get-output-rect-in-flow/get-output-rect-in-flow-request.d.ts +4 -0
- package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +7 -0
- package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +14 -0
- package/domain/get-output-rect-in-flow/index.d.ts +3 -0
- package/domain/index.d.ts +2 -1
- package/domain/providers.d.ts +3 -2
- package/domain/redraw-connections/index.d.ts +2 -0
- package/domain/redraw-connections/redraw-connections-request.d.ts +3 -0
- package/{f-flow/domain → domain}/redraw-connections/redraw-connections.handler.d.ts +8 -6
- package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +10 -3
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs +6 -0
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +7 -0
- package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +33 -0
- package/esm2022/domain/get-output-rect-in-flow/index.mjs +4 -0
- package/esm2022/domain/index.mjs +3 -2
- package/esm2022/domain/providers.mjs +6 -4
- package/esm2022/domain/redraw-connections/index.mjs +3 -0
- package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +5 -0
- package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +54 -0
- package/esm2022/f-canvas/f-canvas-base.mjs +3 -4
- package/esm2022/f-components-store.mjs +1 -1
- package/esm2022/f-connection/common/f-connection-base.mjs +5 -3
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +2 -2
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +1 -1
- package/esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +5 -5
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +2 -2
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +2 -1
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +6 -7
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +8 -8
- package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +7 -0
- package/esm2022/f-draggable/connections/create-connection/index.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +9 -0
- package/esm2022/f-draggable/connections/reassign-connection/index.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -9
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +7 -7
- package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +1 -1
- package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +3 -3
- package/esm2022/f-draggable/external-item/f-create-node.event.mjs +7 -0
- package/esm2022/f-draggable/external-item/index.mjs +2 -2
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
- package/esm2022/f-draggable/index.mjs +13 -0
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +6 -7
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +6 -7
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +6 -7
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +11 -11
- package/esm2022/f-draggable/single-select/f-selection-change-event.mjs +7 -0
- package/esm2022/f-draggable/single-select/index.mjs +2 -2
- package/esm2022/f-external-item/f-external-item-base.mjs +11 -0
- package/esm2022/f-external-item/f-external-item.directive.mjs +44 -0
- package/esm2022/f-external-item/f-external-item.service.mjs +28 -0
- package/esm2022/f-external-item/index.mjs +5 -0
- package/esm2022/f-external-item/is-external-item.mjs +7 -0
- package/esm2022/f-flow/f-flow.component.mjs +14 -20
- package/esm2022/f-flow/index.mjs +1 -2
- package/esm2022/f-flow.module.mjs +5 -4
- package/esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs +2 -0
- package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
- package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
- package/esm2022/f-line-alignment/domain/index.mjs +7 -0
- package/esm2022/f-line-alignment/domain/line-element.mjs +23 -0
- package/esm2022/f-line-alignment/domain/line-service.mjs +33 -0
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +100 -0
- package/esm2022/f-line-alignment/f-line-alignment-base.mjs +11 -0
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +90 -0
- package/esm2022/f-line-alignment/index.mjs +4 -0
- package/esm2022/f-mediator/f-flow-mediator.mjs +24 -0
- package/esm2022/f-mediator/f-handler-register.mjs +7 -0
- package/esm2022/f-mediator/index.mjs +3 -0
- package/esm2022/f-node/f-node.directive.mjs +3 -3
- package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +2 -0
- package/esm2022/f-selection-area/domain/index.mjs +2 -0
- package/esm2022/f-selection-area/f-selection-area-base.mjs +11 -0
- package/esm2022/f-selection-area/f-selection-area.component.mjs +44 -0
- package/esm2022/f-selection-area/index.mjs +4 -0
- package/esm2022/public-api.mjs +6 -3
- package/f-canvas/f-canvas-base.d.ts +3 -4
- package/f-components-store.d.ts +1 -1
- package/f-connection/common/f-connection-base.d.ts +2 -2
- package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
- package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -2
- package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -2
- package/f-connection/f-connection/f-connection.component.d.ts +2 -2
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -4
- package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +4 -4
- package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +5 -0
- package/f-draggable/connections/create-connection/index.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/f-reassign-connection.event.d.ts +7 -0
- package/f-draggable/connections/reassign-connection/index.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +4 -4
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +4 -4
- package/f-draggable/external-item/external-item.drag-handler.d.ts +1 -1
- package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +1 -1
- package/f-draggable/external-item/{create-node.event.d.ts → f-create-node.event.d.ts} +1 -1
- package/f-draggable/external-item/index.d.ts +1 -1
- package/f-draggable/f-draggable-base.d.ts +8 -8
- package/f-draggable/f-draggable-data-context.d.ts +2 -1
- package/f-draggable/f-draggable.directive.d.ts +7 -7
- package/f-draggable/{public-api.d.ts → index.d.ts} +0 -1
- package/f-draggable/node/connection-source.drag-handler.d.ts +4 -4
- package/f-draggable/node/connection-target.drag-handler.d.ts +4 -4
- package/f-draggable/node/connection.drag-handler.d.ts +4 -4
- package/f-draggable/node/node.prepare-drag-sequence.d.ts +4 -4
- package/f-draggable/single-select/{selection-change-event.d.ts → f-selection-change-event.d.ts} +1 -1
- package/f-draggable/single-select/index.d.ts +1 -1
- package/f-flow/f-flow.component.d.ts +3 -3
- package/f-flow/index.d.ts +0 -1
- package/f-flow.module.d.ts +3 -3
- package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment-base.d.ts +1 -1
- package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment.component.d.ts +4 -4
- package/f-mediator/f-flow-mediator.d.ts +12 -0
- package/f-mediator/f-handler-register.d.ts +5 -0
- package/f-mediator/index.d.ts +2 -0
- package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area.component.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +1100 -1135
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +5 -2
- package/common-behaviours/change-position.d.ts +0 -10
- package/common-behaviours/change-zoom/change-zoom.d.ts +0 -6
- package/common-behaviours/change-zoom/i-can-change-zoom.d.ts +0 -6
- package/common-behaviours/change-zoom/index.d.ts +0 -2
- package/common-behaviours/constructor.d.ts +0 -2
- package/common-behaviours/fit-to-parent/fit-to-parent.d.ts +0 -6
- package/common-behaviours/fit-to-parent/i-can-fit-to-parent.d.ts +0 -4
- package/common-behaviours/fit-to-parent/index.d.ts +0 -2
- package/common-behaviours/i-transformable.d.ts +0 -4
- package/common-behaviours/index.d.ts +0 -6
- package/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.d.ts +0 -4
- package/common-behaviours/one-to-one-centering/index.d.ts +0 -2
- package/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +0 -6
- package/domain/get-output-rect-in-flow.handler.d.ts +0 -19
- package/esm2022/common-behaviours/change-position.mjs +0 -15
- package/esm2022/common-behaviours/change-zoom/change-zoom.mjs +0 -25
- package/esm2022/common-behaviours/change-zoom/i-can-change-zoom.mjs +0 -2
- package/esm2022/common-behaviours/change-zoom/index.mjs +0 -3
- package/esm2022/common-behaviours/constructor.mjs +0 -2
- package/esm2022/common-behaviours/fit-to-parent/fit-to-parent.mjs +0 -27
- package/esm2022/common-behaviours/fit-to-parent/i-can-fit-to-parent.mjs +0 -2
- package/esm2022/common-behaviours/fit-to-parent/index.mjs +0 -3
- package/esm2022/common-behaviours/i-transformable.mjs +0 -2
- package/esm2022/common-behaviours/index.mjs +0 -7
- package/esm2022/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.mjs +0 -2
- package/esm2022/common-behaviours/one-to-one-centering/index.mjs +0 -3
- package/esm2022/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +0 -24
- package/esm2022/domain/get-output-rect-in-flow.handler.mjs +0 -25
- package/esm2022/f-draggable/components/f-external-item/f-external-item-base.mjs +0 -11
- package/esm2022/f-draggable/components/f-external-item/f-external-item.directive.mjs +0 -44
- package/esm2022/f-draggable/components/f-external-item/f-external-item.service.mjs +0 -28
- package/esm2022/f-draggable/components/f-external-item/index.mjs +0 -5
- package/esm2022/f-draggable/components/f-external-item/is-external-item.mjs +0 -7
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -2
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
- package/esm2022/f-draggable/components/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
- package/esm2022/f-draggable/components/f-line-alignment/domain/index.mjs +0 -7
- package/esm2022/f-draggable/components/f-line-alignment/domain/line-element.mjs +0 -23
- package/esm2022/f-draggable/components/f-line-alignment/domain/line-service.mjs +0 -33
- package/esm2022/f-draggable/components/f-line-alignment/domain/nearest-coordinate.mjs +0 -100
- package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment-base.mjs +0 -11
- package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment.component.mjs +0 -90
- package/esm2022/f-draggable/components/f-line-alignment/index.mjs +0 -4
- package/esm2022/f-draggable/components/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
- package/esm2022/f-draggable/components/f-selection-area/domain/index.mjs +0 -2
- package/esm2022/f-draggable/components/f-selection-area/f-selection-area-base.mjs +0 -11
- package/esm2022/f-draggable/components/f-selection-area/f-selection-area.component.mjs +0 -44
- package/esm2022/f-draggable/components/f-selection-area/index.mjs +0 -4
- package/esm2022/f-draggable/components/index.mjs +0 -4
- package/esm2022/f-draggable/connections/create-connection/create-connection.event.mjs +0 -7
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +0 -9
- package/esm2022/f-draggable/external-item/create-node.event.mjs +0 -7
- package/esm2022/f-draggable/public-api.mjs +0 -14
- package/esm2022/f-draggable/single-select/selection-change-event.mjs +0 -7
- package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +0 -46
- package/f-draggable/components/index.d.ts +0 -3
- package/f-draggable/connections/create-connection/create-connection.event.d.ts +0 -5
- package/f-draggable/connections/reassign-connection/reassign-connection.event.d.ts +0 -7
- /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item-base.d.ts +0 -0
- /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.directive.d.ts +0 -0
- /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.service.d.ts +0 -0
- /package/{f-draggable/components/f-external-item → f-external-item}/index.d.ts +0 -0
- /package/{f-draggable/components/f-external-item → f-external-item}/is-external-item.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-rect.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-result.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-nearest-coordinate-result.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/index.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-element.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-service.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/nearest-coordinate.d.ts +0 -0
- /package/{f-draggable/components/f-line-alignment → f-line-alignment}/index.d.ts +0 -0
- /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/i-selection-area-rect.d.ts +0 -0
- /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/index.d.ts +0 -0
- /package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area-base.d.ts +0 -0
- /package/{f-draggable/components/f-selection-area → f-selection-area}/index.d.ts +0 -0
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
const ALIGN_THRESHOLD = 10;
|
|
2
|
-
/**
|
|
3
|
-
* A class to find the nearest coordinate.
|
|
4
|
-
*/
|
|
5
|
-
export class NearestCoordinateFinder {
|
|
6
|
-
/**
|
|
7
|
-
* Constructor to initialize the NearestCoordinateFinder.
|
|
8
|
-
* @param elements - The array of IRect elements.
|
|
9
|
-
* @param target - The target IRect element.
|
|
10
|
-
*/
|
|
11
|
-
constructor(elements, target) {
|
|
12
|
-
this.elements = elements;
|
|
13
|
-
this.target = target;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Finds the nearest coordinate on a specified axis.
|
|
17
|
-
* @returns The nearest coordinate and its distance.
|
|
18
|
-
*/
|
|
19
|
-
findNearestCoordinateByX() {
|
|
20
|
-
let nearest;
|
|
21
|
-
let minDistance;
|
|
22
|
-
for (const element of this.elements) {
|
|
23
|
-
const distanceLeftLeft = this.target.x - element.x;
|
|
24
|
-
const distanceLeftRight = this.target.x - (element.x + element.width);
|
|
25
|
-
const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
|
|
26
|
-
const distanceRightLeft = (this.target.x + this.target.width) - element.x;
|
|
27
|
-
const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
|
|
28
|
-
if (Math.abs(distanceLeftLeft) <= ALIGN_THRESHOLD ||
|
|
29
|
-
Math.abs(distanceLeftRight) <= ALIGN_THRESHOLD ||
|
|
30
|
-
Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
|
|
31
|
-
Math.abs(distanceRightLeft) <= ALIGN_THRESHOLD ||
|
|
32
|
-
Math.abs(distanceRightRight) <= ALIGN_THRESHOLD) {
|
|
33
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
34
|
-
minDistance = distanceCenterCenter;
|
|
35
|
-
nearest = element.gravityCenter.x;
|
|
36
|
-
}
|
|
37
|
-
if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
|
|
38
|
-
minDistance = distanceLeftLeft;
|
|
39
|
-
nearest = element.x;
|
|
40
|
-
}
|
|
41
|
-
if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
|
|
42
|
-
minDistance = distanceRightRight;
|
|
43
|
-
nearest = element.x + element.width;
|
|
44
|
-
}
|
|
45
|
-
if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
|
|
46
|
-
minDistance = distanceLeftRight;
|
|
47
|
-
nearest = element.x + element.width;
|
|
48
|
-
}
|
|
49
|
-
if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
|
|
50
|
-
minDistance = distanceRightLeft;
|
|
51
|
-
nearest = element.x;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return { value: nearest, distance: minDistance };
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Finds the nearest coordinate on a specified axis.
|
|
59
|
-
* @returns The nearest coordinate and its distance.
|
|
60
|
-
*/
|
|
61
|
-
findNearestCoordinateByY() {
|
|
62
|
-
let nearest;
|
|
63
|
-
let minDistance;
|
|
64
|
-
for (const element of this.elements) {
|
|
65
|
-
const distanceTopTop = this.target.y - element.y;
|
|
66
|
-
const distanceTopBottom = this.target.y - (element.y + element.height);
|
|
67
|
-
const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
|
|
68
|
-
const distanceBottomTop = (this.target.y + this.target.height) - element.y;
|
|
69
|
-
const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
|
|
70
|
-
if (Math.abs(distanceTopTop) <= ALIGN_THRESHOLD ||
|
|
71
|
-
Math.abs(distanceTopBottom) <= ALIGN_THRESHOLD ||
|
|
72
|
-
Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
|
|
73
|
-
Math.abs(distanceBottomTop) <= ALIGN_THRESHOLD ||
|
|
74
|
-
Math.abs(distanceBottomBottom) <= ALIGN_THRESHOLD) {
|
|
75
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
76
|
-
minDistance = distanceCenterCenter;
|
|
77
|
-
nearest = element.gravityCenter.y;
|
|
78
|
-
}
|
|
79
|
-
if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
|
|
80
|
-
minDistance = distanceTopTop;
|
|
81
|
-
nearest = element.y;
|
|
82
|
-
}
|
|
83
|
-
if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
|
|
84
|
-
minDistance = distanceBottomBottom;
|
|
85
|
-
nearest = element.y + element.height;
|
|
86
|
-
}
|
|
87
|
-
if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
|
|
88
|
-
minDistance = distanceTopBottom;
|
|
89
|
-
nearest = element.y + element.height;
|
|
90
|
-
}
|
|
91
|
-
if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
|
|
92
|
-
minDistance = distanceBottomTop;
|
|
93
|
-
nearest = element.y;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return { value: nearest, distance: minDistance };
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVhcmVzdC1jb29yZGluYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2YtbGluZS1hbGlnbm1lbnQvZG9tYWluL25lYXJlc3QtY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0I7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBTWxDOzs7O09BSUc7SUFDSCxZQUFZLFFBQWlCLEVBQUUsTUFBYTtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksd0JBQXdCO1FBQzdCLElBQUksT0FBMkIsQ0FBQztRQUNoQyxJQUFJLFdBQStCLENBQUM7UUFFcEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNuRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMxRSxNQUFN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LENBQUMsTUFBTSxDQUFDO2lCQUN0QztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUN2RCxXQUFXLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7aUJBQ3RDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztvQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRjtRQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuL2ktbmVhcmVzdC1jb29yZGluYXRlLXJlc3VsdCc7XG5cbmNvbnN0IEFMSUdOX1RIUkVTSE9MRCA9IDEwO1xuXG4vKipcbiAqIEEgY2xhc3MgdG8gZmluZCB0aGUgbmVhcmVzdCBjb29yZGluYXRlLlxuICovXG5leHBvcnQgY2xhc3MgTmVhcmVzdENvb3JkaW5hdGVGaW5kZXIge1xuXG5cbiAgcHJpdmF0ZSBlbGVtZW50czogSVJlY3RbXTtcbiAgcHJpdmF0ZSB0YXJnZXQ6IElSZWN0O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciB0byBpbml0aWFsaXplIHRoZSBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlci5cbiAgICogQHBhcmFtIGVsZW1lbnRzIC0gVGhlIGFycmF5IG9mIElSZWN0IGVsZW1lbnRzLlxuICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBJUmVjdCBlbGVtZW50LlxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudHM6IElSZWN0W10sIHRhcmdldDogSVJlY3QpIHtcbiAgICB0aGlzLmVsZW1lbnRzID0gZWxlbWVudHM7XG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIG5lYXJlc3QgY29vcmRpbmF0ZSBvbiBhIHNwZWNpZmllZCBheGlzLlxuICAgKiBAcmV0dXJucyBUaGUgbmVhcmVzdCBjb29yZGluYXRlIGFuZCBpdHMgZGlzdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCB7XG4gICAgbGV0IG5lYXJlc3Q6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbWluRGlzdGFuY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBkaXN0YW5jZUxlZnRMZWZ0ID0gdGhpcy50YXJnZXQueCAtIGVsZW1lbnQueDtcbiAgICAgIGNvbnN0IGRpc3RhbmNlTGVmdFJpZ2h0ID0gdGhpcy50YXJnZXQueCAtIChlbGVtZW50LnggKyBlbGVtZW50LndpZHRoKTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlQ2VudGVyQ2VudGVyID0gdGhpcy50YXJnZXQuZ3Jhdml0eUNlbnRlci54IC0gZWxlbWVudC5ncmF2aXR5Q2VudGVyLng7XG4gICAgICBjb25zdCBkaXN0YW5jZVJpZ2h0TGVmdCA9ICh0aGlzLnRhcmdldC54ICsgdGhpcy50YXJnZXQud2lkdGgpIC0gZWxlbWVudC54O1xuICAgICAgY29uc3QgZGlzdGFuY2VSaWdodFJpZ2h0ID0gKHRoaXMudGFyZ2V0LnggKyB0aGlzLnRhcmdldC53aWR0aCkgLSAoZWxlbWVudC54ICsgZWxlbWVudC53aWR0aCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUxlZnRMZWZ0KSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUxlZnRSaWdodCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlUmlnaHRMZWZ0KSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDw9IEFMSUdOX1RIUkVTSE9MRFxuICAgICAgKSB7XG4gICAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VDZW50ZXJDZW50ZXI7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUxlZnRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0TGVmdDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVJpZ2h0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlTGVmdFJpZ2h0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlUmlnaHRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodExlZnQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogbmVhcmVzdCwgZGlzdGFuY2U6IG1pbkRpc3RhbmNlIH07XG4gIH1cblxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgbmVhcmVzdCBjb29yZGluYXRlIG9uIGEgc3BlY2lmaWVkIGF4aXMuXG4gICAqIEByZXR1cm5zIFRoZSBuZWFyZXN0IGNvb3JkaW5hdGUgYW5kIGl0cyBkaXN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTogSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IHtcbiAgICBsZXQgbmVhcmVzdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGxldCBtaW5EaXN0YW5jZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuZWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wVG9wID0gdGhpcy50YXJnZXQueSAtIGVsZW1lbnQueTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wQm90dG9tID0gdGhpcy50YXJnZXQueSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG4gICAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRoaXMudGFyZ2V0LmdyYXZpdHlDZW50ZXIueSAtIGVsZW1lbnQuZ3Jhdml0eUNlbnRlci55O1xuICAgICAgY29uc3QgZGlzdGFuY2VCb3R0b21Ub3AgPSAodGhpcy50YXJnZXQueSArIHRoaXMudGFyZ2V0LmhlaWdodCkgLSBlbGVtZW50Lnk7XG4gICAgICBjb25zdCBkaXN0YW5jZUJvdHRvbUJvdHRvbSA9ICh0aGlzLnRhcmdldC55ICsgdGhpcy50YXJnZXQuaGVpZ2h0KSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VUb3BCb3R0b20pIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUJvdHRvbVRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Cb3R0b20pIDw9IEFMSUdOX1RIUkVTSE9MRFxuICAgICAgKSB7XG4gICAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VDZW50ZXJDZW50ZXI7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci55O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlVG9wVG9wO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlQm90dG9tQm90dG9tKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VCb3R0b21Cb3R0b207XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueSArIGVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVRvcEJvdHRvbSkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlVG9wQm90dG9tO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Ub3ApIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUJvdHRvbVRvcDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsdWU6IG5lYXJlc3QsIGRpc3RhbmNlOiBtaW5EaXN0YW5jZSB9O1xuICB9XG59XG5cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
|
|
4
|
-
export class FLineAlignmentBase {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentBase, ngImport: i0 }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, decorators: [{
|
|
9
|
-
type: Directive
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkxRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztBQUczRixNQUFNLE9BQWdCLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBGX0xJTkVfQUxJR05NRU5UID0gbmV3IEluamVjdGlvblRva2VuPEZMaW5lQWxpZ25tZW50QmFzZT4oJ0ZfTElORV9BTElHTk1FTlQnKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgaW5pdGlhbGl6ZShhbGxOb2RlczogRk5vZGVCYXNlW10sIGN1cnJlbnROb2RlczogRk5vZGVCYXNlW10pOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGhhbmRsZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb21wbGV0ZSgpOiB2b2lkO1xufVxuIl19
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { RectExtensions, SizeExtensions } from '@foblex/core';
|
|
3
|
-
import { LineService, NearestCoordinateFinder } from './domain';
|
|
4
|
-
import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../f-components-store";
|
|
7
|
-
import * as i2 from "../../f-draggable-data-context";
|
|
8
|
-
import * as i3 from "../../../domain";
|
|
9
|
-
export class FLineAlignmentComponent extends FLineAlignmentBase {
|
|
10
|
-
get hostElement() {
|
|
11
|
-
return this.elementReference.nativeElement;
|
|
12
|
-
}
|
|
13
|
-
get transform() {
|
|
14
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
15
|
-
}
|
|
16
|
-
get flowHost() {
|
|
17
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
18
|
-
}
|
|
19
|
-
constructor(elementReference, fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler) {
|
|
20
|
-
super();
|
|
21
|
-
this.elementReference = elementReference;
|
|
22
|
-
this.fComponentsStore = fComponentsStore;
|
|
23
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
24
|
-
this.getElementRectInFlowHandler = getElementRectInFlowHandler;
|
|
25
|
-
this.size = SizeExtensions.initialize();
|
|
26
|
-
this.draggedNodeRect = RectExtensions.initialize();
|
|
27
|
-
this.rects = [];
|
|
28
|
-
this.lineService = new LineService(this.hostElement);
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.fDraggableDataContext.fLineAlignment = this;
|
|
32
|
-
}
|
|
33
|
-
initialize(allNodes, currentNodes) {
|
|
34
|
-
this.size = this.flowHost.getBoundingClientRect();
|
|
35
|
-
this.rects = [];
|
|
36
|
-
const draggedNodeRects = currentNodes.map((x) => {
|
|
37
|
-
return this.getElementRectInFlowHandler.handle(x.hostElement);
|
|
38
|
-
});
|
|
39
|
-
this.draggedNodeRect = RectExtensions.union(draggedNodeRects);
|
|
40
|
-
const allNodesExcludeCurrents = allNodes.filter((x) => {
|
|
41
|
-
return !currentNodes.includes(x);
|
|
42
|
-
});
|
|
43
|
-
this.rects = allNodesExcludeCurrents.map((x) => {
|
|
44
|
-
return this.getElementRectInFlowHandler.handle(x.hostElement);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
handle(difference) {
|
|
48
|
-
this.drawIntersectingLines(difference);
|
|
49
|
-
}
|
|
50
|
-
drawIntersectingLines(difference) {
|
|
51
|
-
const intersect = this.findNearestCoordinate(difference);
|
|
52
|
-
if (intersect.xResult.value !== undefined) {
|
|
53
|
-
this.lineService.drawVerticalLine(intersect.xResult.value, this.size, this.transform);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.lineService.hideVerticalLine();
|
|
57
|
-
}
|
|
58
|
-
if (intersect.yResult.value !== undefined) {
|
|
59
|
-
this.lineService.drawHorizontalLine(intersect.yResult.value, this.size, this.transform);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
this.lineService.hideHorizontalLine();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
findNearestCoordinate(difference) {
|
|
66
|
-
const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
|
|
67
|
-
const finder = new NearestCoordinateFinder(this.rects, rect);
|
|
68
|
-
const xResult = finder.findNearestCoordinateByX();
|
|
69
|
-
const yResult = finder.findNearestCoordinateByY();
|
|
70
|
-
const result = { xResult, yResult };
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
complete() {
|
|
74
|
-
this.lineService.hideVerticalLine();
|
|
75
|
-
this.lineService.hideHorizontalLine();
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentComponent, selector: "f-line-alignment", host: { classAttribute: "f-line-alignment f-component" }, providers: [
|
|
79
|
-
{ provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
|
|
80
|
-
], 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"] }); }
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ selector: "f-line-alignment", template: "", exportAs: "fComponent", host: {
|
|
85
|
-
'class': 'f-line-alignment f-component'
|
|
86
|
-
}, providers: [
|
|
87
|
-
{ provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
|
|
88
|
-
], 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"] }]
|
|
89
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1saW5lLWFsaWdubWVudC9mLWxpbmUtYWxpZ25tZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXlDLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUF3QixXQUFXLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBa0IvRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRTdELElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFVRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pDLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsMkJBQXdEO1FBRWxFLEtBQUssRUFBRSxDQUFDO1FBTEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQWxCNUQsU0FB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QU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMxRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRWUsUUFBUTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7OEdBcEZVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFHQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUNwRSwyRUFSUyxFQUFFOzsyRkFVRCx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsWUFFRixZQUFZLFFBQ2hCO3dCQUNKLE9BQU8sRUFBRSw4QkFBOEI7cUJBQ3hDLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbCwgUmVjdEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBMaW5lU2VydmljZSwgTmVhcmVzdENvb3JkaW5hdGVGaW5kZXIgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGX0xJTkVfQUxJR05NRU5ULCBGTGluZUFsaWdubWVudEJhc2UgfSBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50IGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZTtcblxuICBwcml2YXRlIHNpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZHJhZ2dlZE5vZGVSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIHJlY3RzOiBJUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy51bmlvbihkcmFnZ2VkTm9kZVJlY3RzKTtcblxuICAgIGNvbnN0IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzID0gYWxsTm9kZXMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIWN1cnJlbnROb2Rlcy5pbmNsdWRlcyh4KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVjdHMgPSBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLnRyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLmRyYWdnZWROb2RlUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgZmluZGVyID0gbmV3IE5lYXJlc3RDb29yZGluYXRlRmluZGVyKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHhSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk7XG4gICAgY29uc3QgeVJlc3VsdCA9IGZpbmRlci5maW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTtcblxuICAgIGNvbnN0IHJlc3VsdDogSUxpbmVBbGlnbm1lbnRSZXN1bHQgPSB7IHhSZXN1bHQsIHlSZXN1bHQgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './domain';
|
|
2
|
-
export * from './f-line-alignment.component';
|
|
3
|
-
export * from './f-line-alignment-base';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1saW5lLWFsaWdubWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQtYmFzZSc7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zZWxlY3Rpb24tYXJlYS1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL2ktc2VsZWN0aW9uLWFyZWEtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0aW9uQXJlYVJlY3Qge1xuXG4gIGxlZnQ6IG51bWJlcjtcblxuICB0b3A6IG51bWJlcjtcblxuICB3aWR0aDogbnVtYmVyO1xuXG4gIGhlaWdodDogbnVtYmVyO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './i-selection-area-rect';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaS1zZWxlY3Rpb24tYXJlYS1yZWN0JztcbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const F_SELECTION_AREA = new InjectionToken('F_SELECTION_AREA');
|
|
4
|
-
export class FSelectionAreaBase {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaBase, ngImport: i0 }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, decorators: [{
|
|
9
|
-
type: Directive
|
|
10
|
-
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztBQUczRixNQUFNLE9BQWdCLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkFyZWFSZWN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgY29uc3QgRl9TRUxFQ1RJT05fQVJFQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGU2VsZWN0aW9uQXJlYUJhc2U+KCdGX1NFTEVDVElPTl9BUkVBJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGhpZGUoKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgc2hvdygpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkcmF3KG9iamVjdDogSVNlbGVjdGlvbkFyZWFSZWN0KTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { F_SELECTION_AREA, FSelectionAreaBase } from './f-selection-area-base';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../f-draggable-data-context";
|
|
5
|
-
export class FSelectionAreaComponent extends FSelectionAreaBase {
|
|
6
|
-
get hostElement() {
|
|
7
|
-
return this.elementReference.nativeElement;
|
|
8
|
-
}
|
|
9
|
-
constructor(elementReference, fDraggableDataContext) {
|
|
10
|
-
super();
|
|
11
|
-
this.elementReference = elementReference;
|
|
12
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.fDraggableDataContext.fSelectionArea = this;
|
|
16
|
-
this.hostElement.style.display = 'none';
|
|
17
|
-
}
|
|
18
|
-
hide() {
|
|
19
|
-
this.hostElement.style.display = 'none';
|
|
20
|
-
}
|
|
21
|
-
show() {
|
|
22
|
-
this.hostElement.style.display = 'block';
|
|
23
|
-
}
|
|
24
|
-
draw(object) {
|
|
25
|
-
const style = this.hostElement.style;
|
|
26
|
-
style.left = object.left + 'px';
|
|
27
|
-
style.top = object.top + 'px';
|
|
28
|
-
style.width = object.width + 'px';
|
|
29
|
-
style.height = object.height + 'px';
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
|
|
33
|
-
{ provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
|
|
34
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: "f-selection-area", template: ``, host: {
|
|
39
|
-
'class': 'f-selection-area f-component'
|
|
40
|
-
}, providers: [
|
|
41
|
-
{ provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
|
|
42
|
-
], styles: [":host{position:absolute}\n"] }]
|
|
43
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZS9FLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFFN0QsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pDLHFCQUE0QztRQUV0RCxLQUFLLEVBQUUsQ0FBQztRQUhFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUd4RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFZSxJQUFJLENBQUMsTUFBMEI7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDckMsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQyxLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDOzhHQWhDVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDcEUsaURBUFMsRUFBRTs7MkZBU0QsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFFBRU47d0JBQ0osT0FBTyxFQUFFLDhCQUE4QjtxQkFDeEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX1NFTEVDVElPTl9BUkVBLCBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkFyZWFSZWN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9TRUxFQ1RJT05fQVJFQSwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgZXh0ZW5kcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5mU2VsZWN0aW9uQXJlYSA9IHRoaXM7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkcmF3KG9iamVjdDogSVNlbGVjdGlvbkFyZWFSZWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmhvc3RFbGVtZW50LnN0eWxlO1xuICAgIHN0eWxlLmxlZnQgPSBvYmplY3QubGVmdCArICdweCc7XG4gICAgc3R5bGUudG9wID0gb2JqZWN0LnRvcCArICdweCc7XG4gICAgc3R5bGUud2lkdGggPSBvYmplY3Qud2lkdGggKyAncHgnO1xuICAgIHN0eWxlLmhlaWdodCA9IG9iamVjdC5oZWlnaHQgKyAncHgnO1xuICB9XG59XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './domain';
|
|
2
|
-
export * from './f-selection-area.component';
|
|
3
|
-
export * from './f-selection-area-base';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './f-external-item';
|
|
2
|
-
export * from './f-line-alignment';
|
|
3
|
-
export * from './f-selection-area';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYSc7XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class CreateConnectionEvent {
|
|
2
|
-
constructor(outputId, inputId) {
|
|
3
|
-
this.outputId = outputId;
|
|
4
|
-
this.inputId = inputId;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1jb25uZWN0aW9uLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDUyxRQUFXLEVBQ1gsT0FBVTtRQURWLGFBQVEsR0FBUixRQUFRLENBQUc7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFHO0lBRW5CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uRXZlbnQ8VCA9IGFueT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdXRwdXRJZDogVCxcbiAgICBwdWJsaWMgaW5wdXRJZDogVFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class ReassignConnectionEvent {
|
|
2
|
-
constructor(connectionId, outputId, oldInputId, newInputId) {
|
|
3
|
-
this.connectionId = connectionId;
|
|
4
|
-
this.outputId = outputId;
|
|
5
|
-
this.oldInputId = oldInputId;
|
|
6
|
-
this.newInputId = newInputId;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDUyxZQUFlLEVBQ2YsUUFBVyxFQUNYLFVBQWEsRUFDYixVQUFhO1FBSGIsaUJBQVksR0FBWixZQUFZLENBQUc7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFHO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBRztRQUNiLGVBQVUsR0FBVixVQUFVLENBQUc7SUFFdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PFQgPSBhbnk+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29ubmVjdGlvbklkOiBULFxuICAgIHB1YmxpYyBvdXRwdXRJZDogVCxcbiAgICBwdWJsaWMgb2xkSW5wdXRJZDogVCxcbiAgICBwdWJsaWMgbmV3SW5wdXRJZDogVFxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class CreateNodeEvent {
|
|
2
|
-
constructor(rect, data) {
|
|
3
|
-
this.rect = rect;
|
|
4
|
-
this.data = data;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5vZGUuZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2V4dGVybmFsLWl0ZW0vY3JlYXRlLW5vZGUuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDUyxJQUFXLEVBQ1gsSUFBVztRQURYLFNBQUksR0FBSixJQUFJLENBQU87UUFDWCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBRXBCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU5vZGVFdmVudDxURGF0YSA9IGFueT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWN0OiBJUmVjdCxcbiAgICBwdWJsaWMgZGF0YTogVERhdGEsXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export * from './canvas';
|
|
2
|
-
export * from './components';
|
|
3
|
-
export * from './connections';
|
|
4
|
-
export * from './external-item';
|
|
5
|
-
export * from './node';
|
|
6
|
-
export * from './selection-area';
|
|
7
|
-
export * from './single-select';
|
|
8
|
-
export * from './e-f-draggable-type';
|
|
9
|
-
export * from './f-draggable.directive';
|
|
10
|
-
export * from './f-draggable-base';
|
|
11
|
-
export * from './f-draggable-data-context';
|
|
12
|
-
export * from './i-drag-and-drop-base';
|
|
13
|
-
export * from './i-draggable-item';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2UtZi1kcmFnZ2FibGUtdHlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZHJhZy1hbmQtZHJvcC1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class SelectionChangeEvent {
|
|
2
|
-
constructor(nodes, connections) {
|
|
3
|
-
this.nodes = nodes;
|
|
4
|
-
this.connections = connections;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNoYW5nZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvc2luZ2xlLXNlbGVjdC9zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVyxLQUFlLEVBQ2YsV0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFVO0lBRWhDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgbm9kZXM6IHN0cmluZ1tdLFxuICAgICAgcHVibGljIGNvbm5lY3Rpb25zOiBzdHJpbmdbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { GetConnectionVectorRequest } from '../../../domain';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../f-components-store";
|
|
5
|
-
import * as i2 from "../../../domain";
|
|
6
|
-
export class RedrawConnectionsHandler {
|
|
7
|
-
constructor(fComponentsStore, getElementRectInFlowHandler, getConnectionVectorHandler) {
|
|
8
|
-
this.fComponentsStore = fComponentsStore;
|
|
9
|
-
this.getElementRectInFlowHandler = getElementRectInFlowHandler;
|
|
10
|
-
this.getConnectionVectorHandler = getConnectionVectorHandler;
|
|
11
|
-
}
|
|
12
|
-
handle() {
|
|
13
|
-
this.resetConnectors();
|
|
14
|
-
this.fComponentsStore.fTempConnection?.setMarkers();
|
|
15
|
-
this.fComponentsStore.fConnections.forEach((connection) => {
|
|
16
|
-
const output = this.fComponentsStore.fOutputs.find((x) => x.id === connection.fOutputId);
|
|
17
|
-
const input = this.fComponentsStore.fInputs.find((x) => x.id === connection.fInputId);
|
|
18
|
-
if (output && input) {
|
|
19
|
-
this.setupConnection(output, input, connection);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
resetConnectors() {
|
|
24
|
-
this.fComponentsStore.fOutputs.forEach((output) => output.setConnected(false));
|
|
25
|
-
this.fComponentsStore.fInputs.forEach((input) => input.setConnected(false));
|
|
26
|
-
}
|
|
27
|
-
setupConnection(output, input, connection) {
|
|
28
|
-
output.setConnected(true);
|
|
29
|
-
input.setConnected(true);
|
|
30
|
-
const vector = this.getVector(output, input, connection);
|
|
31
|
-
connection.setVector(vector.point1, output.fConnectableSide, vector.point2, input.fConnectableSide);
|
|
32
|
-
connection.setMarkers();
|
|
33
|
-
connection.initialize();
|
|
34
|
-
}
|
|
35
|
-
getVector(output, input, connection) {
|
|
36
|
-
const outputRect = this.getElementRectInFlowHandler.handle(output.hostElement);
|
|
37
|
-
const inputRect = this.getElementRectInFlowHandler.handle(input.hostElement);
|
|
38
|
-
return this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(outputRect, inputRect, connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.GetElementRectInFlowHandler }, { token: i2.GetConnectionVectorHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler, decorators: [{
|
|
44
|
-
type: Injectable
|
|
45
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.GetElementRectInFlowHandler }, { type: i2.GetConnectionVectorHandler }] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9kb21haW4vcmVkcmF3LWNvbm5lY3Rpb25zL3JlZHJhdy1jb25uZWN0aW9ucy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBOEIsMEJBQTBCLEVBQStCLE1BQU0saUJBQWlCLENBQUM7QUFFdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQ3FCLGdCQUFrQyxFQUMzQywyQkFBd0QsRUFDeEQsMEJBQXNEO1FBRjdDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDM0MsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBRWxFLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RGLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFzQixFQUFFLEtBQXFCLEVBQUUsVUFBMkI7UUFDaEcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXhCLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQXNCLEVBQUUsS0FBcUIsRUFBRSxVQUEyQjtRQUMxRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQ3pDLElBQUksMEJBQTBCLENBQzFCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxDQUFDLFNBQVMsRUFDcEIsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQ3pCLENBQ0osQ0FBQztJQUNKLENBQUM7OEdBcERVLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElWZWN0b3IgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIsIEdldENvbm5lY3Rpb25WZWN0b3JSZXF1ZXN0LCBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkcmF3Q29ubmVjdGlvbnNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8dm9pZCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldENvbm5lY3RvcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24/LnNldE1hcmtlcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY29ubmVjdGlvbi5mSW5wdXRJZCk7XG4gICAgICBpZiAob3V0cHV0ICYmIGlucHV0KSB7XG4gICAgICAgIHRoaXMuc2V0dXBDb25uZWN0aW9uKG91dHB1dCwgaW5wdXQsIGNvbm5lY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENvbm5lY3RvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4gb3V0cHV0LnNldENvbm5lY3RlZChmYWxzZSkpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBpbnB1dC5zZXRDb25uZWN0ZWQoZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb25uZWN0aW9uKG91dHB1dDogRkNvbm5lY3RvckJhc2UsIGlucHV0OiBGQ29ubmVjdG9yQmFzZSwgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogdm9pZCB7XG4gICAgb3V0cHV0LnNldENvbm5lY3RlZCh0cnVlKTtcbiAgICBpbnB1dC5zZXRDb25uZWN0ZWQodHJ1ZSk7XG5cbiAgICBjb25zdCB2ZWN0b3IgPSB0aGlzLmdldFZlY3RvcihvdXRwdXQsIGlucHV0LCBjb25uZWN0aW9uKTtcblxuICAgIGNvbm5lY3Rpb24uc2V0VmVjdG9yKHZlY3Rvci5wb2ludDEsIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLCB2ZWN0b3IucG9pbnQyLCBpbnB1dC5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICBjb25uZWN0aW9uLnNldE1hcmtlcnMoKTtcblxuICAgIGNvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWZWN0b3Iob3V0cHV0OiBGQ29ubmVjdG9yQmFzZSwgaW5wdXQ6IEZDb25uZWN0b3JCYXNlLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJVmVjdG9yIHtcbiAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKG91dHB1dC5ob3N0RWxlbWVudCk7XG4gICAgY29uc3QgaW5wdXRSZWN0ID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKGlucHV0Lmhvc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlci5oYW5kbGUoXG4gICAgICAgIG5ldyBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdChcbiAgICAgICAgICAgIG91dHB1dFJlY3QsXG4gICAgICAgICAgICBpbnB1dFJlY3QsXG4gICAgICAgICAgICBjb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgICAgIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICAgICAgaW5wdXQuZkNvbm5lY3RhYmxlU2lkZVxuICAgICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
/package/{f-draggable/components/f-external-item → f-external-item}/f-external-item-base.d.ts
RENAMED
|
File without changes
|
/package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.directive.d.ts
RENAMED
|
File without changes
|
/package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.service.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-element.d.ts
RENAMED
|
File without changes
|
/package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-service.d.ts
RENAMED
|
File without changes
|
/package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/nearest-coordinate.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area-base.d.ts
RENAMED
|
File without changes
|
|
File without changes
|