@foblex/flow 17.1.1 → 17.2.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-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
- package/domain/f-connectors/providers.d.ts +1 -1
- package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
- package/domain/f-draggable/providers.d.ts +1 -1
- package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
- package/domain/f-event-trigger.d.ts +4 -0
- package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
- package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
- package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
- package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
- package/domain/f-selection/providers.d.ts +1 -1
- package/domain/index.d.ts +1 -0
- package/domain/providers.d.ts +1 -1
- package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
- package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
- package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
- package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
- package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
- package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +3 -3
- package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +2 -2
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +9 -9
- package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
- package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
- package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
- package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
- package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
- package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -2
- package/esm2022/domain/f-event-trigger.mjs +7 -0
- package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
- package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
- package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
- package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
- package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
- package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
- package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
- package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
- package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
- package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
- package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
- package/esm2022/domain/index.mjs +2 -1
- package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
- package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
- package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
- package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
- package/esm2022/f-backgroud/f-background.component.mjs +4 -4
- package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
- package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
- package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
- package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +31 -23
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +15 -14
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
- package/esm2022/f-draggable/connections/providers.mjs +3 -5
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -7
- package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
- package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
- package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
- package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
- package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
- package/esm2022/f-draggable/f-injector.mjs +19 -0
- package/esm2022/f-draggable/index.mjs +2 -1
- package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
- package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
- package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
- package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
- package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +27 -35
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +4 -4
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +33 -46
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +4 -4
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
- package/esm2022/f-draggable/node/index.mjs +4 -6
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
- package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
- package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
- package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
- package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
- package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
- package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
- package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
- package/esm2022/f-draggable/node/providers.mjs +3 -3
- package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
- package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
- package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
- package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
- package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
- package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
- package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
- package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
- package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
- package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
- package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
- package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
- package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
- package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
- package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
- package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
- package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
- package/esm2022/f-flow/f-flow.component.mjs +15 -15
- package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
- package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
- package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
- package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
- package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
- package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
- package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
- package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
- package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
- package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
- package/esm2022/f-node/f-group.directive.mjs +16 -10
- package/esm2022/f-node/f-node-base.mjs +1 -1
- package/esm2022/f-node/f-node.directive.mjs +16 -10
- package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
- package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
- package/esm2022/f-selection-area/domain/providers.mjs +5 -5
- package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
- package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
- package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
- package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
- package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
- package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
- package/esm2022/mixins/change-selection/index.mjs +2 -2
- package/f-connection/common/f-connection-base.d.ts +5 -5
- package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
- package/f-connection/providers.d.ts +1 -1
- package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
- package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
- package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -5
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
- package/f-draggable/connections/providers.d.ts +2 -2
- package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -4
- package/f-draggable/f-draggable-base.d.ts +4 -1
- package/f-draggable/f-draggable-data-context.d.ts +2 -2
- package/f-draggable/f-draggable.directive.d.ts +16 -3
- package/f-draggable/f-injector.d.ts +8 -0
- package/f-draggable/index.d.ts +1 -0
- package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
- package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
- package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
- package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
- package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +19 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +5 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +15 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts → calculate-node-move-limits/calculate-node-move-limits.request.d.ts} +1 -1
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +5 -10
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +4 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +8 -13
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +4 -4
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
- package/f-draggable/node/index.d.ts +3 -5
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
- package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
- package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
- package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
- package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
- package/f-draggable/node/node.drag-handler.d.ts +6 -9
- package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
- package/f-draggable/node/providers.d.ts +2 -1
- package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
- package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
- package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
- package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
- package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
- package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
- package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
- package/f-draggable/node-resize/providers.d.ts +2 -1
- package/f-draggable/node-resize/resize-direction.d.ts +16 -0
- package/f-draggable/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.execution.d.ts +54 -20
- package/f-draggable/single-select/single-select.request.d.ts +3 -1
- package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
- package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
- package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
- package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
- package/f-external-item/domain/providers.d.ts +1 -1
- package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
- package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
- package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
- package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
- package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
- package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
- package/f-minimap/domain/providers.d.ts +1 -1
- package/f-node/f-node-base.d.ts +3 -3
- package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
- package/f-node/providers.d.ts +1 -1
- package/f-selection-area/domain/providers.d.ts +3 -1
- package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
- package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
- package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
- package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
- package/f-selection-area/f-selection-area.component.d.ts +3 -1
- package/f-storage/providers.d.ts +1 -1
- package/fesm2022/foblex-flow.mjs +1160 -1156
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/mixins/change-selection/change-selection.d.ts +2 -2
- package/mixins/change-selection/i-selectable.d.ts +10 -0
- package/mixins/change-selection/index.d.ts +1 -1
- package/package.json +2 -2
- package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
- package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
- package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
- package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +0 -40
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +0 -7
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +0 -42
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +0 -9
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
- package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
- package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
- package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
- package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
- package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
- package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
- package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
- package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
- package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
- package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
- package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
- package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
- package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
- package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
- package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
- package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
- package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
- package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
- package/f-draggable/node/connection.drag-handler.d.ts +0 -14
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +0 -13
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +0 -5
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +0 -12
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
- package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
- package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
- package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
- package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
- package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
- package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
- package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
- package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
- package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
- package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
- package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
- package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
- package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
- package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
|
@@ -1,99 +1,130 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { FExecutionRegister } from '@foblex/mediator';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { FExecutionRegister, FMediator } from '@foblex/mediator';
|
|
4
4
|
import { SingleSelectRequest } from './single-select.request';
|
|
5
|
-
import { UpdateItemAndChildrenLayersRequest } from '../../domain';
|
|
6
|
-
import {
|
|
5
|
+
import { isValidEventTrigger, UpdateItemAndChildrenLayersRequest } from '../../domain';
|
|
6
|
+
import { FComponentsStore } from '../../f-storage';
|
|
7
|
+
import { FDraggableDataContext } from '../f-draggable-data-context';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Implements the functionality for selecting elements in a graphical interface.
|
|
11
|
+
* This class handles both single and multi-selection, updating the selection state
|
|
12
|
+
* of elements and managing related data.
|
|
13
|
+
*
|
|
14
|
+
* Logic flow:
|
|
15
|
+
* 1. **Validate the selection event**:
|
|
16
|
+
* - The event is considered valid if it occurs within the flow boundaries
|
|
17
|
+
* and there are no active draggable data operations.
|
|
18
|
+
*
|
|
19
|
+
* 2. **Determine the target element to select**:
|
|
20
|
+
* - The target element is determined based on the event’s target.
|
|
21
|
+
* It can be a node, a group of nodes, or a connection.
|
|
22
|
+
* - If no element is found, the current selection state is cleared.
|
|
23
|
+
*
|
|
24
|
+
* 3. **Update element layers**:
|
|
25
|
+
* - If an element is found, its visual layer and the layers of its child elements are updated.
|
|
26
|
+
*
|
|
27
|
+
* 4. **Single or multi-selection**:
|
|
28
|
+
* - If the event meets the criteria for multi-selection (e.g., a modifier key is pressed),
|
|
29
|
+
* multi-selection logic is applied.
|
|
30
|
+
* - Otherwise, single-selection logic is used.
|
|
31
|
+
*
|
|
32
|
+
* 5. **Single-selection logic**:
|
|
33
|
+
* - If the element is not selected and can be selected:
|
|
34
|
+
* - Clear the selection of all other elements.
|
|
35
|
+
* - Mark the current element as selected.
|
|
36
|
+
* - If the element cannot be selected, the current selection is cleared.
|
|
37
|
+
*
|
|
38
|
+
* 6. **Multi-selection logic**:
|
|
39
|
+
* - If the element is already selected, it is removed from the selection.
|
|
40
|
+
* - If the element is not selected and can be selected, it is added to the selection.
|
|
41
|
+
*
|
|
42
|
+
* 7. **Manage selection state**:
|
|
43
|
+
* - Adding or removing an element from the selection triggers the corresponding methods.
|
|
44
|
+
* - Selection state is tracked in the shared context for future use.
|
|
45
|
+
*/
|
|
12
46
|
let SingleSelectExecution = class SingleSelectExecution {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
fMediator;
|
|
17
|
-
constructor(fPlatform, fComponentsStore, fDraggableDataContext, fMediator) {
|
|
18
|
-
this.fPlatform = fPlatform;
|
|
19
|
-
this.fComponentsStore = fComponentsStore;
|
|
20
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
21
|
-
this.fMediator = fMediator;
|
|
22
|
-
}
|
|
47
|
+
_fMediator = inject(FMediator);
|
|
48
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
49
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
23
50
|
handle(request) {
|
|
24
51
|
if (!this._isValid(request)) {
|
|
25
52
|
return;
|
|
26
53
|
}
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.fMediator.send(new UpdateItemAndChildrenLayersRequest(item, item.hostElement.parentElement));
|
|
31
|
-
}
|
|
32
|
-
this.isMultiselectEnabled(event) ? this.multiSelect(item) : this.singleSelect(item);
|
|
54
|
+
const fItem = this._getItemToSelect(request.event);
|
|
55
|
+
setTimeout(() => this._updateItemAndChildrenLayers(fItem));
|
|
56
|
+
this._isMultiSelect(request) ? this._multiSelect(fItem) : this._singleSelect(fItem);
|
|
33
57
|
}
|
|
34
58
|
_isValid(request) {
|
|
35
|
-
return this.
|
|
36
|
-
&& !this.fDraggableDataContext.draggableItems.length;
|
|
59
|
+
return this._isEventInFlowBounds(request.event) && this._fDraggableDataContext.isEmpty();
|
|
37
60
|
}
|
|
38
|
-
|
|
39
|
-
return this.
|
|
61
|
+
_isEventInFlowBounds(event) {
|
|
62
|
+
return this._fComponentsStore.fFlow.hostElement.contains(event.targetElement);
|
|
40
63
|
}
|
|
41
|
-
|
|
42
|
-
return this.
|
|
64
|
+
_getItemToSelect(event) {
|
|
65
|
+
return this._getNodeOrGroup(event.targetElement) || this._getConnection(event.targetElement);
|
|
43
66
|
}
|
|
44
|
-
|
|
45
|
-
return this.
|
|
67
|
+
_getNodeOrGroup(targetElement) {
|
|
68
|
+
return this._fComponentsStore.fNodes.find((x) => (x).isContains(targetElement));
|
|
46
69
|
}
|
|
47
|
-
|
|
48
|
-
return this.
|
|
49
|
-
|
|
70
|
+
_getConnection(element) {
|
|
71
|
+
return this._fComponentsStore.fConnections
|
|
72
|
+
.find(c => c.isContains(element) || c.fConnectionCenter?.nativeElement?.contains(element));
|
|
50
73
|
}
|
|
51
|
-
|
|
52
|
-
|
|
74
|
+
_updateItemAndChildrenLayers(fItem) {
|
|
75
|
+
if (fItem) {
|
|
76
|
+
this._fMediator.execute(new UpdateItemAndChildrenLayersRequest(fItem, fItem.hostElement.parentElement));
|
|
77
|
+
}
|
|
53
78
|
}
|
|
54
|
-
|
|
55
|
-
return
|
|
79
|
+
_isMultiSelect(request) {
|
|
80
|
+
return isValidEventTrigger(request.event.originalEvent, request.fMultiSelectTrigger);
|
|
56
81
|
}
|
|
57
|
-
|
|
58
|
-
if (
|
|
59
|
-
if (
|
|
60
|
-
this.
|
|
61
|
-
this.
|
|
82
|
+
_singleSelect(fItem) {
|
|
83
|
+
if (fItem) {
|
|
84
|
+
if (this._isItemNotSelectedAndSelectable(fItem)) {
|
|
85
|
+
this._clearSelection();
|
|
86
|
+
this._selectItem(fItem);
|
|
62
87
|
}
|
|
63
|
-
else if (
|
|
64
|
-
this.
|
|
88
|
+
else if (fItem.fSelectionDisabled) {
|
|
89
|
+
this._clearSelection();
|
|
65
90
|
}
|
|
66
91
|
}
|
|
67
92
|
else {
|
|
68
|
-
this.
|
|
93
|
+
this._clearSelection();
|
|
69
94
|
}
|
|
70
95
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
item.isSelected() ? this.deselectItem(item) : this.selectItem(item);
|
|
74
|
-
}
|
|
96
|
+
_isItemNotSelectedAndSelectable(item) {
|
|
97
|
+
return !item.isSelected() && !item.fSelectionDisabled;
|
|
75
98
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.
|
|
99
|
+
_clearSelection() {
|
|
100
|
+
this._fDraggableDataContext.selectedItems.forEach((x) => {
|
|
101
|
+
x.unmarkAsSelected();
|
|
102
|
+
this._fDraggableDataContext.markSelectionAsChanged();
|
|
103
|
+
});
|
|
104
|
+
this._fDraggableDataContext.selectedItems = [];
|
|
105
|
+
}
|
|
106
|
+
_multiSelect(fItem) {
|
|
107
|
+
if (fItem && !fItem.fSelectionDisabled) {
|
|
108
|
+
fItem.isSelected() ? this._deselectItem(fItem) : this._selectItem(fItem);
|
|
80
109
|
}
|
|
81
|
-
item.deselect();
|
|
82
|
-
this.fDraggableDataContext.markSelectionAsChanged();
|
|
83
110
|
}
|
|
84
|
-
|
|
85
|
-
this.
|
|
86
|
-
|
|
87
|
-
this.
|
|
111
|
+
_deselectItem(fItem) {
|
|
112
|
+
this._removeItemFromSelectedItems(fItem);
|
|
113
|
+
fItem.unmarkAsSelected();
|
|
114
|
+
this._fDraggableDataContext.markSelectionAsChanged();
|
|
88
115
|
}
|
|
89
|
-
|
|
90
|
-
this.
|
|
91
|
-
|
|
92
|
-
this.
|
|
93
|
-
}
|
|
94
|
-
|
|
116
|
+
_removeItemFromSelectedItems(fItem) {
|
|
117
|
+
const indexInSelection = this._fDraggableDataContext.selectedItems.indexOf(fItem);
|
|
118
|
+
if (indexInSelection > -1) {
|
|
119
|
+
this._fDraggableDataContext.selectedItems.splice(indexInSelection, 1);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
_selectItem(fItem) {
|
|
123
|
+
this._fDraggableDataContext.selectedItems.push(fItem);
|
|
124
|
+
fItem.markAsSelected();
|
|
125
|
+
this._fDraggableDataContext.markSelectionAsChanged();
|
|
95
126
|
}
|
|
96
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, deps: [
|
|
127
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
97
128
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution });
|
|
98
129
|
};
|
|
99
130
|
SingleSelectExecution = __decorate([
|
|
@@ -102,5 +133,5 @@ SingleSelectExecution = __decorate([
|
|
|
102
133
|
export { SingleSelectExecution };
|
|
103
134
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SingleSelectExecution, decorators: [{
|
|
104
135
|
type: Injectable
|
|
105
|
-
}]
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUtsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQU05RCxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUd0QjtJQUNBO0lBQ0E7SUFDQTtJQUpWLFlBQ1UsU0FBMEIsRUFDMUIsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUhwQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQTRCO1FBQ3hDLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FB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bXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBFT3BlcmF0aW9uU3lzdGVtLCBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5DaGFuZ2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9taXhpbnMnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTaW5nbGVTZWxlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U2luZ2xlU2VsZWN0UmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZlBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2luZ2xlU2VsZWN0UmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgZXZlbnQgfSA9IHJlcXVlc3Q7XG5cbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRTZWxlY3RhYmxlSXRlbShldmVudCk7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QoaXRlbSwgaXRlbS5ob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50ISkpO1xuICAgIH1cblxuICAgIHRoaXMuaXNNdWx0aXNlbGVjdEVuYWJsZWQoZXZlbnQpID8gdGhpcy5tdWx0aVNlbGVjdChpdGVtKSA6IHRoaXMuc2luZ2xlU2VsZWN0KGl0ZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBTaW5nbGVTZWxlY3RSZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQuY29udGFpbnMocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KVxuICAgICAgJiYgIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0YWJsZUl0ZW0oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBJQ2FuQ2hhbmdlU2VsZWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZmluZE5vZGUoZXZlbnQudGFyZ2V0RWxlbWVudCkgfHwgdGhpcy5nZXRDb25uZWN0aW9uSGFuZGxlcihldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmROb2RlKHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKHRhcmdldEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29ubmVjdGlvbkhhbmRsZXIoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRkNvbm5lY3Rpb25CYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5maW5kKGMgPT4gYy5pc0NvbnRhaW5zKGVsZW1lbnQpIHx8IGMuZkNvbm5lY3Rpb25DZW50ZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKGVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNdWx0aXNlbGVjdEVuYWJsZWQoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbW1hbmRCdXR0b24odGhpcy5mUGxhdGZvcm0uZ2V0T1MoKSEsIGV2ZW50Lm9yaWdpbmFsRXZlbnQpIHx8XG4gICAgICB0aGlzLmlzU2hpZnRQcmVzc2VkKGV2ZW50Lm9yaWdpbmFsRXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NoaWZ0UHJlc3NlZChldmVudDogeyBzaGlmdEtleTogYm9vbGVhbiB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGV2ZW50LnNoaWZ0S2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbW1hbmRCdXR0b24ocGxhdGZvcm06IEVPcGVyYXRpb25TeXN0ZW0sIGV2ZW50OiB7IG1ldGFLZXk6IGJvb2xlYW4sIGN0cmxLZXk6IGJvb2xlYW4gfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwbGF0Zm9ybSA9PT0gRU9wZXJhdGlvblN5c3RlbS5NQUNfT1MgPyBldmVudC5tZXRhS2V5IDogZXZlbnQuY3RybEtleTtcbiAgfVxuXG4gIHByaXZhdGUgc2luZ2xlU2VsZWN0KGl0ZW06IElDYW5DaGFuZ2VTZWxlY3Rpb24gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgaWYgKCFpdGVtLmlzU2VsZWN0ZWQoKSAmJiAhaXRlbS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oaXRlbSk7XG4gICAgICB9IGVsc2UgaWYoaXRlbS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtdWx0aVNlbGVjdChpdGVtOiBJQ2FuQ2hhbmdlU2VsZWN0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0gJiYgIWl0ZW0uZlNlbGVjdGlvbkRpc2FibGVkKSB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQoKSA/IHRoaXMuZGVzZWxlY3RJdGVtKGl0ZW0pIDogdGhpcy5zZWxlY3RJdGVtKGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVzZWxlY3RJdGVtKGl0ZW06IElDYW5DaGFuZ2VTZWxlY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICBpdGVtLmRlc2VsZWN0KCk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQubWFya1NlbGVjdGlvbkFzQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJdGVtKGl0ZW06IElDYW5DaGFuZ2VTZWxlY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgaXRlbS5zZWxlY3QoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5tYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5kZXNlbGVjdCgpO1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQubWFya1NlbGVjdGlvbkFzQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgfVxufVxuIl19
|
|
136
|
+
}] });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL3NpbmdsZS1zZWxlY3Qvc2luZ2xlLXNlbGVjdC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBSXBFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFJSSxJQUFNLHFCQUFxQixHQUEzQixNQUFNLHFCQUFxQjtJQUV4QixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXhELE1BQU0sQ0FBQyxPQUE0QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFB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ckIscUJBQXFCO0lBRGpDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO0dBQzNCLHFCQUFxQixDQW9HakM7OzJGQXBHWSxxQkFBcUI7a0JBRmpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9zaW5nbGUtc2VsZWN0LnJlcXVlc3QnO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciwgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5cbi8qKlxuICogSW1wbGVtZW50cyB0aGUgZnVuY3Rpb25hbGl0eSBmb3Igc2VsZWN0aW5nIGVsZW1lbnRzIGluIGEgZ3JhcGhpY2FsIGludGVyZmFjZS5cbiAqIFRoaXMgY2xhc3MgaGFuZGxlcyBib3RoIHNpbmdsZSBhbmQgbXVsdGktc2VsZWN0aW9uLCB1cGRhdGluZyB0aGUgc2VsZWN0aW9uIHN0YXRlXG4gKiBvZiBlbGVtZW50cyBhbmQgbWFuYWdpbmcgcmVsYXRlZCBkYXRhLlxuICpcbiAqIExvZ2ljIGZsb3c6XG4gKiAxLiAqKlZhbGlkYXRlIHRoZSBzZWxlY3Rpb24gZXZlbnQqKjpcbiAqICAgIC0gVGhlIGV2ZW50IGlzIGNvbnNpZGVyZWQgdmFsaWQgaWYgaXQgb2NjdXJzIHdpdGhpbiB0aGUgZmxvdyBib3VuZGFyaWVzXG4gKiAgICAgIGFuZCB0aGVyZSBhcmUgbm8gYWN0aXZlIGRyYWdnYWJsZSBkYXRhIG9wZXJhdGlvbnMuXG4gKlxuICogMi4gKipEZXRlcm1pbmUgdGhlIHRhcmdldCBlbGVtZW50IHRvIHNlbGVjdCoqOlxuICogICAgLSBUaGUgdGFyZ2V0IGVsZW1lbnQgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgZXZlbnTigJlzIHRhcmdldC5cbiAqICAgICAgSXQgY2FuIGJlIGEgbm9kZSwgYSBncm91cCBvZiBub2Rlcywgb3IgYSBjb25uZWN0aW9uLlxuICogICAgLSBJZiBubyBlbGVtZW50IGlzIGZvdW5kLCB0aGUgY3VycmVudCBzZWxlY3Rpb24gc3RhdGUgaXMgY2xlYXJlZC5cbiAqXG4gKiAzLiAqKlVwZGF0ZSBlbGVtZW50IGxheWVycyoqOlxuICogICAgLSBJZiBhbiBlbGVtZW50IGlzIGZvdW5kLCBpdHMgdmlzdWFsIGxheWVyIGFuZCB0aGUgbGF5ZXJzIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBhcmUgdXBkYXRlZC5cbiAqXG4gKiA0LiAqKlNpbmdsZSBvciBtdWx0aS1zZWxlY3Rpb24qKjpcbiAqICAgIC0gSWYgdGhlIGV2ZW50IG1lZXRzIHRoZSBjcml0ZXJpYSBmb3IgbXVsdGktc2VsZWN0aW9uIChlLmcuLCBhIG1vZGlmaWVyIGtleSBpcyBwcmVzc2VkKSxcbiAqICAgICAgbXVsdGktc2VsZWN0aW9uIGxvZ2ljIGlzIGFwcGxpZWQuXG4gKiAgICAtIE90aGVyd2lzZSwgc2luZ2xlLXNlbGVjdGlvbiBsb2dpYyBpcyB1c2VkLlxuICpcbiAqIDUuICoqU2luZ2xlLXNlbGVjdGlvbiBsb2dpYyoqOlxuICogICAgLSBJZiB0aGUgZWxlbWVudCBpcyBub3Qgc2VsZWN0ZWQgYW5kIGNhbiBiZSBzZWxlY3RlZDpcbiAqICAgICAgLSBDbGVhciB0aGUgc2VsZWN0aW9uIG9mIGFsbCBvdGhlciBlbGVtZW50cy5cbiAqICAgICAgLSBNYXJrIHRoZSBjdXJyZW50IGVsZW1lbnQgYXMgc2VsZWN0ZWQuXG4gKiAgICAtIElmIHRoZSBlbGVtZW50IGNhbm5vdCBiZSBzZWxlY3RlZCwgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGlzIGNsZWFyZWQuXG4gKlxuICogNi4gKipNdWx0aS1zZWxlY3Rpb24gbG9naWMqKjpcbiAqICAgIC0gSWYgdGhlIGVsZW1lbnQgaXMgYWxyZWFkeSBzZWxlY3RlZCwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzZWxlY3Rpb24uXG4gKiAgICAtIElmIHRoZSBlbGVtZW50IGlzIG5vdCBzZWxlY3RlZCBhbmQgY2FuIGJlIHNlbGVjdGVkLCBpdCBpcyBhZGRlZCB0byB0aGUgc2VsZWN0aW9uLlxuICpcbiAqIDcuICoqTWFuYWdlIHNlbGVjdGlvbiBzdGF0ZSoqOlxuICogICAgLSBBZGRpbmcgb3IgcmVtb3ZpbmcgYW4gZWxlbWVudCBmcm9tIHRoZSBzZWxlY3Rpb24gdHJpZ2dlcnMgdGhlIGNvcnJlc3BvbmRpbmcgbWV0aG9kcy5cbiAqICAgIC0gU2VsZWN0aW9uIHN0YXRlIGlzIHRyYWNrZWQgaW4gdGhlIHNoYXJlZCBjb250ZXh0IGZvciBmdXR1cmUgdXNlLlxuICovXG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU2luZ2xlU2VsZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFNpbmdsZVNlbGVjdFJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTaW5nbGVTZWxlY3RSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZkl0ZW0gPSB0aGlzLl9nZXRJdGVtVG9TZWxlY3QocmVxdWVzdC5ldmVudCk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3VwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVycyhmSXRlbSkpO1xuXG4gICAgdGhpcy5faXNNdWx0aVNlbGVjdChyZXF1ZXN0KSA/IHRoaXMuX211bHRpU2VsZWN0KGZJdGVtKSA6IHRoaXMuX3NpbmdsZVNlbGVjdChmSXRlbSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKHJlcXVlc3Q6IFNpbmdsZVNlbGVjdFJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNFdmVudEluRmxvd0JvdW5kcyhyZXF1ZXN0LmV2ZW50KSAmJiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNFbXB0eSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNFdmVudEluRmxvd0JvdW5kcyhldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEl0ZW1Ub1NlbGVjdChldmVudDogSVBvaW50ZXJFdmVudCk6IElTZWxlY3RhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm9kZU9yR3JvdXAoZXZlbnQudGFyZ2V0RWxlbWVudCkgfHwgdGhpcy5fZ2V0Q29ubmVjdGlvbihldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVPckdyb3VwKHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4gKHgpLmlzQ29udGFpbnModGFyZ2V0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9uc1xuICAgICAgLmZpbmQoYyA9PiBjLmlzQ29udGFpbnMoZWxlbWVudCkgfHwgYy5mQ29ubmVjdGlvbkNlbnRlcj8ubmF0aXZlRWxlbWVudD8uY29udGFpbnMoZWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzKGZJdGVtPzogSVNlbGVjdGFibGUpOiB2b2lkIHtcbiAgICBpZiAoZkl0ZW0pIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgICBuZXcgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdChmSXRlbSwgZkl0ZW0uaG9zdEVsZW1lbnQucGFyZW50RWxlbWVudCEpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzTXVsdGlTZWxlY3QocmVxdWVzdDogU2luZ2xlU2VsZWN0UmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRXZlbnRUcmlnZ2VyKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCwgcmVxdWVzdC5mTXVsdGlTZWxlY3RUcmlnZ2VyKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2luZ2xlU2VsZWN0KGZJdGVtPzogSVNlbGVjdGFibGUpOiB2b2lkIHtcbiAgICBpZiAoZkl0ZW0pIHtcbiAgICAgIGlmICh0aGlzLl9pc0l0ZW1Ob3RTZWxlY3RlZEFuZFNlbGVjdGFibGUoZkl0ZW0pKSB7XG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuX3NlbGVjdEl0ZW0oZkl0ZW0pO1xuICAgICAgfSBlbHNlIGlmIChmSXRlbS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0l0ZW1Ob3RTZWxlY3RlZEFuZFNlbGVjdGFibGUoaXRlbTogSVNlbGVjdGFibGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWl0ZW0uaXNTZWxlY3RlZCgpICYmICFpdGVtLmZTZWxlY3Rpb25EaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2NsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgudW5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTtcbiAgICB9KTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfbXVsdGlTZWxlY3QoZkl0ZW0/OiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIGlmIChmSXRlbSAmJiAhZkl0ZW0uZlNlbGVjdGlvbkRpc2FibGVkKSB7XG4gICAgICBmSXRlbS5pc1NlbGVjdGVkKCkgPyB0aGlzLl9kZXNlbGVjdEl0ZW0oZkl0ZW0pIDogdGhpcy5fc2VsZWN0SXRlbShmSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVzZWxlY3RJdGVtKGZJdGVtOiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0ZWRJdGVtcyhmSXRlbSk7XG4gICAgZkl0ZW0udW5tYXJrQXNTZWxlY3RlZCgpO1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5tYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVJdGVtRnJvbVNlbGVjdGVkSXRlbXMoZkl0ZW06IElTZWxlY3RhYmxlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXhJblNlbGVjdGlvbiA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoZkl0ZW0pO1xuICAgIGlmIChpbmRleEluU2VsZWN0aW9uID4gLTEpIHtcbiAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnNwbGljZShpbmRleEluU2VsZWN0aW9uLCAxKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RJdGVtKGZJdGVtOiBJU2VsZWN0YWJsZSk6IHZvaWQge1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goZkl0ZW0pO1xuICAgIGZJdGVtLm1hcmtBc1NlbGVjdGVkKCk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export class SingleSelectRequest {
|
|
2
2
|
event;
|
|
3
|
-
|
|
3
|
+
fMultiSelectTrigger;
|
|
4
|
+
constructor(event, fMultiSelectTrigger) {
|
|
4
5
|
this.event = event;
|
|
6
|
+
this.fMultiSelectTrigger = fMultiSelectTrigger;
|
|
5
7
|
}
|
|
6
8
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sbUJBQW1CO0lBR3JCO0lBQ0E7SUFGVCxZQUNTLEtBQW9CLEVBQ3BCLG1CQUFrQztRQURsQyxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZTtJQUUzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRkV2ZW50VHJpZ2dlciB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXZlbnQ6IElQb2ludGVyRXZlbnQsXG4gICAgcHVibGljIGZNdWx0aVNlbGVjdFRyaWdnZXI6IEZFdmVudFRyaWdnZXJcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs
CHANGED
|
@@ -53,7 +53,7 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
|
|
|
53
53
|
return elements.length ? this.flowHost.contains(elements[0]) : false;
|
|
54
54
|
}
|
|
55
55
|
getRectInCanvas() {
|
|
56
|
-
return this.fMediator.
|
|
56
|
+
return this.fMediator.execute(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
|
|
57
57
|
}
|
|
58
58
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FMediator }, { token: i4.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
59
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
|
|
@@ -65,4 +65,4 @@ export { ExternalItemFinalizeExecution };
|
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, decorators: [{
|
|
66
66
|
type: Injectable
|
|
67
67
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FMediator }, { type: i4.BrowserService }] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaXRlbS1maW5hbGl6ZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vZXh0ZXJuYWwtaXRlbS1maW5hbGl6ZS9leHRlcm5hbC1pdGVtLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFNM0QsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFlOUI7SUFDQTtJQUNBO0lBQ0E7SUFoQlYsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFXLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLFdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBNkIsQ0FBQztJQUNuRixDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQW9CLEVBQ3BCLFFBQXdCO1FBSHhCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBRWxDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBb0M7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE9BQU07UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FDWixJQUFJLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNuRSxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ25ELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksdUJBQXVCLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0NBQWdDLENBQUMsUUFBZ0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDcEUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQWtCLENBQUM7SUFDbEUsQ0FBQztJQUVPLFNBQVMsQ0FBQyxRQUF1QjtRQUN2QyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FDbEYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBdUI7UUFDbkQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUUsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQVEsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xILENBQUM7dUdBMURVLDZCQUE2QjsyR0FBN0IsNkJBQTZCOztBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBMkR6Qzs7MkZBM0RZLDZCQUE2QjtrQkFGekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9leHRlcm5hbC1pdGVtLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxJdGVtRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9leHRlcm5hbC1pdGVtLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ3JlYXRlTm9kZUV2ZW50IH0gZnJvbSAnLi4vZi1jcmVhdGUtbm9kZS5ldmVudCc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsSXRlbUZpbmFsaXplRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBmQ3JlYXRlTm9kZSgpOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuZkNyZWF0ZU5vZGU7XG4gIH1cblxuICBwcml2YXRlIGdldCBkcmFnSGFuZGxlcigpOiBFeHRlcm5hbEl0ZW1EcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgRXh0ZXJuYWxJdGVtRHJhZ0hhbmRsZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuZW1pdEV2ZW50KFxuICAgICAgdGhpcy5nZXRFeHRlcm5hbEl0ZW1FbGVtZW50c0Zyb21Qb2ludChyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIHRoaXMuZHJhZ0hhbmRsZXIub25Qb2ludGVyVXAoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoXG4gICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIEV4dGVybmFsSXRlbURyYWdIYW5kbGVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXh0ZXJuYWxJdGVtRWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb246IElQb2ludCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLmZCcm93c2VyLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpXG4gICAgICAuZmlsdGVyKHggPT4gIXguY2xvc2VzdCgnLmYtZXh0ZXJuYWwtaXRlbScpKSBhcyBIVE1MRWxlbWVudFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXZlbnQoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1BvaW50ZXJJbkNhbnZhc1JlY3QoZWxlbWVudHMpKSB7XG4gICAgICB0aGlzLmZDcmVhdGVOb2RlLmVtaXQoXG4gICAgICAgIG5ldyBGQ3JlYXRlTm9kZUV2ZW50KHRoaXMuZ2V0UmVjdEluQ2FudmFzKCksIHRoaXMuZHJhZ0hhbmRsZXIuZXh0ZXJuYWxJdGVtLmZEYXRhKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUG9pbnRlckluQ2FudmFzUmVjdChlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50cy5sZW5ndGggPyB0aGlzLmZsb3dIb3N0LmNvbnRhaW5zKGVsZW1lbnRzWyAwIF0pIDogZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldFJlY3RJbkNhbnZhcygpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHRoaXMuZHJhZ0hhbmRsZXIucGxhY2Vob2xkZXIhLCBmYWxzZSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { ExternalItemPreparationRequest } from './external-item-preparation.request';
|
|
4
4
|
import { Point } from '@foblex/2d';
|
|
5
5
|
import { FExecutionRegister } from '@foblex/mediator';
|
|
6
|
-
import {
|
|
6
|
+
import { FComponentsStore } from '../../../f-storage';
|
|
7
|
+
import { FExternalItemService, getExternalItem, isExternalItem } from '../../../f-external-item';
|
|
7
8
|
import { ExternalItemDragHandler } from '../external-item.drag-handler';
|
|
9
|
+
import { FDraggableDataContext } from '../../../f-draggable';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../../f-storage";
|
|
10
|
-
import * as i2 from "../../../f-draggable";
|
|
11
|
-
import * as i3 from "../../../f-external-item";
|
|
12
|
-
import * as i4 from "@foblex/platform";
|
|
13
11
|
let ExternalItemPreparationExecution = class ExternalItemPreparationExecution {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return this.fComponentsStore.fFlow.hostElement;
|
|
20
|
-
}
|
|
21
|
-
constructor(fComponentsStore, fDraggableDataContext, fExternalItemService, fBrowser) {
|
|
22
|
-
this.fComponentsStore = fComponentsStore;
|
|
23
|
-
this.fDraggableDataContext = fDraggableDataContext;
|
|
24
|
-
this.fExternalItemService = fExternalItemService;
|
|
25
|
-
this.fBrowser = fBrowser;
|
|
12
|
+
_fExternalItemService = inject(FExternalItemService);
|
|
13
|
+
_fDraggableDataContext = inject(FDraggableDataContext);
|
|
14
|
+
_fComponentsStore = inject(FComponentsStore);
|
|
15
|
+
get _fHost() {
|
|
16
|
+
return this._fComponentsStore.fFlow.hostElement;
|
|
26
17
|
}
|
|
27
18
|
handle(request) {
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
if (!this._isValid(request)) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this._fDraggableDataContext.onPointerDownScale = 1;
|
|
23
|
+
this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition()).elementTransform(this._fHost);
|
|
24
|
+
this._fDraggableDataContext.draggableItems = [
|
|
25
|
+
new ExternalItemDragHandler(this._getExternalItem(request.event.targetElement))
|
|
32
26
|
];
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
return this.
|
|
28
|
+
_isValid(request) {
|
|
29
|
+
return this._isValidExternalItem(request.event.targetElement, this._getExternalItem(request.event.targetElement));
|
|
30
|
+
}
|
|
31
|
+
_isValidExternalItem(element, fExternalItem) {
|
|
32
|
+
return isExternalItem(element) && !!fExternalItem && !fExternalItem.fDisabled;
|
|
33
|
+
}
|
|
34
|
+
_getExternalItem(targetElement) {
|
|
35
|
+
return this._fExternalItemService.getItem(getExternalItem(targetElement));
|
|
36
36
|
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, deps: [
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
38
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution });
|
|
39
39
|
};
|
|
40
40
|
ExternalItemPreparationExecution = __decorate([
|
|
@@ -43,5 +43,5 @@ ExternalItemPreparationExecution = __decorate([
|
|
|
43
43
|
export { ExternalItemPreparationExecution };
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemPreparationExecution, decorators: [{
|
|
45
45
|
type: Injectable
|
|
46
|
-
}]
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi9leHRlcm5hbC1pdGVtLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQXFCLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJdEQsSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFFbkMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckQsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF1QztRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9ILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEdBQUc7WUFDM0MsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUUsQ0FBQztTQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUF1QztRQUN0RCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxPQUFvQixFQUFFLGFBQWlDO1FBQ2xGLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ2hGLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxhQUEwQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQzt1R0FqQ1UsZ0NBQWdDOzJHQUFoQyxnQ0FBZ0M7O0FBQWhDLGdDQUFnQztJQUQ1QyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQztHQUN0QyxnQ0FBZ0MsQ0FrQzVDOzsyRkFsQ1ksZ0NBQWdDO2tCQUY1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2V4dGVybmFsLWl0ZW0tcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeHRlcm5hbEl0ZW1CYXNlLCBGRXh0ZXJuYWxJdGVtU2VydmljZSwgZ2V0RXh0ZXJuYWxJdGVtLCBpc0V4dGVybmFsSXRlbSB9IGZyb20gJy4uLy4uLy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBFeHRlcm5hbEl0ZW1EcmFnSGFuZGxlciB9IGZyb20gJy4uL2V4dGVybmFsLWl0ZW0uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgX2ZFeHRlcm5hbEl0ZW1TZXJ2aWNlID0gaW5qZWN0KEZFeHRlcm5hbEl0ZW1TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZChyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gMTtcblxuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24gPSBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5ldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KTtcblxuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcyA9IFtcbiAgICAgIG5ldyBFeHRlcm5hbEl0ZW1EcmFnSGFuZGxlcih0aGlzLl9nZXRFeHRlcm5hbEl0ZW0ocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSEpXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzVmFsaWRFeHRlcm5hbEl0ZW0ocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50LCB0aGlzLl9nZXRFeHRlcm5hbEl0ZW0ocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkRXh0ZXJuYWxJdGVtKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmRXh0ZXJuYWxJdGVtPzogRkV4dGVybmFsSXRlbUJhc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNFeHRlcm5hbEl0ZW0oZWxlbWVudCkgJiYgISFmRXh0ZXJuYWxJdGVtICYmICFmRXh0ZXJuYWxJdGVtLmZEaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV4dGVybmFsSXRlbSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IEZFeHRlcm5hbEl0ZW1CYXNlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mRXh0ZXJuYWxJdGVtU2VydmljZS5nZXRJdGVtKGdldEV4dGVybmFsSXRlbSh0YXJnZXRFbGVtZW50KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './providers';
|
|
2
2
|
export * from './external-item-preparation.execution';
|
|
3
3
|
export * from './external-item-preparation.request';
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9leHRlcm5hbC1pdGVtLXByZXBhcmF0aW9uLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9leHRlcm5hbC1pdGVtLXByZXBhcmF0aW9uLnZhbGlkYXRvcic7XG4iXX0=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtaXRlbS1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsLWl0ZW0tcHJlcGFyYXRpb24ucmVxdWVzdCc7XG4iXX0=
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { ExternalItemPreparationExecution } from './external-item-preparation.execution';
|
|
2
|
-
import { ExternalItemPreparationValidator } from './external-item-preparation.validator';
|
|
3
2
|
export const EXTERNAL_ITEM_PREPARATION_PROVIDERS = [
|
|
4
3
|
ExternalItemPreparationExecution,
|
|
5
|
-
ExternalItemPreparationValidator,
|
|
6
4
|
];
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWV4dGVybmFsLWl0ZW0vZG9tYWluL2V4dGVybmFsLWl0ZW0tcHJlcGFyYXRpb24vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXpGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHO0lBRWpELGdDQUFnQztDQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25FeGVjdXRpb24gfSBmcm9tICcuL2V4dGVybmFsLWl0ZW0tcHJlcGFyYXRpb24uZXhlY3V0aW9uJztcblxuZXhwb3J0IGNvbnN0IEVYVEVSTkFMX0lURU1fUFJFUEFSQVRJT05fUFJPVklERVJTID0gW1xuXG4gIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uRXhlY3V0aW9uLFxuXTtcbiJdfQ==
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Point, PointExtensions, RectExtensions } from '@foblex/2d';
|
|
2
|
+
import { fInject } from '../../f-draggable';
|
|
3
|
+
import { BrowserService } from '@foblex/platform';
|
|
2
4
|
import { deepCloneNode } from '@foblex/utils';
|
|
3
5
|
export class ExternalItemDragHandler {
|
|
4
6
|
externalItem;
|
|
5
|
-
|
|
7
|
+
_fBrowser = fInject(BrowserService);
|
|
6
8
|
placeholder;
|
|
7
9
|
onPointerDownRect = RectExtensions.initialize();
|
|
8
10
|
difference = PointExtensions.initialize();
|
|
9
|
-
constructor(externalItem
|
|
11
|
+
constructor(externalItem) {
|
|
10
12
|
this.externalItem = externalItem;
|
|
11
|
-
this.fBrowser = fBrowser;
|
|
12
13
|
}
|
|
13
14
|
getStyle(position) {
|
|
14
15
|
return `position: absolute; left: 0; top: 0; transform: translate(${position.x}px, ${position.y}px)`;
|
|
@@ -17,12 +18,12 @@ export class ExternalItemDragHandler {
|
|
|
17
18
|
this.onPointerDownRect = this.getExternalItemRect();
|
|
18
19
|
this.placeholder = deepCloneNode(this.externalItem.hostElement);
|
|
19
20
|
this.placeholder.setAttribute('style', this.getStyle(Point.fromPoint(this.onPointerDownRect)));
|
|
20
|
-
this.
|
|
21
|
+
this._fBrowser.document.body.appendChild(this.placeholder);
|
|
21
22
|
}
|
|
22
23
|
getExternalItemRect() {
|
|
23
24
|
const rect = this.externalItem.hostElement.getBoundingClientRect();
|
|
24
|
-
const scrollTop = this.
|
|
25
|
-
const scrollLeft = this.
|
|
25
|
+
const scrollTop = this._fBrowser.window.pageYOffset || this._fBrowser.document.documentElement.scrollTop;
|
|
26
|
+
const scrollLeft = this._fBrowser.window.pageXOffset || this._fBrowser.document.documentElement.scrollLeft;
|
|
26
27
|
const offsetTop = rect.top + scrollTop;
|
|
27
28
|
const offsetLeft = rect.left + scrollLeft;
|
|
28
29
|
return RectExtensions.initialize(offsetLeft, offsetTop, rect.width, rect.height);
|
|
@@ -33,7 +34,7 @@ export class ExternalItemDragHandler {
|
|
|
33
34
|
this.placeholder.setAttribute('style', this.getStyle(position));
|
|
34
35
|
}
|
|
35
36
|
onPointerUp() {
|
|
36
|
-
this.
|
|
37
|
+
this._fBrowser.document.body.removeChild(this.placeholder);
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaXRlbS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vZXh0ZXJuYWwtaXRlbS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixLQUFLLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRixPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE1BQU0sT0FBTyx1QkFBdUI7SUFXekI7SUFURCxTQUFTLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXJDLFdBQVcsQ0FBdUM7SUFFakQsaUJBQWlCLEdBQVUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXZELFVBQVUsR0FBVyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFMUQsWUFDUyxZQUErQjtRQUEvQixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFFeEMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxRQUFnQjtRQUMvQixPQUFPLDZEQUE4RCxRQUFRLENBQUMsQ0FBRSxPQUFRLFFBQVEsQ0FBQyxDQUFFLEtBQUssQ0FBQztJQUMzRyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNuRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUN6RyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUMzRyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUMxQyxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsV0FBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtQmFzZSB9IGZyb20gJy4uLy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBmSW5qZWN0LCBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBkZWVwQ2xvbmVOb2RlIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBFeHRlcm5hbEl0ZW1EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcml2YXRlIF9mQnJvd3NlciA9IGZJbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgb25Qb2ludGVyRG93blJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZGlmZmVyZW5jZTogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZXh0ZXJuYWxJdGVtOiBGRXh0ZXJuYWxJdGVtQmFzZSxcbiAgKSB7XG4gIH1cblxuICBwcml2YXRlIGdldFN0eWxlKHBvc2l0aW9uOiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwOyB0b3A6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7IHBvc2l0aW9uLnggfXB4LCAkeyBwb3NpdGlvbi55IH1weClgO1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duUmVjdCA9IHRoaXMuZ2V0RXh0ZXJuYWxJdGVtUmVjdCgpO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBkZWVwQ2xvbmVOb2RlKHRoaXMuZXh0ZXJuYWxJdGVtLmhvc3RFbGVtZW50KTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCB0aGlzLmdldFN0eWxlKFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25SZWN0KSkpO1xuICAgIHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5wbGFjZWhvbGRlcik7XG4gIH1cblxuICBwcml2YXRlIGdldEV4dGVybmFsSXRlbVJlY3QoKTogSVJlY3Qge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLmV4dGVybmFsSXRlbS5ob3N0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLl9mQnJvd3Nlci53aW5kb3cucGFnZVlPZmZzZXQgfHwgdGhpcy5fZkJyb3dzZXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gdGhpcy5fZkJyb3dzZXIud2luZG93LnBhZ2VYT2Zmc2V0IHx8IHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IG9mZnNldFRvcCA9IHJlY3QudG9wICsgc2Nyb2xsVG9wO1xuICAgIGNvbnN0IG9mZnNldExlZnQgPSByZWN0LmxlZnQgKyBzY3JvbGxMZWZ0O1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKG9mZnNldExlZnQsIG9mZnNldFRvcCwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5kaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludCh0aGlzLm9uUG9pbnRlckRvd25SZWN0KS5hZGQodGhpcy5kaWZmZXJlbmNlKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyIS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdGhpcy5nZXRTdHlsZShwb3NpdGlvbikpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5wbGFjZWhvbGRlciEpO1xuICB9XG59XG4iXX0=
|