@foblex/flow 12.6.6 → 12.6.8
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/README.md +1 -1
- package/bundles/foblex-flow.umd.js +2130 -2147
- package/bundles/foblex-flow.umd.js.map +1 -1
- package/{f-backgroud/domain → domain/f-background}/add-pattern-to-background/add-pattern-to-background.request.d.ts +1 -1
- package/domain/f-background/index.d.ts +2 -0
- package/domain/f-canvas/index.d.ts +8 -0
- package/{f-draggable/connections/common → domain/f-connection}/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.d.ts +1 -1
- package/{f-draggable/connections/common → domain/f-connection}/get-connector-with-rect/get-connector-with-rect-request.d.ts +1 -1
- package/{f-draggable/connections/common → domain/f-connection}/get-connector-with-rect/i-connector-with-rect.d.ts +1 -1
- package/{f-draggable/connections/common → domain/f-connection}/index.d.ts +0 -1
- package/domain/f-connection/providers.d.ts +4 -0
- package/domain/get-flow-state/providers.d.ts +1 -1
- package/domain/index.d.ts +3 -0
- package/domain/providers.d.ts +1 -1
- package/esm2015/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.js +48 -0
- package/esm2015/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.js +6 -0
- package/esm2015/domain/f-background/add-pattern-to-background/index.js +3 -0
- package/esm2015/domain/f-background/index.js +3 -0
- package/esm2015/domain/f-background/providers.js +5 -0
- package/esm2015/{f-canvas/domain → domain/f-canvas}/center-group-or-node/center-group-or-node-request.js +1 -1
- package/esm2015/domain/f-canvas/center-group-or-node/center-group-or-node.execution.js +49 -0
- package/esm2015/{f-canvas/domain → domain/f-canvas}/center-group-or-node/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/fit-to-flow/fit-to-flow-request.js +1 -1
- package/esm2015/domain/f-canvas/fit-to-flow/fit-to-flow.execution.js +56 -0
- package/esm2015/{f-canvas/domain → domain/f-canvas}/fit-to-flow/index.js +1 -1
- package/esm2015/domain/f-canvas/index.js +9 -0
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-position/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-position/input-canvas-position-request.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-position/input-canvas-position.execution.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/input-canvas-scale-request.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/input-canvas-scale.execution.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/providers.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/reset-scale/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/reset-scale/reset-scale-request.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/reset-scale/reset-scale.execution.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/reset-scale-and-center/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/reset-scale-and-center/reset-scale-and-center-request.js +1 -1
- package/esm2015/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.js +51 -0
- package/esm2015/{f-canvas/domain → domain/f-canvas}/update-scale/index.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/update-scale/update-scale-request.js +1 -1
- package/esm2015/{f-canvas/domain → domain/f-canvas}/update-scale/update-scale.execution.js +1 -1
- package/esm2015/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.js +39 -0
- package/esm2015/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.js +8 -0
- package/esm2015/domain/f-connection/find-closest-input-using-snap-threshold/index.js +3 -0
- package/esm2015/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.js +55 -0
- package/esm2015/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.js +6 -0
- package/esm2015/domain/f-connection/get-all-can-be-connected-input-positions/index.js +3 -0
- package/esm2015/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.js +6 -0
- package/esm2015/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.js +28 -0
- package/esm2015/domain/f-connection/get-connector-with-rect/i-connector-with-rect.js +2 -0
- package/esm2015/domain/f-connection/get-connector-with-rect/index.js +4 -0
- package/esm2015/domain/f-connection/index.js +5 -0
- package/esm2015/domain/f-connection/providers.js +9 -0
- package/esm2015/domain/index.js +4 -1
- package/esm2015/domain/providers.js +6 -4
- package/esm2015/f-backgroud/domain/index.js +1 -3
- package/esm2015/f-backgroud/f-background.component.js +3 -3
- package/esm2015/f-canvas/domain/index.js +1 -9
- package/esm2015/f-canvas/f-canvas.component.js +2 -3
- package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.js +2 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/index.js +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.js +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.js +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.js +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/index.js +1 -2
- package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +8 -4
- package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.js +1 -2
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +85 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.js +7 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.js +35 -0
- package/esm2015/f-draggable/connections/get-input-under-pointer/index.js +4 -0
- package/esm2015/f-draggable/connections/index.js +2 -2
- package/esm2015/f-draggable/connections/providers.js +20 -12
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.js +1 -2
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.js +2 -2
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.js +1 -2
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +12 -5
- package/esm2015/f-draggable/node/connection-base-drag-handler.js +2 -2
- package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js +1 -1
- package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +1 -1
- package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +9 -3
- package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js +1 -1
- package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +3 -6
- package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +3 -3
- package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +5 -4
- package/esm2015/f-draggable/providers.js +5 -5
- package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.execution.js +3 -3
- package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.validator.js +3 -3
- package/esm2015/f-external-item/domain/external-item.drag-handler.js +1 -1
- package/esm2015/f-flow/f-flow.component.js +5 -6
- package/f-backgroud/domain/index.d.ts +0 -2
- package/f-canvas/domain/index.d.ts +0 -8
- package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +1 -1
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
- package/f-draggable/connections/{common/get-input-under-pointer → get-input-under-pointer}/get-input-under-pointer.execution.d.ts +3 -3
- package/f-draggable/connections/{common/get-input-under-pointer → get-input-under-pointer}/get-input-under-pointer.request.d.ts +2 -2
- package/f-draggable/connections/{common/get-input-under-pointer → get-input-under-pointer}/get-input-under-pointer.validator.d.ts +1 -1
- package/f-draggable/connections/index.d.ts +1 -1
- package/f-draggable/connections/providers.d.ts +4 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -1
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +1 -1
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +1 -0
- package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +2 -1
- package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -1
- package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +2 -3
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +1 -1
- package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +1 -1
- package/f-external-item/domain/external-item.drag-handler.d.ts +1 -1
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/providers.d.ts +1 -1
- package/fesm2015/foblex-flow.js +947 -965
- package/fesm2015/foblex-flow.js.map +1 -1
- package/package.json +1 -1
- package/esm2015/f-backgroud/domain/add-pattern-to-background/add-pattern-to-background.execution.js +0 -48
- package/esm2015/f-backgroud/domain/add-pattern-to-background/add-pattern-to-background.request.js +0 -6
- package/esm2015/f-backgroud/domain/add-pattern-to-background/index.js +0 -3
- package/esm2015/f-backgroud/domain/providers.js +0 -5
- package/esm2015/f-canvas/domain/center-group-or-node/center-group-or-node.execution.js +0 -49
- package/esm2015/f-canvas/domain/fit-to-flow/fit-to-flow.execution.js +0 -56
- package/esm2015/f-canvas/domain/reset-scale-and-center/reset-scale-and-center.execution.js +0 -51
- package/esm2015/f-draggable/connections/common/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.js +0 -39
- package/esm2015/f-draggable/connections/common/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.js +0 -8
- package/esm2015/f-draggable/connections/common/find-closest-input-using-snap-threshold/index.js +0 -3
- package/esm2015/f-draggable/connections/common/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.js +0 -55
- package/esm2015/f-draggable/connections/common/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.js +0 -6
- package/esm2015/f-draggable/connections/common/get-all-can-be-connected-input-positions/index.js +0 -3
- package/esm2015/f-draggable/connections/common/get-connector-with-rect/get-connector-with-rect-request.js +0 -6
- package/esm2015/f-draggable/connections/common/get-connector-with-rect/get-connector-with-rect.execution.js +0 -28
- package/esm2015/f-draggable/connections/common/get-connector-with-rect/i-connector-with-rect.js +0 -2
- package/esm2015/f-draggable/connections/common/get-connector-with-rect/index.js +0 -4
- package/esm2015/f-draggable/connections/common/get-input-under-pointer/get-input-under-pointer.execution.js +0 -85
- package/esm2015/f-draggable/connections/common/get-input-under-pointer/get-input-under-pointer.request.js +0 -7
- package/esm2015/f-draggable/connections/common/get-input-under-pointer/get-input-under-pointer.validator.js +0 -35
- package/esm2015/f-draggable/connections/common/get-input-under-pointer/index.js +0 -4
- package/esm2015/f-draggable/connections/common/index.js +0 -6
- package/esm2015/f-draggable/connections/common/providers.js +0 -12
- package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/providers.js +0 -7
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.js +0 -5
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.js +0 -5
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.js +0 -7
- package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/providers.js +0 -13
- package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.js +0 -7
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.js +0 -7
- package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.js +0 -7
- package/f-draggable/connections/common/providers.d.ts +0 -5
- package/f-draggable/connections/create-connection/create-connection-finalize/providers.d.ts +0 -3
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.d.ts +0 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.d.ts +0 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.d.ts +0 -3
- package/f-draggable/connections/create-connection/create-connection-preparation/providers.d.ts +0 -3
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.d.ts +0 -3
- package/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.d.ts +0 -3
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.d.ts +0 -3
- /package/{f-backgroud/domain → domain/f-background}/add-pattern-to-background/add-pattern-to-background.execution.d.ts +0 -0
- /package/{f-backgroud/domain → domain/f-background}/add-pattern-to-background/index.d.ts +0 -0
- /package/{f-backgroud/domain → domain/f-background}/providers.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/center-group-or-node/center-group-or-node-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/center-group-or-node/center-group-or-node.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/center-group-or-node/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/fit-to-flow/fit-to-flow-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/fit-to-flow/fit-to-flow.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/fit-to-flow/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-position/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-position/input-canvas-position-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-position/input-canvas-position.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/input-canvas-scale-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/input-canvas-scale/input-canvas-scale.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/providers.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale/reset-scale-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale/reset-scale.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale-and-center/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale-and-center/reset-scale-and-center-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/reset-scale-and-center/reset-scale-and-center.execution.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/update-scale/index.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/update-scale/update-scale-request.d.ts +0 -0
- /package/{f-canvas/domain → domain/f-canvas}/update-scale/update-scale.execution.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/find-closest-input-using-snap-threshold/index.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/get-all-can-be-connected-input-positions/index.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/get-connector-with-rect/get-connector-with-rect.execution.d.ts +0 -0
- /package/{f-draggable/connections/common → domain/f-connection}/get-connector-with-rect/index.d.ts +0 -0
- /package/f-draggable/connections/{common/get-input-under-pointer → get-input-under-pointer}/index.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foblex/flow",
|
|
3
|
-
"version": "12.6.
|
|
3
|
+
"version": "12.6.8",
|
|
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": "bundles/foblex-flow.umd.js",
|
|
6
6
|
"types": "index.d.ts",
|
package/esm2015/f-backgroud/domain/add-pattern-to-background/add-pattern-to-background.execution.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { TransformModelExtensions } from '@foblex/2d';
|
|
3
|
-
import { AddPatternToBackgroundRequest } from './add-pattern-to-background.request';
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import { createSVGElement } from '../../../domain';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../f-storage";
|
|
9
|
-
import * as i2 from "@foblex/platform";
|
|
10
|
-
let uniqueId = 0;
|
|
11
|
-
let AddPatternToBackgroundExecution = class AddPatternToBackgroundExecution {
|
|
12
|
-
constructor(fComponentsStore, fBrowser) {
|
|
13
|
-
this.fComponentsStore = fComponentsStore;
|
|
14
|
-
this.fBrowser = fBrowser;
|
|
15
|
-
}
|
|
16
|
-
get fBackground() {
|
|
17
|
-
return this.fComponentsStore.fBackground;
|
|
18
|
-
}
|
|
19
|
-
handle(request) {
|
|
20
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
21
|
-
const children = ((_a = request.fPattern) === null || _a === void 0 ? void 0 : _a.hostElement.getElementsByTagName('pattern')) || [];
|
|
22
|
-
const pattern = children.length ? children[0] : undefined;
|
|
23
|
-
if (pattern) {
|
|
24
|
-
const defs = createSVGElement('defs', this.fBrowser);
|
|
25
|
-
pattern.id = 'f-background-pattern-' + uniqueId++;
|
|
26
|
-
(_b = request.fPattern) === null || _b === void 0 ? void 0 : _b.hostElement.remove();
|
|
27
|
-
defs.appendChild(pattern);
|
|
28
|
-
(_d = (_c = this.fBackground.hostElement) === null || _c === void 0 ? void 0 : _c.firstChild) === null || _d === void 0 ? void 0 : _d.appendChild(defs);
|
|
29
|
-
const rect = createSVGElement('rect', this.fBrowser);
|
|
30
|
-
rect.setAttribute('fill', 'url(#' + pattern.id + ')');
|
|
31
|
-
rect.setAttribute('width', '100%');
|
|
32
|
-
rect.setAttribute('height', '100%');
|
|
33
|
-
(_e = this.fBackground.hostElement.firstChild) === null || _e === void 0 ? void 0 : _e.appendChild(rect);
|
|
34
|
-
const transform = ((_f = this.fComponentsStore.fCanvas) === null || _f === void 0 ? void 0 : _f.transform) || TransformModelExtensions.default();
|
|
35
|
-
(_g = request.fPattern) === null || _g === void 0 ? void 0 : _g.setTransform(transform);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
AddPatternToBackgroundExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddPatternToBackgroundExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
-
AddPatternToBackgroundExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddPatternToBackgroundExecution });
|
|
41
|
-
AddPatternToBackgroundExecution = __decorate([
|
|
42
|
-
FExecutionRegister(AddPatternToBackgroundRequest)
|
|
43
|
-
], AddPatternToBackgroundExecution);
|
|
44
|
-
export { AddPatternToBackgroundExecution };
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddPatternToBackgroundExecution, decorators: [{
|
|
46
|
-
type: Injectable
|
|
47
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.BrowserService }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBhdHRlcm4tdG8tYmFja2dyb3VuZC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2RvbWFpbi9hZGQtcGF0dGVybi10by1iYWNrZ3JvdW5kL2FkZC1wYXR0ZXJuLXRvLWJhY2tncm91bmQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVMsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUtuRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7SUFJWiwrQkFBK0IsU0FBL0IsK0JBQStCO0lBTTFDLFlBQ1UsZ0JBQWtDLEVBQ2xDLFFBQXdCO1FBRHhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7SUFFbEMsQ0FBQztJQVJELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFZLENBQUM7SUFDNUMsQ0FBQztJQVFNLE1BQU0sQ0FBQyxPQUFzQzs7UUFDbEQsTUFBTSxRQUFRLEdBQUcsQ0FBQSxNQUFBLE9BQU8sQ0FBQyxRQUFRLDBDQUFFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSSxFQUFFLENBQUM7UUFDckYsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxFQUFFLEdBQUcsdUJBQXVCLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDbEQsTUFBQSxPQUFPLENBQUMsUUFBUSwwQ0FBRSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQixNQUFBLE1BQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLDBDQUFFLFVBQVUsMENBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVELE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDcEMsTUFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxVQUFVLDBDQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxNQUFNLFNBQVMsR0FBRyxDQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sMENBQUUsU0FBUyxLQUFJLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pHLE1BQUEsT0FBTyxDQUFDLFFBQVEsMENBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztDQUNGLENBQUE7NkhBOUJZLCtCQUErQjtpSUFBL0IsK0JBQStCO0FBQS9CLCtCQUErQjtJQUQzQyxrQkFBa0IsQ0FBQyw2QkFBNkIsQ0FBQztHQUNyQywrQkFBK0IsQ0E4QjNDO1NBOUJZLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUYzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QgfSBmcm9tICcuL2FkZC1wYXR0ZXJuLXRvLWJhY2tncm91bmQucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQmFja2dyb3VuZEJhc2UgfSBmcm9tICcuLi8uLi9mLWJhY2tncm91bmQtYmFzZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQWRkUGF0dGVyblRvQmFja2dyb3VuZEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248QWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmQmFja2dyb3VuZCgpOiBGQmFja2dyb3VuZEJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkJhY2tncm91bmQhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBBZGRQYXR0ZXJuVG9CYWNrZ3JvdW5kUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcmVxdWVzdC5mUGF0dGVybj8uaG9zdEVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3BhdHRlcm4nKSB8fCBbXTtcbiAgICBjb25zdCBwYXR0ZXJuID0gY2hpbGRyZW4ubGVuZ3RoID8gY2hpbGRyZW5bIDAgXSA6IHVuZGVmaW5lZDtcbiAgICBpZiAocGF0dGVybikge1xuICAgICAgY29uc3QgZGVmcyA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2RlZnMnLCB0aGlzLmZCcm93c2VyKTtcbiAgICAgIHBhdHRlcm4uaWQgPSAnZi1iYWNrZ3JvdW5kLXBhdHRlcm4tJyArIHVuaXF1ZUlkKys7XG4gICAgICByZXF1ZXN0LmZQYXR0ZXJuPy5ob3N0RWxlbWVudC5yZW1vdmUoKTtcbiAgICAgIGRlZnMuYXBwZW5kQ2hpbGQocGF0dGVybik7XG4gICAgICB0aGlzLmZCYWNrZ3JvdW5kLmhvc3RFbGVtZW50Py5maXJzdENoaWxkPy5hcHBlbmRDaGlsZChkZWZzKTtcbiAgICAgIGNvbnN0IHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCdyZWN0JywgdGhpcy5mQnJvd3Nlcik7XG4gICAgICByZWN0LnNldEF0dHJpYnV0ZSgnZmlsbCcsICd1cmwoIycgKyBwYXR0ZXJuLmlkICsgJyknKTtcbiAgICAgIHJlY3Quc2V0QXR0cmlidXRlKCd3aWR0aCcsICcxMDAlJyk7XG4gICAgICByZWN0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgJzEwMCUnKTtcbiAgICAgIHRoaXMuZkJhY2tncm91bmQuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8uYXBwZW5kQ2hpbGQocmVjdCk7XG4gICAgICBjb25zdCB0cmFuc2Zvcm0gPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcz8udHJhbnNmb3JtIHx8IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCk7XG4gICAgICByZXF1ZXN0LmZQYXR0ZXJuPy5zZXRUcmFuc2Zvcm0odHJhbnNmb3JtKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/f-backgroud/domain/add-pattern-to-background/add-pattern-to-background.request.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export class AddPatternToBackgroundRequest {
|
|
2
|
-
constructor(fPattern) {
|
|
3
|
-
this.fPattern = fPattern;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBhdHRlcm4tdG8tYmFja2dyb3VuZC5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9kb21haW4vYWRkLXBhdHRlcm4tdG8tYmFja2dyb3VuZC9hZGQtcGF0dGVybi10by1iYWNrZ3JvdW5kLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDZCQUE2QjtJQUN4QyxZQUNTLFFBQXlDO1FBQXpDLGFBQVEsR0FBUixRQUFRLENBQWlDO0lBRWxELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuLi9pLWYtYmFja2dyb3VuZC1wYXR0ZXJuJztcblxuZXhwb3J0IGNsYXNzIEFkZFBhdHRlcm5Ub0JhY2tncm91bmRSZXF1ZXN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZQYXR0ZXJuOiBJRkJhY2tncm91bmRQYXR0ZXJuIHwgdW5kZWZpbmVkXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './add-pattern-to-background.execution';
|
|
2
|
-
export * from './add-pattern-to-background.request';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2RvbWFpbi9hZGQtcGF0dGVybi10by1iYWNrZ3JvdW5kL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRkLXBhdHRlcm4tdG8tYmFja2dyb3VuZC5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZC1wYXR0ZXJuLXRvLWJhY2tncm91bmQucmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { AddPatternToBackgroundExecution } from './add-pattern-to-background';
|
|
2
|
-
export const F_BACKGROUND_FEATURES = [
|
|
3
|
-
AddPatternToBackgroundExecution
|
|
4
|
-
];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBRW5DLCtCQUErQjtDQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkUGF0dGVyblRvQmFja2dyb3VuZEV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLXBhdHRlcm4tdG8tYmFja2dyb3VuZCc7XG5cbmV4cG9ydCBjb25zdCBGX0JBQ0tHUk9VTkRfRkVBVFVSRVMgPSBbXG5cbiAgQWRkUGF0dGVyblRvQmFja2dyb3VuZEV4ZWN1dGlvblxuXTtcbiJdfQ==
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { CenterGroupOrNodeRequest } from './center-group-or-node-request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import { PointExtensions, RectExtensions } from '@foblex/2d';
|
|
6
|
-
import { F_CANVAS_ANIMATION_DURATION } from '../../../domain';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../f-storage";
|
|
9
|
-
let CenterGroupOrNodeExecution = class CenterGroupOrNodeExecution {
|
|
10
|
-
constructor(fComponentsStore) {
|
|
11
|
-
this.fComponentsStore = fComponentsStore;
|
|
12
|
-
}
|
|
13
|
-
get transform() {
|
|
14
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
15
|
-
}
|
|
16
|
-
handle(request) {
|
|
17
|
-
const fNode = this.getNode(request.id);
|
|
18
|
-
if (!fNode) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
this.toCenter(this.getNodeRect(fNode), this.getFlowRect(), fNode.position);
|
|
22
|
-
request.animated ? this.fComponentsStore.fCanvas.redrawWithAnimation() : this.fComponentsStore.fCanvas.redraw();
|
|
23
|
-
this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
|
|
24
|
-
setTimeout(() => this.fComponentsStore.componentDataChanged(), F_CANVAS_ANIMATION_DURATION);
|
|
25
|
-
}
|
|
26
|
-
toCenter(fNodeRect, fFlowRect, position) {
|
|
27
|
-
this.transform.scaledPosition = PointExtensions.initialize();
|
|
28
|
-
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);
|
|
29
|
-
}
|
|
30
|
-
getNode(id) {
|
|
31
|
-
return this.fComponentsStore.fNodes.find((x) => x.fId === id);
|
|
32
|
-
}
|
|
33
|
-
getNodeRect(fNode) {
|
|
34
|
-
return RectExtensions.fromElement(fNode.hostElement);
|
|
35
|
-
}
|
|
36
|
-
getFlowRect() {
|
|
37
|
-
return RectExtensions.fromElement(this.fComponentsStore.fFlow.hostElement);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
CenterGroupOrNodeExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CenterGroupOrNodeExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
-
CenterGroupOrNodeExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CenterGroupOrNodeExecution });
|
|
42
|
-
CenterGroupOrNodeExecution = __decorate([
|
|
43
|
-
FExecutionRegister(CenterGroupOrNodeRequest)
|
|
44
|
-
], CenterGroupOrNodeExecution);
|
|
45
|
-
export { CenterGroupOrNodeExecution };
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CenterGroupOrNodeExecution, decorators: [{
|
|
47
|
-
type: Injectable
|
|
48
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VudGVyLWdyb3VwLW9yLW5vZGUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9kb21haW4vY2VudGVyLWdyb3VwLW9yLW5vZGUvY2VudGVyLWdyb3VwLW9yLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBa0MsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUc3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0lBSWpELDBCQUEwQixTQUExQiwwQkFBMEI7SUFNckMsWUFDVSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBUEQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQU9NLE1BQU0sQ0FBQyxPQUFpQztRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0UsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWdCLEVBQUUsU0FBZ0IsRUFBRSxRQUFnQjtRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FDbEQsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFDM0UsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FDOUUsQ0FBQztJQUNKLENBQUM7SUFFTyxPQUFPLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBZ0I7UUFDbEMsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sV0FBVztRQUNqQixPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YsQ0FBQTt3SEEzQ1ksMEJBQTBCOzRIQUExQiwwQkFBMEI7QUFBMUIsMEJBQTBCO0lBRHRDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDO0dBQ2hDLDBCQUEwQixDQTJDdEM7U0EzQ1ksMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBRnRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QgfSBmcm9tICcuL2NlbnRlci1ncm91cC1vci1ub2RlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZfQ0FOVkFTX0FOSU1BVElPTl9EVVJBVElPTiB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENlbnRlckdyb3VwT3JOb2RlRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2RlID0gdGhpcy5nZXROb2RlKHJlcXVlc3QuaWQpO1xuICAgIGlmICghZk5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnRvQ2VudGVyKHRoaXMuZ2V0Tm9kZVJlY3QoZk5vZGUpLCB0aGlzLmdldEZsb3dSZWN0KCksIGZOb2RlLnBvc2l0aW9uKTtcblxuICAgIHJlcXVlc3QuYW5pbWF0ZWQgPyB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3V2l0aEFuaW1hdGlvbigpIDogdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5lbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpLCBGX0NBTlZBU19BTklNQVRJT05fRFVSQVRJT04pO1xuICB9XG5cbiAgcHVibGljIHRvQ2VudGVyKGZOb2RlUmVjdDogSVJlY3QsIGZGbG93UmVjdDogSVJlY3QsIHBvc2l0aW9uOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShcbiAgICAgIChmRmxvd1JlY3Qud2lkdGggLSBmTm9kZVJlY3Qud2lkdGgpIC8gMiAtIHBvc2l0aW9uLnggKiB0aGlzLnRyYW5zZm9ybS5zY2FsZSxcbiAgICAgIChmRmxvd1JlY3QuaGVpZ2h0IC0gZk5vZGVSZWN0LmhlaWdodCkgLyAyIC0gcG9zaXRpb24ueSAqIHRoaXMudHJhbnNmb3JtLnNjYWxlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZShpZDogc3RyaW5nKTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChmTm9kZS5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZsb3dSZWN0KCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { FitToFlowRequest } from './fit-to-flow-request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import { PointExtensions, RectExtensions } from '@foblex/2d';
|
|
6
|
-
import { F_CANVAS_ANIMATION_DURATION, GetNodesRectRequest } from '../../../domain';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../f-storage";
|
|
9
|
-
import * as i2 from "@foblex/mediator";
|
|
10
|
-
let FitToFlowExecution = class FitToFlowExecution {
|
|
11
|
-
constructor(fComponentsStore, fMediator) {
|
|
12
|
-
this.fComponentsStore = fComponentsStore;
|
|
13
|
-
this.fMediator = fMediator;
|
|
14
|
-
}
|
|
15
|
-
get transform() {
|
|
16
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
17
|
-
}
|
|
18
|
-
handle(request) {
|
|
19
|
-
const fNodesRect = this.fMediator.send(new GetNodesRectRequest()) || RectExtensions.initialize();
|
|
20
|
-
if (fNodesRect.width === 0 || fNodesRect.height === 0) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.fitToParent(fNodesRect, RectExtensions.fromElement(this.fComponentsStore.fFlow.hostElement), this.fComponentsStore.fNodes.map((x) => x.position), request.toCenter);
|
|
24
|
-
request.animated ? this.fComponentsStore.fCanvas.redrawWithAnimation() : this.fComponentsStore.fCanvas.redraw();
|
|
25
|
-
this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
|
|
26
|
-
setTimeout(() => this.fComponentsStore.componentDataChanged(), F_CANVAS_ANIMATION_DURATION);
|
|
27
|
-
}
|
|
28
|
-
fitToParent(rect, parentRect, points, toCenter) {
|
|
29
|
-
this.transform.scaledPosition = PointExtensions.initialize();
|
|
30
|
-
this.transform.position = this.getZeroPositionWithoutScale(points);
|
|
31
|
-
const itemsContainerWidth = (rect.width / this.transform.scale) + toCenter.x;
|
|
32
|
-
const itemsContainerHeight = (rect.height / this.transform.scale) + toCenter.y;
|
|
33
|
-
if ((itemsContainerWidth > parentRect.width || itemsContainerHeight > parentRect.height) ||
|
|
34
|
-
itemsContainerWidth < parentRect.width && itemsContainerHeight < parentRect.height) {
|
|
35
|
-
this.transform.scale = Math.min(parentRect.width / itemsContainerWidth, parentRect.height / itemsContainerHeight);
|
|
36
|
-
}
|
|
37
|
-
const newX = (parentRect.width - itemsContainerWidth * this.transform.scale) / 2 - this.transform.position.x * this.transform.scale;
|
|
38
|
-
const newY = (parentRect.height - itemsContainerHeight * this.transform.scale) / 2 - this.transform.position.y * this.transform.scale;
|
|
39
|
-
this.transform.position = PointExtensions.initialize(newX + (toCenter.x / 2) * this.transform.scale, newY + (toCenter.y / 2) * this.transform.scale);
|
|
40
|
-
}
|
|
41
|
-
getZeroPositionWithoutScale(points) {
|
|
42
|
-
const xPoint = points.length ? Math.min(...points.map((point) => point.x)) : 0;
|
|
43
|
-
const yPoint = points.length ? Math.min(...points.map((point) => point.y)) : 0;
|
|
44
|
-
return PointExtensions.initialize(xPoint, yPoint);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
FitToFlowExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FitToFlowExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
-
FitToFlowExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FitToFlowExecution });
|
|
49
|
-
FitToFlowExecution = __decorate([
|
|
50
|
-
FExecutionRegister(FitToFlowRequest)
|
|
51
|
-
], FitToFlowExecution);
|
|
52
|
-
export { FitToFlowExecution };
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FitToFlowExecution, decorators: [{
|
|
54
|
-
type: Injectable
|
|
55
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FMediator }]; } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml0LXRvLWZsb3cuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9kb21haW4vZml0LXRvLWZsb3cvZml0LXRvLWZsb3cuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQWtDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUFJdEUsa0JBQWtCLFNBQWxCLGtCQUFrQjtJQU03QixZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQVJELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFRTSxNQUFNLENBQUMsT0FBeUI7UUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWUsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9HLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FDZCxVQUFVLEVBQ1YsY0FBYyxDQUFDLFdBQVcs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LEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0NBQ0YsQ0FBQTtnSEFwRFksa0JBQWtCO29IQUFsQixrQkFBa0I7QUFBbEIsa0JBQWtCO0lBRDlCLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO0dBQ3hCLGtCQUFrQixDQW9EOUI7U0FwRFksa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBRjlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXRUb0Zsb3dSZXF1ZXN0IH0gZnJvbSAnLi9maXQtdG8tZmxvdy1yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OLCBHZXROb2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihGaXRUb0Zsb3dSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZpdFRvRmxvd0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rml0VG9GbG93UmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZpdFRvRmxvd1JlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBmTm9kZXNSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdCB8IG51bGw+KG5ldyBHZXROb2Rlc1JlY3RSZXF1ZXN0KCkpIHx8IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICBpZiAoZk5vZGVzUmVjdC53aWR0aCA9PT0gMCB8fCBmTm9kZXNSZWN0LmhlaWdodCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZml0VG9QYXJlbnQoXG4gICAgICBmTm9kZXNSZWN0LFxuICAgICAgUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudCksXG4gICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzLm1hcCgoeCkgPT4geC5wb3NpdGlvbiksXG4gICAgICByZXF1ZXN0LnRvQ2VudGVyXG4gICAgKTtcbiAgICByZXF1ZXN0LmFuaW1hdGVkID8gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnJlZHJhd1dpdGhBbmltYXRpb24oKSA6IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5yZWRyYXcoKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEuZW1pdENhbnZhc0NoYW5nZUV2ZW50KCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKSwgRl9DQU5WQVNfQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxuXG4gIHB1YmxpYyBmaXRUb1BhcmVudChyZWN0OiBJUmVjdCwgcGFyZW50UmVjdDogSVJlY3QsIHBvaW50czogSVBvaW50W10sIHRvQ2VudGVyOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24gPSB0aGlzLmdldFplcm9Qb3NpdGlvbldpdGhvdXRTY2FsZShwb2ludHMpO1xuICAgIGNvbnN0IGl0ZW1zQ29udGFpbmVyV2lkdGggPSAocmVjdC53aWR0aCAvIHRoaXMudHJhbnNmb3JtLnNjYWxlKSArIHRvQ2VudGVyLng7XG4gICAgY29uc3QgaXRlbXNDb250YWluZXJIZWlnaHQgPSAocmVjdC5oZWlnaHQgLyB0aGlzLnRyYW5zZm9ybS5zY2FsZSkgKyB0b0NlbnRlci55O1xuICAgIGlmIChcbiAgICAgIChpdGVtc0NvbnRhaW5lcldpZHRoID4gcGFyZW50UmVjdC53aWR0aCB8fCBpdGVtc0NvbnRhaW5lckhlaWdodCA+IHBhcmVudFJlY3QuaGVpZ2h0KSB8fFxuICAgICAgaXRlbXNDb250YWluZXJXaWR0aCA8IHBhcmVudFJlY3Qud2lkdGggJiYgaXRlbXNDb250YWluZXJIZWlnaHQgPCBwYXJlbnRSZWN0LmhlaWdodFxuICAgICkge1xuICAgICAgdGhpcy50cmFuc2Zvcm0uc2NhbGUgPSBNYXRoLm1pbihwYXJlbnRSZWN0LndpZHRoIC8gaXRlbXNDb250YWluZXJXaWR0aCwgcGFyZW50UmVjdC5oZWlnaHQgLyBpdGVtc0NvbnRhaW5lckhlaWdodCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3WCA9IChwYXJlbnRSZWN0LndpZHRoIC0gaXRlbXNDb250YWluZXJXaWR0aCAqIHRoaXMudHJhbnNmb3JtLnNjYWxlKSAvIDIgLSB0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbi54ICogdGhpcy50cmFuc2Zvcm0uc2NhbGU7XG4gICAgY29uc3QgbmV3WSA9IChwYXJlbnRSZWN0LmhlaWdodCAtIGl0ZW1zQ29udGFpbmVySGVpZ2h0ICogdGhpcy50cmFuc2Zvcm0uc2NhbGUpIC8gMiAtIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uLnkgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZTtcblxuICAgIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUobmV3WCArICh0b0NlbnRlci54IC8gMikgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZSwgbmV3WSArICh0b0NlbnRlci55IC8gMikgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZSlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0WmVyb1Bvc2l0aW9uV2l0aG91dFNjYWxlKHBvaW50czogSVBvaW50W10pOiBJUG9pbnQge1xuICAgIGNvbnN0IHhQb2ludCA9IHBvaW50cy5sZW5ndGggPyBNYXRoLm1pbiguLi5wb2ludHMubWFwKChwb2ludCkgPT4gcG9pbnQueCkpIDogMDtcbiAgICBjb25zdCB5UG9pbnQgPSBwb2ludHMubGVuZ3RoID8gTWF0aC5taW4oLi4ucG9pbnRzLm1hcCgocG9pbnQpID0+IHBvaW50LnkpKSA6IDA7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKHhQb2ludCwgeVBvaW50KVxuICB9XG59XG4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ResetScaleAndCenterRequest } from './reset-scale-and-center-request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import { PointExtensions, RectExtensions } from '@foblex/2d';
|
|
6
|
-
import { F_CANVAS_ANIMATION_DURATION, GetNodesRectRequest } from '../../../domain';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../f-storage";
|
|
9
|
-
import * as i2 from "@foblex/mediator";
|
|
10
|
-
let ResetScaleAndCenterExecution = class ResetScaleAndCenterExecution {
|
|
11
|
-
constructor(fComponentsStore, fMediator) {
|
|
12
|
-
this.fComponentsStore = fComponentsStore;
|
|
13
|
-
this.fMediator = fMediator;
|
|
14
|
-
}
|
|
15
|
-
get transform() {
|
|
16
|
-
return this.fComponentsStore.fCanvas.transform;
|
|
17
|
-
}
|
|
18
|
-
handle(request) {
|
|
19
|
-
const fNodesRect = this.fMediator.send(new GetNodesRectRequest()) || RectExtensions.initialize();
|
|
20
|
-
if (fNodesRect.width === 0 || fNodesRect.height === 0) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.oneToOneCentering(fNodesRect, RectExtensions.fromElement(this.fComponentsStore.fFlow.hostElement), this.fComponentsStore.fNodes.map((x) => x.position));
|
|
24
|
-
request.animated ? this.fComponentsStore.fCanvas.redrawWithAnimation() : this.fComponentsStore.fCanvas.redraw();
|
|
25
|
-
this.fComponentsStore.fCanvas.emitCanvasChangeEvent();
|
|
26
|
-
setTimeout(() => this.fComponentsStore.componentDataChanged(), F_CANVAS_ANIMATION_DURATION);
|
|
27
|
-
}
|
|
28
|
-
oneToOneCentering(rect, parentRect, points) {
|
|
29
|
-
this.transform.scaledPosition = PointExtensions.initialize();
|
|
30
|
-
this.transform.position = this.getZeroPositionWithoutScale(points);
|
|
31
|
-
const newX = (parentRect.width - rect.width / this.transform.scale) / 2 - this.transform.position.x;
|
|
32
|
-
const newY = (parentRect.height - rect.height / this.transform.scale) / 2 - this.transform.position.y;
|
|
33
|
-
this.transform.scale = 1;
|
|
34
|
-
this.transform.position = PointExtensions.initialize(newX, newY);
|
|
35
|
-
}
|
|
36
|
-
getZeroPositionWithoutScale(points) {
|
|
37
|
-
const xPoint = points.length ? Math.min(...points.map((point) => point.x)) : 0;
|
|
38
|
-
const yPoint = points.length ? Math.min(...points.map((point) => point.y)) : 0;
|
|
39
|
-
return PointExtensions.initialize(xPoint, yPoint);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
ResetScaleAndCenterExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResetScaleAndCenterExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
-
ResetScaleAndCenterExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResetScaleAndCenterExecution });
|
|
44
|
-
ResetScaleAndCenterExecution = __decorate([
|
|
45
|
-
FExecutionRegister(ResetScaleAndCenterRequest)
|
|
46
|
-
], ResetScaleAndCenterExecution);
|
|
47
|
-
export { ResetScaleAndCenterExecution };
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ResetScaleAndCenterExecution, decorators: [{
|
|
49
|
-
type: Injectable
|
|
50
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FMediator }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtc2NhbGUtYW5kLWNlbnRlci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2RvbWFpbi9yZXNldC1zY2FsZS1hbmQtY2VudGVyL3Jlc2V0LXNjYWxlLWFuZC1jZW50ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQWtDLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7SUFNdEUsNEJBQTRCLFNBQTVCLDRCQUE0QjtJQU12QyxZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQVJELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFRTSxNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWUsSUFBSSxtQkFBbUIsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9HLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUNwQixVQUFVLEVBQ1YsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBTSxDQUFDLFdBQVcsQ0FBQyxFQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUNwRCxDQUFDO1FBRUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBVyxFQUFFLFVBQWlCLEVBQUUsTUFBZ0I7UUFDdkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRSxNQUFNLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEcsTUFBTSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXRHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sMkJBQTJCLENBQUMsTUFBZ0I7UUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0NBQ0YsQ0FBQTswSEE1Q1ksNEJBQTRCOzhIQUE1Qiw0QkFBNEI7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0dBQ2xDLDRCQUE0QixDQTRDeEM7U0E1Q1ksNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vcmVzZXQtc2NhbGUtYW5kLWNlbnRlci1yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfQ0FOVkFTX0FOSU1BVElPTl9EVVJBVElPTiwgR2V0Tm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFJlc2V0U2NhbGVBbmRDZW50ZXJFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBmTm9kZXNSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdCB8IG51bGw+KG5ldyBHZXROb2Rlc1JlY3RSZXF1ZXN0KCkpIHx8IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICBpZiAoZk5vZGVzUmVjdC53aWR0aCA9PT0gMCB8fCBmTm9kZXNSZWN0LmhlaWdodCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uZVRvT25lQ2VudGVyaW5nKFxuICAgICAgZk5vZGVzUmVjdCxcbiAgICAgIFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQpLFxuICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5tYXAoKHgpID0+IHgucG9zaXRpb24pXG4gICAgKTtcblxuICAgIHJlcXVlc3QuYW5pbWF0ZWQgPyB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEucmVkcmF3V2l0aEFuaW1hdGlvbigpIDogdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5lbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpLCBGX0NBTlZBU19BTklNQVRJT05fRFVSQVRJT04pO1xuICB9XG5cbiAgcHVibGljIG9uZVRvT25lQ2VudGVyaW5nKHJlY3Q6IElSZWN0LCBwYXJlbnRSZWN0OiBJUmVjdCwgcG9pbnRzOiBJUG9pbnRbXSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbiA9IHRoaXMuZ2V0WmVyb1Bvc2l0aW9uV2l0aG91dFNjYWxlKHBvaW50cyk7XG5cbiAgICBjb25zdCBuZXdYID0gKHBhcmVudFJlY3Qud2lkdGggLSByZWN0LndpZHRoIC8gdGhpcy50cmFuc2Zvcm0uc2NhbGUpIC8gMiAtIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uLng7XG4gICAgY29uc3QgbmV3WSA9IChwYXJlbnRSZWN0LmhlaWdodCAtIHJlY3QuaGVpZ2h0IC8gdGhpcy50cmFuc2Zvcm0uc2NhbGUpIC8gMiAtIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uLnk7XG5cbiAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZSA9IDE7XG4gICAgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShuZXdYLCBuZXdZKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0WmVyb1Bvc2l0aW9uV2l0aG91dFNjYWxlKHBvaW50czogSVBvaW50W10pOiBJUG9pbnQge1xuICAgIGNvbnN0IHhQb2ludCA9IHBvaW50cy5sZW5ndGggPyBNYXRoLm1pbiguLi5wb2ludHMubWFwKChwb2ludCkgPT4gcG9pbnQueCkpIDogMDtcbiAgICBjb25zdCB5UG9pbnQgPSBwb2ludHMubGVuZ3RoID8gTWF0aC5taW4oLi4ucG9pbnRzLm1hcCgocG9pbnQpID0+IHBvaW50LnkpKSA6IDA7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKHhQb2ludCwgeVBvaW50KVxuICB9XG59XG4iXX0=
|
|
@@ -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
|
-
};
|
|
30
|
-
FindClosestInputUsingSnapThresholdExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
31
|
-
FindClosestInputUsingSnapThresholdExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution });
|
|
32
|
-
FindClosestInputUsingSnapThresholdExecution = __decorate([
|
|
33
|
-
FExecutionRegister(FindClosestInputUsingSnapThresholdRequest)
|
|
34
|
-
], FindClosestInputUsingSnapThresholdExecution);
|
|
35
|
-
export { FindClosestInputUsingSnapThresholdExecution };
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY29tbW9uL2ZpbmQtY2xvc2VzdC1pbnB1dC11c2luZy1zbmFwLXRocmVzaG9sZC9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOztJQU1yRCwyQ0FBMkMsU0FBM0MsMkNBQTJDO0lBSS9DLE1BQU0sQ0FBQyxPQUFrRDtRQUM5RCxJQUFJLE1BQXNDLENBQUM7UUFDM0MsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDO1FBRTNCLEtBQUssTUFBTSxPQUFPLElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXJFLElBQUksUUFBUSxHQUFHLFdBQVcsRUFBRTtnQkFDMUIsV0FBVyxHQUFHLFFBQVEsQ0FBQztnQkFDdkIsTUFBTSxHQUFHLE9BQU8sQ0FBQzthQUNsQjtTQUNGO1FBRUQsT0FBTyxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbEUsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWEsRUFBRSxhQUFpQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoSCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM5QixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDbkQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRixDQUFBO3lJQWpDWSwyQ0FBMkM7NklBQTNDLDJDQUEyQztBQUEzQywyQ0FBMkM7SUFEdkQsa0JBQWtCLENBQUMseUNBQXlDLENBQUM7R0FDakQsMkNBQTJDLENBaUN2RDtTQWpDWSwyQ0FBMkM7NEZBQTNDLDJDQUEyQztrQkFGdkQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRSZXF1ZXN0IH0gZnJvbSAnLi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUNvbm5lY3RvcldpdGhSZWN0IH0gZnJvbSAnLi4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRSZXF1ZXN0LCBJQ29ubmVjdG9yV2l0aFJlY3QgfCB1bmRlZmluZWQ+IHtcblxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3QpOiBJQ29ubmVjdG9yV2l0aFJlY3QgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQ6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbWluRGlzdGFuY2UgPSBJbmZpbml0eTtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBwYXlsb2FkLmNhbkJlQ29ubmVjdGVkSW5wdXRzKSB7XG4gICAgICBjb25zdCBkaXN0YW5jZSA9IHRoaXMuZGlzdGFuY2VUb1JlY3RhbmdsZShwYXlsb2FkLnBvc2l0aW9uLCBlbGVtZW50KTtcblxuICAgICAgaWYgKGRpc3RhbmNlIDwgbWluRGlzdGFuY2UpIHtcbiAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZTtcbiAgICAgICAgcmVzdWx0ID0gZWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWluRGlzdGFuY2UgPCBwYXlsb2FkLnNuYXBUaHJlc2hvbGQgPyByZXN1bHQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGRpc3RhbmNlVG9SZWN0YW5nbGUocG9pbnQ6IElQb2ludCwgaW5wdXRXaXRoUmVjdDogSUNvbm5lY3RvcldpdGhSZWN0KTogbnVtYmVyIHtcbiAgICBjb25zdCBjbG9zZXN0WCA9IHRoaXMuY2xhbXAocG9pbnQueCwgaW5wdXRXaXRoUmVjdC5mUmVjdC54LCBpbnB1dFdpdGhSZWN0LmZSZWN0LnggKyBpbnB1dFdpdGhSZWN0LmZSZWN0LndpZHRoKTtcbiAgICBjb25zdCBjbG9zZXN0WSA9IHRoaXMuY2xhbXAocG9pbnQueSwgaW5wdXRXaXRoUmVjdC5mUmVjdC55LCBpbnB1dFdpdGhSZWN0LmZSZWN0LnkgKyBpbnB1dFdpdGhSZWN0LmZSZWN0LmhlaWdodCk7XG5cbiAgICBjb25zdCBkeCA9IHBvaW50LnggLSBjbG9zZXN0WDtcbiAgICBjb25zdCBkeSA9IHBvaW50LnkgLSBjbG9zZXN0WTtcblxuICAgIHJldHVybiBNYXRoLnNxcnQoZHggKiBkeCArIGR5ICogZHkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdmFsdWUpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export class FindClosestInputUsingSnapThresholdRequest {
|
|
2
|
-
constructor(position, canBeConnectedInputs, snapThreshold) {
|
|
3
|
-
this.position = position;
|
|
4
|
-
this.canBeConnectedInputs = canBeConnectedInputs;
|
|
5
|
-
this.snapThreshold = snapThreshold;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NvbW1vbi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQvZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHlDQUF5QztJQUVwRCxZQUNTLFFBQWdCLEVBQ2hCLG9CQUEwQyxFQUMxQyxhQUFxQjtRQUZyQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQVE7SUFFOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ29ubmVjdG9yV2l0aFJlY3QgfSBmcm9tICcuLi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdCc7XG5cbmV4cG9ydCBjbGFzcyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBvc2l0aW9uOiBJUG9pbnQsXG4gICAgcHVibGljIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiBJQ29ubmVjdG9yV2l0aFJlY3RbXSxcbiAgICBwdWJsaWMgc25hcFRocmVzaG9sZDogbnVtYmVyXG4gICkge1xuICB9XG59XG4iXX0=
|
package/esm2015/f-draggable/connections/common/find-closest-input-using-snap-threshold/index.js
DELETED
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NvbW1vbi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHFEQUFxRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQucmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkLmV4ZWN1dGlvbic7XG4iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { GetAllCanBeConnectedInputPositionsRequest } from './get-all-can-be-connected-input-positions.request';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
|
-
import { GetConnectorWithRectRequest } from '../get-connector-with-rect';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../../f-storage";
|
|
8
|
-
import * as i2 from "@foblex/mediator";
|
|
9
|
-
let GetAllCanBeConnectedInputPositionsExecution = class GetAllCanBeConnectedInputPositionsExecution {
|
|
10
|
-
constructor(fComponentsStore, fMediator) {
|
|
11
|
-
this.fComponentsStore = fComponentsStore;
|
|
12
|
-
this.fMediator = fMediator;
|
|
13
|
-
}
|
|
14
|
-
get fNodes() {
|
|
15
|
-
return this.fComponentsStore.fNodes;
|
|
16
|
-
}
|
|
17
|
-
get fInputs() {
|
|
18
|
-
return this.fComponentsStore.fInputs;
|
|
19
|
-
}
|
|
20
|
-
handle(payload) {
|
|
21
|
-
return this.getCanBeConnectedInputs(this.getOutput(payload.fOutputId)).map((x) => {
|
|
22
|
-
return this.fMediator.send(new GetConnectorWithRectRequest(x));
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
getOutput(fId) {
|
|
26
|
-
return this.findOutputById(fId) || this.findOutletById(fId);
|
|
27
|
-
}
|
|
28
|
-
findOutputById(fId) {
|
|
29
|
-
return this.fComponentsStore.fOutputs.find((x) => x.id === fId);
|
|
30
|
-
}
|
|
31
|
-
findOutletById(fId) {
|
|
32
|
-
return this.fComponentsStore.fOutlets.find((x) => x.id === fId);
|
|
33
|
-
}
|
|
34
|
-
getCanBeConnectedInputs(output) {
|
|
35
|
-
return output.isSelfConnectable ?
|
|
36
|
-
this.fInputs.filter((x) => x.canBeConnected) :
|
|
37
|
-
this.filterSelfConnectable(this.fInputs.filter((x) => x.canBeConnected), output);
|
|
38
|
-
}
|
|
39
|
-
filterSelfConnectable(inputs, output) {
|
|
40
|
-
return inputs.filter((x) => { var _a, _b; return ((_a = this.getNodeOfConnector(output)) === null || _a === void 0 ? void 0 : _a.hostElement) !== ((_b = this.getNodeOfConnector(x)) === null || _b === void 0 ? void 0 : _b.hostElement); });
|
|
41
|
-
}
|
|
42
|
-
getNodeOfConnector(connector) {
|
|
43
|
-
return this.fNodes.find((x) => x.isContains(connector.hostElement));
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
GetAllCanBeConnectedInputPositionsExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetAllCanBeConnectedInputPositionsExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
-
GetAllCanBeConnectedInputPositionsExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetAllCanBeConnectedInputPositionsExecution });
|
|
48
|
-
GetAllCanBeConnectedInputPositionsExecution = __decorate([
|
|
49
|
-
FExecutionRegister(GetAllCanBeConnectedInputPositionsRequest)
|
|
50
|
-
], GetAllCanBeConnectedInputPositionsExecution);
|
|
51
|
-
export { GetAllCanBeConnectedInputPositionsExecution };
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetAllCanBeConnectedInputPositionsExecution, decorators: [{
|
|
53
|
-
type: Injectable
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FMediator }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NvbW1vbi9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zL2dldC1hbGwtY2FuLWJlLWNvbm5lY3RlZC1pbnB1dC1wb3NpdGlvbnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7SUFPaEYsMkNBQTJDLFNBQTNDLDJDQUEyQztJQVd0RCxZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQVpELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQVFNLE1BQU0sQ0FBQyxPQUFrRDtRQUM5RCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxNQUFzQjtRQUNwRCxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBd0IsRUFBRSxNQUFzQjtRQUM1RSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxlQUFDLE9BQUEsQ0FBQSxNQUFBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsMENBQUUsV0FBVyxPQUFLLE1BQUEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQywwQ0FBRSxXQUFXLENBQUEsQ0FBQSxFQUFBLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsU0FBeUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0YsQ0FBQTt5SUFoRFksMkNBQTJDOzZJQUEzQywyQ0FBMkM7QUFBM0MsMkNBQTJDO0lBRHZELGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELDJDQUEyQyxDQWdEdkQ7U0FoRFksMkNBQTJDOzRGQUEzQywyQ0FBMkM7a0JBRnZELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucy5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsIElDb25uZWN0b3JXaXRoUmVjdCB9IGZyb20gJy4uL2dldC1jb25uZWN0b3Itd2l0aC1yZWN0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdCwgSUNvbm5lY3RvcldpdGhSZWN0W10+IHtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZklucHV0cygpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc1JlcXVlc3QpOiBJQ29ubmVjdG9yV2l0aFJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2FuQmVDb25uZWN0ZWRJbnB1dHModGhpcy5nZXRPdXRwdXQocGF5bG9hZC5mT3V0cHV0SWQpISkubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KHgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0KGZJZDogc3RyaW5nKTogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZpbmRPdXRwdXRCeUlkKGZJZCkgfHwgdGhpcy5maW5kT3V0bGV0QnlJZChmSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kT3V0cHV0QnlJZChmSWQ6IHN0cmluZyk6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGZJZCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRPdXRsZXRCeUlkKGZJZDogc3RyaW5nKTogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dGxldHMuZmluZCgoeCkgPT4geC5pZCA9PT0gZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FuQmVDb25uZWN0ZWRJbnB1dHMob3V0cHV0OiBGQ29ubmVjdG9yQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiBvdXRwdXQuaXNTZWxmQ29ubmVjdGFibGUgP1xuICAgICAgdGhpcy5mSW5wdXRzLmZpbHRlcigoeCkgPT4geC5jYW5CZUNvbm5lY3RlZCkgOlxuICAgICAgdGhpcy5maWx0ZXJTZWxmQ29ubmVjdGFibGUodGhpcy5mSW5wdXRzLmZpbHRlcigoeCkgPT4geC5jYW5CZUNvbm5lY3RlZCksIG91dHB1dCk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclNlbGZDb25uZWN0YWJsZShpbnB1dHM6IEZDb25uZWN0b3JCYXNlW10sIG91dHB1dDogRkNvbm5lY3RvckJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gaW5wdXRzLmZpbHRlcigoeCkgPT4gdGhpcy5nZXROb2RlT2ZDb25uZWN0b3Iob3V0cHV0KT8uaG9zdEVsZW1lbnQgIT09IHRoaXMuZ2V0Tm9kZU9mQ29ubmVjdG9yKHgpPy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVPZkNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mTm9kZXMuZmluZCgoeCkgPT4geC5pc0NvbnRhaW5zKGNvbm5lY3Rvci5ob3N0RWxlbWVudCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export class GetAllCanBeConnectedInputPositionsRequest {
|
|
2
|
-
constructor(fOutputId) {
|
|
3
|
-
this.fOutputId = fOutputId;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jb21tb24vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucy9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHlDQUF5QztJQUVwRCxZQUNTLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk91dHB1dElkOiBzdHJpbmcsXG4gICkge1xuICB9XG59XG4iXX0=
|
package/esm2015/f-draggable/connections/common/get-all-can-be-connected-input-positions/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './get-all-can-be-connected-input-positions.request';
|
|
2
|
-
export * from './get-all-can-be-connected-input-positions.execution';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NvbW1vbi9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxzREFBc0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucy5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zLmV4ZWN1dGlvbic7XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export class GetConnectorWithRectRequest {
|
|
2
|
-
constructor(connector) {
|
|
3
|
-
this.connector = connector;
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY29tbW9uL2dldC1jb25uZWN0b3Itd2l0aC1yZWN0L2dldC1jb25uZWN0b3Itd2l0aC1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLDJCQUEyQjtJQUVwQyxZQUNXLFNBQXlCO1FBQXpCLGNBQVMsR0FBVCxTQUFTLENBQWdCO0lBRXBDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGNsYXNzIEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2VcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
4
|
-
import { GetConnectorWithRectRequest } from './get-connector-with-rect-request';
|
|
5
|
-
import { GetElementRectInFlowRequest } from '../../../../domain';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@foblex/mediator";
|
|
8
|
-
let GetConnectorWithRectExecution = class GetConnectorWithRectExecution {
|
|
9
|
-
constructor(fMediator) {
|
|
10
|
-
this.fMediator = fMediator;
|
|
11
|
-
}
|
|
12
|
-
handle(request) {
|
|
13
|
-
return {
|
|
14
|
-
fConnector: request.connector,
|
|
15
|
-
fRect: this.fMediator.send(new GetElementRectInFlowRequest(request.connector.hostElement))
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
GetConnectorWithRectExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetConnectorWithRectExecution, deps: [{ token: i1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
-
GetConnectorWithRectExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetConnectorWithRectExecution });
|
|
21
|
-
GetConnectorWithRectExecution = __decorate([
|
|
22
|
-
FExecutionRegister(GetConnectorWithRectRequest)
|
|
23
|
-
], GetConnectorWithRectExecution);
|
|
24
|
-
export { GetConnectorWithRectExecution };
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetConnectorWithRectExecution, decorators: [{
|
|
26
|
-
type: Injectable
|
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.FMediator }]; } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jb21tb24vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QvZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0lBSXBELDZCQUE2QixTQUE3Qiw2QkFBNkI7SUFFeEMsWUFDWSxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBRWhDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBb0M7UUFDaEQsT0FBTztZQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWUsSUFBSSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3pHLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQTsySEFiWSw2QkFBNkI7K0hBQTdCLDZCQUE2QjtBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBYXpDO1NBYlksNkJBQTZCOzRGQUE3Qiw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdC1yZXF1ZXN0JztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUNvbm5lY3RvcldpdGhSZWN0IH0gZnJvbSAnLi9pLWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Q29ubmVjdG9yV2l0aFJlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCwgSUNvbm5lY3RvcldpdGhSZWN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Q29ubmVjdG9yV2l0aFJlY3RSZXF1ZXN0KTogSUNvbm5lY3RvcldpdGhSZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgZkNvbm5lY3RvcjogcmVxdWVzdC5jb25uZWN0b3IsXG4gICAgICBmUmVjdDogdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUm91bmRlZFJlY3Q+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QocmVxdWVzdC5jb25uZWN0b3IuaG9zdEVsZW1lbnQpKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/esm2015/f-draggable/connections/common/get-connector-with-rect/i-connector-with-rect.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jb25uZWN0b3Itd2l0aC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jb21tb24vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QvaS1jb25uZWN0b3Itd2l0aC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29ubmVjdG9yV2l0aFJlY3Qge1xuXG4gIGZDb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlO1xuXG4gIGZSZWN0OiBJUm91bmRlZFJlY3Q7XG59XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './get-connector-with-rect.execution';
|
|
2
|
-
export * from './get-connector-with-rect-request';
|
|
3
|
-
export * from './i-connector-with-rect';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NvbW1vbi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdC1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuIl19
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Point } from '@foblex/2d';
|
|
3
|
-
import { GetInputUnderPointerRequest } from './get-input-under-pointer.request';
|
|
4
|
-
import { Injectable } from '@angular/core';
|
|
5
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../../f-storage";
|
|
8
|
-
import * as i2 from "../../../f-draggable-data-context";
|
|
9
|
-
import * as i3 from "@foblex/platform";
|
|
10
|
-
let GetInputUnderPointerExecution = class GetInputUnderPointerExecution {
|
|
11
|
-
constructor(fComponentsStore, fDraggableDataContext, fBrowser) {
|
|
12
|
-
this.fComponentsStore = fComponentsStore;
|
|
13
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
14
|
-
this.fBrowser = fBrowser;
|
|
15
|
-
}
|
|
16
|
-
get fNodes() {
|
|
17
|
-
return this.fComponentsStore.fNodes;
|
|
18
|
-
}
|
|
19
|
-
get fInputs() {
|
|
20
|
-
return this.fComponentsStore.fInputs;
|
|
21
|
-
}
|
|
22
|
-
handle(payload) {
|
|
23
|
-
const output = (this.getOutput(payload.dragHandler) || this.getOutlet(payload.dragHandler));
|
|
24
|
-
const inputsUnderPointer = this.getInputsUnderPointer(payload.event.getPosition(), payload.dragHandler);
|
|
25
|
-
const connectors = output.isSelfConnectable ?
|
|
26
|
-
inputsUnderPointer :
|
|
27
|
-
this.filterSelfConnectable(inputsUnderPointer, output);
|
|
28
|
-
return connectors.length > 0 ? connectors[0] : undefined;
|
|
29
|
-
}
|
|
30
|
-
getOutput(dragHandler) {
|
|
31
|
-
return this.fComponentsStore.fOutputs.find((x) => x.id === dragHandler.fConnection.fOutputId);
|
|
32
|
-
}
|
|
33
|
-
getOutlet(dragHandler) {
|
|
34
|
-
return this.fComponentsStore.fOutlets.find((x) => x.id === dragHandler.fConnection.fOutputId);
|
|
35
|
-
}
|
|
36
|
-
getInputsUnderPointer(position, dragHandler) {
|
|
37
|
-
const result = this.getInputsInPosition(position);
|
|
38
|
-
const closestInput = dragHandler.getClosetInput(this.getDifference(position));
|
|
39
|
-
if (closestInput) {
|
|
40
|
-
result.push(closestInput.fConnector);
|
|
41
|
-
}
|
|
42
|
-
const input = this.getFirstConnectableInputOfNodeInPosition(position);
|
|
43
|
-
if (input) {
|
|
44
|
-
result.push(input);
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
getDifference(position) {
|
|
49
|
-
return Point.fromPoint(position).elementTransform(this.fComponentsStore.flowHost)
|
|
50
|
-
.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
|
|
51
|
-
}
|
|
52
|
-
getInputsInPosition(position) {
|
|
53
|
-
return this.getElementsFromPoint(position).map((element) => this.fInputs.find(x => x.isContains(element) && x.canBeConnected)).filter((x) => !!x);
|
|
54
|
-
}
|
|
55
|
-
getElementsFromPoint(position) {
|
|
56
|
-
return this.fBrowser.document.elementsFromPoint(position.x, position.y);
|
|
57
|
-
}
|
|
58
|
-
getFirstConnectableInputOfNodeInPosition(position) {
|
|
59
|
-
return this.getNodesInPosition(position).map((x) => {
|
|
60
|
-
return this.fInputs.find((i) => x.isContains(i.hostElement) && i.canBeConnected);
|
|
61
|
-
}).find((x) => !!x);
|
|
62
|
-
}
|
|
63
|
-
getNodesInPosition(position) {
|
|
64
|
-
return this.getElementsFromPoint(position).map((element) => {
|
|
65
|
-
return this.fNodes.find((x) => x.isContains(element) && x.fConnectOnNode);
|
|
66
|
-
}).filter((x) => !!x);
|
|
67
|
-
}
|
|
68
|
-
filterSelfConnectable(inputs, connector) {
|
|
69
|
-
return inputs.filter((x) => {
|
|
70
|
-
const targetNode = this.fNodes.find((k) => k.isContains(x.hostElement));
|
|
71
|
-
const sourceNode = this.fNodes.find((k) => k.isContains(connector.hostElement));
|
|
72
|
-
return (sourceNode === null || sourceNode === void 0 ? void 0 : sourceNode.hostElement) !== (targetNode === null || targetNode === void 0 ? void 0 : targetNode.hostElement);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
GetInputUnderPointerExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetInputUnderPointerExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
-
GetInputUnderPointerExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetInputUnderPointerExecution });
|
|
78
|
-
GetInputUnderPointerExecution = __decorate([
|
|
79
|
-
FExecutionRegister(GetInputUnderPointerRequest)
|
|
80
|
-
], GetInputUnderPointerExecution);
|
|
81
|
-
export { GetInputUnderPointerExecution };
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GetInputUnderPointerExecution, decorators: [{
|
|
83
|
-
type: Injectable
|
|
84
|
-
}], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.BrowserService }]; } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWlucHV0LXVuZGVyLXBvaW50ZXIuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jb21tb24vZ2V0LWlucHV0LXVuZGVyLXBvaW50ZXIvZ2V0LWlucHV0LXVuZGVyLXBvaW50ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0lBVXJELDZCQUE2QixTQUE3Qiw2QkFBNkI7SUFXeEMsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFFBQXdCO1FBRnhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUVsQyxDQUFDO0lBYkQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBU00sTUFBTSxDQUFDLE9BQW9DO1FBQ2hELE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUUsQ0FBQztRQUM3RixNQUFNLGtCQUFrQixHQUFHLElBQUks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QSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsV0FBVyxPQUFLLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxXQUFXLENBQUEsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRixDQUFBOzJIQW5GWSw2QkFBNkI7K0hBQTdCLDZCQUE2QjtBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBbUZ6QztTQW5GWSw2QkFBNkI7NEZBQTdCLDZCQUE2QjtrQkFGekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEdldElucHV0VW5kZXJQb2ludGVyUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWlucHV0LXVuZGVyLXBvaW50ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9jcmVhdGUtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL3JlYXNzaWduLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRJbnB1dFVuZGVyUG9pbnRlclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0SW5wdXRVbmRlclBvaW50ZXJFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldElucHV0VW5kZXJQb2ludGVyUmVxdWVzdCwgRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQ+IHtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZklucHV0cygpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocGF5bG9hZDogR2V0SW5wdXRVbmRlclBvaW50ZXJSZXF1ZXN0KTogRkNvbm5lY3RvckJhc2UgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG91dHB1dCA9ICh0aGlzLmdldE91dHB1dChwYXlsb2FkLmRyYWdIYW5kbGVyKSB8fCB0aGlzLmdldE91dGxldChwYXlsb2FkLmRyYWdIYW5kbGVyKSkhO1xuICAgIGNvbnN0IGlucHV0c1VuZGVyUG9pbnRlciA9IHRoaXMuZ2V0SW5wdXRzVW5kZXJQb2ludGVyKHBheWxvYWQuZXZlbnQuZ2V0UG9zaXRpb24oKSwgcGF5bG9hZC5kcmFnSGFuZGxlcik7XG5cbiAgICBjb25zdCBjb25uZWN0b3JzID0gb3V0cHV0LmlzU2VsZkNvbm5lY3RhYmxlID9cbiAgICAgIGlucHV0c1VuZGVyUG9pbnRlciA6XG4gICAgICB0aGlzLmZpbHRlclNlbGZDb25uZWN0YWJsZShpbnB1dHNVbmRlclBvaW50ZXIsIG91dHB1dClcbiAgICByZXR1cm4gY29ubmVjdG9ycy5sZW5ndGggPiAwID8gY29ubmVjdG9yc1swXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0KGRyYWdIYW5kbGVyOiBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCBSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlcik6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGRyYWdIYW5kbGVyLmZDb25uZWN0aW9uLmZPdXRwdXRJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dGxldChkcmFnSGFuZGxlcjogQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHwgUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0bGV0cy5maW5kKCh4KSA9PiB4LmlkID09PSBkcmFnSGFuZGxlci5mQ29ubmVjdGlvbi5mT3V0cHV0SWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNVbmRlclBvaW50ZXIocG9zaXRpb246IElQb2ludCwgZHJhZ0hhbmRsZXI6IENyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB8IFJlYXNzaWduQ29ubmVjdGlvbkRyYWdIYW5kbGVyKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5nZXRJbnB1dHNJblBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICBjb25zdCBjbG9zZXN0SW5wdXQgPSBkcmFnSGFuZGxlci5nZXRDbG9zZXRJbnB1dCh0aGlzLmdldERpZmZlcmVuY2UocG9zaXRpb24pKTtcbiAgICBpZiAoY2xvc2VzdElucHV0KSB7XG4gICAgICByZXN1bHQucHVzaChjbG9zZXN0SW5wdXQuZkNvbm5lY3Rvcik7XG4gICAgfVxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5nZXRGaXJzdENvbm5lY3RhYmxlSW5wdXRPZk5vZGVJblBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGlucHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlmZmVyZW5jZShwb3NpdGlvbjogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHBvc2l0aW9uKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdClcbiAgICAgIC5kaXYodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlKS5zdWIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzSW5Qb3NpdGlvbihwb3NpdGlvbjogSVBvaW50KTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb24pLm1hcCgoZWxlbWVudCkgPT5cbiAgICAgIHRoaXMuZklucHV0cy5maW5kKHggPT4geC5pc0NvbnRhaW5zKGVsZW1lbnQpICYmIHguY2FuQmVDb25uZWN0ZWQpXG4gICAgKS5maWx0ZXIoKHgpID0+ICEheCkgYXMgRkNvbm5lY3RvckJhc2VbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb246IElQb2ludCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLmZCcm93c2VyLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0Q29ubmVjdGFibGVJbnB1dE9mTm9kZUluUG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXROb2Rlc0luUG9zaXRpb24ocG9zaXRpb24pLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZklucHV0cy5maW5kKChpKSA9PiB4LmlzQ29udGFpbnMoaS5ob3N0RWxlbWVudCkgJiYgaS5jYW5CZUNvbm5lY3RlZCk7XG4gICAgfSkuZmluZCgoeCkgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZXNJblBvc2l0aW9uKHBvc2l0aW9uOiBJUG9pbnQpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb24pLm1hcCgoZWxlbWVudCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZk5vZGVzLmZpbmQoKHgpID0+IHguaXNDb250YWlucyhlbGVtZW50KSAmJiB4LmZDb25uZWN0T25Ob2RlKVxuICAgIH0pLmZpbHRlcigoeCkgPT4gISF4KSBhcyBGTm9kZUJhc2VbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyU2VsZkNvbm5lY3RhYmxlKGlucHV0czogRkNvbm5lY3RvckJhc2VbXSwgY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiBpbnB1dHMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXROb2RlID0gdGhpcy5mTm9kZXMuZmluZCgoaykgPT4gay5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgICAgIGNvbnN0IHNvdXJjZU5vZGUgPSB0aGlzLmZOb2Rlcy5maW5kKChrKSA9PiBrLmlzQ29udGFpbnMoY29ubmVjdG9yIS5ob3N0RWxlbWVudCkpO1xuICAgICAgcmV0dXJuIHNvdXJjZU5vZGU/Lmhvc3RFbGVtZW50ICE9PSB0YXJnZXROb2RlPy5ob3N0RWxlbWVudDtcbiAgICB9KVxuICB9XG59XG4iXX0=
|