@foblex/flow 17.0.5 → 17.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +11 -0
- package/domain/f-connection/{find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.d.ts → find-closest-input/find-closest-input.request.d.ts} +2 -3
- package/domain/f-connection/find-closest-input/i-closest-input.d.ts +7 -0
- package/domain/f-connection/find-closest-input/index.d.ts +3 -0
- package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +2 -3
- package/domain/f-connection/index.d.ts +1 -1
- package/domain/f-connection/providers.d.ts +2 -2
- package/domain/f-draggable/providers.d.ts +1 -1
- package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.execution.d.ts +2 -4
- package/domain/f-node/index.d.ts +2 -0
- package/domain/f-node/providers.d.ts +3 -1
- package/domain/get-normalized-element-rect/get-normalized-element-rect-request.d.ts +2 -1
- package/domain/providers.d.ts +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +1 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -3
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +19 -29
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +6 -3
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +42 -0
- package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +9 -0
- package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +2 -0
- package/esm2022/domain/f-connection/find-closest-input/index.mjs +4 -0
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +1 -1
- package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +7 -11
- package/esm2022/domain/f-connection/index.mjs +2 -2
- package/esm2022/domain/f-connection/providers.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +2 -2
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +9 -0
- package/esm2022/domain/f-node/get-node-padding/index.mjs +3 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +34 -0
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
- package/esm2022/domain/f-node/get-parent-nodes/index.mjs +3 -0
- package/esm2022/domain/f-node/index.mjs +3 -1
- package/esm2022/domain/f-node/providers.mjs +5 -1
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +4 -2
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +5 -5
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -5
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +33 -19
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +29 -21
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +6 -6
- package/esm2022/f-draggable/domain/index.mjs +1 -4
- package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
- package/esm2022/f-draggable/domain/providers.mjs +1 -7
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +32 -35
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +12 -15
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +15 -8
- package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +32 -17
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +37 -31
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +41 -43
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +19 -23
- package/esm2022/f-draggable/node/node.drag-handler.mjs +25 -10
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +3 -2
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +4 -5
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +3 -3
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-flow.module.mjs +1 -1
- package/esm2022/f-line-alignment/domain/index.mjs +1 -2
- package/esm2022/f-line-alignment/f-line-alignment.component.mjs +17 -12
- package/esm2022/f-node/f-drag-handle.directive.mjs +22 -0
- package/esm2022/f-node/index.mjs +3 -3
- package/esm2022/f-node/is-node.mjs +4 -0
- package/esm2022/f-node/providers.mjs +2 -2
- package/f-backgroud/providers.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +4 -2
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +8 -4
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +7 -4
- package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +1 -1
- package/f-draggable/domain/index.d.ts +0 -3
- package/f-draggable/domain/providers.d.ts +1 -4
- package/f-draggable/f-draggable-base.d.ts +2 -0
- package/f-draggable/f-draggable.directive.d.ts +4 -2
- package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +7 -9
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +3 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +4 -3
- package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +9 -4
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +11 -11
- package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +11 -14
- package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +6 -9
- package/f-draggable/node/node.drag-handler.d.ts +9 -5
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-flow.module.d.ts +1 -1
- package/f-line-alignment/domain/index.d.ts +0 -1
- package/f-line-alignment/f-line-alignment.component.d.ts +2 -1
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/{f-drag-handle/f-drag-handle.directive.d.ts → f-drag-handle.directive.d.ts} +1 -1
- package/f-node/index.d.ts +2 -2
- package/f-node/providers.d.ts +2 -2
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +409 -482
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +3 -3
- package/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.d.ts +0 -11
- package/domain/f-connection/find-closest-input-using-snap-threshold/index.d.ts +0 -2
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -11
- package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
- package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
- package/esm2022/f-draggable/domain/get-node-padding/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
- package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -3
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
- package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -7
- package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +0 -3
- package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
- package/esm2022/f-node/domain/index.mjs +0 -2
- package/esm2022/f-node/domain/is-node.mjs +0 -4
- package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -22
- package/esm2022/f-node/f-drag-handle/index.mjs +0 -2
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +0 -13
- package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +0 -5
- package/f-draggable/domain/get-normalized-node-rect/index.d.ts +0 -2
- package/f-line-alignment/domain/nearest-coordinate.d.ts +0 -27
- package/f-node/domain/index.d.ts +0 -1
- package/f-node/f-drag-handle/index.d.ts +0 -1
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-node-padding/index.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts +0 -0
- /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/index.d.ts +0 -0
- /package/f-node/{domain/is-node.d.ts → is-node.d.ts} +0 -0
|
@@ -1,50 +1,47 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { CreateMoveNodesDragModelFromSelectionRequest } from './create-move-nodes-drag-model-from-selection.request';
|
|
4
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
4
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
5
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
6
|
+
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
5
7
|
import { NodeDragHandler } from '../node.drag-handler';
|
|
6
8
|
import { GetNodeMoveRestrictionsRequest } from './domain/get-node-move-restrictions';
|
|
7
9
|
import { PutOutputConnectionHandlersToArrayRequest } from './domain/put-output-connection-handlers-to-array';
|
|
8
10
|
import { PutInputConnectionHandlersToArrayRequest } from './domain/put-input-connection-handlers-to-array';
|
|
9
11
|
import { NodeResizeByChildDragHandler } from '../node-resize-by-child.drag-handler';
|
|
10
|
-
import {
|
|
11
|
-
import { GetDeepChildrenNodesAndGroupsRequest } from '../../../domain';
|
|
12
|
+
import { IsArrayHasParentNodeRequest } from '../../domain';
|
|
13
|
+
import { GetDeepChildrenNodesAndGroupsRequest, GetParentNodesRequest } from '../../../domain';
|
|
12
14
|
import { flatMap } from '@foblex/utils';
|
|
13
15
|
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "../../../f-storage";
|
|
15
|
-
import * as i2 from "../../f-draggable-data-context";
|
|
16
|
-
import * as i3 from "@foblex/mediator";
|
|
17
16
|
let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
22
|
-
this.fComponentsStore = fComponentsStore;
|
|
23
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
24
|
-
this.fMediator = fMediator;
|
|
25
|
-
}
|
|
17
|
+
_fMediator = inject(FMediator);
|
|
18
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
19
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
26
20
|
handle(request) {
|
|
27
|
-
const itemsToDrag = this.
|
|
21
|
+
const itemsToDrag = this._getNodesWithRestrictions(this._getSelectedNodes(request.nodeWithDisabledSelection));
|
|
28
22
|
return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(itemsToDrag), this.getAllOutputIds(itemsToDrag), this.getAllInputIds(itemsToDrag));
|
|
29
23
|
}
|
|
30
|
-
|
|
31
|
-
const result = this.
|
|
32
|
-
.map((x) => this._findNode(x.hostElement))
|
|
33
|
-
.filter((x) => !!x);
|
|
24
|
+
_getSelectedNodes(nodeWithDisabledSelection) {
|
|
25
|
+
const result = this._getNodesFromSelection();
|
|
34
26
|
if (nodeWithDisabledSelection) {
|
|
35
27
|
result.push(nodeWithDisabledSelection);
|
|
36
28
|
}
|
|
37
29
|
return result;
|
|
38
30
|
}
|
|
31
|
+
_getNodesFromSelection() {
|
|
32
|
+
return this._fDraggableDataContext.selectedItems
|
|
33
|
+
.map((x) => this._findNode(x.hostElement))
|
|
34
|
+
.filter((x) => !!x);
|
|
35
|
+
}
|
|
39
36
|
_findNode(hostElement) {
|
|
40
|
-
return this.
|
|
37
|
+
return this._fComponentsStore.fNodes.find(n => n.isContains(hostElement));
|
|
41
38
|
}
|
|
42
|
-
|
|
39
|
+
_getNodesWithRestrictions(nodesToDrag) {
|
|
43
40
|
const result = [];
|
|
44
|
-
|
|
45
|
-
const hasParentNodeInSelected = this.
|
|
46
|
-
const restrictions = this.
|
|
47
|
-
const parentNodes = this.
|
|
41
|
+
nodesToDrag.forEach((x) => {
|
|
42
|
+
const hasParentNodeInSelected = this._fMediator.send(new IsArrayHasParentNodeRequest(x, nodesToDrag));
|
|
43
|
+
const restrictions = this._fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
|
|
44
|
+
const parentNodes = this._fMediator.send(new GetParentNodesRequest(x));
|
|
48
45
|
result.push({ node: x, parentNodes, ...restrictions }, ...this.getChildrenItemsToDrag(x, restrictions));
|
|
49
46
|
});
|
|
50
47
|
return result;
|
|
@@ -53,36 +50,36 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
|
|
|
53
50
|
return this.getChildrenNodes(node.fId).map((x) => ({ node: x, ...restrictions }));
|
|
54
51
|
}
|
|
55
52
|
getChildrenNodes(fId) {
|
|
56
|
-
return this.
|
|
53
|
+
return this._fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
|
|
57
54
|
}
|
|
58
55
|
getAllOutputIds(items) {
|
|
59
56
|
return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.fId));
|
|
60
57
|
}
|
|
61
58
|
getOutputsForNode(node) {
|
|
62
|
-
return this.
|
|
59
|
+
return this._fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
|
|
63
60
|
}
|
|
64
61
|
getAllInputIds(items) {
|
|
65
62
|
return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.fId));
|
|
66
63
|
}
|
|
67
64
|
getInputsForNode(node) {
|
|
68
|
-
return this.
|
|
65
|
+
return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
|
|
69
66
|
}
|
|
70
67
|
getDragHandlersFromNodes(items) {
|
|
71
68
|
let result = [];
|
|
72
69
|
items.forEach((node) => {
|
|
73
|
-
result.push(new NodeDragHandler(this.
|
|
70
|
+
result.push(new NodeDragHandler(this._fDraggableDataContext, this._fComponentsStore, node.node, node.min, node.max), ...(node.parentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
|
|
74
71
|
});
|
|
75
72
|
return result;
|
|
76
73
|
}
|
|
77
74
|
getDragHandlersWithConnections(handlers, outputIds, inputIds) {
|
|
78
75
|
let result = handlers;
|
|
79
76
|
handlers.filter((x) => x instanceof NodeDragHandler).forEach((dragHandler) => {
|
|
80
|
-
this.
|
|
81
|
-
this.
|
|
77
|
+
this._fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
|
|
78
|
+
this._fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
|
|
82
79
|
});
|
|
83
80
|
return result;
|
|
84
81
|
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [
|
|
82
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
83
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution });
|
|
87
84
|
};
|
|
88
85
|
CreateMoveNodesDragModelFromSelectionExecution = __decorate([
|
|
@@ -91,5 +88,5 @@ CreateMoveNodesDragModelFromSelectionExecution = __decorate([
|
|
|
91
88
|
export { CreateMoveNodesDragModelFromSelectionExecution };
|
|
92
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
|
|
93
90
|
type: Injectable
|
|
94
|
-
}]
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSw4QkFBOEIsRUFBeUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSWpDLElBQU0sOENBQThDLEdBQXBELE1BQU0sOENBQThDO0lBSS9DO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXFEO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM1RyxPQUFPLElBQUksQ0FBQyw4QkFBOEIsQ0FDeEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxFQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLHlCQUFxQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYTthQUNwRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFHLHlCQUF5QixFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQXFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGFBQTBCO1FBQ3pELE1BQU0sTUFBTSxHQUFvQyxFQUFFLENBQUM7UUFFbkQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVUsSUFBSSwyQkFBMkIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNoSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBd0IsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQ2hJLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFjLElBQUkscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxZQUFZLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMxRyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFlLEVBQUUsWUFBbUM7UUFDakYsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBYyxJQUFJLG9DQUFvQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFzQztRQUM1RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFtQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQWU7UUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQXNDO1FBQzNELE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQW1DLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBZTtRQUN0QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFzQztRQUNyRSxJQUFJLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBRWxDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQixNQUFNLENBQUMsSUFBSSxDQUNULElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUM5RSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUNwRyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sOEJBQThCLENBQ3BDLFFBQTBCLEVBQUUsU0FBbUIsRUFBRSxRQUFrQjtRQUVuRSxJQUFJLE1BQU0sR0FBcUIsUUFBUSxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLFdBQThCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxXQUE4QixFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzt1R0EzRlUsOENBQThDOzJHQUE5Qyw4Q0FBOEM7O0FBQTlDLDhDQUE4QztJQUQxRCxrQkFBa0IsQ0FBQyw0Q0FBNEMsQ0FBQztHQUNwRCw4Q0FBOEMsQ0E0RjFEOzsyRkE1RlksOENBQThDO2tCQUYxRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBOb2RlUmVzaXplQnlDaGlsZERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1yZXNpemUtYnktY2hpbGQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEdldFBhcmVudE5vZGVzUmVxdWVzdCwgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIElEcmFnZ2FibGVJdGVtW10+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGNvbnN0IGl0ZW1zVG9EcmFnID0gdGhpcy5nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnModGhpcy5nZXRTZWxlY3RlZE5vZGVzKHJlcXVlc3Qubm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikpO1xuICAgIHJldHVybiB0aGlzLmdldERyYWdIYW5kbGVyc1dpdGhDb25uZWN0aW9ucyhcbiAgICAgIHRoaXMuZ2V0RHJhZ0hhbmRsZXJzRnJvbU5vZGVzKGl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsSW5wdXRJZHMoaXRlbXNUb0RyYWcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWROb2Rlcyhub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uPzogRk5vZGVCYXNlKTogRk5vZGVCYXNlW10ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmROb2RlKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLmZpbHRlcigoeCk6IHggaXMgRk5vZGVCYXNlID0+ICEheCk7XG4gICAgaWYobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9maW5kTm9kZShob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVzV2l0aFJlc3RyaWN0aW9ucyhzZWxlY3RlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10ge1xuICAgIGNvbnN0IHJlc3VsdDogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSA9IFtdO1xuXG4gICAgc2VsZWN0ZWROb2Rlcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBjb25zdCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8Ym9vbGVhbj4obmV3IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCh4LCBzZWxlY3RlZE5vZGVzKSk7XG4gICAgICBjb25zdCByZXN0cmljdGlvbnMgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElOb2RlTW92ZVJlc3RyaWN0aW9ucz4obmV3IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCh4LCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCkpO1xuICAgICAgY29uc3QgcGFyZW50Tm9kZXMgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KHgpKTtcbiAgICAgIHJlc3VsdC5wdXNoKHsgbm9kZTogeCwgcGFyZW50Tm9kZXMsIC4uLnJlc3RyaWN0aW9ucyB9LCAuLi50aGlzLmdldENoaWxkcmVuSXRlbXNUb0RyYWcoeCwgcmVzdHJpY3Rpb25zKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKG5vZGU6IEZOb2RlQmFzZSwgcmVzdHJpY3Rpb25zOiBJTm9kZU1vdmVSZXN0cmljdGlvbnMpOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGlsZHJlbk5vZGVzKG5vZGUuZklkKS5tYXAoKHgpID0+ICh7IG5vZGU6IHgsIC4uLnJlc3RyaWN0aW9ucyB9KSk7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbE91dHB1dElkcyhpdGVtczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChpdGVtcywgKGl0ZW06IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zKSA9PiB0aGlzLmdldE91dHB1dHNGb3JOb2RlKGl0ZW0ubm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSW5wdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRJbnB1dHNGb3JOb2RlKGl0ZW0ubm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICAgIGl0ZW1zLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKFxuICAgICAgICBuZXcgTm9kZURyYWdIYW5kbGVyKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LCBub2RlLm5vZGUsIG5vZGUubWluLCBub2RlLm1heCksXG4gICAgICAgIC4uLihub2RlLnBhcmVudE5vZGVzIHx8IFtdKS5tYXAoKCkgPT4gbmV3IE5vZGVSZXNpemVCeUNoaWxkRHJhZ0hhbmRsZXIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgaGFuZGxlcnM6IElEcmFnZ2FibGVJdGVtW10sIG91dHB1dElkczogc3RyaW5nW10sIGlucHV0SWRzOiBzdHJpbmdbXVxuICApOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gaGFuZGxlcnM7XG4gICAgaGFuZGxlcnMuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKS5mb3JFYWNoKChkcmFnSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZHJhZ0hhbmRsZXIgYXMgTm9kZURyYWdIYW5kbGVyLCBpbnB1dElkcywgcmVzdWx0KSk7XG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGRyYWdIYW5kbGVyIGFzIE5vZGVEcmFnSGFuZGxlciwgb3V0cHV0SWRzLCByZXN1bHQpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
91
|
+
}] });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUl2RCxPQUFPLEVBQUUsOEJBQThCLEVBQXlCLE1BQU0scUNBQXFDLENBQUM7QUFDNUcsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0csT0FBTyxFQUNMLHdDQUF3QyxFQUN6QyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlq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amVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBOb2RlUmVzaXplQnlDaGlsZERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1yZXNpemUtYnktY2hpbGQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsIEdldFBhcmVudE5vZGVzUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIElEcmFnZ2FibGVJdGVtW10+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGNvbnN0IGl0ZW1zVG9EcmFnID0gdGhpcy5fZ2V0Tm9kZXNXaXRoUmVzdHJpY3Rpb25zKFxuICAgICAgdGhpcy5fZ2V0U2VsZWN0ZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5nZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgICB0aGlzLmdldERyYWdIYW5kbGVyc0Zyb21Ob2RlcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbE91dHB1dElkcyhpdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGl0ZW1zVG9EcmFnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbikge1xuICAgICAgcmVzdWx0LnB1c2gobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0Zyb21TZWxlY3Rpb24oKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLm1hcCgoeCkgPT4gdGhpcy5fZmluZE5vZGUoeC5ob3N0RWxlbWVudCkpXG4gICAgICAuZmlsdGVyKCh4KTogeCBpcyBGTm9kZUJhc2UgPT4gISF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMobm9kZXNUb0RyYWc6IEZOb2RlQmFzZVtdKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgY29uc3QgcmVzdWx0OiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdID0gW107XG5cbiAgICBub2Rlc1RvRHJhZy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICBjb25zdCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoeCwgbm9kZXNUb0RyYWcpKTtcbiAgICAgIGNvbnN0IHJlc3RyaWN0aW9ucyA9IHRoaXMuX2ZNZWRpYXRvci5zZW5kPElOb2RlTW92ZVJlc3RyaWN0aW9ucz4obmV3IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCh4LCBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZCkpO1xuICAgICAgY29uc3QgcGFyZW50Tm9kZXMgPSB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXN1bHQucHVzaCh7IG5vZGU6IHgsIHBhcmVudE5vZGVzLCAuLi5yZXN0cmljdGlvbnMgfSwgLi4udGhpcy5nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5JdGVtc1RvRHJhZyhub2RlOiBGTm9kZUJhc2UsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW5Ob2Rlcyhub2RlLmZJZCkubWFwKCh4KSA9PiAoeyBub2RlOiB4LCAuLi5yZXN0cmljdGlvbnMgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUoaXRlbS5ub2RlKS5tYXAoKHgpID0+IHguZklkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSW5wdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRJbnB1dHNGb3JOb2RlKGl0ZW0ubm9kZSkubWFwKCh4KSA9PiB4LmZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNGb3JOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNGcm9tTm9kZXMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gW107XG5cbiAgICBpdGVtcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICByZXN1bHQucHVzaChcbiAgICAgICAgbmV3IE5vZGVEcmFnSGFuZGxlcih0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUsIG5vZGUubm9kZSwgbm9kZS5taW4sIG5vZGUubWF4KSxcbiAgICAgICAgLi4uKG5vZGUucGFyZW50Tm9kZXMgfHwgW10pLm1hcCgoKSA9PiBuZXcgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlcih0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQpKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlcnNXaXRoQ29ubmVjdGlvbnMoXG4gICAgaGFuZGxlcnM6IElEcmFnZ2FibGVJdGVtW10sIG91dHB1dElkczogc3RyaW5nW10sIGlucHV0SWRzOiBzdHJpbmdbXVxuICApOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBsZXQgcmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdID0gaGFuZGxlcnM7XG4gICAgaGFuZGxlcnMuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKS5mb3JFYWNoKChkcmFnSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGRyYWdIYW5kbGVyIGFzIE5vZGVEcmFnSGFuZGxlciwgaW5wdXRJZHMsIHJlc3VsdCkpO1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZHJhZ0hhbmRsZXIgYXMgTm9kZURyYWdIYW5kbGVyLCBvdXRwdXRJZHMsIHJlc3VsdCkpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { GetNodeMoveRestrictionsRequest } from './get-node-move-restrictions.request';
|
|
4
4
|
import { PointExtensions } from '@foblex/2d';
|
|
5
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import {
|
|
5
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
|
+
import { GetNormalizedParentNodeRectRequest } from '../../../../domain';
|
|
7
|
+
import { GetNormalizedElementRectRequest } from '../../../../../domain';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@foblex/mediator";
|
|
9
9
|
let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
|
|
10
|
-
|
|
11
|
-
constructor(fMediator) {
|
|
12
|
-
this.fMediator = fMediator;
|
|
13
|
-
}
|
|
10
|
+
_fMediator = inject(FMediator);
|
|
14
11
|
handle(request) {
|
|
15
12
|
if (request.fNode.fParentId && !request.hasParentNodeInSelected) {
|
|
16
13
|
const fParentNodeRect = this.getParentNodeRect(request.fNode);
|
|
17
|
-
const fCurrentNodeRect = this.
|
|
14
|
+
const fCurrentNodeRect = this._getNodeRect(request.fNode);
|
|
18
15
|
return {
|
|
19
16
|
min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
|
|
20
17
|
max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
|
|
@@ -22,13 +19,13 @@ let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
|
|
|
22
19
|
}
|
|
23
20
|
return { ...DEFAULT_RESTRICTIONS };
|
|
24
21
|
}
|
|
25
|
-
|
|
26
|
-
return this.
|
|
22
|
+
_getNodeRect(fNode) {
|
|
23
|
+
return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
|
|
27
24
|
}
|
|
28
25
|
getParentNodeRect(fNode) {
|
|
29
|
-
return this.
|
|
26
|
+
return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
|
|
30
27
|
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
29
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution });
|
|
33
30
|
};
|
|
34
31
|
GetNodeMoveRestrictionsExecution = __decorate([
|
|
@@ -37,9 +34,9 @@ GetNodeMoveRestrictionsExecution = __decorate([
|
|
|
37
34
|
export { GetNodeMoveRestrictionsExecution };
|
|
38
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeMoveRestrictionsExecution, decorators: [{
|
|
39
36
|
type: Injectable
|
|
40
|
-
}]
|
|
37
|
+
}] });
|
|
41
38
|
const DEFAULT_RESTRICTIONS = {
|
|
42
39
|
min: PointExtensions.initialize(-Infinity, -Infinity),
|
|
43
40
|
max: PointExtensions.initialize(Infinity, Infinity)
|
|
44
41
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFTLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSWpFLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0lBR25DLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEMsTUFBTSxDQUFDLE9BQXVDO1FBQ25ELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNoRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUQsT0FBTztnQkFDTCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDL0csR0FBRyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQzdCLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQzNGLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQzlGO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBZ0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxJQUFJLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQzt1R0ExQlUsZ0NBQWdDOzJHQUFoQyxnQ0FBZ0M7O0FBQWhDLGdDQUFnQztJQUQ1QyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQztHQUN0QyxnQ0FBZ0MsQ0EyQjVDOzsyRkEzQlksZ0NBQWdDO2tCQUY1QyxVQUFVOztBQStCWCxNQUFNLG9CQUFvQixHQUEwQjtJQUNsRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0NBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJTm9kZU1vdmVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2ktbm9kZS1tb3ZlLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIElOb2RlTW92ZVJlc3RyaWN0aW9ucz4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KTogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIHtcbiAgICBpZiAocmVxdWVzdC5mTm9kZS5mUGFyZW50SWQgJiYgIXJlcXVlc3QuaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IGZQYXJlbnROb2RlUmVjdCA9IHRoaXMuZ2V0UGFyZW50Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICBjb25zdCBmQ3VycmVudE5vZGVSZWN0ID0gdGhpcy5fZ2V0Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW46IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGZQYXJlbnROb2RlUmVjdC54IC0gZkN1cnJlbnROb2RlUmVjdC54LCBmUGFyZW50Tm9kZVJlY3QueSAtIGZDdXJyZW50Tm9kZVJlY3QueSksXG4gICAgICAgIG1heDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgICAgKGZQYXJlbnROb2RlUmVjdC54ICsgZlBhcmVudE5vZGVSZWN0LndpZHRoKSAtIChmQ3VycmVudE5vZGVSZWN0LnggKyBmQ3VycmVudE5vZGVSZWN0LndpZHRoKSxcbiAgICAgICAgICAoZlBhcmVudE5vZGVSZWN0LnkgKyBmUGFyZW50Tm9kZVJlY3QuaGVpZ2h0KSAtIChmQ3VycmVudE5vZGVSZWN0LnkgKyBmQ3VycmVudE5vZGVSZWN0LmhlaWdodCksXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IC4uLkRFRkFVTFRfUkVTVFJJQ1RJT05TIH07XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoZk5vZGUuaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudE5vZGVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdChmTm9kZSkpO1xuICB9XG59XG5cbmNvbnN0IERFRkFVTFRfUkVTVFJJQ1RJT05TOiBJTm9kZU1vdmVSZXN0cmljdGlvbnMgPSB7XG4gIG1pbjogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHkpLFxuICBtYXg6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKEluZmluaXR5LCBJbmZpbml0eSlcbn07XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { NodeDragToParentPreparationRequest } from './node-drag-to-parent-preparation.request';
|
|
4
4
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
5
|
import { PointExtensions, RectExtensions } from '@foblex/2d';
|
|
6
|
-
import { GetNormalizedElementRectRequest } from '../../../domain';
|
|
6
|
+
import { GetNormalizedElementRectRequest, GetParentNodesRequest } from '../../../domain';
|
|
7
7
|
import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
|
|
8
8
|
import { NodeDragHandler } from '../node.drag-handler';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
@@ -34,23 +34,30 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
|
|
|
34
34
|
if (!fNode) {
|
|
35
35
|
throw new Error('Node not found');
|
|
36
36
|
}
|
|
37
|
-
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this.
|
|
37
|
+
this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this._getNotDraggedNodesRects()));
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
_getNotDraggedNodesRects() {
|
|
40
|
+
const draggedNodes = this._addParentNodes(this._getNodesBeingDragged());
|
|
41
|
+
return this._getNotDraggedNodes(draggedNodes).map((x) => {
|
|
42
|
+
const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false));
|
|
42
43
|
return {
|
|
43
44
|
node: x,
|
|
44
45
|
rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
|
|
45
46
|
};
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
|
-
|
|
49
|
+
_getNodesBeingDragged() {
|
|
49
50
|
return this.fDraggableDataContext.draggableItems
|
|
50
51
|
.filter((x) => x instanceof NodeDragHandler)
|
|
51
52
|
.map((x) => x.fNode);
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
+
_addParentNodes(fNodes) {
|
|
55
|
+
return fNodes.reduce((result, x) => {
|
|
56
|
+
result.push(x, ...this.fMediator.send(new GetParentNodesRequest(x)));
|
|
57
|
+
return result;
|
|
58
|
+
}, []);
|
|
59
|
+
}
|
|
60
|
+
_getNotDraggedNodes(draggedNodes) {
|
|
54
61
|
return this.fNodes.filter((x) => !draggedNodes.includes(x));
|
|
55
62
|
}
|
|
56
63
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentPreparationExecution, deps: [{ token: i1.FMediator }, { token: i2.FDraggableDataContext }, { token: i3.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -63,4 +70,4 @@ export { NodeDragToParentPreparationExecution };
|
|
|
63
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentPreparationExecution, decorators: [{
|
|
64
71
|
type: Injectable
|
|
65
72
|
}], ctorParameters: () => [{ type: i1.FMediator }, { type: i2.FDraggableDataContext }, { type: i3.FComponentsStore }] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFHN0UsT0FBTyxFQUFrQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFJaEQsSUFBTSxvQ0FBb0MsR0FBMUMsTUFBTSxvQ0FBb0M7SUFnQnJDO0lBQ0E7SUFDQTtJQWZWLElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFZLGVBQWU7UUFDekIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEYsQ0FBQztJQUVELFlBQ1UsU0FBb0IsRUFDcEIscUJBQTRDLEVBQzVDLGdCQUFrQztRQUZsQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQTJDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVDLElBQUksMkJBQTJCLENBQzdCLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUM1RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuRyxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxjQUFjLENBQUMsVUFBVSxDQUM3QixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUMvQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNuQzthQUNGLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYzthQUM3QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUM7YUFDM0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFtQjtRQUN6QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFtQixFQUFFLENBQVksRUFBRSxFQUFFO1lBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFlBQXlCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7dUdBcEVVLG9DQUFvQzsyR0FBcEMsb0NBQW9DOztBQUFwQyxvQ0FBb0M7SUFEaEQsa0JBQWtCLENBQUMsa0NBQWtDLENBQUM7R0FDMUMsb0NBQW9DLENBcUVoRDs7MkZBckVZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUtZHJhZy10by1wYXJlbnQtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJTm9kZVdpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCwgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgTm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZkNhbnZhc1Bvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2RlID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlXG4gICAgICAuZk5vZGVzLmZpbmQobiA9PiBuLmlzQ29udGFpbnMocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSk7XG4gICAgaWYgKCFmTm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb2RlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnB1c2goXG4gICAgICBuZXcgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyKFxuICAgICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUsXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LCB0aGlzLl9nZXROb3REcmFnZ2VkTm9kZXNSZWN0cygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vdERyYWdnZWROb2Rlc1JlY3RzKCk6IElOb2RlV2l0aFJlY3RbXSB7XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVzID0gdGhpcy5fYWRkUGFyZW50Tm9kZXModGhpcy5fZ2V0Tm9kZXNCZWluZ0RyYWdnZWQoKSk7XG4gICAgcmV0dXJuIHRoaXMuX2dldE5vdERyYWdnZWROb2RlcyhkcmFnZ2VkTm9kZXMpLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlOiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICAgIHJlY3QueCArIHRoaXMuZkNhbnZhc1Bvc2l0aW9uLngsXG4gICAgICAgICAgcmVjdC55ICsgdGhpcy5mQ2FudmFzUG9zaXRpb24ueSxcbiAgICAgICAgICByZWN0LndpZHRoICogdGhpcy50cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgcmVjdC5oZWlnaHQgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0JlaW5nRHJhZ2dlZCgpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKVxuICAgICAgLm1hcCgoeCkgPT4geC5mTm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRQYXJlbnROb2RlcyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiBmTm9kZXMucmVkdWNlKChyZXN1bHQ6IEZOb2RlQmFzZVtdLCB4OiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKHgsIC4uLnRoaXMuZk1lZGlhdG9yLnNlbmQ8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk5vZGVzLmZpbHRlcigoeCkgPT4gIWRyYWdnZWROb2Rlcy5pbmNsdWRlcyh4KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,40 +7,55 @@ export class NodeDragToParentDragHandler {
|
|
|
7
7
|
fComponentsStore;
|
|
8
8
|
fDraggableDataContext;
|
|
9
9
|
notDraggedNodesRects;
|
|
10
|
-
|
|
10
|
+
DEBOUNCE_TIME = 15;
|
|
11
|
+
get _transform() {
|
|
11
12
|
return this.fComponentsStore.fCanvas.transform;
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
_onPointerDownPosition = PointExtensions.initialize();
|
|
15
|
+
_debounceTimer = null;
|
|
14
16
|
fNodeWithRect = null;
|
|
15
17
|
constructor(fComponentsStore, fDraggableDataContext, notDraggedNodesRects) {
|
|
16
18
|
this.fComponentsStore = fComponentsStore;
|
|
17
19
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
18
20
|
this.notDraggedNodesRects = notDraggedNodesRects;
|
|
19
|
-
this.
|
|
21
|
+
this._onPointerDownPosition = this.fDraggableDataContext.onPointerDownPosition;
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.markIncludeNode(this.notDraggedNodesRects[isInclude]);
|
|
23
|
+
_toggleParentNode(difference) {
|
|
24
|
+
const isInclude = this._isNodeInsideAnotherNode(this._getNewPosition(difference));
|
|
25
|
+
if (isInclude) {
|
|
26
|
+
this._markIncludeNode(isInclude);
|
|
26
27
|
}
|
|
27
28
|
else {
|
|
28
|
-
this.
|
|
29
|
+
this._unmarkIncludeNode();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_getNewPosition(difference) {
|
|
33
|
+
return Point.fromPoint(this._onPointerDownPosition).add(difference).mult(this._transform.scale);
|
|
34
|
+
}
|
|
35
|
+
_isNodeInsideAnotherNode(point) {
|
|
36
|
+
return this.notDraggedNodesRects.find((x) => RectExtensions.isIncludePoint(x.rect, point));
|
|
37
|
+
}
|
|
38
|
+
onPointerMove(difference) {
|
|
39
|
+
if (this._debounceTimer) {
|
|
40
|
+
clearTimeout(this._debounceTimer);
|
|
29
41
|
}
|
|
42
|
+
this._debounceTimer = setTimeout(() => this._toggleParentNode(difference), this.DEBOUNCE_TIME);
|
|
30
43
|
}
|
|
31
|
-
|
|
32
|
-
this.
|
|
44
|
+
_markIncludeNode(nodeWithRect) {
|
|
45
|
+
this._unmarkIncludeNode();
|
|
33
46
|
this.fNodeWithRect = nodeWithRect;
|
|
34
47
|
nodeWithRect.node.setClass('f-parent-for-drop');
|
|
35
48
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.fNodeWithRect.node.removeClass('f-parent-for-drop');
|
|
39
|
-
}
|
|
49
|
+
_unmarkIncludeNode() {
|
|
50
|
+
this.fNodeWithRect?.node.removeClass('f-parent-for-drop');
|
|
40
51
|
this.fNodeWithRect = null;
|
|
41
52
|
}
|
|
42
53
|
onPointerUp() {
|
|
43
|
-
this.
|
|
54
|
+
this._unmarkIncludeNode();
|
|
55
|
+
if (this._debounceTimer) {
|
|
56
|
+
clearTimeout(this._debounceTimer);
|
|
57
|
+
this._debounceTimer = null;
|
|
58
|
+
}
|
|
44
59
|
}
|
|
45
60
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentDragHandler, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
46
61
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NodeDragToParentDragHandler, ngImport: i0 });
|
|
@@ -48,4 +63,4 @@ export class NodeDragToParentDragHandler {
|
|
|
48
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentDragHandler, decorators: [{
|
|
49
64
|
type: Directive
|
|
50
65
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: undefined }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQTJCLEtBQUssRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBTzdGLE1BQU0sT0FBTywyQkFBMkI7SUFjNUI7SUFDQTtJQUNBO0lBZEYsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUUzQixJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sc0JBQXNCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzlELGNBQWMsR0FBUSxJQUFJLENBQUM7SUFFNUIsYUFBYSxHQUF5QixJQUFJLENBQUM7SUFFbEQsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLG9CQUFxQztRQUZyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtRQUU3QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDO0lBQ2pGLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFrQjtRQUMxQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFhO1FBQzVDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxZQUEyQjtRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzt1R0FoRVUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb2ludCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSU5vZGVXaXRoUmVjdCB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSBERUJPVU5DRV9USU1FID0gMTU7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBhbnkgPSBudWxsO1xuXG4gIHB1YmxpYyBmTm9kZVdpdGhSZWN0OiBJTm9kZVdpdGhSZWN0IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBub3REcmFnZ2VkTm9kZXNSZWN0czogSU5vZGVXaXRoUmVjdFtdLFxuICApIHtcbiAgICB0aGlzLl9vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb247XG4gIH1cblxuICBwcml2YXRlIF90b2dnbGVQYXJlbnROb2RlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGlzSW5jbHVkZSA9IHRoaXMuX2lzTm9kZUluc2lkZUFub3RoZXJOb2RlKHRoaXMuX2dldE5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcbiAgICBpZiAoaXNJbmNsdWRlKSB7XG4gICAgICB0aGlzLl9tYXJrSW5jbHVkZU5vZGUoaXNJbmNsdWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdW5tYXJrSW5jbHVkZU5vZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXROZXdQb3NpdGlvbihkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQodGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uKS5hZGQoZGlmZmVyZW5jZSkubXVsdCh0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOb2RlSW5zaWRlQW5vdGhlck5vZGUocG9pbnQ6IElQb2ludCk6IElOb2RlV2l0aFJlY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm5vdERyYWdnZWROb2Rlc1JlY3RzLmZpbmQoKHgpID0+IFJlY3RFeHRlbnNpb25zLmlzSW5jbHVkZVBvaW50KHgucmVjdCwgcG9pbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kZWJvdW5jZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XG4gICAgfVxuXG4gICAgdGhpcy5fZGVib3VuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fdG9nZ2xlUGFyZW50Tm9kZShkaWZmZXJlbmNlKSwgdGhpcy5ERUJPVU5DRV9USU1FKTtcbiAgfVxuXG4gIHByaXZhdGUgX21hcmtJbmNsdWRlTm9kZShub2RlV2l0aFJlY3Q6IElOb2RlV2l0aFJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl91bm1hcmtJbmNsdWRlTm9kZSgpO1xuICAgIHRoaXMuZk5vZGVXaXRoUmVjdCA9IG5vZGVXaXRoUmVjdDtcbiAgICBub2RlV2l0aFJlY3Qubm9kZS5zZXRDbGFzcygnZi1wYXJlbnQtZm9yLWRyb3AnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VubWFya0luY2x1ZGVOb2RlKCk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGVXaXRoUmVjdD8ubm9kZS5yZW1vdmVDbGFzcygnZi1wYXJlbnQtZm9yLWRyb3AnKTtcbiAgICB0aGlzLmZOb2RlV2l0aFJlY3QgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX3VubWFya0luY2x1ZGVOb2RlKCk7XG5cbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xuICAgICAgdGhpcy5fZGVib3VuY2VUaW1lciA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,53 +1,59 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { NodeMoveFinalizeRequest } from './node-move-finalize.request';
|
|
4
4
|
import { Point } from '@foblex/2d';
|
|
5
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import {
|
|
5
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
6
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
7
|
+
import { FDraggableDataContext } from '../../f-draggable-data-context';
|
|
8
|
+
import { IsConnectionUnderNodeRequest } from '../../domain';
|
|
7
9
|
import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
|
|
10
|
+
import { NodeDragHandler } from '../node.drag-handler';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../../f-storage";
|
|
10
|
-
import * as i2 from "../../f-draggable-data-context";
|
|
11
|
-
import * as i3 from "@foblex/mediator";
|
|
12
12
|
let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
get
|
|
17
|
-
return this.
|
|
18
|
-
}
|
|
19
|
-
constructor(fComponentsStore, fDraggableDataContext, fMediator) {
|
|
20
|
-
this.fComponentsStore = fComponentsStore;
|
|
21
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
22
|
-
this.fMediator = fMediator;
|
|
13
|
+
_fMediator = inject(FMediator);
|
|
14
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
15
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
16
|
+
get _fHost() {
|
|
17
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
23
18
|
}
|
|
24
19
|
handle(request) {
|
|
25
|
-
const difference = this.
|
|
26
|
-
this.
|
|
20
|
+
const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
|
|
21
|
+
const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
|
|
22
|
+
.find((x) => x instanceof NodeDragHandler);
|
|
23
|
+
const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
|
|
24
|
+
this._finalizeMove(differenceWithCellSize);
|
|
25
|
+
this._fMediator.send(new IsConnectionUnderNodeRequest());
|
|
26
|
+
this._fDraggableDataContext.fLineAlignment?.complete();
|
|
27
|
+
}
|
|
28
|
+
_finalizeMove(difference) {
|
|
29
|
+
this._getItems().forEach((x) => {
|
|
27
30
|
x.onPointerMove({ ...difference });
|
|
28
31
|
x.onPointerUp?.();
|
|
29
32
|
});
|
|
30
|
-
this.fMediator.send(new IsConnectionUnderNodeRequest());
|
|
31
|
-
this.fDraggableDataContext.fLineAlignment?.complete();
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
-
return this.
|
|
34
|
+
_getItems() {
|
|
35
|
+
return this._fDraggableDataContext.draggableItems
|
|
35
36
|
.filter((x) => !(x instanceof NodeDragToParentDragHandler));
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
return Point.fromPoint(position).elementTransform(this.
|
|
39
|
-
.div(this.
|
|
40
|
-
.sub(this.
|
|
38
|
+
_getDifferenceBetweenPreparationAndFinalize(position) {
|
|
39
|
+
return Point.fromPoint(position).elementTransform(this._fHost)
|
|
40
|
+
.div(this._fDraggableDataContext.onPointerDownScale)
|
|
41
|
+
.sub(this._fDraggableDataContext.onPointerDownPosition);
|
|
42
|
+
}
|
|
43
|
+
_getDifferenceWithLineAlignment(difference) {
|
|
44
|
+
return this._applyLineAlignmentDifference(difference, this._getLineAlignmentDifference(difference));
|
|
45
|
+
}
|
|
46
|
+
_getLineAlignmentDifference(difference) {
|
|
47
|
+
return this._fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
|
|
41
48
|
}
|
|
42
|
-
|
|
43
|
-
const intersection = this.fDraggableDataContext.fLineAlignment?.findNearestCoordinate(difference);
|
|
49
|
+
_applyLineAlignmentDifference(difference, intersection) {
|
|
44
50
|
if (intersection) {
|
|
45
51
|
difference.x = intersection.xResult.value ? (difference.x - intersection.xResult.distance) : difference.x;
|
|
46
52
|
difference.y = intersection.yResult.value ? (difference.y - intersection.yResult.distance) : difference.y;
|
|
47
53
|
}
|
|
48
54
|
return difference;
|
|
49
55
|
}
|
|
50
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
57
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
|
|
52
58
|
};
|
|
53
59
|
NodeMoveFinalizeExecution = __decorate([
|
|
@@ -56,5 +62,5 @@ NodeMoveFinalizeExecution = __decorate([
|
|
|
56
62
|
export { NodeMoveFinalizeExecution };
|
|
57
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, decorators: [{
|
|
58
64
|
type: Injectable
|
|
59
|
-
}]
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
}] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtZmluYWxpemUvbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSWhELElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBRTVCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0Msc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFL0QsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFnQztRQUM1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cnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLW1vdmUtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtcbiAgSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtZHJhZy10by1wYXJlbnQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vZi1saW5lLWFsaWdubWVudCc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2VXaXRoTGluZUFsaWdubWVudChcbiAgICAgIHRoaXMuX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0Tm9kZU9yR3JvdXA6IE5vZGVEcmFnSGFuZGxlciA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ0hhbmRsZXIpITtcblxuICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoQ2VsbFNpemUgPSBmaXJzdE5vZGVPckdyb3VwLmdldERpZmZlcmVuY2VXaXRoQ2VsbFNpemUoZGlmZmVyZW5jZSk7XG5cbiAgICB0aGlzLl9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZVdpdGhDZWxsU2l6ZSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZChuZXcgSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdCgpKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQ/LmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0SXRlbXMoKS5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4Lm9uUG9pbnRlck1vdmUoeyAuLi5kaWZmZXJlbmNlIH0pO1xuICAgICAgeC5vblBvaW50ZXJVcD8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtcygpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoXG4gICAgICBkaWZmZXJlbmNlLFxuICAgICAgdGhpcy5fZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQ/LmZpbmROZWFyZXN0Q29vcmRpbmF0ZShkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCBpbnRlcnNlY3Rpb246IElMaW5lQWxpZ25tZW50UmVzdWx0IHwgdW5kZWZpbmVkKTogSVBvaW50IHtcbiAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICBkaWZmZXJlbmNlLnggPSBpbnRlcnNlY3Rpb24ueFJlc3VsdC52YWx1ZSA/IChkaWZmZXJlbmNlLnggLSBpbnRlcnNlY3Rpb24ueFJlc3VsdC5kaXN0YW5jZSEpIDogZGlmZmVyZW5jZS54O1xuICAgICAgZGlmZmVyZW5jZS55ID0gaW50ZXJzZWN0aW9uLnlSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS55IC0gaW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cbn1cbiJdfQ==
|