@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 • 4.34 kB
JavaScript
import { __decorate } from "tslib";
import { RectExtensions } from '@foblex/2d';
import { CalculateNodesBoundingBoxRequest } from './calculate-nodes-bounding-box.request';
import { inject, Injectable } from '@angular/core';
import { FComponentsStore } from '../../../f-storage';
import { FExecutionRegister } from '@foblex/mediator';
import * as i0 from "@angular/core";
let CalculateNodesBoundingBoxExecution = class CalculateNodesBoundingBoxExecution {
_fComponentsStore = inject(FComponentsStore);
handle(request) {
return RectExtensions.union(this._getNodesRects());
}
_getNodesRects() {
return this._fComponentsStore.fNodes.map((x) => {
return this._getElementRect(x.hostElement);
});
}
_getElementRect(element) {
return RectExtensions.fromElement(element);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxExecution });
};
CalculateNodesBoundingBoxExecution = __decorate([
FExecutionRegister(CalculateNodesBoundingBoxRequest)
], CalculateNodesBoundingBoxExecution);
export { CalculateNodesBoundingBoxExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodesBoundingBoxExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJM0QsSUFBTSxrQ0FBa0MsR0FBeEMsTUFBTSxrQ0FBa0M7SUFFckMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQXlDO1FBQ3JELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBaUM7UUFDdkQsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzVDLENBQUM7d0dBaEJVLGtDQUFrQzs0R0FBbEMsa0NBQWtDOztBQUFsQyxrQ0FBa0M7SUFEOUMsa0JBQWtCLENBQUMsZ0NBQWdDLENBQUM7R0FDeEMsa0NBQWtDLENBaUI5Qzs7NEZBakJZLGtDQUFrQztrQkFGOUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveFJlcXVlc3QgfSBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveFJlcXVlc3QsIElSZWN0IHwgbnVsbD4ge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94UmVxdWVzdCk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLnVuaW9uKHRoaXMuX2dldE5vZGVzUmVjdHMoKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1JlY3RzKCk6IElSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRFbGVtZW50UmVjdCh4Lmhvc3RFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVsZW1lbnRSZWN0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMuZnJvbUVsZW1lbnQoZWxlbWVudClcbiAgfVxufVxuIl19