UNPKG

@foblex/flow

Version:

An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.

41 lines 6.6 kB
import { __decorate } from "tslib"; import { inject, Injectable } from '@angular/core'; import { FExecutionRegister, FMediator } from '@foblex/mediator'; import { EmitSelectionChangeEventRequest } from './emit-selection-change-event-request'; import { FComponentsStore } from '../../../f-storage'; import { FDraggableDataContext, FSelectionChangeEvent } from '../../../f-draggable'; import { GetCurrentSelectionRequest } from '../../f-selection'; import { NotifyTransformChangedRequest } from '../../../f-storage'; import * as i0 from "@angular/core"; let EmitSelectionChangeEventExecution = class EmitSelectionChangeEventExecution { _fMediator = inject(FMediator); _fComponentsStore = inject(FComponentsStore); get _fSelectionChange() { return this._fComponentsStore.fDraggable.fSelectionChange; } _fDraggableDataContext = inject(FDraggableDataContext); handle(request) { if (!this._fDraggableDataContext.isSelectedChanged) { return; } this._emitSelectionChange(this._getSelection()); this._fDraggableDataContext.isSelectedChanged = false; this._fMediator.execute(new NotifyTransformChangedRequest()); } _getSelection() { return this._fMediator.execute(new GetCurrentSelectionRequest()); } _emitSelectionChange(selection) { this._fSelectionChange.emit(new FSelectionChangeEvent(selection.fNodeIds, selection.fGroupIds, selection.fConnectionIds)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmitSelectionChangeEventExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmitSelectionChangeEventExecution }); }; EmitSelectionChangeEventExecution = __decorate([ FExecutionRegister(EmitSelectionChangeEventRequest) ], EmitSelectionChangeEventExecution); export { EmitSelectionChangeEventExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EmitSelectionChangeEventExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtZHJhZ2dhYmxlL2VtaXQtc2VsZWN0aW9uLWNoYW5nZS1ldmVudC9lbWl0LXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSwwQkFBMEIsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJNUQsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFFcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxJQUFZLGlCQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQztJQUVPLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXhELE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxJQUNFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUM5QyxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBTyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFvQixJQUFJLDBCQUEwQixFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBNEI7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDekIsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUM3RixDQUFDO0lBQ0osQ0FBQzt3R0FoQ1UsaUNBQWlDOzRHQUFqQyxpQ0FBaUM7O0FBQWpDLGlDQUFpQztJQUQ3QyxrQkFBa0IsQ0FBQywrQkFBK0IsQ0FBQztHQUN2QyxpQ0FBaUMsQ0FpQzdDOzs0RkFqQ1ksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBFbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnRSZXF1ZXN0IH0gZnJvbSAnLi9lbWl0LXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCwgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgR2V0Q3VycmVudFNlbGVjdGlvblJlcXVlc3QsIElDdXJyZW50U2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vZi1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxFbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnRSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZlNlbGVjdGlvbkNoYW5nZSgpOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuZlNlbGVjdGlvbkNoYW5nZTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9lbWl0U2VsZWN0aW9uQ2hhbmdlKHRoaXMuX2dldFNlbGVjdGlvbigpKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3Rpb24oKTogSUN1cnJlbnRTZWxlY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ3VycmVudFNlbGVjdGlvbj4obmV3IEdldEN1cnJlbnRTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdFNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IElDdXJyZW50U2VsZWN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5fZlNlbGVjdGlvbkNoYW5nZS5lbWl0KFxuICAgICAgbmV3IEZTZWxlY3Rpb25DaGFuZ2VFdmVudChzZWxlY3Rpb24uZk5vZGVJZHMsIHNlbGVjdGlvbi5mR3JvdXBJZHMsIHNlbGVjdGlvbi5mQ29ubmVjdGlvbklkcylcbiAgICApO1xuICB9XG59XG4iXX0=