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.

51 lines 6.78 kB
import { __decorate } from "tslib"; import { Injectable } from '@angular/core'; import { GetFlowStateNodesRequest } from './get-flow-state-nodes-request'; import { FExecutionRegister } from '@foblex/mediator'; import * as i0 from "@angular/core"; import * as i1 from "../../../../f-storage"; let GetFlowStateNodesExecution = class GetFlowStateNodesExecution { fComponentsStore; constructor(fComponentsStore) { this.fComponentsStore = fComponentsStore; } handle(request) { return this.fComponentsStore.fNodes.filter((x) => x instanceof request.type).map((x) => { return { id: x.fId, parent: x.fParentId, position: x.position, size: x.size, fOutputs: this._getOutputs(x.hostElement), fInputs: this._getInputs(x.hostElement), isSelected: x.isSelected() }; }); } _getOutputs(hostElement) { return this.fComponentsStore.fOutputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => { return { id: x.fId, fConnectableSide: x.fConnectableSide }; }); } _getInputs(hostElement) { return this.fComponentsStore.fInputs.filter((x) => hostElement.contains(x.hostElement)).map((x) => { return { id: x.fId, fConnectableSide: x.fConnectableSide }; }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateNodesExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateNodesExecution }); }; GetFlowStateNodesExecution = __decorate([ FExecutionRegister(GetFlowStateNodesRequest) ], GetFlowStateNodesExecution); export { GetFlowStateNodesExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateNodesExecution, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.FComponentsStore }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZsb3ctc3RhdGUtbm9kZXMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1mbG93L2dldC1mbG93LXN0YXRlL2dldC1mbG93LXN0YXRlLW5vZGVzL2dldC1mbG93LXN0YXRlLW5vZGVzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTzNELElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTBCO0lBRzNCO0lBRFYsWUFDVSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckYsT0FBTztnQkFDTCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Z0JBQ1QsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTO2dCQUNuQixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVE7Z0JBQ3BCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2dCQUN6QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2dCQUN2QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTthQUMzQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLFdBQXdCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakcsT0FBTztnQkFDTCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Z0JBQ1QsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjthQUNyQyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLFdBQXdCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEcsT0FBTztnQkFDTCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUc7Z0JBQ1QsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQjthQUNyQyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXJDVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7QUFBMUIsMEJBQTBCO0lBRHRDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDO0dBQ2hDLDBCQUEwQixDQXNDdEM7OzRGQXRDWSwwQkFBMEI7a0JBRnRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRGbG93U3RhdGVOb2Rlc1JlcXVlc3QgfSBmcm9tICcuL2dldC1mbG93LXN0YXRlLW5vZGVzLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJRkZsb3dTdGF0ZU5vZGUgfSBmcm9tICcuLi9pLWYtZmxvdy1zdGF0ZS1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUZGbG93U3RhdGVDb25uZWN0b3IgfSBmcm9tICcuLi9pLWYtZmxvdy1zdGF0ZS1jb25uZWN0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldEZsb3dTdGF0ZU5vZGVzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRGbG93U3RhdGVOb2Rlc0V4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Rmxvd1N0YXRlTm9kZXNSZXF1ZXN0LCBJRkZsb3dTdGF0ZU5vZGVbXT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldEZsb3dTdGF0ZU5vZGVzUmVxdWVzdCk6IElGRmxvd1N0YXRlTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maWx0ZXIoKHgpID0+IHggaW5zdGFuY2VvZiByZXF1ZXN0LnR5cGUpLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHguZklkLFxuICAgICAgICBwYXJlbnQ6IHguZlBhcmVudElkLFxuICAgICAgICBwb3NpdGlvbjogeC5wb3NpdGlvbixcbiAgICAgICAgc2l6ZTogeC5zaXplLFxuICAgICAgICBmT3V0cHV0czogdGhpcy5fZ2V0T3V0cHV0cyh4Lmhvc3RFbGVtZW50KSxcbiAgICAgICAgZklucHV0czogdGhpcy5fZ2V0SW5wdXRzKHguaG9zdEVsZW1lbnQpLFxuICAgICAgICBpc1NlbGVjdGVkOiB4LmlzU2VsZWN0ZWQoKVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE91dHB1dHMoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSUZGbG93U3RhdGVDb25uZWN0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IGhvc3RFbGVtZW50LmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKS5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB4LmZJZCxcbiAgICAgICAgZkNvbm5lY3RhYmxlU2lkZTogeC5mQ29ubmVjdGFibGVTaWRlXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dHMoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSUZGbG93U3RhdGVDb25uZWN0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gaG9zdEVsZW1lbnQuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHguZklkLFxuICAgICAgICBmQ29ubmVjdGFibGVTaWRlOiB4LmZDb25uZWN0YWJsZVNpZGVcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19