@foblex/flow 17.0.5 → 17.0.7
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-connection/find-closest-input/find-closest-input.execution.d.ts +11 -0
- package/domain/f-connection/{find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.d.ts → find-closest-input/find-closest-input.request.d.ts} +2 -3
- package/domain/f-connection/find-closest-input/i-closest-input.d.ts +7 -0
- package/domain/f-connection/find-closest-input/index.d.ts +3 -0
- package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +2 -3
- package/domain/f-connection/index.d.ts +1 -1
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/f-draggable/providers.d.ts +1 -1
- package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.execution.d.ts +2 -4
- package/domain/f-node/index.d.ts +2 -0
- package/domain/f-node/providers.d.ts +3 -1
- package/domain/get-normalized-element-rect/get-normalized-element-rect-request.d.ts +2 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -3
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +19 -29
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +6 -3
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +42 -0
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +9 -0
- package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +2 -0
- package/esm2022/domain/f-connection/find-closest-input/index.mjs +4 -0
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +1 -1
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +7 -11
- package/esm2022/domain/f-connection/index.mjs +2 -2
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +2 -2
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +9 -0
- package/esm2022/domain/f-node/get-node-padding/index.mjs +3 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
- package/esm2022/domain/f-node/get-parent-nodes/index.mjs +3 -0
- package/esm2022/domain/f-node/index.mjs +3 -1
- package/esm2022/domain/f-node/providers.mjs +5 -1
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +4 -2
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +5 -5
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +33 -19
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +29 -21
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +6 -6
- package/esm2022/f-draggable/domain/index.mjs +1 -4
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
- package/esm2022/f-draggable/domain/providers.mjs +1 -7
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +32 -35
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +12 -15
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +15 -8
- package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +32 -17
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +37 -31
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +41 -43
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +19 -23
- package/esm2022/f-draggable/node/node.drag-handler.mjs +25 -10
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +3 -2
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +4 -5
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +3 -3
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-flow.module.mjs +1 -1
- package/esm2022/f-line-alignment/domain/index.mjs +1 -2
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +17 -12
- package/esm2022/f-node/f-drag-handle.directive.mjs +22 -0
- package/esm2022/f-node/index.mjs +3 -3
- package/esm2022/f-node/is-node.mjs +4 -0
- package/esm2022/f-node/providers.mjs +2 -2
- package/f-backgroud/providers.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +8 -4
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +7 -4
- package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +1 -1
- package/f-draggable/domain/index.d.ts +0 -3
- package/f-draggable/domain/providers.d.ts +1 -4
- package/f-draggable/f-draggable-base.d.ts +2 -0
- package/f-draggable/f-draggable.directive.d.ts +4 -2
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +7 -9
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +3 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +4 -3
- package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +9 -4
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +11 -11
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +11 -14
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +6 -9
- package/f-draggable/node/node.drag-handler.d.ts +9 -5
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-flow.module.d.ts +1 -1
- package/f-line-alignment/domain/index.d.ts +0 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +2 -1
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/{f-drag-handle/f-drag-handle.directive.d.ts → f-drag-handle.directive.d.ts} +1 -1
- package/f-node/index.d.ts +2 -2
- package/f-node/providers.d.ts +2 -2
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +409 -482
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +3 -3
- package/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.d.ts +0 -11
- package/domain/f-connection/find-closest-input-using-snap-threshold/index.d.ts +0 -2
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -11
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
- package/esm2022/f-draggable/domain/get-node-padding/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +0 -3
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
- package/esm2022/f-node/domain/index.mjs +0 -2
- package/esm2022/f-node/domain/is-node.mjs +0 -4
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -22
- package/esm2022/f-node/f-drag-handle/index.mjs +0 -2
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +0 -13
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +0 -5
- package/f-draggable/domain/get-normalized-node-rect/index.d.ts +0 -2
- package/f-line-alignment/domain/nearest-coordinate.d.ts +0 -27
- package/f-node/domain/index.d.ts +0 -1
- package/f-node/f-drag-handle/index.d.ts +0 -1
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/index.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/index.d.ts +0 -0
- /package/f-node/{domain/is-node.d.ts → is-node.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foblex/flow",
|
|
3
|
-
"version": "17.0.
|
|
3
|
+
"version": "17.0.7",
|
|
4
4
|
"description": "An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"@angular/common": ">=15.0.0",
|
|
33
33
|
"@angular/core": ">=15.0.0",
|
|
34
34
|
"@foblex/platform": "1.0.4",
|
|
35
|
-
"@foblex/mediator": "1.1.
|
|
36
|
-
"@foblex/2d": "1.1.
|
|
35
|
+
"@foblex/mediator": "1.1.2",
|
|
36
|
+
"@foblex/2d": "1.1.7",
|
|
37
37
|
"@foblex/drag-toolkit": "1.1.0",
|
|
38
38
|
"@foblex/utils": "1.1.0"
|
|
39
39
|
},
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FindClosestInputUsingSnapThresholdRequest } from './find-closest-input-using-snap-threshold.request';
|
|
2
|
-
import { IExecution } from '@foblex/mediator';
|
|
3
|
-
import { IConnectorWithRect } from '../get-connector-with-rect';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FindClosestInputUsingSnapThresholdExecution implements IExecution<FindClosestInputUsingSnapThresholdRequest, IConnectorWithRect | undefined> {
|
|
6
|
-
handle(payload: FindClosestInputUsingSnapThresholdRequest): IConnectorWithRect | undefined;
|
|
7
|
-
private distanceToRectangle;
|
|
8
|
-
private clamp;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FindClosestInputUsingSnapThresholdExecution, never>;
|
|
10
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FindClosestInputUsingSnapThresholdExecution>;
|
|
11
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { FindClosestInputUsingSnapThresholdRequest } from './find-closest-input-using-snap-threshold.request';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSnapThresholdExecution {
|
|
7
|
-
handle(payload) {
|
|
8
|
-
let result;
|
|
9
|
-
let minDistance = Infinity;
|
|
10
|
-
for (const element of payload.canBeConnectedInputs) {
|
|
11
|
-
const distance = this.distanceToRectangle(payload.position, element);
|
|
12
|
-
if (distance < minDistance) {
|
|
13
|
-
minDistance = distance;
|
|
14
|
-
result = element;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return minDistance < payload.snapThreshold ? result : undefined;
|
|
18
|
-
}
|
|
19
|
-
distanceToRectangle(point, inputWithRect) {
|
|
20
|
-
const closestX = this.clamp(point.x, inputWithRect.fRect.x, inputWithRect.fRect.x + inputWithRect.fRect.width);
|
|
21
|
-
const closestY = this.clamp(point.y, inputWithRect.fRect.y, inputWithRect.fRect.y + inputWithRect.fRect.height);
|
|
22
|
-
const dx = point.x - closestX;
|
|
23
|
-
const dy = point.y - closestY;
|
|
24
|
-
return Math.sqrt(dx * dx + dy * dy);
|
|
25
|
-
}
|
|
26
|
-
clamp(value, min, max) {
|
|
27
|
-
return Math.max(min, Math.min(max, value));
|
|
28
|
-
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution });
|
|
31
|
-
};
|
|
32
|
-
FindClosestInputUsingSnapThresholdExecution = __decorate([
|
|
33
|
-
FExecutionRegister(FindClosestInputUsingSnapThresholdRequest)
|
|
34
|
-
], FindClosestInputUsingSnapThresholdExecution);
|
|
35
|
-
export { FindClosestInputUsingSnapThresholdExecution };
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQvZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNM0QsSUFBTSwyQ0FBMkMsR0FBakQsTUFBTSwyQ0FBMkM7SUFJL0MsTUFBTSxDQUFDLE9BQWtEO1FBQzlELElBQUksTUFBc0MsQ0FBQztRQUMzQyxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFFM0IsS0FBSyxNQUFNLE9BQU8sSUFBSSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVyRSxJQUFJLFFBQVEsR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0IsV0FBVyxHQUFHLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxHQUFHLE9BQU8sQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsYUFBaUM7UUFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0csTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEgsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDOUIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO1FBQ25ELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO3VHQWhDVSwyQ0FBMkM7MkdBQTNDLDJDQUEyQzs7QUFBM0MsMkNBQTJDO0lBRHZELGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELDJDQUEyQyxDQWlDdkQ7OzJGQWpDWSwyQ0FBMkM7a0JBRnZELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdCB9IGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLnJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElDb25uZWN0b3JXaXRoUmVjdCB9IGZyb20gJy4uL2dldC1jb25uZWN0b3Itd2l0aC1yZWN0JztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdCwgSUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkPiB7XG5cblxuICBwdWJsaWMgaGFuZGxlKHBheWxvYWQ6IEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRSZXF1ZXN0KTogSUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgcmVzdWx0OiBJQ29ubmVjdG9yV2l0aFJlY3QgfCB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkRpc3RhbmNlID0gSW5maW5pdHk7XG5cbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgcGF5bG9hZC5jYW5CZUNvbm5lY3RlZElucHV0cykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLmRpc3RhbmNlVG9SZWN0YW5nbGUocGF5bG9hZC5wb3NpdGlvbiwgZWxlbWVudCk7XG5cbiAgICAgIGlmIChkaXN0YW5jZSA8IG1pbkRpc3RhbmNlKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2U7XG4gICAgICAgIHJlc3VsdCA9IGVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1pbkRpc3RhbmNlIDwgcGF5bG9hZC5zbmFwVGhyZXNob2xkID8gcmVzdWx0IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXN0YW5jZVRvUmVjdGFuZ2xlKHBvaW50OiBJUG9pbnQsIGlucHV0V2l0aFJlY3Q6IElDb25uZWN0b3JXaXRoUmVjdCk6IG51bWJlciB7XG4gICAgY29uc3QgY2xvc2VzdFggPSB0aGlzLmNsYW1wKHBvaW50LngsIGlucHV0V2l0aFJlY3QuZlJlY3QueCwgaW5wdXRXaXRoUmVjdC5mUmVjdC54ICsgaW5wdXRXaXRoUmVjdC5mUmVjdC53aWR0aCk7XG4gICAgY29uc3QgY2xvc2VzdFkgPSB0aGlzLmNsYW1wKHBvaW50LnksIGlucHV0V2l0aFJlY3QuZlJlY3QueSwgaW5wdXRXaXRoUmVjdC5mUmVjdC55ICsgaW5wdXRXaXRoUmVjdC5mUmVjdC5oZWlnaHQpO1xuXG4gICAgY29uc3QgZHggPSBwb2ludC54IC0gY2xvc2VzdFg7XG4gICAgY29uc3QgZHkgPSBwb2ludC55IC0gY2xvc2VzdFk7XG5cbiAgICByZXR1cm4gTWF0aC5zcXJ0KGR4ICogZHggKyBkeSAqIGR5KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgobWluLCBNYXRoLm1pbihtYXgsIHZhbHVlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class FindClosestInputUsingSnapThresholdRequest {
|
|
2
|
-
position;
|
|
3
|
-
canBeConnectedInputs;
|
|
4
|
-
snapThreshold;
|
|
5
|
-
constructor(position, canBeConnectedInputs, snapThreshold) {
|
|
6
|
-
this.position = position;
|
|
7
|
-
this.canBeConnectedInputs = canBeConnectedInputs;
|
|
8
|
-
this.snapThreshold = snapThreshold;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkL2ZpbmQtY2xvc2VzdC1pbnB1dC11c2luZy1zbmFwLXRocmVzaG9sZC5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx5Q0FBeUM7SUFHM0M7SUFDQTtJQUNBO0lBSFQsWUFDUyxRQUFnQixFQUNoQixvQkFBMEMsRUFDMUMsYUFBcUI7UUFGckIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBRTlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUNvbm5lY3RvcldpdGhSZWN0IH0gZnJvbSAnLi4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuXG5leHBvcnQgY2xhc3MgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb3NpdGlvbjogSVBvaW50LFxuICAgIHB1YmxpYyBjYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvcldpdGhSZWN0W10sXG4gICAgcHVibGljIHNuYXBUaHJlc2hvbGQ6IG51bWJlclxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './find-closest-input-using-snap-threshold.request';
|
|
2
|
-
export * from './find-closest-input-using-snap-threshold.execution';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLnJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtY2xvc2VzdC1pbnB1dC11c2luZy1zbmFwLXRocmVzaG9sZC5leGVjdXRpb24nO1xuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { GetNodePaddingRequest } from './get-node-padding.request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@foblex/platform";
|
|
7
|
-
let GetNodePaddingExecution = class GetNodePaddingExecution {
|
|
8
|
-
fBrowser;
|
|
9
|
-
constructor(fBrowser) {
|
|
10
|
-
this.fBrowser = fBrowser;
|
|
11
|
-
}
|
|
12
|
-
handle(request) {
|
|
13
|
-
return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
|
|
14
|
-
}
|
|
15
|
-
getPaddingData(node, rect) {
|
|
16
|
-
const style = this.fBrowser.window.getComputedStyle(node.hostElement);
|
|
17
|
-
return [
|
|
18
|
-
this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
|
|
19
|
-
this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
|
|
20
|
-
this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
|
|
21
|
-
this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
|
|
26
|
-
};
|
|
27
|
-
GetNodePaddingExecution = __decorate([
|
|
28
|
-
FExecutionRegister(GetNodePaddingRequest)
|
|
29
|
-
], GetNodePaddingExecution);
|
|
30
|
-
export { GetNodePaddingExecution };
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
|
|
32
|
-
type: Injectable
|
|
33
|
-
}], ctorParameters: () => [{ type: i1.BrowserService }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcGFkZGluZy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9kZS1wYWRkaW5nL2dldC1ub2RlLXBhZGRpbmcuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOzs7QUFPM0QsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFJeEI7SUFEVixZQUNVLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBRWxDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBOEI7UUFDMUMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUUsQ0FBQztJQUMzRyxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQWUsRUFBRSxJQUFXO1FBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RSxPQUFPO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNsRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ2pGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUNyRixDQUFDO0lBQ0osQ0FBQzt1R0FwQlUsdUJBQXVCOzJHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0FxQm5DOzsyRkFyQlksdUJBQXVCO2tCQUZuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9kZS1wYWRkaW5nLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVQYWRkaW5nRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb2RlUGFkZGluZ1JlcXVlc3QsIFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KTogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSB7XG4gICAgcmV0dXJuIHJlcXVlc3QuZk5vZGUuZkluY2x1ZGVQYWRkaW5nID8gdGhpcy5nZXRQYWRkaW5nRGF0YShyZXF1ZXN0LmZOb2RlLCByZXF1ZXN0LnJlY3QpIDogWyAwLCAwLCAwLCAwIF07XG4gIH1cblxuICBwcml2YXRlIGdldFBhZGRpbmdEYXRhKG5vZGU6IEZOb2RlQmFzZSwgcmVjdDogSVJlY3QpOiBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdIHtcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZkJyb3dzZXIud2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZS5ob3N0RWxlbWVudCk7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuZkJyb3dzZXIudG9QaXhlbHMoc3R5bGUucGFkZGluZ0xlZnQsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCBzdHlsZS5mb250U2l6ZSksXG4gICAgICB0aGlzLmZCcm93c2VyLnRvUGl4ZWxzKHN0eWxlLnBhZGRpbmdUb3AsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCBzdHlsZS5mb250U2l6ZSksXG4gICAgICB0aGlzLmZCcm93c2VyLnRvUGl4ZWxzKHN0eWxlLnBhZGRpbmdSaWdodCwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQsIHN0eWxlLmZvbnRTaXplKSxcbiAgICAgIHRoaXMuZkJyb3dzZXIudG9QaXhlbHMoc3R5bGUucGFkZGluZ0JvdHRvbSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQsIHN0eWxlLmZvbnRTaXplKVxuICAgIF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export class GetNodePaddingRequest {
|
|
2
|
-
fNode;
|
|
3
|
-
rect;
|
|
4
|
-
constructor(fNode, rect) {
|
|
5
|
-
this.fNode = fNode;
|
|
6
|
-
this.rect = rect;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcGFkZGluZy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9kb21haW4vZ2V0LW5vZGUtcGFkZGluZy9nZXQtbm9kZS1wYWRkaW5nLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHFCQUFxQjtJQUd2QjtJQUNBO0lBRlQsWUFDUyxLQUFnQixFQUNoQixJQUFXO1FBRFgsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixTQUFJLEdBQUosSUFBSSxDQUFPO0lBRXBCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgcmVjdDogSVJlY3RcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './get-node-padding.execution';
|
|
2
|
-
export * from './get-node-padding.request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9kZS1wYWRkaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtcGFkZGluZy5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcucmVxdWVzdCc7XG4iXX0=
|
package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { GetNormalizedNodeRectRequest } from './get-normalized-node-rect.request';
|
|
4
|
-
import { RectExtensions } from '@foblex/2d';
|
|
5
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../f-storage";
|
|
8
|
-
let GetNormalizedNodeRectExecution = class GetNormalizedNodeRectExecution {
|
|
9
|
-
fComponentsStore;
|
|
10
|
-
constructor(fComponentsStore) {
|
|
11
|
-
this.fComponentsStore = fComponentsStore;
|
|
12
|
-
}
|
|
13
|
-
handle(request) {
|
|
14
|
-
return this.normalizeRect(RectExtensions.fromElement(request.fNode.hostElement), request.fNode.position);
|
|
15
|
-
}
|
|
16
|
-
normalizeRect(scaledRect, position) {
|
|
17
|
-
const rect = RectExtensions.div(scaledRect, this.fComponentsStore.fCanvas.transform.scale);
|
|
18
|
-
return RectExtensions.initialize(position.x, position.y, rect.width, rect.height);
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution });
|
|
22
|
-
};
|
|
23
|
-
GetNormalizedNodeRectExecution = __decorate([
|
|
24
|
-
FExecutionRegister(GetNormalizedNodeRectRequest)
|
|
25
|
-
], GetNormalizedNodeRectExecution);
|
|
26
|
-
export { GetNormalizedNodeRectExecution };
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedNodeRectExecution, decorators: [{
|
|
28
|
-
type: Injectable
|
|
29
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtbm9kZS1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2dldC1ub3JtYWxpemVkLW5vZGUtcmVjdC9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOzs7QUFLM0QsSUFBTSw4QkFBOEIsR0FBcEMsTUFBTSw4QkFBOEI7SUFJL0I7SUFEVixZQUNVLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTVDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBcUM7UUFDakQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFTyxhQUFhLENBQUMsVUFBaUIsRUFBRSxRQUFnQjtRQUN2RCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1RixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7dUdBaEJVLDhCQUE4QjsyR0FBOUIsOEJBQThCOztBQUE5Qiw4QkFBOEI7SUFEMUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7R0FDcEMsOEJBQThCLENBaUIxQzs7MkZBakJZLDhCQUE4QjtrQkFGMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWROb2RlUmVjdFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLW5vZGUtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWROb2RlUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZE5vZGVSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkTm9kZVJlY3RSZXF1ZXN0LCBJUmVjdD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9ybWFsaXplZE5vZGVSZWN0UmVxdWVzdCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVSZWN0KFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHJlcXVlc3QuZk5vZGUuaG9zdEVsZW1lbnQpLCByZXF1ZXN0LmZOb2RlLnBvc2l0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplUmVjdChzY2FsZWRSZWN0OiBJUmVjdCwgcG9zaXRpb246IElQb2ludCk6IElSZWN0IHtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuZGl2KHNjYWxlZFJlY3QsIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0uc2NhbGUpO1xuXG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUocG9zaXRpb24ueCwgcG9zaXRpb24ueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG59XG4iXX0=
|
package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class GetNormalizedNodeRectRequest {
|
|
2
|
-
fNode;
|
|
3
|
-
constructor(fNode) {
|
|
4
|
-
this.fNode = fNode;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtbm9kZS1yZWN0LnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QvZ2V0LW5vcm1hbGl6ZWQtbm9kZS1yZWN0LnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDRCQUE0QjtJQUc5QjtJQURULFlBQ1MsS0FBZ0I7UUFBaEIsVUFBSyxHQUFMLEtBQUssQ0FBVztJQUV6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZE5vZGVSZWN0UmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZOb2RlOiBGTm9kZUJhc2VcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './get-normalized-node-rect.execution';
|
|
2
|
-
export * from './get-normalized-node-rect.request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QucmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { GetParentNodesRequest } from './get-parent-nodes.request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../../f-storage";
|
|
7
|
-
let GetParentNodesExecution = class GetParentNodesExecution {
|
|
8
|
-
fComponentsStore;
|
|
9
|
-
constructor(fComponentsStore) {
|
|
10
|
-
this.fComponentsStore = fComponentsStore;
|
|
11
|
-
}
|
|
12
|
-
handle(request) {
|
|
13
|
-
return this.getParentNodes(request.fNode, new Set(), []);
|
|
14
|
-
}
|
|
15
|
-
getParentNodes(fNode, visited, result) {
|
|
16
|
-
if (visited.has(fNode.fId)) {
|
|
17
|
-
throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fNode.fId);
|
|
18
|
-
}
|
|
19
|
-
visited.add(fNode.fId);
|
|
20
|
-
const parent = this.fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
|
|
21
|
-
if (!parent) {
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
result.push(parent);
|
|
25
|
-
return this.getParentNodes(parent, visited, result);
|
|
26
|
-
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution });
|
|
29
|
-
};
|
|
30
|
-
GetParentNodesExecution = __decorate([
|
|
31
|
-
FExecutionRegister(GetParentNodesRequest)
|
|
32
|
-
], GetParentNodesExecution);
|
|
33
|
-
export { GetParentNodesExecution };
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, decorators: [{
|
|
35
|
-
type: Injectable
|
|
36
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC1ub2Rlcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtcGFyZW50LW5vZGVzL2dldC1wYXJlbnQtbm9kZXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOzs7QUFNM0QsSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFJeEI7SUFEVixZQUNVLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTVDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBOEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdCLEVBQUUsT0FBb0IsRUFBRSxNQUFtQjtRQUNoRixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO3VHQXpCVSx1QkFBdUI7MkdBQXZCLHVCQUF1Qjs7QUFBdkIsdUJBQXVCO0lBRG5DLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO0dBQzdCLHVCQUF1QixDQTBCbkM7OzJGQTFCWSx1QkFBdUI7a0JBRm5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRQYXJlbnROb2Rlc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0UGFyZW50Tm9kZXNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldFBhcmVudE5vZGVzUmVxdWVzdCwgRk5vZGVCYXNlW10+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldFBhcmVudE5vZGVzUmVxdWVzdCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJlbnROb2RlcyhyZXF1ZXN0LmZOb2RlLCBuZXcgU2V0PHN0cmluZz4oKSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlcyhmTm9kZTogRk5vZGVCYXNlLCB2aXNpdGVkOiBTZXQ8c3RyaW5nPiwgcmVzdWx0OiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICBpZiAodmlzaXRlZC5oYXMoZk5vZGUuZklkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaXJjdWxhciByZWZlcmVuY2UgZGV0ZWN0ZWQgaW4gdGhlIG5vZGUgaGllcmFyY2h5LiBOb2RlIGlkOiAnICsgZk5vZGUuZklkKTtcbiAgICB9XG4gICAgdmlzaXRlZC5hZGQoZk5vZGUuZklkKTtcblxuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQgPT09IGZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcmVzdWx0LnB1c2gocGFyZW50KTtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJlbnROb2RlcyhwYXJlbnQsIHZpc2l0ZWQsIHJlc3VsdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class GetParentNodesRequest {
|
|
2
|
-
fNode;
|
|
3
|
-
constructor(fNode) {
|
|
4
|
-
this.fNode = fNode;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC1ub2Rlcy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9kb21haW4vZ2V0LXBhcmVudC1ub2Rlcy9nZXQtcGFyZW50LW5vZGVzLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHFCQUFxQjtJQUd2QjtJQURULFlBQ1MsS0FBZ0I7UUFBaEIsVUFBSyxHQUFMLEtBQUssQ0FBVztJQUV6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5leHBvcnQgY2xhc3MgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZVxuICApIHtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './get-parent-nodes.execution';
|
|
2
|
-
export * from './get-parent-nodes.request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtcGFyZW50LW5vZGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LXBhcmVudC1ub2Rlcy5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMucmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A class to find the nearest coordinate.
|
|
3
|
-
*/
|
|
4
|
-
export class NearestCoordinateFinder {
|
|
5
|
-
alignThreshold;
|
|
6
|
-
elements;
|
|
7
|
-
target;
|
|
8
|
-
/**
|
|
9
|
-
* Constructor to initialize the NearestCoordinateFinder.
|
|
10
|
-
* @param elements - The array of IRect elements.
|
|
11
|
-
* @param target - The target IRect element.
|
|
12
|
-
* @param alignThreshold - The threshold to align the elements.
|
|
13
|
-
*/
|
|
14
|
-
constructor(elements, target, alignThreshold = 10) {
|
|
15
|
-
this.alignThreshold = alignThreshold;
|
|
16
|
-
this.elements = elements;
|
|
17
|
-
this.target = target;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Finds the nearest coordinate on a specified axis.
|
|
21
|
-
* @returns The nearest coordinate and its distance.
|
|
22
|
-
*/
|
|
23
|
-
findNearestCoordinateByX() {
|
|
24
|
-
let nearest;
|
|
25
|
-
let minDistance;
|
|
26
|
-
for (const element of this.elements) {
|
|
27
|
-
const distanceLeftLeft = this.target.x - element.x;
|
|
28
|
-
const distanceLeftRight = this.target.x - (element.x + element.width);
|
|
29
|
-
const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
|
|
30
|
-
const distanceRightLeft = (this.target.x + this.target.width) - element.x;
|
|
31
|
-
const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
|
|
32
|
-
if (Math.abs(distanceLeftLeft) <= this.alignThreshold ||
|
|
33
|
-
Math.abs(distanceLeftRight) <= this.alignThreshold ||
|
|
34
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
35
|
-
Math.abs(distanceRightLeft) <= this.alignThreshold ||
|
|
36
|
-
Math.abs(distanceRightRight) <= this.alignThreshold) {
|
|
37
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
38
|
-
minDistance = distanceCenterCenter;
|
|
39
|
-
nearest = element.gravityCenter.x;
|
|
40
|
-
}
|
|
41
|
-
if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
|
|
42
|
-
minDistance = distanceLeftLeft;
|
|
43
|
-
nearest = element.x;
|
|
44
|
-
}
|
|
45
|
-
if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
|
|
46
|
-
minDistance = distanceRightRight;
|
|
47
|
-
nearest = element.x + element.width;
|
|
48
|
-
}
|
|
49
|
-
if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
|
|
50
|
-
minDistance = distanceLeftRight;
|
|
51
|
-
nearest = element.x + element.width;
|
|
52
|
-
}
|
|
53
|
-
if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
|
|
54
|
-
minDistance = distanceRightLeft;
|
|
55
|
-
nearest = element.x;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return { value: nearest, distance: minDistance };
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Finds the nearest coordinate on a specified axis.
|
|
63
|
-
* @returns The nearest coordinate and its distance.
|
|
64
|
-
*/
|
|
65
|
-
findNearestCoordinateByY() {
|
|
66
|
-
let nearest;
|
|
67
|
-
let minDistance;
|
|
68
|
-
for (const element of this.elements) {
|
|
69
|
-
const distanceTopTop = this.target.y - element.y;
|
|
70
|
-
const distanceTopBottom = this.target.y - (element.y + element.height);
|
|
71
|
-
const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
|
|
72
|
-
const distanceBottomTop = (this.target.y + this.target.height) - element.y;
|
|
73
|
-
const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
|
|
74
|
-
if (Math.abs(distanceTopTop) <= this.alignThreshold ||
|
|
75
|
-
Math.abs(distanceTopBottom) <= this.alignThreshold ||
|
|
76
|
-
Math.abs(distanceCenterCenter) <= this.alignThreshold ||
|
|
77
|
-
Math.abs(distanceBottomTop) <= this.alignThreshold ||
|
|
78
|
-
Math.abs(distanceBottomBottom) <= this.alignThreshold) {
|
|
79
|
-
if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
|
|
80
|
-
minDistance = distanceCenterCenter;
|
|
81
|
-
nearest = element.gravityCenter.y;
|
|
82
|
-
}
|
|
83
|
-
if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
|
|
84
|
-
minDistance = distanceTopTop;
|
|
85
|
-
nearest = element.y;
|
|
86
|
-
}
|
|
87
|
-
if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
|
|
88
|
-
minDistance = distanceBottomBottom;
|
|
89
|
-
nearest = element.y + element.height;
|
|
90
|
-
}
|
|
91
|
-
if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
|
|
92
|
-
minDistance = distanceTopBottom;
|
|
93
|
-
nearest = element.y + element.height;
|
|
94
|
-
}
|
|
95
|
-
if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
|
|
96
|
-
minDistance = distanceBottomTop;
|
|
97
|
-
nearest = element.y;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return { value: nearest, distance: minDistance };
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVhcmVzdC1jb29yZGluYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWxpbmUtYWxpZ25tZW50L2RvbWFpbi9uZWFyZXN0LWNvb3JkaW5hdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBWW9CO0lBVDlDLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVE7SUFFdEI7Ozs7O09BS0c7SUFDSCxZQUFZLFFBQWlCLEVBQUUsTUFBYSxFQUFVLGlCQUF5QixFQUFFO1FBQTNCLG1CQUFjLEdBQWQsY0FBYyxDQUFhO1FBQy9FLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDSSx3QkFBd0I7UUFDN0IsSUFBSSxPQUEyQixDQUFDO1FBQ2hDLElBQUksV0FBK0IsQ0FBQztRQUVwQyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUUsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU3RixJQUNJLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYztnQkFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjO2dCQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLGNBQWM7Z0JBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYztnQkFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQ3JELENBQUM7Z0JBQ0QsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hGLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDdkQsV0FBVyxHQUFHLGdCQUFnQixDQUFDO29CQUMvQixPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3pELFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztvQkFDakMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEMsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztvQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEMsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztvQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBR0Q7OztPQUdHO0lBQ0ksd0JBQXdCO1FBQzdCLElBQUksT0FBMkIsQ0FBQztRQUNoQyxJQUFJLFdBQStCLENBQUM7UUFFcEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzRSxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWpHLElBQ0ksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYztnQkFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjO2dCQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksSUFBSSxDQUFDLGNBQWM7Z0JBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYztnQkFDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQ3ZELENBQUM7Z0JBQ0QsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hGLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbkMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQ3JELFdBQVcsR0FBRyxjQUFjLENBQUM7b0JBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDM0QsV0FBVyxHQUFHLG9CQUFvQixDQUFDO29CQUNuQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDeEQsV0FBVyxHQUFHLGlCQUFpQixDQUFDO29CQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUN2QyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztvQkFDeEQsV0FBVyxHQUFHLGlCQUFpQixDQUFDO29CQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuL2ktbmVhcmVzdC1jb29yZGluYXRlLXJlc3VsdCc7XG5cbi8qKlxuICogQSBjbGFzcyB0byBmaW5kIHRoZSBuZWFyZXN0IGNvb3JkaW5hdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlciB7XG5cblxuICBwcml2YXRlIGVsZW1lbnRzOiBJUmVjdFtdO1xuICBwcml2YXRlIHRhcmdldDogSVJlY3Q7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yIHRvIGluaXRpYWxpemUgdGhlIE5lYXJlc3RDb29yZGluYXRlRmluZGVyLlxuICAgKiBAcGFyYW0gZWxlbWVudHMgLSBUaGUgYXJyYXkgb2YgSVJlY3QgZWxlbWVudHMuXG4gICAqIEBwYXJhbSB0YXJnZXQgLSBUaGUgdGFyZ2V0IElSZWN0IGVsZW1lbnQuXG4gICAqIEBwYXJhbSBhbGlnblRocmVzaG9sZCAtIFRoZSB0aHJlc2hvbGQgdG8gYWxpZ24gdGhlIGVsZW1lbnRzLlxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudHM6IElSZWN0W10sIHRhcmdldDogSVJlY3QsIHByaXZhdGUgYWxpZ25UaHJlc2hvbGQ6IG51bWJlciA9IDEwKSB7XG4gICAgdGhpcy5lbGVtZW50cyA9IGVsZW1lbnRzO1xuICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBuZWFyZXN0IGNvb3JkaW5hdGUgb24gYSBzcGVjaWZpZWQgYXhpcy5cbiAgICogQHJldHVybnMgVGhlIG5lYXJlc3QgY29vcmRpbmF0ZSBhbmQgaXRzIGRpc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGZpbmROZWFyZXN0Q29vcmRpbmF0ZUJ5WCgpOiBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQge1xuICAgIGxldCBuZWFyZXN0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkRpc3RhbmNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5lbGVtZW50cykge1xuICAgICAgY29uc3QgZGlzdGFuY2VMZWZ0TGVmdCA9IHRoaXMudGFyZ2V0LnggLSBlbGVtZW50Lng7XG4gICAgICBjb25zdCBkaXN0YW5jZUxlZnRSaWdodCA9IHRoaXMudGFyZ2V0LnggLSAoZWxlbWVudC54ICsgZWxlbWVudC53aWR0aCk7XG4gICAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRoaXMudGFyZ2V0LmdyYXZpdHlDZW50ZXIueCAtIGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgY29uc3QgZGlzdGFuY2VSaWdodExlZnQgPSAodGhpcy50YXJnZXQueCArIHRoaXMudGFyZ2V0LndpZHRoKSAtIGVsZW1lbnQueDtcbiAgICAgIGNvbnN0IGRpc3RhbmNlUmlnaHRSaWdodCA9ICh0aGlzLnRhcmdldC54ICsgdGhpcy50YXJnZXQud2lkdGgpIC0gKGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGgpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VMZWZ0TGVmdCkgPD0gdGhpcy5hbGlnblRocmVzaG9sZCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlTGVmdFJpZ2h0KSA8PSB0aGlzLmFsaWduVGhyZXNob2xkIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IHRoaXMuYWxpZ25UaHJlc2hvbGQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVJpZ2h0TGVmdCkgPD0gdGhpcy5hbGlnblRocmVzaG9sZCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlUmlnaHRSaWdodCkgPD0gdGhpcy5hbGlnblRocmVzaG9sZFxuICAgICAgKSB7XG4gICAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VDZW50ZXJDZW50ZXI7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUxlZnRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0TGVmdDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVJpZ2h0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlTGVmdFJpZ2h0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlUmlnaHRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodExlZnQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogbmVhcmVzdCwgZGlzdGFuY2U6IG1pbkRpc3RhbmNlIH07XG4gIH1cblxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgbmVhcmVzdCBjb29yZGluYXRlIG9uIGEgc3BlY2lmaWVkIGF4aXMuXG4gICAqIEByZXR1cm5zIFRoZSBuZWFyZXN0IGNvb3JkaW5hdGUgYW5kIGl0cyBkaXN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTogSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IHtcbiAgICBsZXQgbmVhcmVzdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGxldCBtaW5EaXN0YW5jZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuZWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wVG9wID0gdGhpcy50YXJnZXQueSAtIGVsZW1lbnQueTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wQm90dG9tID0gdGhpcy50YXJnZXQueSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG4gICAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRoaXMudGFyZ2V0LmdyYXZpdHlDZW50ZXIueSAtIGVsZW1lbnQuZ3Jhdml0eUNlbnRlci55O1xuICAgICAgY29uc3QgZGlzdGFuY2VCb3R0b21Ub3AgPSAodGhpcy50YXJnZXQueSArIHRoaXMudGFyZ2V0LmhlaWdodCkgLSBlbGVtZW50Lnk7XG4gICAgICBjb25zdCBkaXN0YW5jZUJvdHRvbUJvdHRvbSA9ICh0aGlzLnRhcmdldC55ICsgdGhpcy50YXJnZXQuaGVpZ2h0KSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPD0gdGhpcy5hbGlnblRocmVzaG9sZCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlVG9wQm90dG9tKSA8PSB0aGlzLmFsaWduVGhyZXNob2xkIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IHRoaXMuYWxpZ25UaHJlc2hvbGQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUJvdHRvbVRvcCkgPD0gdGhpcy5hbGlnblRocmVzaG9sZCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQm90dG9tQm90dG9tKSA8PSB0aGlzLmFsaWduVGhyZXNob2xkXG4gICAgICApIHtcbiAgICAgICAgaWYgKG1pbkRpc3RhbmNlID09PSB1bmRlZmluZWQgfHwgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUNlbnRlckNlbnRlcjtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC5ncmF2aXR5Q2VudGVyLnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlVG9wVG9wKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VUb3BUb3A7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Cb3R0b20pIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUJvdHRvbUJvdHRvbTtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55ICsgZWxlbWVudC5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlVG9wQm90dG9tKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VUb3BCb3R0b207XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueSArIGVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUJvdHRvbVRvcCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlQm90dG9tVG9wO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWx1ZTogbmVhcmVzdCwgZGlzdGFuY2U6IG1pbkRpc3RhbmNlIH07XG4gIH1cbn1cblxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './is-node';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lzLW5vZGUnO1xuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export function isNode(element) {
|
|
2
|
-
return !!element.closest('[fNode]');
|
|
3
|
-
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2RvbWFpbi9pcy1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxNQUFNLENBQUMsT0FBaUM7SUFDdEQsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZWxlbWVudC5jbG9zZXN0KCdbZk5vZGVdJyk7XG59XG5cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, InjectionToken } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const F_DRAG_HANDLE = new InjectionToken('F_DRAG_HANDLE');
|
|
4
|
-
export class FDragHandleDirective {
|
|
5
|
-
_elementReference = inject(ElementRef);
|
|
6
|
-
get hostElement() {
|
|
7
|
-
return this._elementReference.nativeElement;
|
|
8
|
-
}
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDragHandleDirective, selector: "[fDragHandle]", host: { classAttribute: "f-drag-handle f-component" }, providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }], ngImport: i0 });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDragHandleDirective, decorators: [{
|
|
13
|
-
type: Directive,
|
|
14
|
-
args: [{
|
|
15
|
-
selector: "[fDragHandle]",
|
|
16
|
-
host: {
|
|
17
|
-
class: "f-drag-handle f-component"
|
|
18
|
-
},
|
|
19
|
-
providers: [{ provide: F_DRAG_HANDLE, useExisting: FDragHandleDirective }],
|
|
20
|
-
}]
|
|
21
|
-
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnLWhhbmRsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2YtZHJhZy1oYW5kbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQzlDLE1BQU0sZUFBZSxDQUFDOztBQUd2QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQXVCLGVBQWUsQ0FBQyxDQUFDO0FBU3ZGLE1BQU0sT0FBTyxvQkFBb0I7SUFFdkIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQzt1R0FOVSxvQkFBb0I7MkZBQXBCLG9CQUFvQiwrRkFGcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUU7OzJGQUVqRSxvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsMkJBQTJCO3FCQUNuQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxzQkFBc0IsRUFBRSxDQUFFO2lCQUM3RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlblxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcblxuZXhwb3J0IGNvbnN0IEZfRFJBR19IQU5ETEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkRyYWdIYW5kbGVEaXJlY3RpdmU+KCdGX0RSQUdfSEFORExFJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkRyYWdIYW5kbGVdXCIsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJmLWRyYWctaGFuZGxlIGYtY29tcG9uZW50XCJcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9EUkFHX0hBTkRMRSwgdXNlRXhpc3Rpbmc6IEZEcmFnSGFuZGxlRGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdIYW5kbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './f-drag-handle.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLWRyYWctaGFuZGxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZHJhZy1oYW5kbGUuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { GetNormalizedNodeRectRequest } from './get-normalized-node-rect.request';
|
|
2
|
-
import { IRect } from '@foblex/2d';
|
|
3
|
-
import { IExecution } from '@foblex/mediator';
|
|
4
|
-
import { FComponentsStore } from '../../../f-storage';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class GetNormalizedNodeRectExecution implements IExecution<GetNormalizedNodeRectRequest, IRect> {
|
|
7
|
-
private fComponentsStore;
|
|
8
|
-
constructor(fComponentsStore: FComponentsStore);
|
|
9
|
-
handle(request: GetNormalizedNodeRectRequest): IRect;
|
|
10
|
-
private normalizeRect;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<GetNormalizedNodeRectExecution, never>;
|
|
12
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<GetNormalizedNodeRectExecution>;
|
|
13
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { IRect } from '@foblex/2d';
|
|
2
|
-
import { INearestCoordinateResult } from './i-nearest-coordinate-result';
|
|
3
|
-
/**
|
|
4
|
-
* A class to find the nearest coordinate.
|
|
5
|
-
*/
|
|
6
|
-
export declare class NearestCoordinateFinder {
|
|
7
|
-
private alignThreshold;
|
|
8
|
-
private elements;
|
|
9
|
-
private target;
|
|
10
|
-
/**
|
|
11
|
-
* Constructor to initialize the NearestCoordinateFinder.
|
|
12
|
-
* @param elements - The array of IRect elements.
|
|
13
|
-
* @param target - The target IRect element.
|
|
14
|
-
* @param alignThreshold - The threshold to align the elements.
|
|
15
|
-
*/
|
|
16
|
-
constructor(elements: IRect[], target: IRect, alignThreshold?: number);
|
|
17
|
-
/**
|
|
18
|
-
* Finds the nearest coordinate on a specified axis.
|
|
19
|
-
* @returns The nearest coordinate and its distance.
|
|
20
|
-
*/
|
|
21
|
-
findNearestCoordinateByX(): INearestCoordinateResult;
|
|
22
|
-
/**
|
|
23
|
-
* Finds the nearest coordinate on a specified axis.
|
|
24
|
-
* @returns The nearest coordinate and its distance.
|
|
25
|
-
*/
|
|
26
|
-
findNearestCoordinateByY(): INearestCoordinateResult;
|
|
27
|
-
}
|
package/f-node/domain/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './is-node';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './f-drag-handle.directive';
|
/package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts
RENAMED
|
File without changes
|
/package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
/package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|