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.

45 lines 7.34 kB
import { __decorate } from "tslib"; import { GetAllCanBeConnectedInputsAndRectsRequest } from './get-all-can-be-connected-inputs-and-rects.request'; import { inject, Injectable } from '@angular/core'; import { FExecutionRegister, FMediator } from '@foblex/mediator'; import { FComponentsStore } from '../../../f-storage'; import { GetConnectorAndRectRequest } from '../get-connector-and-rect'; import * as i0 from "@angular/core"; let GetAllCanBeConnectedInputsAndRectsExecution = class GetAllCanBeConnectedInputsAndRectsExecution { _fMediator = inject(FMediator); _fComponentsStore = inject(FComponentsStore); get _fInputs() { return this._fComponentsStore.fInputs; } handle(payload) { return this._getCanBeConnectedInputs(payload.fOutputOrOutlet).map((x) => { return this._fMediator.execute(new GetConnectorAndRectRequest(x)); }); } _getCanBeConnectedInputs(fOutputOrOutlet) { let fInputs = []; if (fOutputOrOutlet.canBeConnectedInputs?.length) { fInputs = this._fInputs.filter((x) => fOutputOrOutlet.canBeConnectedInputs.includes(x.fId)); } else { fInputs = this._fInputs.filter((x) => x.canBeConnected); if (!fOutputOrOutlet.isSelfConnectable) { fInputs = this._filterSelfConnectable(fInputs, fOutputOrOutlet); } } return fInputs; } _filterSelfConnectable(fInputs, fOutputOrOutlet) { return fInputs.filter((x) => fOutputOrOutlet.fNodeId !== x.fNodeId); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution }); }; GetAllCanBeConnectedInputsAndRectsExecution = __decorate([ FExecutionRegister(GetAllCanBeConnectedInputsAndRectsRequest) ], GetAllCanBeConnectedInputsAndRectsExecution); export { GetAllCanBeConnectedInputsAndRectsExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetAllCanBeConnectedInputsAndRectsExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0cy1hbmQtcmVjdHMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0b3JzL2dldC1hbGwtY2FuLWJlLWNvbm5lY3RlZC1pbnB1dHMtYW5kLXJlY3RzL2dldC1hbGwtY2FuLWJlLWNvbm5lY3RlZC1pbnB1dHMtYW5kLXJlY3RzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUloRSxJQUFNLDJDQUEyQyxHQUFqRCxNQUFNLDJDQUEyQztJQUc5QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7SUFDeEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFrRDtRQUM5RCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsZUFBa0Q7UUFDakYsSUFBSSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUV4RCxJQUFHLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQXlCLEVBQUUsZUFBK0I7UUFDdkYsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RSxDQUFDO3dHQWhDVSwyQ0FBMkM7NEdBQTNDLDJDQUEyQzs7QUFBM0MsMkNBQTJDO0lBRHZELGtCQUFrQixDQUFDLHlDQUF5QyxDQUFDO0dBQ2pELDJDQUEyQyxDQWlDdkQ7OzRGQWpDWSwyQ0FBMkM7a0JBRnZELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0c0FuZFJlY3RzUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0cy1hbmQtcmVjdHMucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgRk5vZGVPdXRsZXRCYXNlLCBGTm9kZU91dHB1dEJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJQ29ubmVjdG9yQW5kUmVjdCB9IGZyb20gJy4uL2ktY29ubmVjdG9yLWFuZC1yZWN0JztcbmltcG9ydCB7IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWNvbm5lY3Rvci1hbmQtcmVjdCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QsIElDb25uZWN0b3JBbmRSZWN0W10+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZklucHV0cygpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0c0FuZFJlY3RzUmVxdWVzdCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDYW5CZUNvbm5lY3RlZElucHV0cyhwYXlsb2FkLmZPdXRwdXRPck91dGxldCkubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENhbkJlQ29ubmVjdGVkSW5wdXRzKGZPdXRwdXRPck91dGxldDogRk5vZGVPdXRwdXRCYXNlIHwgRk5vZGVPdXRsZXRCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgbGV0IGZJbnB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcbiAgICBpZiAoZk91dHB1dE9yT3V0bGV0LmNhbkJlQ29ubmVjdGVkSW5wdXRzPy5sZW5ndGgpIHtcbiAgICAgIGZJbnB1dHMgPSB0aGlzLl9mSW5wdXRzLmZpbHRlcigoeCkgPT4gZk91dHB1dE9yT3V0bGV0LmNhbkJlQ29ubmVjdGVkSW5wdXRzLmluY2x1ZGVzKHguZklkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZJbnB1dHMgPSB0aGlzLl9mSW5wdXRzLmZpbHRlcigoeCkgPT4geC5jYW5CZUNvbm5lY3RlZCk7XG5cbiAgICAgIGlmKCFmT3V0cHV0T3JPdXRsZXQuaXNTZWxmQ29ubmVjdGFibGUpIHtcbiAgICAgICAgZklucHV0cyA9IHRoaXMuX2ZpbHRlclNlbGZDb25uZWN0YWJsZShmSW5wdXRzLCBmT3V0cHV0T3JPdXRsZXQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZklucHV0cztcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbHRlclNlbGZDb25uZWN0YWJsZShmSW5wdXRzOiBGQ29ubmVjdG9yQmFzZVtdLCBmT3V0cHV0T3JPdXRsZXQ6IEZDb25uZWN0b3JCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIGZJbnB1dHMuZmlsdGVyKCh4KSA9PiBmT3V0cHV0T3JPdXRsZXQuZk5vZGVJZCAhPT0geC5mTm9kZUlkKTtcbiAgfVxufVxuIl19