@foblex/flow 17.6.0 → 17.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/domain/f-background/add-background-to-store/add-background-to-store.execution.d.ts +4 -1
- package/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.d.ts +4 -1
- package/domain/f-background/providers.d.ts +4 -0
- package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +4 -1
- package/domain/f-background/set-background-transform/set-background-transform.execution.d.ts +4 -1
- package/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.d.ts +4 -1
- package/domain/f-canvas/center-group-or-node/center-group-or-node.execution.d.ts +4 -1
- package/domain/f-canvas/fit-to-flow/fit-to-flow.execution.d.ts +4 -1
- package/domain/f-canvas/get-canvas/get-canvas.execution.d.ts +4 -1
- package/domain/f-canvas/input-canvas-position/input-canvas-position.execution.d.ts +4 -1
- package/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.d.ts +5 -1
- package/domain/f-canvas/providers.d.ts +3 -0
- package/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.d.ts +6 -1
- package/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.d.ts +4 -1
- package/domain/f-canvas/reset-scale/reset-scale.execution.d.ts +4 -1
- package/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.d.ts +4 -1
- package/domain/f-canvas/update-scale/update-scale.execution.d.ts +5 -1
- package/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.d.ts +4 -1
- package/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.d.ts +4 -1
- package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +4 -1
- package/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.d.ts +4 -1
- package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.d.ts +3 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +5 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +5 -0
- package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +5 -0
- package/domain/f-connection/create-connection-markers/create-connection-markers.execution.d.ts +4 -1
- package/domain/f-connection/providers.d.ts +3 -0
- package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +6 -1
- package/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.d.ts +4 -1
- package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +4 -1
- package/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.d.ts +4 -1
- package/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.d.ts +4 -1
- package/domain/f-connectors/add-input-to-store/add-input-to-store.execution.d.ts +4 -1
- package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +3 -0
- package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +3 -0
- package/domain/f-connectors/find-closest-connector/find-closest-connector.execution.d.ts +5 -0
- package/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.d.ts +5 -0
- package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +4 -1
- package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +6 -1
- package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.d.ts +4 -1
- package/domain/f-connectors/i-closest-connector.d.ts +3 -0
- package/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.d.ts +3 -0
- package/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.d.ts +4 -1
- package/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.d.ts +4 -1
- package/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.d.ts +4 -1
- package/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.d.ts +3 -0
- package/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.d.ts +4 -1
- package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +7 -3
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +4 -1
- package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +3 -0
- package/domain/f-draggable/is-drag-started/is-drag-started.execution.d.ts +4 -1
- package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +6 -1
- package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +4 -1
- package/domain/f-draggable/providers.d.ts +4 -1
- package/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.d.ts +4 -1
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +5 -2
- package/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.d.ts +4 -1
- package/domain/f-flow/get-flow/get-flow.execution.d.ts +4 -1
- package/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.d.ts +4 -1
- package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +4 -1
- package/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +4 -3
- package/domain/f-flow/get-flow-state/get-flow-state.execution.d.ts +5 -2
- package/domain/f-flow/get-flow-state/providers.d.ts +3 -0
- package/domain/f-flow/providers.d.ts +5 -0
- package/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.d.ts +4 -1
- package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.d.ts +4 -1
- package/domain/f-line-alignment/providers.d.ts +5 -0
- package/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.d.ts +4 -1
- package/domain/f-node/add-node-to-store/add-node-to-store.execution.d.ts +4 -1
- package/domain/f-node/calculate-input-connections/calculate-input-connections.execution.d.ts +4 -1
- package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.d.ts +5 -1
- package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.d.ts +6 -1
- package/domain/f-node/calculate-output-connections/calculate-output-connections.execution.d.ts +4 -1
- package/domain/f-node/get-node-padding/get-node-padding.execution.d.ts +4 -0
- package/domain/f-node/get-nodes/get-nodes.execution.d.ts +4 -1
- package/domain/f-node/get-parent-nodes/get-parent-nodes.execution.d.ts +4 -1
- package/domain/f-node/providers.d.ts +3 -0
- package/domain/f-node/remove-node-from-store/remove-node-from-store.execution.d.ts +4 -1
- package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +28 -1
- package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +3 -0
- package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +14 -2
- package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +3 -0
- package/domain/f-selection/providers.d.ts +3 -0
- package/domain/f-selection/select/select.execution.d.ts +4 -1
- package/domain/f-selection/select-all/select-all.execution.d.ts +5 -1
- package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +7 -5
- package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +4 -1
- package/domain/f-zoom/providers.d.ts +5 -0
- package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +4 -1
- package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +4 -1
- package/domain/f-zoom/set-zoom/set-zoom.execution.d.ts +6 -2
- package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +5 -1
- package/domain/get-element-rounded-rect/get-element-rounded-rect.execution.d.ts +5 -1
- package/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.d.ts +7 -2
- package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +7 -2
- package/domain/get-normalized-point/get-normalized-point.execution.d.ts +6 -1
- package/domain/providers.d.ts +7 -1
- package/domain/sort-item-layers/sort-item-layers.execution.d.ts +9 -2
- package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +8 -3
- package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +8 -3
- package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.d.ts +4 -0
- package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +6 -2
- package/drag-toolkit/drag-and-drop-base.d.ts +60 -0
- package/esm2022/domain/f-background/add-background-to-store/add-background-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +7 -4
- package/esm2022/domain/f-background/providers.mjs +5 -1
- package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-background/set-background-transform/set-background-transform.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +8 -5
- package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +7 -4
- package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +7 -3
- package/esm2022/domain/f-canvas/providers.mjs +4 -1
- package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation.execution.mjs +13 -8
- package/esm2022/domain/f-canvas/remove-canvas-from-store/remove-canvas-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +6 -3
- package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +7 -4
- package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +7 -3
- package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.mjs +7 -4
- package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +4 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +6 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +6 -1
- package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +6 -1
- package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +6 -3
- package/esm2022/domain/f-connection/providers.mjs +4 -1
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +16 -11
- package/esm2022/domain/f-connection/remove-connection-for-create-from-store/remove-connection-for-create-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +8 -5
- package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connection/remove-snap-connection-from-store/remove-snap-connection-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +4 -1
- package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +4 -1
- package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs +6 -1
- package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +6 -1
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +8 -3
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/i-closest-connector.mjs +1 -1
- package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.mjs +4 -1
- package/esm2022/domain/f-connectors/providers.mjs +4 -1
- package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.mjs +4 -1
- package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +10 -6
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +7 -4
- package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +4 -1
- package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +6 -3
- package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +8 -3
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +6 -3
- package/esm2022/domain/f-draggable/providers.mjs +4 -1
- package/esm2022/domain/f-draggable/remove-dnd-from-store/remove-dnd-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +9 -6
- package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +6 -3
- package/esm2022/domain/f-flow/get-flow-host-element/get-flow-host-element.execution.mjs +6 -3
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +6 -3
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +12 -12
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +11 -8
- package/esm2022/domain/f-flow/get-flow-state/providers.mjs +4 -1
- package/esm2022/domain/f-flow/providers.mjs +6 -1
- package/esm2022/domain/f-flow/remove-flow-from-store/remove-flow-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-line-alignment/providers.mjs +6 -1
- package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +7 -4
- package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +7 -3
- package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +8 -3
- package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +7 -4
- package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +5 -1
- package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +6 -3
- package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +6 -3
- package/esm2022/domain/f-node/providers.mjs +4 -1
- package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +30 -3
- package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +4 -1
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +20 -8
- package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +4 -1
- package/esm2022/domain/f-selection/providers.mjs +4 -1
- package/esm2022/domain/f-selection/select/select.execution.mjs +7 -4
- package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +8 -4
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +17 -17
- package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +6 -3
- package/esm2022/domain/f-zoom/providers.mjs +6 -1
- package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +6 -3
- package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +6 -3
- package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +11 -7
- package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +7 -3
- package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +8 -4
- package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +11 -6
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +10 -5
- package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +9 -4
- package/esm2022/domain/providers.mjs +7 -1
- package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +15 -8
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +12 -7
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +13 -8
- package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +5 -1
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +10 -6
- package/esm2022/drag-toolkit/drag-and-drop-base.mjs +55 -1
- package/esm2022/f-canvas/f-canvas.component.mjs +67 -20
- package/esm2022/f-zoom/f-zoom.directive.mjs +8 -2
- package/f-canvas/f-canvas.component.d.ts +51 -3
- package/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-connection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
- package/f-draggable/f-node-move/providers.d.ts +1 -1
- package/f-draggable/providers.d.ts +1 -1
- package/f-external-item/domain/providers.d.ts +1 -1
- package/f-minimap/providers.d.ts +1 -1
- package/f-node/providers.d.ts +2 -2
- package/f-storage/providers.d.ts +1 -1
- package/f-zoom/f-zoom.directive.d.ts +1 -0
- package/fesm2022/foblex-flow.mjs +756 -259
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -5,10 +5,15 @@ import { GetNormalizedPointRequest } from './get-normalized-point-request';
|
|
|
5
5
|
import { FComponentsStore } from '../../f-storage';
|
|
6
6
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Execution that retrieves the normalized point of a position.
|
|
10
|
+
* It calculates the point based on the position's transformation
|
|
11
|
+
* and the canvas transformation.
|
|
12
|
+
*/
|
|
8
13
|
let GetNormalizedPointExecution = class GetNormalizedPointExecution {
|
|
9
|
-
|
|
14
|
+
_store = inject(FComponentsStore);
|
|
10
15
|
get _transform() {
|
|
11
|
-
return this.
|
|
16
|
+
return this._store.fCanvas.transform;
|
|
12
17
|
}
|
|
13
18
|
// BrowserWindow
|
|
14
19
|
// +------------------------------------------+
|
|
@@ -30,7 +35,7 @@ let GetNormalizedPointExecution = class GetNormalizedPointExecution {
|
|
|
30
35
|
// Transform from the browser window to the canvas coordinates:
|
|
31
36
|
handle(request) {
|
|
32
37
|
return Point.fromPoint(request.position)
|
|
33
|
-
.elementTransform(this.
|
|
38
|
+
.elementTransform(this._store.flowHost)
|
|
34
39
|
.sub(this._transform.scaledPosition)
|
|
35
40
|
.sub(this._transform.position)
|
|
36
41
|
.div(this._transform.scale);
|
|
@@ -45,4 +50,4 @@ export { GetNormalizedPointExecution };
|
|
|
45
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedPointExecution, decorators: [{
|
|
46
51
|
type: Injectable
|
|
47
52
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQvZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQXdCLE1BQU0sa0JBQWtCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFHSSxJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQUVyQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbkQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxnQkFBZ0I7SUFDaEIsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtEQUErRDtJQUN4RCxNQUFNLENBQUMsT0FBa0M7UUFDOUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7YUFDckMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDdEMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2FBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQS9CVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjs7QUFBM0IsMkJBQTJCO0lBRHZDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDO0dBQ2pDLDJCQUEyQixDQWdDdkM7OzRGQWhDWSwyQkFBMkI7a0JBRnZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7RkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb259IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHJldHJpZXZlcyB0aGUgbm9ybWFsaXplZCBwb2ludCBvZiBhIHBvc2l0aW9uLlxuICogSXQgY2FsY3VsYXRlcyB0aGUgcG9pbnQgYmFzZWQgb24gdGhlIHBvc2l0aW9uJ3MgdHJhbnNmb3JtYXRpb25cbiAqIGFuZCB0aGUgY2FudmFzIHRyYW5zZm9ybWF0aW9uLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZFBvaW50RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0LCBJUG9pbnQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuICAvLyBCcm93c2VyV2luZG93XG4gIC8vICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gIC8vIHwgIEYtRmxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gIC8vIHwgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICB8XG4gIC8vIHwgIHwgIEYtQ2FudmFzIChzY2FsZTogMC41KSAgICAgICAgICAgfCAgICB8XG4gIC8vIHwgIHwgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICBFbGVtZW50ICAgICAgICAgICAgICAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICBTeXN0ZW06ICg1MDAsMzAwKSAgICAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICBOb3JtYWxpemU6ICgyMDAsMTUwKSAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICB8XG4gIC8vIHwgIHwgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgfCAgICB8XG4gIC8vIHwgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICB8XG4gIC8vIHwgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICB8XG4gIC8vIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gIC8vICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG4gIC8vIFRyYW5zZm9ybSBmcm9tIHRoZSBicm93c2VyIHdpbmRvdyB0byB0aGUgY2FudmFzIGNvb3JkaW5hdGVzOlxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5wb3NpdGlvbilcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX3N0b3JlLmZsb3dIb3N0KVxuICAgICAgLnN1Yih0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pXG4gICAgICAuc3ViKHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbilcbiAgICAgIC5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxufVxuIl19
|
|
@@ -15,6 +15,12 @@ import { F_NODE_FEATURES } from './f-node';
|
|
|
15
15
|
import { F_LINE_ALIGNMENT_FEATURES } from './f-line-alignment';
|
|
16
16
|
import { F_ZOOM_FEATURES } from './f-zoom';
|
|
17
17
|
import { GetNormalizedConnectorRectExecution } from "./get-normalized-connector-rect";
|
|
18
|
+
/**
|
|
19
|
+
* This module provides a collection of common providers for the FFlow domain.
|
|
20
|
+
* It includes features related to canvas, connections, background, connectors,
|
|
21
|
+
* draggable elements, flow, line alignment, nodes, selection, zoom,
|
|
22
|
+
* and various utility executions.
|
|
23
|
+
*/
|
|
18
24
|
export const COMMON_PROVIDERS = [
|
|
19
25
|
...F_CANVAS_FEATURES,
|
|
20
26
|
...F_CONNECTION_FEATURES,
|
|
@@ -37,4 +43,4 @@ export const COMMON_PROVIDERS = [
|
|
|
37
43
|
UpdateItemAndChildrenLayersExecution,
|
|
38
44
|
MoveFrontElementsBeforeTargetElementExecution,
|
|
39
45
|
];
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hGLE9BQU8sRUFDTCw2Q0FBNkMsRUFDN0Msb0NBQW9DLEVBQ3JDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDaEgsT0FBTyxFQUFDLHNDQUFzQyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDNUYsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFcEY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUU5QixHQUFHLGlCQUFpQjtJQUVwQixHQUFHLHFCQUFxQjtJQUV4QixHQUFHLHFCQUFxQjtJQUV4QixHQUFHLHFCQUFxQjtJQUV4QixHQUFHLG9CQUFvQjtJQUV2QixHQUFHLGVBQWU7SUFFbEIsR0FBRyx5QkFBeUI7SUFFNUIsR0FBRyxlQUFlO0lBRWxCLDhCQUE4QjtJQUU5QixHQUFHLG9CQUFvQjtJQUV2QixHQUFHLGVBQWU7SUFFbEIsc0NBQXNDO0lBRXRDLG1DQUFtQztJQUVuQyxpQ0FBaUM7SUFFakMsMkJBQTJCO0lBRTNCLHVCQUF1QjtJQUV2QiwwQkFBMEI7SUFFMUIsdUJBQXVCO0lBRXZCLG9DQUFvQztJQUVwQyw2Q0FBNkM7Q0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0RXhlY3V0aW9ufSBmcm9tICcuL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdCc7XG5pbXBvcnQge1xuICBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRFeGVjdXRpb24sXG4gIFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc0V4ZWN1dGlvblxufSBmcm9tICcuL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMnO1xuaW1wb3J0IHtHZXROb3JtYWxpemVkUG9pbnRFeGVjdXRpb259IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQnO1xuaW1wb3J0IHtTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbiwgU29ydEl0ZW1zQnlQYXJlbnRFeGVjdXRpb24sIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9ufSBmcm9tICcuL3NvcnQtaXRlbS1sYXllcnMnO1xuaW1wb3J0IHtHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc0V4ZWN1dGlvbn0gZnJvbSAnLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7R2V0RWxlbWVudFJvdW5kZWRSZWN0RXhlY3V0aW9ufSBmcm9tICcuL2dldC1lbGVtZW50LXJvdW5kZWQtcmVjdCc7XG5pbXBvcnQge0ZfU0VMRUNUSU9OX0ZFQVRVUkVTfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7Rl9CQUNLR1JPVU5EX0ZFQVRVUkVTfSBmcm9tICcuL2YtYmFja2dyb3VuZCc7XG5pbXBvcnQge0ZfQ0FOVkFTX0ZFQVRVUkVTfSBmcm9tICcuL2YtY2FudmFzJztcbmltcG9ydCB7Rl9DT05ORUNUSU9OX0ZFQVRVUkVTfSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQge0ZfQ09OTkVDVE9SU19GRUFUVVJFU30gZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtGX0ZMT1dfRkVBVFVSRVN9IGZyb20gJy4vZi1mbG93JztcbmltcG9ydCB7Rl9EUkFHR0FCTEVfRkVBVFVSRVN9IGZyb20gJy4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHtGX05PREVfRkVBVFVSRVN9IGZyb20gJy4vZi1ub2RlJztcbmltcG9ydCB7Rl9MSU5FX0FMSUdOTUVOVF9GRUFUVVJFU30gZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7Rl9aT09NX0ZFQVRVUkVTfSBmcm9tICcuL2Ytem9vbSc7XG5pbXBvcnQge0dldE5vcm1hbGl6ZWRDb25uZWN0b3JSZWN0RXhlY3V0aW9ufSBmcm9tIFwiLi9nZXQtbm9ybWFsaXplZC1jb25uZWN0b3ItcmVjdFwiO1xuXG4vKipcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29sbGVjdGlvbiBvZiBjb21tb24gcHJvdmlkZXJzIGZvciB0aGUgRkZsb3cgZG9tYWluLlxuICogSXQgaW5jbHVkZXMgZmVhdHVyZXMgcmVsYXRlZCB0byBjYW52YXMsIGNvbm5lY3Rpb25zLCBiYWNrZ3JvdW5kLCBjb25uZWN0b3JzLFxuICogZHJhZ2dhYmxlIGVsZW1lbnRzLCBmbG93LCBsaW5lIGFsaWdubWVudCwgbm9kZXMsIHNlbGVjdGlvbiwgem9vbSxcbiAqIGFuZCB2YXJpb3VzIHV0aWxpdHkgZXhlY3V0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTU1PTl9QUk9WSURFUlMgPSBbXG5cbiAgLi4uRl9DQU5WQVNfRkVBVFVSRVMsXG5cbiAgLi4uRl9DT05ORUNUSU9OX0ZFQVRVUkVTLFxuXG4gIC4uLkZfQkFDS0dST1VORF9GRUFUVVJFUyxcblxuICAuLi5GX0NPTk5FQ1RPUlNfRkVBVFVSRVMsXG5cbiAgLi4uRl9EUkFHR0FCTEVfRkVBVFVSRVMsXG5cbiAgLi4uRl9GTE9XX0ZFQVRVUkVTLFxuXG4gIC4uLkZfTElORV9BTElHTk1FTlRfRkVBVFVSRVMsXG5cbiAgLi4uRl9OT0RFX0ZFQVRVUkVTLFxuXG4gIEdldEVsZW1lbnRSb3VuZGVkUmVjdEV4ZWN1dGlvbixcblxuICAuLi5GX1NFTEVDVElPTl9GRUFUVVJFUyxcblxuICAuLi5GX1pPT01fRkVBVFVSRVMsXG5cbiAgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNFeGVjdXRpb24sXG5cbiAgR2V0Tm9ybWFsaXplZENvbm5lY3RvclJlY3RFeGVjdXRpb24sXG5cbiAgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0RXhlY3V0aW9uLFxuXG4gIEdldE5vcm1hbGl6ZWRQb2ludEV4ZWN1dGlvbixcblxuICBTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbixcblxuICBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbixcblxuICBTb3J0Tm9kZUxheWVyc0V4ZWN1dGlvbixcblxuICBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNFeGVjdXRpb24sXG5cbiAgTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50RXhlY3V0aW9uLFxuXTtcbiJdfQ==
|
|
@@ -6,19 +6,26 @@ import { SortNodeLayersRequest } from './sort-node-layers-by-groups';
|
|
|
6
6
|
import { SortItemsByParentRequest } from './sort-items-by-parent';
|
|
7
7
|
import { FComponentsStore } from '../../f-storage';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Execution that sorts item layers in the FCanvas by their parent nodes.
|
|
11
|
+
* This execution is registered to handle SortItemLayersRequest and
|
|
12
|
+
* ensures that items are sorted correctly within their parent nodes.
|
|
13
|
+
* It first sorts items by their parent nodes in the groups container,
|
|
14
|
+
* then sorts the node layers, and finally sorts items by their parent nodes in the nodes container.
|
|
15
|
+
*/
|
|
9
16
|
let SortItemLayersExecution = class SortItemLayersExecution {
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
_store = inject(FComponentsStore);
|
|
18
|
+
_mediator = inject(FMediator);
|
|
12
19
|
get _fCanvas() {
|
|
13
|
-
return this.
|
|
20
|
+
return this._store.fCanvas;
|
|
14
21
|
}
|
|
15
22
|
handle(request) {
|
|
16
|
-
if (!this.
|
|
23
|
+
if (!this._store.fCanvas) {
|
|
17
24
|
return;
|
|
18
25
|
}
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
26
|
+
this._mediator.execute(new SortItemsByParentRequest(this._fCanvas.fGroupsContainer().nativeElement));
|
|
27
|
+
this._mediator.execute(new SortNodeLayersRequest());
|
|
28
|
+
this._mediator.execute(new SortItemsByParentRequest(this._fCanvas.fNodesContainer().nativeElement));
|
|
22
29
|
}
|
|
23
30
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortItemLayersExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
31
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortItemLayersExecution });
|
|
@@ -30,4 +37,4 @@ export { SortItemLayersExecution };
|
|
|
30
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortItemLayersExecution, decorators: [{
|
|
31
38
|
type: Injectable
|
|
32
39
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtaXRlbS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBR25EOzs7Ozs7R0FNRztBQUdJLElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9DLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBOEI7UUFDMUMsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUkscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7d0dBaEJVLHVCQUF1Qjs0R0FBdkIsdUJBQXVCOztBQUF2Qix1QkFBdUI7SUFEbkMsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7R0FDN0IsdUJBQXVCLENBaUJuQzs7NEZBakJZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnRJdGVtTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4vc29ydC1pdGVtLWxheWVycy5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4vc29ydC1ub2RlLWxheWVycy1ieS1ncm91cHMnO1xuaW1wb3J0IHsgU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0IH0gZnJvbSAnLi9zb3J0LWl0ZW1zLWJ5LXBhcmVudCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vLi4vZi1jYW52YXMnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNvcnRzIGl0ZW0gbGF5ZXJzIGluIHRoZSBGQ2FudmFzIGJ5IHRoZWlyIHBhcmVudCBub2Rlcy5cbiAqIFRoaXMgZXhlY3V0aW9uIGlzIHJlZ2lzdGVyZWQgdG8gaGFuZGxlIFNvcnRJdGVtTGF5ZXJzUmVxdWVzdCBhbmRcbiAqIGVuc3VyZXMgdGhhdCBpdGVtcyBhcmUgc29ydGVkIGNvcnJlY3RseSB3aXRoaW4gdGhlaXIgcGFyZW50IG5vZGVzLlxuICogSXQgZmlyc3Qgc29ydHMgaXRlbXMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBncm91cHMgY29udGFpbmVyLFxuICogdGhlbiBzb3J0cyB0aGUgbm9kZSBsYXllcnMsIGFuZCBmaW5hbGx5IHNvcnRzIGl0ZW1zIGJ5IHRoZWlyIHBhcmVudCBub2RlcyBpbiB0aGUgbm9kZXMgY29udGFpbmVyLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNvcnRJdGVtTGF5ZXJzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U29ydEl0ZW1MYXllcnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU29ydEl0ZW1MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYoIXRoaXMuX3N0b3JlLmZDYW52YXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0KHRoaXMuX2ZDYW52YXMuZkdyb3Vwc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQpKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTb3J0Tm9kZUxheWVyc1JlcXVlc3QoKSk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0KHRoaXMuX2ZDYW52YXMuZk5vZGVzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudCkpO1xuICB9XG59XG4iXX0=
|
package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs
CHANGED
|
@@ -6,10 +6,15 @@ import { FComponentsStore } from '../../../f-storage';
|
|
|
6
6
|
import { GetDeepChildrenNodesAndGroupsRequest } from '../../get-deep-children-nodes-and-groups';
|
|
7
7
|
import { BrowserService } from '@foblex/platform';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Execution that sorts items by their parent nodes in the FItemsContainer.
|
|
11
|
+
* It retrieves all items within the container, sorts their children based on their current order,
|
|
12
|
+
* and moves them to maintain the correct hierarchy.
|
|
13
|
+
*/
|
|
9
14
|
let SortItemsByParentExecution = class SortItemsByParentExecution {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
_store = inject(FComponentsStore);
|
|
16
|
+
_mediator = inject(FMediator);
|
|
17
|
+
_browser = inject(BrowserService);
|
|
13
18
|
_fItemsContainer;
|
|
14
19
|
get _fItemElements() {
|
|
15
20
|
return Array.from(this._fItemsContainer.children);
|
|
@@ -21,7 +26,7 @@ let SortItemsByParentExecution = class SortItemsByParentExecution {
|
|
|
21
26
|
});
|
|
22
27
|
}
|
|
23
28
|
_getItemsOfContainer() {
|
|
24
|
-
return this.
|
|
29
|
+
return this._store.fNodes
|
|
25
30
|
.filter((x) => this._fItemsContainer.contains(x.hostElement));
|
|
26
31
|
}
|
|
27
32
|
_getSortedChildrenItems(fItem) {
|
|
@@ -31,12 +36,12 @@ let SortItemsByParentExecution = class SortItemsByParentExecution {
|
|
|
31
36
|
.sort((a, b) => this._fItemElements.indexOf(a) - this._fItemElements.indexOf(b));
|
|
32
37
|
}
|
|
33
38
|
_getChildrenItems(fId) {
|
|
34
|
-
return this.
|
|
39
|
+
return this._mediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId))
|
|
35
40
|
.filter((x) => this._fItemsContainer.contains(x.hostElement)).map((x) => x.hostElement);
|
|
36
41
|
}
|
|
37
42
|
_moveChildrenItems(sortedChildrenItems, parent) {
|
|
38
43
|
let nextSibling = parent.hostElement.nextElementSibling;
|
|
39
|
-
const fragment = this.
|
|
44
|
+
const fragment = this._browser.document.createDocumentFragment();
|
|
40
45
|
sortedChildrenItems.forEach((child) => {
|
|
41
46
|
fragment.appendChild(child); // Append automatically removes the element from its current position
|
|
42
47
|
});
|
|
@@ -52,4 +57,4 @@ export { SortItemsByParentExecution };
|
|
|
52
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortItemsByParentExecution, decorators: [{
|
|
53
58
|
type: Injectable
|
|
54
59
|
}] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy1ieS1wYXJlbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc29ydC1pdGVtLWxheWVycy9zb3J0LWl0ZW1zLWJ5LXBhcmVudC9zb3J0LWl0ZW1zLWJ5LXBhcmVudC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxEOzs7O0dBSUc7QUFHSSxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQUVwQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLGdCQUFnQixDQUFlO0lBRXZDLElBQVksY0FBYztRQUN4QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBa0IsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixLQUFnQjtRQUVoQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkMsTUFBTSxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7YUFDckYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8saUJBQWlCLENBQUMsR0FBVztRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdEYsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsbUJBQWtDLEVBQ2xDLE1BQWlCO1FBRWpCLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFFeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVqRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBbERVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBbUR0Qzs7NEZBbkRZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCB9IGZyb20gJy4vc29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgaXRlbXMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGSXRlbXNDb250YWluZXIuXG4gKiBJdCByZXRyaWV2ZXMgYWxsIGl0ZW1zIHdpdGhpbiB0aGUgY29udGFpbmVyLCBzb3J0cyB0aGVpciBjaGlsZHJlbiBiYXNlZCBvbiB0aGVpciBjdXJyZW50IG9yZGVyLFxuICogYW5kIG1vdmVzIHRoZW0gdG8gbWFpbnRhaW4gdGhlIGNvcnJlY3QgaGllcmFyY2h5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2ZJdGVtc0NvbnRhaW5lciE6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgZ2V0IF9mSXRlbUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ZJdGVtc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZkl0ZW1zQ29udGFpbmVyID0gcmVxdWVzdC5mSXRlbXNDb250YWluZXI7XG4gICAgdGhpcy5fZ2V0SXRlbXNPZkNvbnRhaW5lcigpLmZvckVhY2goKGZJdGVtOiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHRoaXMuX21vdmVDaGlsZHJlbkl0ZW1zKHRoaXMuX2dldFNvcnRlZENoaWxkcmVuSXRlbXMoZkl0ZW0pLCBmSXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtc09mQ29udGFpbmVyKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mSXRlbXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U29ydGVkQ2hpbGRyZW5JdGVtcyhcbiAgICBmSXRlbTogRk5vZGVCYXNlLFxuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBpbmRleEluQ29udGFpbmVyID0gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGZJdGVtLmhvc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2hpbGRyZW5JdGVtcyhmSXRlbS5mSWQoKSlcbiAgICAgIC5maWx0ZXIoKGNoaWxkOiBIVE1MRWxlbWVudCkgPT4gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGNoaWxkKSA8IGluZGV4SW5Db250YWluZXIpXG4gICAgICAuc29ydCgoYSwgYikgPT4gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGEpIC0gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuSXRlbXMoZklkOiBzdHJpbmcpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKVxuICAgICAgLmZpbHRlcigoeCkgPT4gdGhpcy5fZkl0ZW1zQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKS5tYXAoKHgpID0+IHguaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbW92ZUNoaWxkcmVuSXRlbXMoXG4gICAgc29ydGVkQ2hpbGRyZW5JdGVtczogSFRNTEVsZW1lbnRbXSxcbiAgICBwYXJlbnQ6IEZOb2RlQmFzZSxcbiAgKTogdm9pZCB7XG4gICAgbGV0IG5leHRTaWJsaW5nID0gcGFyZW50Lmhvc3RFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcblxuICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy5fYnJvd3Nlci5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICBzb3J0ZWRDaGlsZHJlbkl0ZW1zLmZvckVhY2goKGNoaWxkOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOyAvLyBBcHBlbmQgYXV0b21hdGljYWxseSByZW1vdmVzIHRoZSBlbGVtZW50IGZyb20gaXRzIGN1cnJlbnQgcG9zaXRpb25cbiAgICB9KTtcbiAgICB0aGlzLl9mSXRlbXNDb250YWluZXIuaW5zZXJ0QmVmb3JlKGZyYWdtZW50LCBuZXh0U2libGluZyk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs
CHANGED
|
@@ -6,12 +6,17 @@ import { FComponentsStore } from '../../../f-storage';
|
|
|
6
6
|
import { GetDeepChildrenNodesAndGroupsRequest } from '../../get-deep-children-nodes-and-groups';
|
|
7
7
|
import { BrowserService } from '@foblex/platform';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Execution that sorts node layers by their parent nodes in the FCanvas.
|
|
11
|
+
* It retrieves all groups, sorts their children nodes based on their current order,
|
|
12
|
+
* and moves them to maintain the correct hierarchy.
|
|
13
|
+
*/
|
|
9
14
|
let SortNodeLayersExecution = class SortNodeLayersExecution {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
_store = inject(FComponentsStore);
|
|
16
|
+
_mediator = inject(FMediator);
|
|
17
|
+
_browser = inject(BrowserService);
|
|
13
18
|
get _fCanvas() {
|
|
14
|
-
return this.
|
|
19
|
+
return this._store.fCanvas;
|
|
15
20
|
}
|
|
16
21
|
get _fGroupsContainer() {
|
|
17
22
|
return this._fCanvas.fGroupsContainer().nativeElement;
|
|
@@ -28,7 +33,7 @@ let SortNodeLayersExecution = class SortNodeLayersExecution {
|
|
|
28
33
|
});
|
|
29
34
|
}
|
|
30
35
|
_getGroups() {
|
|
31
|
-
return this.
|
|
36
|
+
return this._store.fNodes
|
|
32
37
|
.filter((x) => this._fGroupsContainer.contains(x.hostElement));
|
|
33
38
|
}
|
|
34
39
|
_getSortedChildrenNodes(parent) {
|
|
@@ -37,11 +42,11 @@ let SortNodeLayersExecution = class SortNodeLayersExecution {
|
|
|
37
42
|
.sort((a, b) => allElements.indexOf(a) - allElements.indexOf(b));
|
|
38
43
|
}
|
|
39
44
|
_getChildrenNodes(fId) {
|
|
40
|
-
return this.
|
|
45
|
+
return this._mediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId))
|
|
41
46
|
.filter((x) => this._fNodesContainer.contains(x.hostElement)).map((x) => x.hostElement);
|
|
42
47
|
}
|
|
43
48
|
_moveChildrenNodes(sortedChildrenGroups) {
|
|
44
|
-
const fragment = this.
|
|
49
|
+
const fragment = this._browser.document.createDocumentFragment();
|
|
45
50
|
sortedChildrenGroups.forEach((childGroup) => {
|
|
46
51
|
fragment.appendChild(childGroup); // Append automatically removes the element from its current position
|
|
47
52
|
});
|
|
@@ -57,4 +62,4 @@ export { SortNodeLayersExecution };
|
|
|
57
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortNodeLayersExecution, decorators: [{
|
|
58
63
|
type: Injectable
|
|
59
64
|
}] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ub2RlLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzL3NvcnQtbm9kZS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdsRDs7OztHQUlHO0FBR0ksSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQWtCLENBQUM7SUFDckUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLE1BQWlCO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixvQkFBbUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt3R0F0RFUsdUJBQXVCOzRHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0F1RG5DOzs0RkF2RFksdUJBQXVCO2tCQUZuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydE5vZGVMYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi9zb3J0LW5vZGUtbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNhbnZhcyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgbm9kZSBsYXllcnMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGQ2FudmFzLlxuICogSXQgcmV0cmlldmVzIGFsbCBncm91cHMsIHNvcnRzIHRoZWlyIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgb3JkZXIsXG4gKiBhbmQgbW92ZXMgdGhlbSB0byBtYWludGFpbiB0aGUgY29ycmVjdCBoaWVyYXJjaHkuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydE5vZGVMYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0Tm9kZUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEdyb3VwcygpLmZvckVhY2goKHBhcmVudDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICB0aGlzLl9tb3ZlQ2hpbGRyZW5Ob2Rlcyh0aGlzLl9nZXRTb3J0ZWRDaGlsZHJlbk5vZGVzKHBhcmVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0R3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNvcnRlZENoaWxkcmVuTm9kZXMoXG4gICAgcGFyZW50OiBGTm9kZUJhc2UsXG4gICk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gdGhpcy5fZk5vZGVFbGVtZW50cztcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2RlcyhwYXJlbnQuZklkKCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mTm9kZXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9tb3ZlQ2hpbGRyZW5Ob2RlcyhcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3VwczogSFRNTEVsZW1lbnRbXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSB0aGlzLl9icm93c2VyLmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3Vwcy5mb3JFYWNoKChjaGlsZEdyb3VwOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY2hpbGRHcm91cCk7IC8vIEFwcGVuZCBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIGVsZW1lbnQgZnJvbSBpdHMgY3VycmVudCBwb3NpdGlvblxuICAgIH0pO1xuICAgIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,10 @@ import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elemen
|
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Execution that moves elements in the FItemsContainer before a target element.
|
|
8
|
+
* It removes elements that should not be in front and inserts them before the target element.
|
|
9
|
+
*/
|
|
6
10
|
let MoveFrontElementsBeforeTargetElementExecution = class MoveFrontElementsBeforeTargetElementExecution {
|
|
7
11
|
handle(request) {
|
|
8
12
|
const elementsToMove = [];
|
|
@@ -27,4 +31,4 @@ export { MoveFrontElementsBeforeTargetElementExecution };
|
|
|
27
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MoveFrontElementsBeforeTargetElementExecution, decorators: [{
|
|
28
32
|
type: Injectable
|
|
29
33
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudC9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFOzs7R0FHRztBQUdJLElBQU0sNkNBQTZDLEdBQW5ELE1BQU0sNkNBQTZDO0lBRWpELE1BQU0sQ0FBQyxPQUFvRDtRQUNoRSxNQUFNLGNBQWMsR0FBYyxFQUFFLENBQUM7UUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxRSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQzNELGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUM7UUFDRCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsT0FBTyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBRSxDQUFDLENBQUM7UUFDdEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQWRVLDZDQUE2Qzs0R0FBN0MsNkNBQTZDOztBQUE3Qyw2Q0FBNkM7SUFEekQsa0JBQWtCLENBQUMsMkNBQTJDLENBQUM7R0FDbkQsNkNBQTZDLENBZXpEOzs0RkFmWSw2Q0FBNkM7a0JBRnpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IG1vdmVzIGVsZW1lbnRzIGluIHRoZSBGSXRlbXNDb250YWluZXIgYmVmb3JlIGEgdGFyZ2V0IGVsZW1lbnQuXG4gKiBJdCByZW1vdmVzIGVsZW1lbnRzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBmcm9udCBhbmQgaW5zZXJ0cyB0aGVtIGJlZm9yZSB0aGUgdGFyZ2V0IGVsZW1lbnQuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPE1vdmVGcm9udEVsZW1lbnRzQmVmb3JlVGFyZ2V0RWxlbWVudFJlcXVlc3QsIHZvaWQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE1vdmVGcm9udEVsZW1lbnRzQmVmb3JlVGFyZ2V0RWxlbWVudFJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50c1RvTW92ZTogRWxlbWVudFtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IHJlcXVlc3QudGFyZ2V0SW5kZXggKyAxOyBpIDwgcmVxdWVzdC5hbGxFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHJlcXVlc3QuYWxsRWxlbWVudHNbIGkgXTtcbiAgICAgIGlmICghcmVxdWVzdC5lbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQuaW5jbHVkZXMoZWxlbWVudCkpIHtcbiAgICAgICAgZWxlbWVudHNUb01vdmUucHVzaChlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxlbWVudHNUb01vdmUuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgcmVxdWVzdC5mSXRlbXNDb250YWluZXIucmVtb3ZlQ2hpbGQoeCk7XG4gICAgICByZXF1ZXN0LmZJdGVtc0NvbnRhaW5lci5pbnNlcnRCZWZvcmUoeCwgcmVxdWVzdC5hbGxFbGVtZW50c1sgcmVxdWVzdC50YXJnZXRJbmRleCBdKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs
CHANGED
|
@@ -6,11 +6,15 @@ import { FComponentsStore } from '../../f-storage';
|
|
|
6
6
|
import { GetDeepChildrenNodesAndGroupsRequest } from '../get-deep-children-nodes-and-groups';
|
|
7
7
|
import { MoveFrontElementsBeforeTargetElementRequest } from './move-front-elements-before-target-element';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Execution that updates the layers of an item and its children in the FCanvas.
|
|
11
|
+
* It handles different item containers (groups, nodes, connections) and updates their layers accordingly.
|
|
12
|
+
*/
|
|
9
13
|
let UpdateItemAndChildrenLayersExecution = class UpdateItemAndChildrenLayersExecution {
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
_store = inject(FComponentsStore);
|
|
15
|
+
_mediator = inject(FMediator);
|
|
12
16
|
get _fCanvas() {
|
|
13
|
-
return this.
|
|
17
|
+
return this._store.fCanvas;
|
|
14
18
|
}
|
|
15
19
|
get _fGroupsContainer() {
|
|
16
20
|
return this._fCanvas.fGroupsContainer().nativeElement;
|
|
@@ -57,7 +61,7 @@ let UpdateItemAndChildrenLayersExecution = class UpdateItemAndChildrenLayersExec
|
|
|
57
61
|
const allElements = Array.from(itemContainer.children);
|
|
58
62
|
const targetIndex = allElements.findIndex((x) => x === item);
|
|
59
63
|
if (this._isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront)) {
|
|
60
|
-
this.
|
|
64
|
+
this._mediator.execute(new MoveFrontElementsBeforeTargetElementRequest(itemContainer, allElements, elementsThatShouldBeInFront, targetIndex));
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
_isAnythingNeedToBeMoved(allElements, targetIndex, elementsThatShouldBeInFront) {
|
|
@@ -79,7 +83,7 @@ let UpdateItemAndChildrenLayersExecution = class UpdateItemAndChildrenLayersExec
|
|
|
79
83
|
.sort((a, b) => allElements.indexOf(a) - allElements.indexOf(b));
|
|
80
84
|
}
|
|
81
85
|
_getChildrenNodesAndGroups(fId) {
|
|
82
|
-
return this.
|
|
86
|
+
return this._mediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId)).map((x) => x.hostElement);
|
|
83
87
|
}
|
|
84
88
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
89
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateItemAndChildrenLayersExecution });
|
|
@@ -91,4 +95,4 @@ export { UpdateItemAndChildrenLayersExecution };
|
|
|
91
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, decorators: [{
|
|
92
96
|
type: Injectable
|
|
93
97
|
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBS25HLElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRTlCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLHNC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QVc7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBYyxJQUFJLG9DQUFvQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkgsQ0FBQzt3R0EzRlUsb0NBQW9DOzRHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0E0RmhEOzs0RkE1Rlksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdCB9IGZyb20gJy4uL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMnO1xuaW1wb3J0IHsgTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50UmVxdWVzdCB9IGZyb20gJy4vbW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQnO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi8uLi9mLWNhbnZhcyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyE7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkdyb3Vwc0NvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDYW52YXMuZkdyb3Vwc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mTm9kZXNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDb25uZWN0aW9uc0NvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDYW52YXMuZkNvbm5lY3Rpb25zQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuXG4gICAgc3dpdGNoIChyZXF1ZXN0Lml0ZW1Db250YWluZXIpIHtcbiAgICAgIGNhc2UgdGhpcy5fZkdyb3Vwc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlR3JvdXAocmVxdWVzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLl9mTm9kZXNDb250YWluZXI6XG4gICAgICAgIHRoaXMuX2hhbmRsZU5vZGUocmVxdWVzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSB0aGlzLl9mQ29ubmVjdGlvbnNDb250YWluZXI6XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbm5lY3Rpb24ocmVxdWVzdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGNvbnRhaW5lcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUdyb3VwKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGVzQW5kR3JvdXBzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlc0FuZEdyb3VwcyhyZXF1ZXN0Lml0ZW0uZklkKCkpO1xuICAgIGNvbnN0IGNoaWxkcmVuR3JvdXBzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Hcm91cHMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHRoaXMuX2ZHcm91cHNDb250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY2hpbGRyZW5Hcm91cHMpO1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKGNoaWxkcmVuTm9kZXNBbmRHcm91cHMpO1xuICAgIGlmIChjaGlsZHJlbk5vZGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHRoaXMuX2ZOb2Rlc0NvbnRhaW5lciwgY2hpbGRyZW5Ob2Rlc1sgMCBdLCBjaGlsZHJlbk5vZGVzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOb2RlKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGVzQW5kR3JvdXBzID0gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlc0FuZEdyb3VwcyhyZXF1ZXN0Lml0ZW0uZklkKCkpO1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKGNoaWxkcmVuTm9kZXNBbmRHcm91cHMpO1xuICAgIHRoaXMuX3VwZGF0ZUxheWVycyhyZXF1ZXN0Lml0ZW1Db250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgY2hpbGRyZW5Ob2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDb25uZWN0aW9uKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVMYXllcnMocmVxdWVzdC5pdGVtQ29udGFpbmVyLCByZXF1ZXN0Lml0ZW0uaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUxheWVycyhpdGVtQ29udGFpbmVyOiBIVE1MRWxlbWVudCwgaXRlbTogSFRNTEVsZW1lbnQsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udDogSFRNTEVsZW1lbnRbXSk6IHZvaWQge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gQXJyYXkuZnJvbShpdGVtQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gYWxsRWxlbWVudHMuZmluZEluZGV4KCh4KSA9PiB4ID09PSBpdGVtKTtcbiAgICBpZiAodGhpcy5faXNBbnl0aGluZ05lZWRUb0JlTW92ZWQoYWxsRWxlbWVudHMsIHRhcmdldEluZGV4LCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQpKSB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgICAgbmV3IE1vdmVGcm9udEVsZW1lbnRzQmVmb3JlVGFyZ2V0RWxlbWVudFJlcXVlc3QoaXRlbUNvbnRhaW5lciwgYWxsRWxlbWVudHMsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udCwgdGFyZ2V0SW5kZXgpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQW55dGhpbmdOZWVkVG9CZU1vdmVkKGFsbEVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLCB0YXJnZXRJbmRleDogbnVtYmVyLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQ6IEhUTUxFbGVtZW50W10pOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gdGFyZ2V0SW5kZXggKyAxOyBpIDwgYWxsRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250LmluY2x1ZGVzKGFsbEVsZW1lbnRzWyBpIF0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbkdyb3VwcyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuX2ZHcm91cHNDb250YWluZXIuY29udGFpbnMoeCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gICAgcmV0dXJuIGVsZW1lbnRzLmZpbHRlcigoeCkgPT4gdGhpcy5fZk5vZGVzQ29udGFpbmVyLmNvbnRhaW5zKHgpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFsbEVsZW1lbnRzLmluZGV4T2YoYSkgLSBhbGxFbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXNBbmRHcm91cHMoZklkOiBzdHJpbmcpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSkubWFwKCh4KSA9PiB4Lmhvc3RFbGVtZW50KTtcbiAgfVxufVxuIl19
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBRzFHOzs7R0FHRztBQUdJLElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRTlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9DLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVE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LENBQUMsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0SCxDQUFDO3dHQTNGVSxvQ0FBb0M7NEdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQTRGaEQ7OzRGQTVGWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudCc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uL2YtY2FudmFzJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCB1cGRhdGVzIHRoZSBsYXllcnMgb2YgYW4gaXRlbSBhbmQgaXRzIGNoaWxkcmVuIGluIHRoZSBGQ2FudmFzLlxuICogSXQgaGFuZGxlcyBkaWZmZXJlbnQgaXRlbSBjb250YWluZXJzIChncm91cHMsIG5vZGVzLCBjb25uZWN0aW9ucykgYW5kIHVwZGF0ZXMgdGhlaXIgbGF5ZXJzIGFjY29yZGluZ2x5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mQ29ubmVjdGlvbnNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG5cbiAgICBzd2l0Y2ggKHJlcXVlc3QuaXRlbUNvbnRhaW5lcikge1xuICAgICAgY2FzZSB0aGlzLl9mR3JvdXBzQ29udGFpbmVyOlxuICAgICAgICB0aGlzLl9oYW5kbGVHcm91cChyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlTm9kZShyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZDb25uZWN0aW9uc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlQ29ubmVjdGlvbihyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gY29udGFpbmVyJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlR3JvdXAocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Hcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbkdyb3VwcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZkdyb3Vwc0NvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbkdyb3Vwcyk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgaWYgKGNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZk5vZGVzQ29udGFpbmVyLCBjaGlsZHJlbk5vZGVzWyAwIF0sIGNoaWxkcmVuTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5vZGUocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHJlcXVlc3QuaXRlbUNvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbk5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNvbm5lY3Rpb24ocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUxheWVycyhyZXF1ZXN0Lml0ZW1Db250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGF5ZXJzKGl0ZW1Db250YWluZXI6IEhUTUxFbGVtZW50LCBpdGVtOiBIVE1MRWxlbWVudCwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSBBcnJheS5mcm9tKGl0ZW1Db250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBhbGxFbGVtZW50cy5maW5kSW5kZXgoKHgpID0+IHggPT09IGl0ZW0pO1xuICAgIGlmICh0aGlzLl9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50cywgdGFyZ2V0SW5kZXgsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udCkpIHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgIG5ldyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0KGl0ZW1Db250YWluZXIsIGFsbEVsZW1lbnRzLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQsIHRhcmdldEluZGV4KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50czogSFRNTEVsZW1lbnRbXSwgdGFyZ2V0SW5kZXg6IG51bWJlciwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IHRhcmdldEluZGV4ICsgMTsgaSA8IGFsbEVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIWVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udC5pbmNsdWRlcyhhbGxFbGVtZW50c1sgaSBdKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Hcm91cHMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZkdyb3Vwc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHgpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFsbEVsZW1lbnRzLmluZGV4T2YoYSkgLSBhbGxFbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZk5vZGVzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5jb250YWlucyh4KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhbGxFbGVtZW50cy5pbmRleE9mKGEpIC0gYWxsRWxlbWVudHMuaW5kZXhPZihiKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKGZJZDogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSkubWFwKCh4KSA9PiB4Lmhvc3RFbGVtZW50KTtcbiAgfVxufVxuIl19
|