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.

31 lines 5.34 kB
import { __decorate } from "tslib"; import { RectExtensions } from '@foblex/2d'; import { CalculateNodesBoundingBoxNormalizedPositionRequest } from './calculate-nodes-bounding-box-normalized-position.request'; import { inject, Injectable } from '@angular/core'; import { FComponentsStore } from '../../../f-storage'; import { FExecutionRegister } from '@foblex/mediator'; import * as i0 from "@angular/core"; let CalculateNodesBoundingBoxNormalizedPositionExecution = class CalculateNodesBoundingBoxNormalizedPositionExecution { _fComponentsStore = inject(FComponentsStore); handle(request) { return RectExtensions.union(this._getNodesRects(request.fNodes || this._fComponentsStore.fNodes)); } _getNodesRects(fNodes) { return fNodes.map((x) => { return this._getElementRect(x, RectExtensions.fromElement(x.hostElement)); }); } _getElementRect(fNode, rect) { return RectExtensions.initialize(fNode.position.x, fNode.position.y, rect.width, rect.height); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution }); }; CalculateNodesBoundingBoxNormalizedPositionExecution = __decorate([ FExecutionRegister(CalculateNodesBoundingBoxNormalizedPositionRequest) ], CalculateNodesBoundingBoxNormalizedPositionExecution); export { CalculateNodesBoundingBoxNormalizedPositionExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxNormalizedPositionExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0RBQWtELEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNoSSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLM0QsSUFBTSxvREFBb0QsR0FBMUQsTUFBTSxvREFBb0Q7SUFFdkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQTJEO1FBQ3ZFLE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFtQjtRQUN4QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWdCLEVBQUUsSUFBVztRQUNuRCxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0YsQ0FBQzt3R0FoQlUsb0RBQW9EOzRHQUFwRCxvREFBb0Q7O0FBQXBELG9EQUFvRDtJQURoRSxrQkFBa0IsQ0FBQyxrREFBa0QsQ0FBQztHQUMxRCxvREFBb0QsQ0FpQmhFOzs0RkFqQlksb0RBQW9EO2tCQUZoRSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uUmVxdWVzdCwgSVJlY3QgfCBudWxsPiB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25SZXF1ZXN0KTogSVJlY3QgfCBudWxsIHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24odGhpcy5fZ2V0Tm9kZXNSZWN0cyhyZXF1ZXN0LmZOb2RlcyB8fCB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2RlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNSZWN0cyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogSVJlY3RbXSB7XG4gICAgcmV0dXJuIGZOb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRFbGVtZW50UmVjdCh4LCBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh4Lmhvc3RFbGVtZW50KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbGVtZW50UmVjdChmTm9kZTogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShmTm9kZS5wb3NpdGlvbi54LCBmTm9kZS5wb3NpdGlvbi55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodClcbiAgfVxufVxuIl19