@foblex/flow 1.4.1 → 1.5.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/README.md +14 -30
- package/domain/get-connection-vector/get-connection-vector.request.d.ts +4 -4
- package/domain/get-incoming-connections.handler.d.ts +1 -1
- package/domain/get-input-rect-in-flow.handler.d.ts +5 -5
- package/domain/get-outgoing-connections.handler.d.ts +1 -1
- package/domain/get-output-rect-in-flow.handler.d.ts +5 -5
- package/domain/index.d.ts +0 -1
- package/domain/select-all.handler.d.ts +1 -1
- package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +8 -8
- package/esm2022/domain/get-connection-vector/get-connection-vector.request.mjs +1 -1
- package/esm2022/domain/get-incoming-connections.handler.mjs +2 -2
- package/esm2022/domain/get-input-rect-in-flow.handler.mjs +2 -2
- package/esm2022/domain/get-outgoing-connections.handler.mjs +2 -2
- package/esm2022/domain/get-output-rect-in-flow.handler.mjs +2 -2
- package/esm2022/domain/index.mjs +1 -2
- package/esm2022/domain/select-all.handler.mjs +2 -2
- package/esm2022/f-components-store.mjs +1 -1
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +7 -0
- package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +12 -0
- package/esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs +3 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +6 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +36 -0
- package/esm2022/f-connection/common/domain/calculate-connection-center/index.mjs +3 -0
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +22 -0
- package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +3 -0
- package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +19 -0
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +142 -0
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +11 -0
- package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +2 -0
- package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +2 -0
- package/esm2022/f-connection/common/domain/index.mjs +10 -0
- package/esm2022/f-connection/common/f-connection-base.mjs +15 -6
- package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +3 -3
- package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +4 -4
- package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +4 -4
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +4 -4
- package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
- package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
- package/esm2022/f-connection/common/i-has-connection-text.mjs +1 -1
- package/esm2022/f-connection/common/index.mjs +2 -2
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +30 -26
- package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +14 -0
- package/esm2022/f-connection/f-connection-center/index.mjs +2 -0
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +23 -21
- package/esm2022/f-connection/index.mjs +2 -1
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +7 -0
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +38 -0
- package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +3 -0
- package/esm2022/f-connectors/domain/index.mjs +2 -0
- package/esm2022/f-connectors/e-f-connectable-side.mjs +9 -0
- package/esm2022/f-connectors/f-connector-base.mjs +16 -0
- package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +19 -0
- package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +83 -0
- package/esm2022/f-connectors/f-node-input/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-input/is-node-input.mjs +4 -0
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +23 -0
- package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +71 -0
- package/esm2022/f-connectors/f-node-outlet/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs +4 -0
- package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +19 -0
- package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +77 -0
- package/esm2022/f-connectors/f-node-output/index.mjs +4 -0
- package/esm2022/f-connectors/f-node-output/is-node-output.mjs +4 -0
- package/esm2022/f-connectors/index.mjs +7 -0
- package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +10 -9
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +7 -7
- package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +3 -3
- package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +1 -1
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +1 -1
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +2 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +15 -14
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +5 -5
- package/esm2022/f-draggable/e-f-draggable-type.mjs +11 -0
- package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
- package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/connection.drag-handler.mjs +12 -11
- package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +4 -4
- package/esm2022/f-draggable/node/index.mjs +2 -1
- package/esm2022/f-draggable/node/node.drag-handler.mjs +3 -3
- package/esm2022/f-draggable/node/node.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/public-api.mjs +13 -4
- package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +3 -3
- package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +3 -3
- package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +1 -1
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +2 -2
- package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +5 -5
- package/esm2022/f-flow/f-flow-base.mjs +5 -0
- package/esm2022/f-flow/f-flow.component.mjs +18 -18
- package/esm2022/f-flow/index.mjs +2 -3
- package/esm2022/f-flow.module.mjs +6 -4
- package/esm2022/f-node/f-drag-handle/index.mjs +1 -1
- package/esm2022/f-node/f-node-base.mjs +1 -3
- package/esm2022/f-node/f-node.directive.mjs +9 -9
- package/esm2022/f-node/index.mjs +1 -2
- package/esm2022/public-api.mjs +12 -6
- package/f-components-store.d.ts +5 -4
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.d.ts +6 -0
- package/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.d.ts +5 -0
- package/f-connection/common/domain/calculate-center-between-points/index.d.ts +2 -0
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.d.ts +5 -0
- package/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.d.ts +7 -0
- package/f-connection/common/domain/calculate-connection-center/index.d.ts +2 -0
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +7 -0
- package/f-connection/common/domain/f-path-builder-base.d.ts +6 -0
- package/f-connection/common/domain/f-path-builder-selector.d.ts +7 -0
- package/f-connection/common/domain/f-segment.path-builder.d.ts +13 -0
- package/f-connection/common/domain/f-straight.path-builder.d.ts +6 -0
- package/f-connection/common/domain/i-f-path-builder-request.d.ts +12 -0
- package/f-connection/common/domain/i-f-path-builder-response.d.ts +5 -0
- package/f-connection/common/domain/index.d.ts +9 -0
- package/f-connection/common/f-connection-base.d.ts +15 -13
- package/f-connection/common/i-has-connection-color.d.ts +2 -2
- package/f-connection/common/i-has-connection-from-to.d.ts +4 -4
- package/f-connection/common/i-has-connection-text.d.ts +1 -1
- package/f-connection/common/index.d.ts +1 -1
- package/f-connection/f-connection/f-connection.component.d.ts +14 -12
- package/f-connection/f-connection-center/f-connection-center.directive.d.ts +5 -0
- package/f-connection/f-connection-center/index.d.ts +1 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +14 -12
- package/f-connection/index.d.ts +1 -0
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +6 -0
- package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +7 -0
- package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +2 -0
- package/f-connectors/domain/index.d.ts +1 -0
- package/f-connectors/e-f-connectable-side.d.ts +7 -0
- package/{f-node/f-connectors → f-connectors}/f-connector-base.d.ts +4 -3
- package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input.directive.d.ts +5 -3
- package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet.directive.d.ts +6 -3
- package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output.directive.d.ts +5 -3
- package/{f-node/f-connectors → f-connectors}/index.d.ts +2 -0
- package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
- package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +2 -2
- package/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -2
- package/f-draggable/{e-draggable-type.d.ts → e-f-draggable-type.d.ts} +1 -1
- package/f-draggable/external-item/external-item.drag-handler.d.ts +2 -2
- package/f-draggable/i-draggable-item.d.ts +2 -2
- package/f-draggable/node/connection-source.drag-handler.d.ts +2 -2
- package/f-draggable/node/connection-target.drag-handler.d.ts +2 -2
- package/f-draggable/node/connection.drag-handler.d.ts +2 -2
- package/f-draggable/node/index.d.ts +1 -0
- package/f-draggable/node/node.drag-handler.d.ts +2 -2
- package/f-draggable/public-api.d.ts +12 -3
- package/f-draggable/selection-area/selection-area.drag-handle.d.ts +2 -2
- package/f-flow/f-flow-base.d.ts +8 -0
- package/f-flow/f-flow.component.d.ts +4 -4
- package/f-flow/index.d.ts +1 -2
- package/f-flow.module.d.ts +3 -3
- package/f-node/f-node-base.d.ts +2 -2
- package/f-node/f-node.directive.d.ts +3 -3
- package/f-node/index.d.ts +0 -1
- package/fesm2022/foblex-flow.mjs +2503 -2423
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +6 -3
- package/public-api.d.ts +11 -5
- package/domain/get-connector-side-in-node/e-connector-side.d.ts +0 -6
- package/domain/get-connector-side-in-node/get-connector-side-in-node.handler.d.ts +0 -5
- package/domain/get-connector-side-in-node/index.d.ts +0 -2
- package/esm2022/domain/get-connector-side-in-node/e-connector-side.mjs +0 -8
- package/esm2022/domain/get-connector-side-in-node/get-connector-side-in-node.handler.mjs +0 -26
- package/esm2022/domain/get-connector-side-in-node/index.mjs +0 -3
- package/esm2022/f-backgroud/domain/public-api.mjs +0 -2
- package/esm2022/f-backgroud/f-cell-pattern/public-api.mjs +0 -2
- package/esm2022/f-backgroud/public-api.mjs +0 -4
- package/esm2022/f-canvas/domain/public-api.mjs +0 -2
- package/esm2022/f-canvas/f-zoom/public-api.mjs +0 -2
- package/esm2022/f-canvas/public-api.mjs +0 -4
- package/esm2022/f-connection/common/path-constructor/bezier-path/bezier-path.mjs +0 -29
- package/esm2022/f-connection/common/path-constructor/bezier-path/index.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/i-path-constructor.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/index.mjs +0 -6
- package/esm2022/f-connection/common/path-constructor/path-constructor.mjs +0 -15
- package/esm2022/f-connection/common/path-constructor/segment-path/connector-side-point.mjs +0 -9
- package/esm2022/f-connection/common/path-constructor/segment-path/edge-center-calculator.mjs +0 -10
- package/esm2022/f-connection/common/path-constructor/segment-path/index.mjs +0 -6
- package/esm2022/f-connection/common/path-constructor/segment-path/path-bend.mjs +0 -19
- package/esm2022/f-connection/common/path-constructor/segment-path/point-utils.mjs +0 -14
- package/esm2022/f-connection/common/path-constructor/segment-path/segment-path.mjs +0 -123
- package/esm2022/f-connection/common/path-constructor/straight-path/index.mjs +0 -2
- package/esm2022/f-connection/common/path-constructor/straight-path/straight-path.mjs +0 -9
- package/esm2022/f-connection/common/public-api.mjs +0 -3
- package/esm2022/f-connection/public-api.mjs +0 -5
- package/esm2022/f-draggable/components/f-external-item/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/f-line-alignment/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/f-selection-area/public-api.mjs +0 -2
- package/esm2022/f-draggable/components/public-api.mjs +0 -4
- package/esm2022/f-draggable/connections/create-connection/public-api.mjs +0 -2
- package/esm2022/f-draggable/connections/public-api.mjs +0 -3
- package/esm2022/f-draggable/connections/reassign-connection/public-api.mjs +0 -2
- package/esm2022/f-draggable/e-draggable-type.mjs +0 -11
- package/esm2022/f-draggable/external-item/public-api.mjs +0 -2
- package/esm2022/f-draggable/index.mjs +0 -14
- package/esm2022/f-flow/f-parent.injection-token.mjs +0 -3
- package/esm2022/f-flow/i-flow-base.mjs +0 -3
- package/esm2022/f-flow/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-connector-base.mjs +0 -15
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input-base.mjs +0 -19
- package/esm2022/f-node/f-connectors/f-node-input/f-node-input.directive.mjs +0 -78
- package/esm2022/f-node/f-connectors/f-node-input/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-input/is-node-input.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-input/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -23
- package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -68
- package/esm2022/f-node/f-connectors/f-node-outlet/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-outlet/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output-base.mjs +0 -19
- package/esm2022/f-node/f-connectors/f-node-output/f-node-output.directive.mjs +0 -72
- package/esm2022/f-node/f-connectors/f-node-output/index.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-output/is-node-output.mjs +0 -4
- package/esm2022/f-node/f-connectors/f-node-output/public-api.mjs +0 -2
- package/esm2022/f-node/f-connectors/index.mjs +0 -5
- package/esm2022/f-node/f-connectors/public-api.mjs +0 -4
- package/esm2022/f-node/f-drag-handle/public-api.mjs +0 -2
- package/esm2022/f-node/public-api.mjs +0 -4
- package/f-backgroud/domain/public-api.d.ts +0 -1
- package/f-backgroud/f-cell-pattern/public-api.d.ts +0 -1
- package/f-backgroud/public-api.d.ts +0 -3
- package/f-canvas/domain/public-api.d.ts +0 -1
- package/f-canvas/f-zoom/public-api.d.ts +0 -1
- package/f-canvas/public-api.d.ts +0 -3
- package/f-connection/common/path-constructor/bezier-path/bezier-path.d.ts +0 -7
- package/f-connection/common/path-constructor/bezier-path/index.d.ts +0 -1
- package/f-connection/common/path-constructor/i-path-constructor.d.ts +0 -12
- package/f-connection/common/path-constructor/index.d.ts +0 -5
- package/f-connection/common/path-constructor/path-constructor.d.ts +0 -8
- package/f-connection/common/path-constructor/segment-path/connector-side-point.d.ts +0 -6
- package/f-connection/common/path-constructor/segment-path/edge-center-calculator.d.ts +0 -3
- package/f-connection/common/path-constructor/segment-path/index.d.ts +0 -5
- package/f-connection/common/path-constructor/segment-path/path-bend.d.ts +0 -4
- package/f-connection/common/path-constructor/segment-path/point-utils.d.ts +0 -6
- package/f-connection/common/path-constructor/segment-path/segment-path.d.ts +0 -10
- package/f-connection/common/path-constructor/straight-path/index.d.ts +0 -1
- package/f-connection/common/path-constructor/straight-path/straight-path.d.ts +0 -6
- package/f-connection/common/public-api.d.ts +0 -2
- package/f-connection/public-api.d.ts +0 -4
- package/f-draggable/components/f-external-item/public-api.d.ts +0 -1
- package/f-draggable/components/f-line-alignment/public-api.d.ts +0 -1
- package/f-draggable/components/f-selection-area/public-api.d.ts +0 -1
- package/f-draggable/components/public-api.d.ts +0 -3
- package/f-draggable/connections/create-connection/public-api.d.ts +0 -1
- package/f-draggable/connections/public-api.d.ts +0 -2
- package/f-draggable/connections/reassign-connection/public-api.d.ts +0 -1
- package/f-draggable/external-item/public-api.d.ts +0 -1
- package/f-draggable/index.d.ts +0 -13
- package/f-flow/f-parent.injection-token.d.ts +0 -2
- package/f-flow/i-flow-base.d.ts +0 -8
- package/f-flow/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-input/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-outlet/public-api.d.ts +0 -1
- package/f-node/f-connectors/f-node-output/public-api.d.ts +0 -1
- package/f-node/f-connectors/public-api.d.ts +0 -3
- package/f-node/f-drag-handle/public-api.d.ts +0 -1
- package/f-node/public-api.d.ts +0 -3
- /package/{f-node/f-connectors → f-connectors}/f-node-input/f-node-input-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-input/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-input/is-node-input.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/f-node-outlet-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-outlet/is-node-outlet.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/f-node-output-base.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/index.d.ts +0 -0
- /package/{f-node/f-connectors → f-connectors}/f-node-output/is-node-output.d.ts +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Directive, Inject, Input } from '@angular/core';
|
|
2
|
+
import { BooleanExtensions } from '@foblex/core';
|
|
3
|
+
import { F_NODE_INPUT, FNodeInputBase } from './f-node-input-base';
|
|
4
|
+
import { EFConnectableSide } from '../e-f-connectable-side';
|
|
5
|
+
import { F_NODE } from '../../f-node';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../f-components-store";
|
|
8
|
+
import * as i2 from "../../f-node";
|
|
9
|
+
let uniqueId = 0;
|
|
10
|
+
export class FNodeInputDirective extends FNodeInputBase {
|
|
11
|
+
get disabled() {
|
|
12
|
+
return this.isDisabled;
|
|
13
|
+
}
|
|
14
|
+
set disabled(isDisabled) {
|
|
15
|
+
const value = BooleanExtensions.castToBoolean(isDisabled);
|
|
16
|
+
if (value !== this.isDisabled) {
|
|
17
|
+
this.isDisabled = value;
|
|
18
|
+
this.stateChanges.next();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get hostElement() {
|
|
22
|
+
return this.elementReference.nativeElement;
|
|
23
|
+
}
|
|
24
|
+
constructor(elementReference, fNode, fComponentsStore) {
|
|
25
|
+
super();
|
|
26
|
+
this.elementReference = elementReference;
|
|
27
|
+
this.fNode = fNode;
|
|
28
|
+
this.fComponentsStore = fComponentsStore;
|
|
29
|
+
this.id = `f-node-input-${uniqueId++}`;
|
|
30
|
+
this.multiple = true;
|
|
31
|
+
this.isDisabled = false;
|
|
32
|
+
this._fConnectableSide = EFConnectableSide.AUTO;
|
|
33
|
+
this.isConnected = false;
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
if (!this.fNode) {
|
|
37
|
+
throw new Error('fNodeInput must be inside f-node');
|
|
38
|
+
}
|
|
39
|
+
this.fComponentsStore.addInput(this);
|
|
40
|
+
this.fNode.addConnector(this);
|
|
41
|
+
}
|
|
42
|
+
setConnected(isConnected) {
|
|
43
|
+
this.isConnected = isConnected;
|
|
44
|
+
this.hostElement.classList.toggle('f-node-input-connected', isConnected);
|
|
45
|
+
}
|
|
46
|
+
ngOnDestroy() {
|
|
47
|
+
this.fNode.removeConnector(this);
|
|
48
|
+
this.fComponentsStore.removeInput(this);
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeInputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
51
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeInputDirective, selector: "[fNodeInput]", inputs: { id: ["fInputId", "id"], multiple: ["fInputMultiple", "multiple"], disabled: ["fInputDisabled", "disabled"], _fConnectableSide: ["fInputConnectableSide", "_fConnectableSide"] }, host: { properties: { "attr.id": "id", "class.f-node-input-multiple": "multiple", "class.f-node-input-disabled": "disabled", "class.f-node-input-not-connectable": "!canBeConnected" }, classAttribute: "f-component f-node-input" }, providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }], exportAs: ["fNodeInput"], usesInheritance: true, ngImport: i0 }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeInputDirective, decorators: [{
|
|
54
|
+
type: Directive,
|
|
55
|
+
args: [{
|
|
56
|
+
selector: "[fNodeInput]",
|
|
57
|
+
exportAs: 'fNodeInput',
|
|
58
|
+
host: {
|
|
59
|
+
'[attr.id]': 'id',
|
|
60
|
+
class: "f-component f-node-input",
|
|
61
|
+
'[class.f-node-input-multiple]': 'multiple',
|
|
62
|
+
'[class.f-node-input-disabled]': 'disabled',
|
|
63
|
+
'[class.f-node-input-not-connectable]': '!canBeConnected',
|
|
64
|
+
},
|
|
65
|
+
providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }],
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.FNodeBase, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: [F_NODE]
|
|
70
|
+
}] }, { type: i1.FComponentsStore }], propDecorators: { id: [{
|
|
71
|
+
type: Input,
|
|
72
|
+
args: ['fInputId']
|
|
73
|
+
}], multiple: [{
|
|
74
|
+
type: Input,
|
|
75
|
+
args: ['fInputMultiple']
|
|
76
|
+
}], disabled: [{
|
|
77
|
+
type: Input,
|
|
78
|
+
args: ['fInputDisabled']
|
|
79
|
+
}], _fConnectableSide: [{
|
|
80
|
+
type: Input,
|
|
81
|
+
args: ['fInputConnectableSide']
|
|
82
|
+
}] } });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFhLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUdqRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFjekIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFRckQsSUFDb0IsUUFBUTtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQW9CLFFBQVEsQ0FBQyxVQUF3QztRQUNuRSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQVNELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pCLEtBQWdCLEVBQ2hDLGdCQUFrQztRQUU1QyxLQUFLLEVBQUUsQ0FBQztRQUpFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEM5QixPQUFFLEdBQVEsZ0JBQWlCLFFBQVEsRUFBRyxFQUFFLENBQUM7UUFHekMsYUFBUSxHQUFZLElBQUksQ0FBQztRQWVqQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBR3BCLHNCQUFpQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFFOUQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFZN0MsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVlLFlBQVksQ0FBQyxXQUFvQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXhEVSxtQkFBbUIsNENBa0NsQixNQUFNO2tHQWxDUCxtQkFBbUIsd2NBRm5CLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFFOzsyRkFFL0QsbUJBQW1CO2tCQVovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQyxzQ0FBc0MsRUFBRSxpQkFBaUI7cUJBQzFEO29CQUNELFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLHFCQUFxQixFQUFFLENBQUU7aUJBQzNFOzswQkFtQ00sTUFBTTsyQkFBQyxNQUFNO3dFQS9CRixFQUFFO3NCQURqQixLQUFLO3VCQUFDLFVBQVU7Z0JBSUQsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSUgsUUFBUTtzQkFEM0IsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBZ0JQLGlCQUFpQjtzQkFEaEMsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGX05PREVfSU5QVVQsIEZOb2RlSW5wdXRCYXNlIH0gZnJvbSAnLi9mLW5vZGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZOb2RlQmFzZSwgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVJbnB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZUlucHV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtbm9kZS1pbnB1dFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1pbnB1dC1ub3QtY29ubmVjdGFibGVdJzogJyFjYW5CZUNvbm5lY3RlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfTk9ERV9JTlBVVCwgdXNlRXhpc3Rpbmc6IEZOb2RlSW5wdXREaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZUlucHV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVJbnB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmSW5wdXRJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBpZDogYW55ID0gYGYtbm9kZS1pbnB1dC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZklucHV0TXVsdGlwbGUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnZklucHV0RGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGRpc2FibGVkKGlzRGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBzdHJpbmcpIHtcbiAgICBjb25zdCB2YWx1ZSA9IEJvb2xlYW5FeHRlbnNpb25zLmNhc3RUb0Jvb2xlYW4oaXNEaXNhYmxlZCk7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlzRGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZklucHV0Q29ubmVjdGFibGVTaWRlJylcbiAgcHVibGljIG92ZXJyaWRlIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIEBJbmplY3QoRl9OT0RFKSBwcml2YXRlIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZOb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZOb2RlSW5wdXQgbXVzdCBiZSBpbnNpZGUgZi1ub2RlJyk7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRJbnB1dCh0aGlzKTtcbiAgICB0aGlzLmZOb2RlLmFkZENvbm5lY3Rvcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRDb25uZWN0ZWQoaXNDb25uZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gaXNDb25uZWN0ZWQ7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdmLW5vZGUtaW5wdXQtY29ubmVjdGVkJywgaXNDb25uZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGUucmVtb3ZlQ29ubmVjdG9yKHRoaXMpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVJbnB1dCh0aGlzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './f-node-input-base';
|
|
2
|
+
export * from './is-node-input';
|
|
3
|
+
export * from './f-node-input.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1pbnB1dC1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1ub2RlLWlucHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function isNodeInput(element) {
|
|
2
|
+
return !!element.closest('[fNodeInput]');
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9pcy1ub2RlLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBaUM7SUFDM0QsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZUlucHV0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gISFlbGVtZW50LmNsb3Nlc3QoJ1tmTm9kZUlucHV0XScpO1xufVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import { FConnectorBase } from '../f-connector-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const F_NODE_OUTLET = new InjectionToken('F_NODE_OUTLET');
|
|
5
|
+
export class FNodeOutletBase extends FConnectorBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.isConnected = false;
|
|
9
|
+
this.outputs = [];
|
|
10
|
+
}
|
|
11
|
+
get canBeConnected() {
|
|
12
|
+
return !this.disabled;
|
|
13
|
+
}
|
|
14
|
+
setOutputs(outputs) {
|
|
15
|
+
this.outputs = outputs;
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutletBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeOutletBase, usesInheritance: true, ngImport: i0 }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutletBase, decorators: [{
|
|
21
|
+
type: Directive
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dGxldC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3RvcnMvZi1ub2RlLW91dGxldC9mLW5vZGUtb3V0bGV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVyRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWtCLGVBQWUsQ0FBQyxDQUFDO0FBR2xGLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxjQUFjO0lBRDVEOztRQUtrQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUVyQyxZQUFPLEdBQXFCLEVBQUUsQ0FBQztLQVN4QztJQVBDLElBQVcsY0FBYztRQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQXlCO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7OEdBZG1CLGVBQWU7a0dBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3ItYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBGX05PREVfT1VUTEVUID0gbmV3IEluamVjdGlvblRva2VuPEZOb2RlT3V0bGV0QmFzZT4oJ0ZfTk9ERV9PVVRMRVQnKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRk5vZGVPdXRsZXRCYXNlIGV4dGVuZHMgRkNvbm5lY3RvckJhc2Uge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0Nvbm5lY3Rpb25Gcm9tT3V0bGV0OiBib29sZWFuO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBpc0Nvbm5lY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgb3V0cHV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgY2FuQmVDb25uZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHNldE91dHB1dHMob3V0cHV0czogRkNvbm5lY3RvckJhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMub3V0cHV0cyA9IG91dHB1dHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Directive, Inject, Input } from '@angular/core';
|
|
2
|
+
import { BooleanExtensions } from '@foblex/core';
|
|
3
|
+
import { F_NODE_OUTLET, FNodeOutletBase } from './f-node-outlet-base';
|
|
4
|
+
import { F_NODE } from '../../f-node';
|
|
5
|
+
import { EFConnectableSide } from '../e-f-connectable-side';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../f-components-store";
|
|
8
|
+
import * as i2 from "../../f-node";
|
|
9
|
+
let uniqueId = 0;
|
|
10
|
+
export class FNodeOutletDirective extends FNodeOutletBase {
|
|
11
|
+
get disabled() {
|
|
12
|
+
return this.isDisabled;
|
|
13
|
+
}
|
|
14
|
+
set disabled(isDisabled) {
|
|
15
|
+
const value = BooleanExtensions.castToBoolean(isDisabled);
|
|
16
|
+
if (value !== this.isDisabled) {
|
|
17
|
+
this.isDisabled = value;
|
|
18
|
+
this.stateChanges.next();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get hostElement() {
|
|
22
|
+
return this.elementReference.nativeElement;
|
|
23
|
+
}
|
|
24
|
+
constructor(elementReference, fNode, fComponentsStore) {
|
|
25
|
+
super();
|
|
26
|
+
this.elementReference = elementReference;
|
|
27
|
+
this.fNode = fNode;
|
|
28
|
+
this.fComponentsStore = fComponentsStore;
|
|
29
|
+
this.id = `f-node-outlet-${uniqueId++}`;
|
|
30
|
+
this.isDisabled = false;
|
|
31
|
+
this.fConnectableSide = EFConnectableSide.AUTO;
|
|
32
|
+
this._fConnectableSide = EFConnectableSide.AUTO;
|
|
33
|
+
this.isConnectionFromOutlet = false;
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
if (!this.fNode) {
|
|
37
|
+
throw new Error('fNodeOutlet must be inside fNode Directive');
|
|
38
|
+
}
|
|
39
|
+
this.fComponentsStore.addOutlet(this);
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this.fComponentsStore.removeOutlet(this);
|
|
43
|
+
}
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutletDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeOutletDirective, selector: "[fNodeOutlet]", inputs: { id: ["fOutletId", "id"], disabled: ["fOutletDisabled", "disabled"], isConnectionFromOutlet: "isConnectionFromOutlet" }, host: { properties: { "attr.id": "id", "class.f-node-outlet-disabled": "disabled" }, classAttribute: "f-component f-node-outlet" }, providers: [{ provide: F_NODE_OUTLET, useExisting: FNodeOutletDirective }], exportAs: ["fNodeOutlet"], usesInheritance: true, ngImport: i0 }); }
|
|
46
|
+
}
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutletDirective, decorators: [{
|
|
48
|
+
type: Directive,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: "[fNodeOutlet]",
|
|
51
|
+
exportAs: 'fNodeOutlet',
|
|
52
|
+
host: {
|
|
53
|
+
'[attr.id]': 'id',
|
|
54
|
+
class: "f-component f-node-outlet",
|
|
55
|
+
'[class.f-node-outlet-disabled]': 'disabled'
|
|
56
|
+
},
|
|
57
|
+
providers: [{ provide: F_NODE_OUTLET, useExisting: FNodeOutletDirective }],
|
|
58
|
+
}]
|
|
59
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.FNodeBase, decorators: [{
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [F_NODE]
|
|
62
|
+
}] }, { type: i1.FComponentsStore }], propDecorators: { id: [{
|
|
63
|
+
type: Input,
|
|
64
|
+
args: ['fOutletId']
|
|
65
|
+
}], disabled: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['fOutletDisabled']
|
|
68
|
+
}], isConnectionFromOutlet: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0bGV0L2Ytbm9kZS1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE1BQU0sRUFBYSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUU1RCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFLdkQsSUFDb0IsUUFBUTtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQW9CLFFBQVEsQ0FBQyxVQUF3QztRQUNuRSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQVdELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pCLEtBQWdCLEVBQ2hDLGdCQUFrQztRQUU1QyxLQUFLLEVBQUUsQ0FBQztRQUpFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBL0I5QixPQUFFLEdBQVcsaUJBQWtCLFFBQVEsRUFBRyxFQUFFLENBQUM7UUFlckQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVwQixxQkFBZ0IsR0FBc0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBRTdELHNCQUFpQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7UUFHOUQsMkJBQXNCLEdBQVksS0FBSyxDQUFBO0lBWXZELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs4R0FoRFUsb0JBQW9CLDRDQWlDbkIsTUFBTTtrR0FqQ1Asb0JBQW9CLDhTQUZwQixDQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBRTs7MkZBRWpFLG9CQUFvQjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsVUFBVTtxQkFDN0M7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRTtpQkFDN0U7OzBCQWtDTSxNQUFNOzJCQUFDLE1BQU07d0VBOUJGLEVBQUU7c0JBRGpCLEtBQUs7dUJBQUMsV0FBVztnQkFJRSxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFvQlIsc0JBQXNCO3NCQURyQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbkV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFX09VVExFVCwgRk5vZGVPdXRsZXRCYXNlIH0gZnJvbSAnLi9mLW5vZGUtb3V0bGV0LWJhc2UnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlT3V0bGV0XVwiLFxuICBleHBvcnRBczogJ2ZOb2RlT3V0bGV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtbm9kZS1vdXRsZXRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRsZXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX05PREVfT1VUTEVULCB1c2VFeGlzdGluZzogRk5vZGVPdXRsZXREaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZU91dGxldERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlT3V0bGV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2ZPdXRsZXRJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nID0gYGYtbm9kZS1vdXRsZXQtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZPdXRsZXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gQm9vbGVhbkV4dGVuc2lvbnMuY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgb3ZlcnJpZGUgX2ZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaXNDb25uZWN0aW9uRnJvbU91dGxldDogYm9vbGVhbiA9IGZhbHNlXG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIEBJbmplY3QoRl9OT0RFKSBwcml2YXRlIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmZOb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZOb2RlT3V0bGV0IG11c3QgYmUgaW5zaWRlIGZOb2RlIERpcmVjdGl2ZScpO1xuICAgIH1cbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuYWRkT3V0bGV0KHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVPdXRsZXQodGhpcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './f-node-outlet-base';
|
|
2
|
+
export * from './is-node-outlet';
|
|
3
|
+
export * from './f-node-outlet.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0bGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0bGV0LWJhc2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLW5vZGUtb3V0bGV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0bGV0LmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function isNodeOutlet(element) {
|
|
2
|
+
return !!element.closest('[fNodeOutlet]');
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS1vdXRsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0bGV0L2lzLW5vZGUtb3V0bGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBaUM7SUFDNUQsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZU91dGxldChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZWxlbWVudC5jbG9zZXN0KCdbZk5vZGVPdXRsZXRdJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import { FConnectorBase } from '../f-connector-base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const F_NODE_OUTPUT = new InjectionToken('F_NODE_OUTPUT');
|
|
5
|
+
export class FNodeOutputBase extends FConnectorBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.isConnected = false;
|
|
9
|
+
}
|
|
10
|
+
get canBeConnected() {
|
|
11
|
+
return !this.disabled && !this.isConnected;
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutputBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
14
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeOutputBase, usesInheritance: true, ngImport: i0 }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutputBase, decorators: [{
|
|
17
|
+
type: Directive
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3RvcnMvZi1ub2RlLW91dHB1dC9mLW5vZGUtb3V0cHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVyRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQWtCLGVBQWUsQ0FBQyxDQUFDO0FBR2xGLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxjQUFjO0lBRDVEOztRQUdTLGdCQUFXLEdBQVksS0FBSyxDQUFDO0tBS3JDO0lBSEMsSUFBb0IsY0FBYztRQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDN0MsQ0FBQzs4R0FObUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rvci1iYXNlJztcblxuZXhwb3J0IGNvbnN0IEZfTk9ERV9PVVRQVVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Rk5vZGVPdXRwdXRCYXNlPignRl9OT0RFX09VVFBVVCcpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGTm9kZU91dHB1dEJhc2UgZXh0ZW5kcyBGQ29ubmVjdG9yQmFzZSB7XG5cbiAgcHVibGljIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBjYW5CZUNvbm5lY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuaXNDb25uZWN0ZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Directive, Inject, Input } from '@angular/core';
|
|
2
|
+
import { BooleanExtensions } from '@foblex/core';
|
|
3
|
+
import { FNodeOutputBase, F_NODE_OUTPUT } from './f-node-output-base';
|
|
4
|
+
import { EFConnectableSide } from '../e-f-connectable-side';
|
|
5
|
+
import { F_NODE } from '../../f-node';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../f-components-store";
|
|
8
|
+
import * as i2 from "../../f-node";
|
|
9
|
+
let uniqueId = 0;
|
|
10
|
+
export class FNodeOutputDirective extends FNodeOutputBase {
|
|
11
|
+
get disabled() {
|
|
12
|
+
return this.isDisabled;
|
|
13
|
+
}
|
|
14
|
+
set disabled(isDisabled) {
|
|
15
|
+
const value = BooleanExtensions.castToBoolean(isDisabled);
|
|
16
|
+
if (value !== this.isDisabled) {
|
|
17
|
+
this.isDisabled = value;
|
|
18
|
+
this.stateChanges.next();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
get hostElement() {
|
|
22
|
+
return this.elementReference.nativeElement;
|
|
23
|
+
}
|
|
24
|
+
constructor(elementReference, fNode, fComponentsStore) {
|
|
25
|
+
super();
|
|
26
|
+
this.elementReference = elementReference;
|
|
27
|
+
this.fNode = fNode;
|
|
28
|
+
this.fComponentsStore = fComponentsStore;
|
|
29
|
+
this.id = `f-node-output-${uniqueId++}`;
|
|
30
|
+
this.isDisabled = false;
|
|
31
|
+
this._fConnectableSide = EFConnectableSide.AUTO;
|
|
32
|
+
this.isConnected = false;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
if (!this.fNode) {
|
|
36
|
+
throw new Error('fNodeOutput must be inside fNode Directive');
|
|
37
|
+
}
|
|
38
|
+
this.fComponentsStore.addOutput(this);
|
|
39
|
+
this.fNode.addConnector(this);
|
|
40
|
+
}
|
|
41
|
+
setConnected(isConnected) {
|
|
42
|
+
this.isConnected = isConnected;
|
|
43
|
+
this.hostElement.classList.toggle('f-node-output-connected', isConnected);
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
this.fNode.removeConnector(this);
|
|
47
|
+
this.fComponentsStore.removeOutput(this);
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: ["fOutputId", "id"], disabled: ["fOutputDisabled", "disabled"], _fConnectableSide: ["fOutputConnectableSide", "_fConnectableSide"] }, host: { properties: { "attr.id": "id", "class.f-node-output-disabled": "disabled" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }], exportAs: ["fNodeOutput"], usesInheritance: true, ngImport: i0 }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeOutputDirective, decorators: [{
|
|
53
|
+
type: Directive,
|
|
54
|
+
args: [{
|
|
55
|
+
selector: "[fNodeOutput]",
|
|
56
|
+
exportAs: 'fNodeOutput',
|
|
57
|
+
host: {
|
|
58
|
+
'[attr.id]': 'id',
|
|
59
|
+
class: "f-component f-node-output",
|
|
60
|
+
'[class.f-node-output-disabled]': 'disabled',
|
|
61
|
+
},
|
|
62
|
+
providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }],
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2.FNodeBase, decorators: [{
|
|
65
|
+
type: Inject,
|
|
66
|
+
args: [F_NODE]
|
|
67
|
+
}] }, { type: i1.FComponentsStore }], propDecorators: { id: [{
|
|
68
|
+
type: Input,
|
|
69
|
+
args: ['fOutputId']
|
|
70
|
+
}], disabled: [{
|
|
71
|
+
type: Input,
|
|
72
|
+
args: ['fOutputDisabled']
|
|
73
|
+
}], _fConnectableSide: [{
|
|
74
|
+
type: Input,
|
|
75
|
+
args: ['fOutputConnectableSide']
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBYSxNQUFNLGNBQWMsQ0FBQzs7OztBQUdqRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFZekIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFLdkQsSUFDb0IsUUFBUTtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQW9CLFFBQVEsQ0FBQyxVQUF3QztRQUNuRSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQVNELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pCLEtBQWdCLEVBQ2hDLGdCQUFrQztRQUU1QyxLQUFLLEVBQUUsQ0FBQztRQUpFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBN0I5QixPQUFFLEdBQVcsaUJBQWtCLFFBQVEsRUFBRyxFQUFFLENBQUM7UUFlckQsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUdwQixzQkFBaUIsR0FBc0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBRTlELGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBWTdDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFZSxZQUFZLENBQUMsV0FBb0I7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs4R0FyRFUsb0JBQW9CLDRDQStCbkIsTUFBTTtrR0EvQlAsb0JBQW9CLGdVQUZwQixDQUFFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBRTs7MkZBRWpFLG9CQUFvQjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLElBQUksRUFBRTt3QkFDSixXQUFXLEVBQUUsSUFBSTt3QkFDakIsS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsVUFBVTtxQkFDN0M7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRTtpQkFDN0U7OzBCQWdDTSxNQUFNOzJCQUFDLE1BQU07d0VBNUJGLEVBQUU7c0JBRGpCLEtBQUs7dUJBQUMsV0FBVztnQkFJRSxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFnQlIsaUJBQWlCO3NCQURoQyxLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5FeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSwgRl9OT0RFX09VVFBVVCB9IGZyb20gJy4vZi1ub2RlLW91dHB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZU91dHB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZU91dHB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLW5vZGUtb3V0cHV0XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfTk9ERV9PVVRQVVQsIHVzZUV4aXN0aW5nOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlT3V0cHV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVPdXRwdXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZk91dHB1dElkJylcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1ub2RlLW91dHB1dC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgnZk91dHB1dERpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBCb29sZWFuRXh0ZW5zaW9ucy5jYXN0VG9Cb29sZWFuKGlzRGlzYWJsZWQpO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgX2ZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgb3ZlcnJpZGUgaXNDb25uZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX05PREUpIHByaXZhdGUgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZk5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZk5vZGVPdXRwdXQgbXVzdCBiZSBpbnNpZGUgZk5vZGUgRGlyZWN0aXZlJyk7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRPdXRwdXQodGhpcyk7XG4gICAgdGhpcy5mTm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnZi1ub2RlLW91dHB1dC1jb25uZWN0ZWQnLCBpc0Nvbm5lY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZU91dHB1dCh0aGlzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './f-node-output-base';
|
|
2
|
+
export * from './is-node-output';
|
|
3
|
+
export * from './f-node-output.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0LWJhc2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLW5vZGUtb3V0cHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0LmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function isNodeOutput(element) {
|
|
2
|
+
return !!element.closest('[fNodeOutput]');
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbm9kZS1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2lzLW5vZGUtb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBaUM7SUFDNUQsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTm9kZU91dHB1dChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZWxlbWVudC5jbG9zZXN0KCdbZk5vZGVPdXRwdXRdJyk7XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './domain';
|
|
2
|
+
export * from './f-node-input';
|
|
3
|
+
export * from './f-node-outlet';
|
|
4
|
+
export * from './f-node-output';
|
|
5
|
+
export * from './f-connector-base';
|
|
6
|
+
export * from './e-f-connectable-side';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLWlucHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0bGV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtb3V0cHV0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3Rvci1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Point, PointExtensions } from '@foblex/core';
|
|
2
|
-
import {
|
|
2
|
+
import { EFDraggableType } from '../e-f-draggable-type';
|
|
3
3
|
export class CanvasDragHandler {
|
|
4
4
|
constructor(fComponentsStore) {
|
|
5
5
|
this.fComponentsStore = fComponentsStore;
|
|
6
|
-
this.type =
|
|
6
|
+
this.type = EFDraggableType.CANVAS;
|
|
7
7
|
this.onPointerDownPosition = PointExtensions.initialize();
|
|
8
8
|
}
|
|
9
9
|
initialize() {
|
|
@@ -17,4 +17,4 @@ export class CanvasDragHandler {
|
|
|
17
17
|
this.fComponentsStore.fCanvas.completeDrag();
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY2FudmFzL2NhbnZhcy5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3hELE1BQU0sT0FBTyxpQkFBaUI7SUFNNUIsWUFDWSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUw5QixTQUFJLEdBQW9CLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFFdkQsMEJBQXFCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBS3JFLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNqRixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5cbmV4cG9ydCBjbGFzcyBDYW52YXNEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogRUZEcmFnZ2FibGVUeXBlID0gRUZEcmFnZ2FibGVUeXBlLkNBTlZBUztcblxuICBwcml2YXRlIG9uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybS5wb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5zZXRQb3NpdGlvbihQb2ludC5mcm9tUG9pbnQodGhpcy5vblBvaW50ZXJEb3duUG9zaXRpb24pLmFkZChkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS5jb21wbGV0ZURyYWcoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { EFDraggableType } from '../e-f-draggable-type';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../f-draggable-data-context";
|
|
5
5
|
export class CanvasOnPointerUp {
|
|
@@ -7,7 +7,7 @@ export class CanvasOnPointerUp {
|
|
|
7
7
|
this.fDraggableDataContext = fDraggableDataContext;
|
|
8
8
|
}
|
|
9
9
|
handle(event) {
|
|
10
|
-
const isDragCanvas = this.fDraggableDataContext.draggableItems.some((x) => x.type ===
|
|
10
|
+
const isDragCanvas = this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.CANVAS);
|
|
11
11
|
if (isDragCanvas) {
|
|
12
12
|
this.fDraggableDataContext.draggableItems.forEach((x) => {
|
|
13
13
|
x.complete?.();
|
|
@@ -20,4 +20,4 @@ export class CanvasOnPointerUp {
|
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CanvasOnPointerUp, decorators: [{
|
|
21
21
|
type: Injectable
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLm9uLXBvaW50ZXItdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NhbnZhcy9jYW52YXMub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDWSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV4RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQW9CO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5RyxJQUFJLFlBQVksRUFBRTtZQUNoQixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RCxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs4R0FmVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2FudmFzT25Qb2ludGVyVXAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0RyYWdDYW52YXMgPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVGRHJhZ2dhYmxlVHlwZS5DQU5WQVMpO1xuXG4gICAgaWYgKGlzRHJhZ0NhbnZhcykge1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICB4LmNvbXBsZXRlPy4oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { Point, RectExtensions, } from '@foblex/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { EFDraggableType } from '../../e-f-draggable-type';
|
|
3
|
+
import { GetConnectionVectorRequest } from '../../../domain';
|
|
4
|
+
import { EFConnectableSide } from '../../../f-connectors';
|
|
4
5
|
export class CreateConnectionDragHandler {
|
|
5
6
|
constructor(getOutputRectInFlowHandler, getConnectionVectorHandler, connection, mouseDownPoint) {
|
|
6
7
|
this.getOutputRectInFlowHandler = getOutputRectInFlowHandler;
|
|
7
8
|
this.getConnectionVectorHandler = getConnectionVectorHandler;
|
|
8
9
|
this.connection = connection;
|
|
9
10
|
this.mouseDownPoint = mouseDownPoint;
|
|
10
|
-
this.type =
|
|
11
|
+
this.type = EFDraggableType.CREATE_CONNECTION;
|
|
11
12
|
this.onPointerDownFromConnectorRect = RectExtensions.initialize();
|
|
12
13
|
this.onPointerDownToConnectorRect = RectExtensions.initialize();
|
|
13
|
-
this.outputSide =
|
|
14
|
+
this.outputSide = EFConnectableSide.BOTTOM;
|
|
14
15
|
}
|
|
15
16
|
initialize() {
|
|
16
|
-
const outputRect = this.getOutputRectInFlowHandler.handle(this.connection.
|
|
17
|
-
this.outputSide = outputRect.
|
|
17
|
+
const outputRect = this.getOutputRectInFlowHandler.handle(this.connection.fOutputId);
|
|
18
|
+
this.outputSide = outputRect.fConnectableSide;
|
|
18
19
|
this.onPointerDownFromConnectorRect = outputRect.rect;
|
|
19
20
|
this.onPointerDownToConnectorRect = RectExtensions.initialize(this.mouseDownPoint.x, this.mouseDownPoint.y, 0, 0);
|
|
20
21
|
this.connection.show();
|
|
@@ -22,8 +23,8 @@ export class CreateConnectionDragHandler {
|
|
|
22
23
|
}
|
|
23
24
|
move(difference) {
|
|
24
25
|
const toPoint = RectExtensions.addPoint(this.onPointerDownToConnectorRect, difference);
|
|
25
|
-
const vector = this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(this.onPointerDownFromConnectorRect, toPoint, this.connection.
|
|
26
|
-
this.connection.setVector(vector.point1, this.outputSide, vector.point2,
|
|
26
|
+
const vector = this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(this.onPointerDownFromConnectorRect, toPoint, this.connection.fBehavior, this.outputSide, EFConnectableSide.TOP));
|
|
27
|
+
this.connection.setVector(vector.point1, this.outputSide, vector.point2, EFConnectableSide.TOP);
|
|
27
28
|
this.connection.redraw();
|
|
28
29
|
}
|
|
29
30
|
complete() {
|
|
@@ -31,4 +32,4 @@ export class CreateConnectionDragHandler {
|
|
|
31
32
|
this.connection.hide();
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixLQUFLLEVBQUUsY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBRUwsMEJBQTBCLEVBRTNCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFMUQsTUFBTSxPQUFPLDJCQUEyQjtJQVN0QyxZQUNZLDBCQUFzRCxFQUN0RCwwQkFBc0QsRUFDdkQsVUFBMkIsRUFDMUIsY0FBc0I7UUFIdEIsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3ZELGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBWGxCLFNBQUksR0FBb0IsZUFBZSxDQUFDLGlCQUFpQixDQUFDO1FBRWxFLG1DQUE4QixHQUFVLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwRSxpQ0FBNEIsR0FBVSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEUsZUFBVSxHQUFzQixpQkFBaUIsQ0FBQyxNQUFNLENBQUM7SUFRakUsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdEQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxVQUE4QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLElBQUksQ0FBQyxVQUFrQjtRQUM1QixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV2RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUNqRCxJQUFJLDBCQUEwQixDQUMxQixJQUFJLENBQUMsOEJBQThCLEVBQ25DLE9BQU8sRUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLFVBQVUsRUFDZixpQkFBaUIsQ0FBQyxHQUFHLENBQ3hCLENBQ0osQ0FBQztRQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUE4QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucywgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEVGRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4uLy4uL2UtZi1kcmFnZ2FibGUtdHlwZSc7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlcixcbiAgR2V0Q29ubmVjdGlvblZlY3RvclJlcXVlc3QsXG4gIEdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRkRyYWdnYWJsZVR5cGUgPSBFRkRyYWdnYWJsZVR5cGUuQ1JFQVRFX0NPTk5FQ1RJT047XG5cbiAgcHJpdmF0ZSBvblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIG9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3Q6IElSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgb3V0cHV0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyOiBHZXRPdXRwdXRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICAgICAgcHVibGljIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICAgIHByaXZhdGUgbW91c2VEb3duUG9pbnQ6IElQb2ludFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IG91dHB1dFJlY3QgPSB0aGlzLmdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyLmhhbmRsZSh0aGlzLmNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICB0aGlzLm91dHB1dFNpZGUgPSBvdXRwdXRSZWN0LmZDb25uZWN0YWJsZVNpZGU7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duRnJvbUNvbm5lY3RvclJlY3QgPSBvdXRwdXRSZWN0LnJlY3Q7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duVG9Db25uZWN0b3JSZWN0ID0gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLm1vdXNlRG93blBvaW50LngsIHRoaXMubW91c2VEb3duUG9pbnQueSwgMCwgMCk7XG4gICAgKHRoaXMuY29ubmVjdGlvbiBhcyBGQ29ubmVjdGlvbkJhc2UpLnNob3coKTtcbiAgICB0aGlzLm1vdmUobmV3IFBvaW50KDAsIDApKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IHRvUG9pbnQgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLm9uUG9pbnRlckRvd25Ub0Nvbm5lY3RvclJlY3QsIGRpZmZlcmVuY2UpO1xuXG4gICAgY29uc3QgdmVjdG9yID0gdGhpcy5nZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlci5oYW5kbGUoXG4gICAgICAgIG5ldyBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdChcbiAgICAgICAgICAgIHRoaXMub25Qb2ludGVyRG93bkZyb21Db25uZWN0b3JSZWN0LFxuICAgICAgICAgICAgdG9Qb2ludCxcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgICAgICB0aGlzLm91dHB1dFNpZGUsXG4gICAgICAgICAgICBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uLnNldFZlY3Rvcih2ZWN0b3IucG9pbnQxLCB0aGlzLm91dHB1dFNpZGUsIHZlY3Rvci5wb2ludDIsIEVGQ29ubmVjdGFibGVTaWRlLlRPUCk7XG4gICAgdGhpcy5jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICAodGhpcy5jb25uZWN0aW9uIGFzIEZDb25uZWN0aW9uQmFzZSkuaGlkZSgpO1xuICB9XG59XG4iXX0=
|
package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EFDraggableType } from '../../e-f-draggable-type';
|
|
2
2
|
import { FindInputsUnderPointerRequest } from '../find-inputs-under-pointer';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { CreateConnectionEvent } from './create-connection.event';
|
|
5
5
|
import { OutputNotFound, requiredOutput } from '../../../domain';
|
|
6
|
-
import { isNodeOutlet } from '../../../f-
|
|
6
|
+
import { isNodeOutlet } from '../../../f-connectors';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "../../../f-components-store";
|
|
9
9
|
import * as i2 from "../../f-draggable-data-context";
|
|
@@ -17,17 +17,17 @@ export class CreateConnectionOnPointerUp {
|
|
|
17
17
|
this.findFirstCanBeConnectedOutputByOutletHandler = findFirstCanBeConnectedOutputByOutletHandler;
|
|
18
18
|
}
|
|
19
19
|
handle(event) {
|
|
20
|
-
const isCreateConnection = this.fDraggableDataContext.draggableItems.some((x) => x.type ===
|
|
20
|
+
const isCreateConnection = this.fDraggableDataContext.draggableItems.some((x) => x.type === EFDraggableType.CREATE_CONNECTION);
|
|
21
21
|
if (isCreateConnection) {
|
|
22
22
|
const handler = this.fDraggableDataContext.draggableItems[0];
|
|
23
23
|
const inputsUnderPointer = this.findInputsUnderPointerHandler.handle(new FindInputsUnderPointerRequest(event, handler));
|
|
24
24
|
if (inputsUnderPointer.length > 0) {
|
|
25
|
-
let output = this.fComponentsStore.fOutputs.find((x) => x.id === handler.connection.
|
|
25
|
+
let output = this.fComponentsStore.fOutputs.find((x) => x.id === handler.connection.fOutputId);
|
|
26
26
|
if (!output) {
|
|
27
|
-
output = this.fComponentsStore.fOutlets.find((x) => x.id === handler.connection.
|
|
27
|
+
output = this.fComponentsStore.fOutlets.find((x) => x.id === handler.connection.fOutputId);
|
|
28
28
|
}
|
|
29
29
|
if (!output) {
|
|
30
|
-
throw OutputNotFound(handler.connection.
|
|
30
|
+
throw OutputNotFound(handler.connection.fOutputId);
|
|
31
31
|
}
|
|
32
32
|
const isOutlet = isNodeOutlet(output.hostElement);
|
|
33
33
|
if (isOutlet) {
|
|
@@ -47,4 +47,4 @@ export class CreateConnectionOnPointerUp {
|
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CreateConnectionOnPointerUp, decorators: [{
|
|
48
48
|
type: Injectable
|
|
49
49
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FindInputsUnderPointerHandler }, { type: i4.FindFirstCanBeConnectedOutputByOutletHandler }] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvY3JlYXRlLWNvbm5lY3Rpb24vY3JlYXRlLWNvbm5lY3Rpb24ub24tcG9pbnRlci11cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFpQyw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFHdEUsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsNkJBQTRELEVBQzVELDRDQUEwRjtRQUgxRixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCxpREFBNEMsR0FBNUMsNENBQTRDLENBQThDO0lBRXRHLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvSCxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFpQyxDQUFDO1lBRTlGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FDaEUsSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQ3BELENBQUM7WUFFRixJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQy9GLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQzVGO2dCQUNELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDcEQ7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxRQUFRLEVBQUU7b0JBRVosTUFBTSxHQUFHLElBQUksQ0FBQyw0Q0FBNEMsQ0FBQyxNQUFNLENBQUMsTUFBeUIsQ0FBQyxDQUFDO29CQUM3RixJQUFJLENBQUMsTUFBTSxFQUFFO3dCQUNYLE1BQU0sY0FBYyxFQUFFLENBQUM7cUJBQ3hCO2lCQUNGO2dCQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBRSxDQUFDLENBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzdIO1lBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQzs4R0F6Q1UsMkJBQTJCO2tIQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi8uLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHsgRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIsIEZpbmRJbnB1dHNVbmRlclBvaW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlcic7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlciB9IGZyb20gJy4vZmluZC1maXJzdC1jYW4tYmUtY29ubmVjdGVkLW91dHB1dC1ieS1vdXRsZXQnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi5ldmVudCc7XG5pbXBvcnQgeyBPdXRwdXROb3RGb3VuZCwgcmVxdWlyZWRPdXRwdXQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVPdXRsZXRCYXNlLCBpc05vZGVPdXRsZXQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbk9uUG9pbnRlclVwXG4gICAgaW1wbGVtZW50cyBJSGFuZGxlcjxJUG9pbnRlckV2ZW50LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBmaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcjogRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIsXG4gICAgICBwcml2YXRlIGZpbmRGaXJzdENhbkJlQ29ubmVjdGVkT3V0cHV0QnlPdXRsZXRIYW5kbGVyOiBGaW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpc0NyZWF0ZUNvbm5lY3Rpb24gPSB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5zb21lKCh4KSA9PiB4LnR5cGUgPT09IEVGRHJhZ2dhYmxlVHlwZS5DUkVBVEVfQ09OTkVDVElPTik7XG4gICAgaWYgKGlzQ3JlYXRlQ29ubmVjdGlvbikge1xuICAgICAgY29uc3QgaGFuZGxlciA9IHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyO1xuXG4gICAgICBjb25zdCBpbnB1dHNVbmRlclBvaW50ZXIgPSB0aGlzLmZpbmRJbnB1dHNVbmRlclBvaW50ZXJIYW5kbGVyLmhhbmRsZShcbiAgICAgICAgICBuZXcgRmluZElucHV0c1VuZGVyUG9pbnRlclJlcXVlc3QoZXZlbnQsIGhhbmRsZXIpXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5wdXRzVW5kZXJQb2ludGVyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbGV0IG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSBoYW5kbGVyLmNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgICAgICBvdXRwdXQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dGxldHMuZmluZCgoeCkgPT4geC5pZCA9PT0gaGFuZGxlci5jb25uZWN0aW9uLmZPdXRwdXRJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgICAgICB0aHJvdyBPdXRwdXROb3RGb3VuZChoYW5kbGVyLmNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT3V0bGV0ID0gaXNOb2RlT3V0bGV0KG91dHB1dC5ob3N0RWxlbWVudCk7XG4gICAgICAgIGlmIChpc091dGxldCkge1xuXG4gICAgICAgICAgb3V0cHV0ID0gdGhpcy5maW5kRmlyc3RDYW5CZUNvbm5lY3RlZE91dHB1dEJ5T3V0bGV0SGFuZGxlci5oYW5kbGUob3V0cHV0IGFzIEZOb2RlT3V0bGV0QmFzZSk7XG4gICAgICAgICAgaWYgKCFvdXRwdXQpIHtcbiAgICAgICAgICAgIHRocm93IHJlcXVpcmVkT3V0cHV0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mQ3JlYXRlQ29ubmVjdGlvbi5lbWl0KG5ldyBDcmVhdGVDb25uZWN0aW9uRXZlbnQob3V0cHV0LmlkLCBpbnB1dHNVbmRlclBvaW50ZXJbIDAgXT8uaWQpKTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZXIuY29tcGxldGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|