@foblex/flow 17.5.9 → 17.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/css-cls.d.ts +1 -1
- package/domain/f-connection/create-connection-markers/create-connection-markers.execution.d.ts +2 -5
- package/domain/f-connectors/find-closest-connector/find-closest-connector.execution.d.ts +11 -0
- package/domain/f-connectors/find-closest-connector/find-closest-connector.request.d.ts +8 -0
- package/domain/f-connectors/find-closest-connector/index.d.ts +2 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.d.ts +25 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.d.ts +8 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.d.ts +2 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +13 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.d.ts +6 -0
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +2 -0
- package/domain/f-connectors/{i-closest-input.d.ts → i-closest-connector.d.ts} +1 -1
- package/domain/f-connectors/index.d.ts +6 -5
- package/domain/f-connectors/mark-connectable-connectors/index.d.ts +2 -0
- package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.d.ts +10 -0
- package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.d.ts +6 -0
- package/domain/f-connectors/providers.d.ts +6 -5
- package/domain/f-connectors/unmark-connectable-connectors/index.d.ts +2 -0
- package/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.d.ts +10 -0
- package/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.d.ts +6 -0
- package/domain/f-draggable/providers.d.ts +1 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/css-cls.mjs +2 -2
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +17 -18
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs +42 -0
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +10 -0
- package/esm2022/domain/f-connectors/{find-input-at-position → find-closest-connector}/index.mjs +3 -3
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +93 -0
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.request.mjs +10 -0
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/index.mjs +3 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +38 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +8 -0
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +3 -0
- package/esm2022/domain/f-connectors/i-closest-connector.mjs +2 -0
- package/esm2022/domain/f-connectors/index.mjs +7 -6
- package/esm2022/domain/f-connectors/mark-connectable-connectors/index.mjs +3 -0
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +8 -0
- package/esm2022/domain/f-connectors/providers.mjs +11 -9
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/index.mjs +3 -0
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.mjs +27 -0
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.mjs +8 -0
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +2 -2
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +2 -2
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +5 -5
- package/esm2022/domain/f-selection/select/select.execution.mjs +3 -3
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +2 -2
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
- package/esm2022/f-canvas/f-canvas.component.mjs +2 -2
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +7 -2
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -2
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
- package/esm2022/f-connection/common/f-connection-base.mjs +16 -12
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +2 -2
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -2
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +4 -4
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +8 -8
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
- package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +23 -52
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +21 -48
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +21 -48
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +2 -2
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +3 -3
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +6 -6
- package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +41 -73
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +18 -12
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +83 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +82 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +1 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +8 -0
- package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +5 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +27 -21
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +8 -11
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.mjs +2 -1
- package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +17 -0
- package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +4 -4
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +2 -2
- package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +2 -2
- package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-flow/f-flow.component.mjs +3 -3
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +1 -1
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +3 -4
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +7 -9
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +3 -3
- package/esm2022/f-minimap/f-minimap.component.mjs +19 -30
- package/esm2022/f-node/f-group.directive.mjs +6 -9
- package/esm2022/f-node/f-node-base.mjs +1 -1
- package/esm2022/f-node/f-node.directive.mjs +6 -9
- package/esm2022/mixins/change-selection/change-selection.mjs +3 -2
- package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
- package/f-connection/common/f-connection-base.d.ts +15 -12
- package/f-connection/common/i-has-connection-color.d.ts +3 -2
- package/f-connection/common/i-has-connection-from-to.d.ts +2 -1
- package/f-connection/f-connection/f-connection.component.d.ts +17 -15
- package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +16 -15
- package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +16 -15
- package/f-connection/providers.d.ts +1 -1
- package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +2 -2
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +11 -17
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.d.ts +9 -6
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +27 -0
- package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +28 -0
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +4 -2
- package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.d.ts +12 -0
- package/f-draggable/f-connection/f-reassign-connection/index.d.ts +4 -0
- package/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.d.ts +6 -6
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +0 -1
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/index.d.ts +1 -0
- package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.d.ts +5 -0
- package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/providers.d.ts +1 -1
- package/f-draggable/f-node-resize/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/providers.d.ts +1 -1
- package/f-flow/f-flow.component.d.ts +1 -1
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-minimap/f-minimap-canvas.directive.d.ts +1 -1
- package/f-minimap/f-minimap-flow.directive.d.ts +4 -4
- package/f-minimap/f-minimap-view.directive.d.ts +1 -1
- package/f-minimap/f-minimap.component.d.ts +8 -8
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/f-group.directive.d.ts +2 -2
- package/f-node/f-node-base.d.ts +2 -2
- package/f-node/f-node.directive.d.ts +2 -2
- package/f-node/providers.d.ts +2 -2
- package/f-selection-area/domain/providers.d.ts +1 -1
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +592 -490
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/mixins/change-selection/i-selectable.d.ts +2 -1
- package/package.json +1 -1
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.d.ts +0 -11
- package/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.d.ts +0 -8
- package/domain/f-connectors/calculate-closest-input/index.d.ts +0 -2
- package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +0 -25
- package/domain/f-connectors/find-input-at-position/find-input-at-position.request.d.ts +0 -9
- package/domain/f-connectors/find-input-at-position/index.d.ts +0 -2
- package/domain/f-connectors/mark-all-can-be-connected-inputs/index.d.ts +0 -2
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.d.ts +0 -10
- package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.d.ts +0 -6
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/index.d.ts +0 -2
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.d.ts +0 -10
- package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.d.ts +0 -6
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.mjs +0 -42
- package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.mjs +0 -10
- package/esm2022/domain/f-connectors/calculate-closest-input/index.mjs +0 -3
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +0 -92
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.request.mjs +0 -12
- package/esm2022/domain/f-connectors/i-closest-input.mjs +0 -2
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/index.mjs +0 -3
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.mjs +0 -27
- package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.mjs +0 -8
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/index.mjs +0 -3
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.mjs +0 -27
- package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.mjs +0 -8
package/domain/css-cls.d.ts
CHANGED
package/domain/f-connection/create-connection-markers/create-connection-markers.execution.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { CreateConnectionMarkersRequest } from './create-connection-markers-request';
|
|
2
2
|
import { FConnectionBase, FMarkerBase } from '../../../f-connection';
|
|
3
3
|
import { IExecution } from '@foblex/mediator';
|
|
4
|
-
import { BrowserService } from '@foblex/platform';
|
|
5
|
-
import { FComponentsStore } from '../../../f-storage';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
5
|
export declare class CreateConnectionMarkersExecution implements IExecution<CreateConnectionMarkersRequest, void> {
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
constructor(fBrowser: BrowserService, fComponentsStore: FComponentsStore);
|
|
6
|
+
private readonly _browser;
|
|
7
|
+
private readonly _componentsStore;
|
|
11
8
|
handle(request: CreateConnectionMarkersRequest): void;
|
|
12
9
|
getMarkers(fConnection: FConnectionBase): FMarkerBase[];
|
|
13
10
|
private makeSafariCompatible;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FindClosestConnectorRequest } from './find-closest-connector.request';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
3
|
+
import { IClosestConnector } from '../i-closest-connector';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FindClosestConnectorExecution implements IExecution<FindClosestConnectorRequest, IClosestConnector | undefined> {
|
|
6
|
+
handle(payload: FindClosestConnectorRequest): IClosestConnector | undefined;
|
|
7
|
+
private _distanceToRectangle;
|
|
8
|
+
private _clamp;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FindClosestConnectorExecution, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FindClosestConnectorExecution>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IPoint } from '@foblex/2d';
|
|
2
|
+
import { IConnectorAndRect } from '../index';
|
|
3
|
+
export declare class FindClosestConnectorRequest {
|
|
4
|
+
position: IPoint;
|
|
5
|
+
connectors: IConnectorAndRect[];
|
|
6
|
+
static readonly fToken: unique symbol;
|
|
7
|
+
constructor(position: IPoint, connectors: IConnectorAndRect[]);
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FindConnectableConnectorUsingPriorityAndPositionRequest } from './find-connectable-connector-using-priority-and-position.request';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
3
|
+
import { FConnectorBase } from '../../../f-connectors';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FindConnectableConnectorUsingPriorityAndPositionExecution implements IExecution<FindConnectableConnectorUsingPriorityAndPositionRequest, FConnectorBase | undefined> {
|
|
6
|
+
private readonly _mediator;
|
|
7
|
+
private readonly _store;
|
|
8
|
+
private readonly _browser;
|
|
9
|
+
private get _transform();
|
|
10
|
+
private get _fHost();
|
|
11
|
+
private get _fNodes();
|
|
12
|
+
private get _fSnapConnection();
|
|
13
|
+
handle(payload: FindConnectableConnectorUsingPriorityAndPositionRequest): FConnectorBase | undefined;
|
|
14
|
+
private _findConnectorAtPosition;
|
|
15
|
+
private _filterConnectorsThatLocatedAtPosition;
|
|
16
|
+
private _getPointInFlow;
|
|
17
|
+
private _isSnapConnectionEnabledAndHasClosestConnector;
|
|
18
|
+
private _isValidClosestInput;
|
|
19
|
+
private _getFirstConnectableConnectorOfNodeAtPosition;
|
|
20
|
+
private _getElementsFromPoint;
|
|
21
|
+
private _findConnectableNode;
|
|
22
|
+
private _findFirstConnectableConnectorOfNode;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FindConnectableConnectorUsingPriorityAndPositionExecution, never>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FindConnectableConnectorUsingPriorityAndPositionExecution>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IPoint } from '@foblex/2d';
|
|
2
|
+
import { IConnectorAndRect } from '../i-connector-and-rect';
|
|
3
|
+
export declare class FindConnectableConnectorUsingPriorityAndPositionRequest {
|
|
4
|
+
pointerPosition: IPoint;
|
|
5
|
+
connectableConnectors: IConnectorAndRect[];
|
|
6
|
+
static readonly fToken: unique symbol;
|
|
7
|
+
constructor(pointerPosition: IPoint, connectableConnectors: IConnectorAndRect[]);
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GetAllCanBeConnectedSourceConnectorsAndRectsRequest } from './get-all-can-be-connected-source-connectors-and-rects.request';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
3
|
+
import { IConnectorAndRect } from '../i-connector-and-rect';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GetAllCanBeConnectedSourceConnectorsAndRectsExecution implements IExecution<GetAllCanBeConnectedSourceConnectorsAndRectsRequest, IConnectorAndRect[]> {
|
|
6
|
+
private readonly _fMediator;
|
|
7
|
+
private readonly _fComponentsStore;
|
|
8
|
+
private get _fSourceConnectors();
|
|
9
|
+
handle(payload: GetAllCanBeConnectedSourceConnectorsAndRectsRequest): IConnectorAndRect[];
|
|
10
|
+
private _getCanBeConnectedSourceConnectors;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GetAllCanBeConnectedSourceConnectorsAndRectsExecution, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<GetAllCanBeConnectedSourceConnectorsAndRectsExecution>;
|
|
13
|
+
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export * from './add-input-to-store';
|
|
2
2
|
export * from './add-outlet-to-store';
|
|
3
3
|
export * from './add-output-to-store';
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './find-
|
|
4
|
+
export * from './find-closest-connector';
|
|
5
|
+
export * from './find-connectable-connector-using-priority-and-position';
|
|
6
6
|
export * from './get-all-can-be-connected-inputs-and-rects';
|
|
7
|
+
export * from './get-all-can-be-connected-source-connectors-and-rects';
|
|
7
8
|
export * from './get-connector-and-rect';
|
|
8
|
-
export * from './mark-
|
|
9
|
+
export * from './mark-connectable-connectors';
|
|
9
10
|
export * from './remove-input-from-store';
|
|
10
11
|
export * from './remove-outlet-from-store';
|
|
11
12
|
export * from './remove-output-from-store';
|
|
12
|
-
export * from './unmark-
|
|
13
|
-
export * from './i-closest-
|
|
13
|
+
export * from './unmark-connectable-connectors';
|
|
14
|
+
export * from './i-closest-connector';
|
|
14
15
|
export * from './i-connector-and-rect';
|
|
15
16
|
export * from './providers';
|
package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MarkConnectableConnectorsRequest } from './mark-connectable-connectors.request';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class MarkConnectableConnectorsExecution implements IExecution<MarkConnectableConnectorsRequest, void> {
|
|
5
|
+
private readonly _store;
|
|
6
|
+
handle(payload: MarkConnectableConnectorsRequest): void;
|
|
7
|
+
private _markConnector;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MarkConnectableConnectorsExecution, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MarkConnectableConnectorsExecution>;
|
|
10
|
+
}
|
|
@@ -4,10 +4,11 @@ import { AddOutputToStoreExecution } from './add-output-to-store';
|
|
|
4
4
|
import { RemoveInputFromStoreExecution } from './remove-input-from-store';
|
|
5
5
|
import { RemoveOutletFromStoreExecution } from './remove-outlet-from-store';
|
|
6
6
|
import { RemoveOutputFromStoreExecution } from './remove-output-from-store';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { MarkConnectableConnectorsExecution } from './mark-connectable-connectors';
|
|
8
|
+
import { UnmarkConnectableConnectorsExecution } from './unmark-connectable-connectors';
|
|
9
9
|
import { GetAllCanBeConnectedInputsAndRectsExecution } from './get-all-can-be-connected-inputs-and-rects';
|
|
10
10
|
import { GetConnectorAndRectExecution } from './get-connector-and-rect';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
11
|
+
import { FindClosestConnectorExecution } from './find-closest-connector';
|
|
12
|
+
import { GetAllCanBeConnectedSourceConnectorsAndRectsExecution } from "./get-all-can-be-connected-source-connectors-and-rects";
|
|
13
|
+
import { FindConnectableConnectorUsingPriorityAndPositionExecution } from "./find-connectable-connector-using-priority-and-position";
|
|
14
|
+
export declare const F_CONNECTORS_FEATURES: (typeof AddInputToStoreExecution | typeof AddOutletToStoreExecution | typeof AddOutputToStoreExecution | typeof FindClosestConnectorExecution | typeof FindConnectableConnectorUsingPriorityAndPositionExecution | typeof GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof GetAllCanBeConnectedInputsAndRectsExecution | typeof GetConnectorAndRectExecution | typeof MarkConnectableConnectorsExecution | typeof RemoveInputFromStoreExecution | typeof RemoveOutletFromStoreExecution | typeof RemoveOutputFromStoreExecution | typeof UnmarkConnectableConnectorsExecution)[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UnmarkConnectableConnectorsRequest } from './unmark-connectable-connectors.request';
|
|
2
|
+
import { IExecution } from '@foblex/mediator';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class UnmarkConnectableConnectorsExecution implements IExecution<UnmarkConnectableConnectorsRequest, void> {
|
|
5
|
+
private readonly _store;
|
|
6
|
+
handle(payload: UnmarkConnectableConnectorsRequest): void;
|
|
7
|
+
private _unmarkConnector;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UnmarkConnectableConnectorsExecution, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UnmarkConnectableConnectorsExecution>;
|
|
10
|
+
}
|
|
@@ -7,4 +7,4 @@ import { InitializeDragSequenceExecution } from './initialize-drag-sequence';
|
|
|
7
7
|
import { OnPointerMoveExecution } from './on-pointer-move';
|
|
8
8
|
import { IsDragStartedExecution } from './is-drag-started';
|
|
9
9
|
import { StartDragSequenceExecution } from './start-drag-sequence';
|
|
10
|
-
export declare const F_DRAGGABLE_FEATURES: (typeof
|
|
10
|
+
export declare const F_DRAGGABLE_FEATURES: (typeof StartDragSequenceExecution | typeof EndDragSequenceExecution | typeof AddDndToStoreExecution | typeof EmitSelectionChangeEventExecution | typeof OnPointerMoveExecution | typeof InitializeDragSequenceExecution | typeof PrepareDragSequenceExecution | typeof IsDragStartedExecution | typeof RemoveDndFromStoreExecution)[];
|
package/domain/providers.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { GetNormalizedPointExecution } from './get-normalized-point';
|
|
|
4
4
|
import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
|
|
5
5
|
import { GetElementRoundedRectExecution } from './get-element-rounded-rect';
|
|
6
6
|
import { GetNormalizedConnectorRectExecution } from "./get-normalized-connector-rect";
|
|
7
|
-
export declare const COMMON_PROVIDERS: (typeof import("./f-
|
|
7
|
+
export declare const COMMON_PROVIDERS: (typeof import("./f-connectors").AddInputToStoreExecution | typeof import("./f-connectors").AddOutletToStoreExecution | typeof import("./f-connectors").AddOutputToStoreExecution | typeof import("./f-connectors").FindClosestConnectorExecution | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof import("./f-connectors").GetAllCanBeConnectedInputsAndRectsExecution | typeof import("./f-connectors").GetConnectorAndRectExecution | typeof import("./f-connectors").MarkConnectableConnectorsExecution | typeof import("./f-connectors").RemoveInputFromStoreExecution | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectorsExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehaviorExecution | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStoreExecution | typeof import("./f-node").CalculateInputConnectionsExecution | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPositionExecution | typeof import("./f-node").CalculateOutputConnectionsExecution | typeof import("./f-node").GetNodePaddingExecution | typeof import("./f-node").GetParentNodesExecution | typeof import("./f-node").UpdateNodeWhenStateOrSizeChangedExecution | typeof import("./f-node").RemoveNodeFromStoreExecution | typeof GetElementRoundedRectExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
|
|
@@ -8,10 +8,10 @@ export const F_CSS_CLASS = {
|
|
|
8
8
|
OUTPUT_NOT_CONNECTABLE: 'f-node-output-not-connectable',
|
|
9
9
|
INPUT_CONNECTED: 'f-node-input-connected',
|
|
10
10
|
INPUT_NOT_CONNECTABLE: 'f-node-input-not-connectable',
|
|
11
|
-
|
|
11
|
+
CONNECTABLE: 'f-connector-connectable',
|
|
12
12
|
},
|
|
13
13
|
CONNECTION: {
|
|
14
14
|
DRAG_HANDLE: 'f-connection-drag-handle',
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWNscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Nzcy1jbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBRXpCLGFBQWEsRUFBRTtRQUViLFFBQVEsRUFBRSxZQUFZO1FBRXRCLG9CQUFvQixFQUFFLHdCQUF3QjtLQUMvQztJQUVELFNBQVMsRUFBRTtRQUVULGdCQUFnQixFQUFFLHlCQUF5QjtRQUUzQyxzQkFBc0IsRUFBRSwrQkFBK0I7UUFFdkQsZUFBZSxFQUFFLHdCQUF3QjtRQUV6QyxxQkFBcUIsRUFBRSw4QkFBOEI7UUFFckQsV0FBVyxFQUFFLHlCQUF5QjtLQUN2QztJQUVELFVBQVUsRUFBRTtRQUVWLFdBQVcsRUFBRSwwQkFBMEI7S0FDeEM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEZfQ1NTX0NMQVNTID0ge1xuXG4gIERSQUdfQU5EX0RST1A6IHtcblxuICAgIERSQUdHSU5HOiAnZi1kcmFnZ2luZycsXG5cbiAgICBDT05ORUNUSU9OU19EUkFHR0lORzogJ2YtY29ubmVjdGlvbnMtZHJhZ2dpbmcnLFxuICB9LFxuXG4gIENPTk5FQ1RPUjoge1xuXG4gICAgT1VUUFVUX0NPTk5FQ1RFRDogJ2Ytbm9kZS1vdXRwdXQtY29ubmVjdGVkJyxcblxuICAgIE9VVFBVVF9OT1RfQ09OTkVDVEFCTEU6ICdmLW5vZGUtb3V0cHV0LW5vdC1jb25uZWN0YWJsZScsXG5cbiAgICBJTlBVVF9DT05ORUNURUQ6ICdmLW5vZGUtaW5wdXQtY29ubmVjdGVkJyxcblxuICAgIElOUFVUX05PVF9DT05ORUNUQUJMRTogJ2Ytbm9kZS1pbnB1dC1ub3QtY29ubmVjdGFibGUnLFxuXG4gICAgQ09OTkVDVEFCTEU6ICdmLWNvbm5lY3Rvci1jb25uZWN0YWJsZScsXG4gIH0sXG5cbiAgQ09OTkVDVElPTjoge1xuXG4gICAgRFJBR19IQU5ETEU6ICdmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUnLFxuICB9XG59XG4iXX0=
|
|
@@ -25,7 +25,7 @@ let CenterGroupOrNodeExecution = class CenterGroupOrNodeExecution {
|
|
|
25
25
|
this.transform.position = PointExtensions.initialize((fFlowRect.width - fNodeRect.width) / 2 - position.x * this.transform.scale, (fFlowRect.height - fNodeRect.height) / 2 - position.y * this.transform.scale);
|
|
26
26
|
}
|
|
27
27
|
getNode(id) {
|
|
28
|
-
return this._fComponentsStore.fNodes.find((x) => x.fId === id);
|
|
28
|
+
return this._fComponentsStore.fNodes.find((x) => x.fId() === id);
|
|
29
29
|
}
|
|
30
30
|
getNodeRect(fNode) {
|
|
31
31
|
return RectExtensions.fromElement(fNode.hostElement);
|
|
@@ -43,4 +43,4 @@ export { CenterGroupOrNodeExecution };
|
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CenterGroupOrNodeExecution, decorators: [{
|
|
44
44
|
type: Injectable
|
|
45
45
|
}] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLWdyb3VwLW9yLW5vZGUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jYW52YXMvY2VudGVyLWdyb3VwLW9yLW5vZGUvY2VudGVyLWdyb3VwLW9yLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFrQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUk1RCxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQUVwQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWhELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFHTSxNQUFNLENBQUMsT0FBaUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSxRQUFRLENBQUMsU0FBZ0IsRUFBRSxTQUFnQixFQUFFLFFBQWdCO1FBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUNsRCxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUMzRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUM5RSxDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU8sQ0FBQyxFQUFVO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWdCO1FBQ2xDLE9BQU8sY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0UsQ0FBQzt3R0F2Q1UsMEJBQTBCOzRHQUExQiwwQkFBMEI7O0FBQTFCLDBCQUEwQjtJQUR0QyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQztHQUNoQywwQkFBMEIsQ0F3Q3RDOzs0RkF4Q1ksMEJBQTBCO2tCQUZ0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QgfSBmcm9tICcuL2NlbnRlci1ncm91cC1vci1ub2RlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgUmVkcmF3Q2FudmFzV2l0aEFuaW1hdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDZW50ZXJHcm91cE9yTm9kZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2RlID0gdGhpcy5nZXROb2RlKHJlcXVlc3QuaWQpO1xuICAgIGlmICghZk5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRvQ2VudGVyKHRoaXMuZ2V0Tm9kZVJlY3QoZk5vZGUpLCB0aGlzLmdldEZsb3dSZWN0KCksIGZOb2RlLnBvc2l0aW9uKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBSZWRyYXdDYW52YXNXaXRoQW5pbWF0aW9uUmVxdWVzdChyZXF1ZXN0LmFuaW1hdGVkKSk7XG4gIH1cblxuICBwdWJsaWMgdG9DZW50ZXIoZk5vZGVSZWN0OiBJUmVjdCwgZkZsb3dSZWN0OiBJUmVjdCwgcG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgKGZGbG93UmVjdC53aWR0aCAtIGZOb2RlUmVjdC53aWR0aCkgLyAyIC0gcG9zaXRpb24ueCAqIHRoaXMudHJhbnNmb3JtLnNjYWxlLFxuICAgICAgKGZGbG93UmVjdC5oZWlnaHQgLSBmTm9kZVJlY3QuaGVpZ2h0KSAvIDIgLSBwb3NpdGlvbi55ICogdGhpcy50cmFuc2Zvcm0uc2NhbGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlKGlkOiBzdHJpbmcpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSBpZCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KGZOb2RlLmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmxvd1JlY3QoKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { CreateConnectionMarkersRequest } from './create-connection-markers-request';
|
|
4
4
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
+
import { BrowserService } from '@foblex/platform';
|
|
5
6
|
import { normalizeDomElementId } from '@foblex/utils';
|
|
7
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@foblex/platform";
|
|
8
|
-
import * as i2 from "../../../f-storage";
|
|
9
9
|
let CreateConnectionMarkersExecution = class CreateConnectionMarkersExecution {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
constructor(fBrowser, fComponentsStore) {
|
|
13
|
-
this.fBrowser = fBrowser;
|
|
14
|
-
this.fComponentsStore = fComponentsStore;
|
|
15
|
-
}
|
|
10
|
+
_browser = inject(BrowserService);
|
|
11
|
+
_componentsStore = inject(FComponentsStore);
|
|
16
12
|
handle(request) {
|
|
17
|
-
const element = createSVGElement('defs', this.
|
|
13
|
+
const element = createSVGElement('defs', this._browser);
|
|
18
14
|
const fConnection = request.fConnection;
|
|
19
15
|
this.getMarkers(fConnection).forEach((marker) => {
|
|
20
|
-
const markerElement = this.createMarkerElement(marker, fConnection.fId);
|
|
16
|
+
const markerElement = this.createMarkerElement(marker, fConnection.fId());
|
|
21
17
|
const clone = marker.hostElement.cloneNode(true);
|
|
22
18
|
clone.setAttribute('height', `${marker.height}`);
|
|
23
19
|
clone.setAttribute('width', `${marker.width}`);
|
|
@@ -26,18 +22,21 @@ let CreateConnectionMarkersExecution = class CreateConnectionMarkersExecution {
|
|
|
26
22
|
markerElement.append(clone);
|
|
27
23
|
element.append(markerElement);
|
|
28
24
|
});
|
|
29
|
-
|
|
25
|
+
const defs = fConnection.fDefs();
|
|
26
|
+
if (defs) {
|
|
27
|
+
defs.nativeElement.innerHTML = element.innerHTML;
|
|
28
|
+
}
|
|
30
29
|
this.makeSafariCompatible(fConnection);
|
|
31
30
|
}
|
|
32
31
|
getMarkers(fConnection) {
|
|
33
|
-
return this.
|
|
32
|
+
return this._componentsStore.fMarkers.filter((x) => fConnection.hostElement.contains(x.hostElement));
|
|
34
33
|
}
|
|
35
34
|
// Safari does not support markers on path elements if markers are defined after the path element
|
|
36
35
|
makeSafariCompatible(fConnection) {
|
|
37
|
-
fConnection.fPath.hostElement.replaceWith(fConnection.fPath.hostElement);
|
|
36
|
+
fConnection.fPath().hostElement.replaceWith(fConnection.fPath().hostElement);
|
|
38
37
|
}
|
|
39
38
|
createMarkerElement(marker, fConnectionId) {
|
|
40
|
-
const markerElement = createSVGElement('marker', this.
|
|
39
|
+
const markerElement = createSVGElement('marker', this._browser);
|
|
41
40
|
markerElement.setAttribute('id', normalizeDomElementId(marker.type + '-' + fConnectionId));
|
|
42
41
|
markerElement.setAttribute('markerHeight', `${marker.height}`);
|
|
43
42
|
markerElement.setAttribute('markerWidth', `${marker.width}`);
|
|
@@ -47,7 +46,7 @@ let CreateConnectionMarkersExecution = class CreateConnectionMarkersExecution {
|
|
|
47
46
|
markerElement.setAttribute('markerUnits', `${marker.markerUnits}`);
|
|
48
47
|
return markerElement;
|
|
49
48
|
}
|
|
50
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkersExecution, deps: [
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkersExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
50
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkersExecution });
|
|
52
51
|
};
|
|
53
52
|
CreateConnectionMarkersExecution = __decorate([
|
|
@@ -56,8 +55,8 @@ CreateConnectionMarkersExecution = __decorate([
|
|
|
56
55
|
export { CreateConnectionMarkersExecution };
|
|
57
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkersExecution, decorators: [{
|
|
58
57
|
type: Injectable
|
|
59
|
-
}]
|
|
58
|
+
}] });
|
|
60
59
|
function createSVGElement(tag, fBrowser) {
|
|
61
60
|
return fBrowser.document.createElementNS('http://www.w3.org/2000/svg', tag);
|
|
62
61
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tbWFya2Vycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vY3JlYXRlLWNvbm5lY3Rpb24tbWFya2Vycy9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFbkYsT0FBTyxFQUFDLGtCQUFrQixFQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJN0MsSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFFMUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV0RCxNQUFNLENBQUMsT0FBdUM7UUFDbkQsTUFBTSxPQUFPLEdBQW1CLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUV4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBRTlDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEdB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O0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzUmVxdWVzdH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1tYXJrZXJzLXJlcXVlc3QnO1xuaW1wb3J0IHtGQ29ubmVjdGlvbkJhc2UsIEZNYXJrZXJCYXNlfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHtGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtCcm93c2VyU2VydmljZX0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQge25vcm1hbGl6ZURvbUVsZW1lbnRJZH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQge0ZDb21wb25lbnRzU3RvcmV9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlQ29ubmVjdGlvbk1hcmtlcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25NYXJrZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDcmVhdGVDb25uZWN0aW9uTWFya2Vyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyID0gaW5qZWN0KEJyb3dzZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlQ29ubmVjdGlvbk1hcmtlcnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudDogU1ZHRGVmc0VsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCdkZWZzJywgdGhpcy5fYnJvd3Nlcik7XG4gICAgY29uc3QgZkNvbm5lY3Rpb24gPSByZXF1ZXN0LmZDb25uZWN0aW9uO1xuXG4gICAgdGhpcy5nZXRNYXJrZXJzKGZDb25uZWN0aW9uKS5mb3JFYWNoKChtYXJrZXIpID0+IHtcblxuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IHRoaXMuY3JlYXRlTWFya2VyRWxlbWVudChtYXJrZXIsIGZDb25uZWN0aW9uLmZJZCgpKTtcblxuICAgICAgY29uc3QgY2xvbmUgPSBtYXJrZXIuaG9zdEVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xvbmUuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHttYXJrZXIuaGVpZ2h0fWApO1xuICAgICAgY2xvbmUuc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAke21hcmtlci53aWR0aH1gKTtcbiAgICAgIGNsb25lLnJlbW92ZUF0dHJpYnV0ZSgnbWFya2VyVW5pdHMnKTtcbiAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAndW5zZXQnO1xuICAgICAgbWFya2VyRWxlbWVudC5hcHBlbmQoY2xvbmUpO1xuXG4gICAgICBlbGVtZW50LmFwcGVuZChtYXJrZXJFbGVtZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBkZWZzID0gZkNvbm5lY3Rpb24uZkRlZnMoKTtcbiAgICBpZiAoZGVmcykge1xuICAgICAgZGVmcy5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IGVsZW1lbnQuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHRoaXMubWFrZVNhZmFyaUNvbXBhdGlibGUoZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIGdldE1hcmtlcnMoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEZNYXJrZXJCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRzU3RvcmUuZk1hcmtlcnMuZmlsdGVyKCh4KSA9PiBmQ29ubmVjdGlvbi5ob3N0RWxlbWVudC5jb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICAvLyBTYWZhcmkgZG9lcyBub3Qgc3VwcG9ydCBtYXJrZXJzIG9uIHBhdGggZWxlbWVudHMgaWYgbWFya2VycyBhcmUgZGVmaW5lZCBhZnRlciB0aGUgcGF0aCBlbGVtZW50XG4gIHByaXZhdGUgbWFrZVNhZmFyaUNvbXBhdGlibGUoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IHZvaWQge1xuICAgIGZDb25uZWN0aW9uLmZQYXRoKCkuaG9zdEVsZW1lbnQucmVwbGFjZVdpdGgoZkNvbm5lY3Rpb24uZlBhdGgoKS5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU1hcmtlckVsZW1lbnQobWFya2VyOiBGTWFya2VyQmFzZSwgZkNvbm5lY3Rpb25JZDogc3RyaW5nKTogU1ZHRWxlbWVudCB7XG4gICAgY29uc3QgbWFya2VyRWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoJ21hcmtlcicsIHRoaXMuX2Jyb3dzZXIpO1xuXG4gICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgbm9ybWFsaXplRG9tRWxlbWVudElkKG1hcmtlci50eXBlICsgJy0nICsgZkNvbm5lY3Rpb25JZCkpO1xuXG4gICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlckhlaWdodCcsIGAke21hcmtlci5oZWlnaHR9YCk7XG4gICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlcldpZHRoJywgYCR7bWFya2VyLndpZHRofWApO1xuICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcmllbnQnLCBgJHttYXJrZXIub3JpZW50fWApO1xuICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZYJywgYCR7bWFya2VyLnJlZlh9YCk7XG4gICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlknLCBgJHttYXJrZXIucmVmWX1gKTtcbiAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyVW5pdHMnLCBgJHttYXJrZXIubWFya2VyVW5pdHN9YCk7XG5cbiAgICByZXR1cm4gbWFya2VyRWxlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTVkdFbGVtZW50PEsgZXh0ZW5kcyBrZXlvZiBTVkdFbGVtZW50VGFnTmFtZU1hcD4odGFnOiBLLCBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UpOiBTVkdFbGVtZW50VGFnTmFtZU1hcFtLXSB7XG4gIHJldHVybiBmQnJvd3Nlci5kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgdGFnKTtcbn1cbiJdfQ==
|
package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { FindClosestConnectorRequest } from './find-closest-connector.request';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let FindClosestConnectorExecution = class FindClosestConnectorExecution {
|
|
7
|
+
handle(payload) {
|
|
8
|
+
let result;
|
|
9
|
+
let minDistance = Infinity;
|
|
10
|
+
for (const element of payload.connectors) {
|
|
11
|
+
const distance = this._distanceToRectangle(payload.position, element);
|
|
12
|
+
if (distance < minDistance) {
|
|
13
|
+
minDistance = distance;
|
|
14
|
+
result = element;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return result ? {
|
|
18
|
+
...result,
|
|
19
|
+
distance: minDistance,
|
|
20
|
+
} : undefined;
|
|
21
|
+
}
|
|
22
|
+
_distanceToRectangle(point, inputWithRect) {
|
|
23
|
+
const closestX = this._clamp(point.x, inputWithRect.fRect.x, inputWithRect.fRect.x + inputWithRect.fRect.width);
|
|
24
|
+
const closestY = this._clamp(point.y, inputWithRect.fRect.y, inputWithRect.fRect.y + inputWithRect.fRect.height);
|
|
25
|
+
const dx = point.x - closestX;
|
|
26
|
+
const dy = point.y - closestY;
|
|
27
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
28
|
+
}
|
|
29
|
+
_clamp(value, min, max) {
|
|
30
|
+
return Math.max(min, Math.min(max, value));
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FindClosestConnectorExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FindClosestConnectorExecution });
|
|
34
|
+
};
|
|
35
|
+
FindClosestConnectorExecution = __decorate([
|
|
36
|
+
FExecutionRegister(FindClosestConnectorRequest)
|
|
37
|
+
], FindClosestConnectorExecution);
|
|
38
|
+
export { FindClosestConnectorExecution };
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FindClosestConnectorExecution, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWNvbm5lY3Rvci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvZmluZC1jbG9zZXN0LWNvbm5lY3Rvci9maW5kLWNsb3Nlc3QtY29ubmVjdG9yLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPM0QsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFHakMsTUFBTSxDQUFDLE9BQW9DO1FBQ2hELElBQUksTUFBcUMsQ0FBQztRQUMxQyxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFFM0IsS0FBSyxNQUFNLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFdEUsSUFBSSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLFdBQVcsR0FBRyxRQUFRLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxPQUFPLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDZCxHQUFHLE1BQU07WUFDVCxRQUFRLEVBQUUsV0FBVztTQUN0QixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxhQUFnQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoSCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqSCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM5QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDcEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7d0dBbENVLDZCQUE2Qjs0R0FBN0IsNkJBQTZCOztBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBbUN6Qzs7NEZBbkNZLDZCQUE2QjtrQkFGekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbmRDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCB9IGZyb20gJy4vZmluZC1jbG9zZXN0LWNvbm5lY3Rvci5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2xvc2VzdENvbm5lY3RvciB9IGZyb20gJy4uL2ktY2xvc2VzdC1jb25uZWN0b3InO1xuaW1wb3J0IHsgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi9pbmRleCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRmluZENsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZpbmRDbG9zZXN0Q29ubmVjdG9yRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QsIElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkPiB7XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QpOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdDogSUNvbm5lY3RvckFuZFJlY3QgfCB1bmRlZmluZWQ7XG4gICAgbGV0IG1pbkRpc3RhbmNlID0gSW5maW5pdHk7XG5cbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgcGF5bG9hZC5jb25uZWN0b3JzKSB7XG4gICAgICBjb25zdCBkaXN0YW5jZSA9IHRoaXMuX2Rpc3RhbmNlVG9SZWN0YW5nbGUocGF5bG9hZC5wb3NpdGlvbiwgZWxlbWVudCk7XG5cbiAgICAgIGlmIChkaXN0YW5jZSA8IG1pbkRpc3RhbmNlKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2U7XG4gICAgICAgIHJlc3VsdCA9IGVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCA/IHtcbiAgICAgIC4uLnJlc3VsdCxcbiAgICAgIGRpc3RhbmNlOiBtaW5EaXN0YW5jZSxcbiAgICB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzdGFuY2VUb1JlY3RhbmdsZShwb2ludDogSVBvaW50LCBpbnB1dFdpdGhSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCk6IG51bWJlciB7XG4gICAgY29uc3QgY2xvc2VzdFggPSB0aGlzLl9jbGFtcChwb2ludC54LCBpbnB1dFdpdGhSZWN0LmZSZWN0LngsIGlucHV0V2l0aFJlY3QuZlJlY3QueCArIGlucHV0V2l0aFJlY3QuZlJlY3Qud2lkdGgpO1xuICAgIGNvbnN0IGNsb3Nlc3RZID0gdGhpcy5fY2xhbXAocG9pbnQueSwgaW5wdXRXaXRoUmVjdC5mUmVjdC55LCBpbnB1dFdpdGhSZWN0LmZSZWN0LnkgKyBpbnB1dFdpdGhSZWN0LmZSZWN0LmhlaWdodCk7XG5cbiAgICBjb25zdCBkeCA9IHBvaW50LnggLSBjbG9zZXN0WDtcbiAgICBjb25zdCBkeSA9IHBvaW50LnkgLSBjbG9zZXN0WTtcblxuICAgIHJldHVybiBNYXRoLnNxcnQoZHggKiBkeCArIGR5ICogZHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgobWluLCBNYXRoLm1pbihtYXgsIHZhbHVlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class FindClosestConnectorRequest {
|
|
2
|
+
position;
|
|
3
|
+
connectors;
|
|
4
|
+
static fToken = Symbol('FindClosestConnectorRequest');
|
|
5
|
+
constructor(position, connectors) {
|
|
6
|
+
this.position = position;
|
|
7
|
+
this.connectors = connectors;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWNvbm5lY3Rvci5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2ZpbmQtY2xvc2VzdC1jb25uZWN0b3IvZmluZC1jbG9zZXN0LWNvbm5lY3Rvci5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFJN0I7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFL0QsWUFDUyxRQUFnQixFQUNoQixVQUErQjtRQUQvQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQXFCO0lBRXhDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lQb2ludH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge0lDb25uZWN0b3JBbmRSZWN0fSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcG9zaXRpb246IElQb2ludCxcbiAgICBwdWJsaWMgY29ubmVjdG9yczogSUNvbm5lY3RvckFuZFJlY3RbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/domain/f-connectors/{find-input-at-position → find-closest-connector}/index.mjs
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './find-
|
|
2
|
-
export * from './find-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './find-closest-connector.request';
|
|
2
|
+
export * from './find-closest-connector.execution';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3RvcnMvZmluZC1jbG9zZXN0LWNvbm5lY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbmQtY2xvc2VzdC1jb25uZWN0b3IucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmluZC1jbG9zZXN0LWNvbm5lY3Rvci5leGVjdXRpb24nO1xuIl19
|