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 5.49 kB
import { __decorate } from "tslib"; import { inject, Injectable } from '@angular/core'; import { MinimapCalculateViewBoxRequest } from './minimap-calculate-view-box.request'; import { FExecutionRegister } from '@foblex/mediator'; import { RectExtensions } from '@foblex/2d'; import { FComponentsStore } from '../../../f-storage'; import * as i0 from "@angular/core"; let MinimapCalculateViewBoxExecution = class MinimapCalculateViewBoxExecution { _fComponentStore = inject(FComponentsStore); get _fFlow() { return this._fComponentStore.fFlow; } get _fCanvas() { return this._fComponentStore.fCanvas; } handle(request) { if (!this._fFlow || !this._fCanvas) { return RectExtensions.initialize(); } return this._getRectForMinimapView(); } _getRectForMinimapView() { const result = this._calculateViewBox(); result.x = 0; result.y = 0; return result; } _calculateViewBox() { return RectExtensions.div(RectExtensions.fromElement(this._fFlow.hostElement), this._fCanvas.transform.scale); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinimapCalculateViewBoxExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinimapCalculateViewBoxExecution }); }; MinimapCalculateViewBoxExecution = __decorate([ FExecutionRegister(MinimapCalculateViewBoxRequest) ], MinimapCalculateViewBoxExecution); export { MinimapCalculateViewBoxExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MinimapCalculateViewBoxExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1jYWxjdWxhdGUtdmlldy1ib3guZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLW1pbmltYXAvZG9tYWluL21pbmltYXAtY2FsY3VsYXRlLXZpZXctYm94L21pbmltYXAtY2FsY3VsYXRlLXZpZXctYm94LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFNL0MsSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFFbkMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFcEQsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXVDO1FBQ25ELElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNiLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqSCxDQUFDO3dHQTVCVSxnQ0FBZ0M7NEdBQWhDLGdDQUFnQzs7QUFBaEMsZ0NBQWdDO0lBRDVDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDO0dBQ3RDLGdDQUFnQyxDQTZCNUM7OzRGQTdCWSxnQ0FBZ0M7a0JBRjVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYXBDYWxjdWxhdGVWaWV3Qm94UmVxdWVzdCB9IGZyb20gJy4vbWluaW1hcC1jYWxjdWxhdGUtdmlldy1ib3gucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY2FudmFzJztcbmltcG9ydCB7IEZGbG93QmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtZmxvdyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTWluaW1hcENhbGN1bGF0ZVZpZXdCb3hSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE1pbmltYXBDYWxjdWxhdGVWaWV3Qm94RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxNaW5pbWFwQ2FsY3VsYXRlVmlld0JveFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudFN0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mRmxvdygpOiBGRmxvd0Jhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZkZsb3c7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNhbnZhcygpOiBGQ2FudmFzQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRTdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTWluaW1hcENhbGN1bGF0ZVZpZXdCb3hSZXF1ZXN0KTogSVJlY3Qge1xuICAgIGlmKCF0aGlzLl9mRmxvdyB8fCAhdGhpcy5fZkNhbnZhcykge1xuICAgICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2dldFJlY3RGb3JNaW5pbWFwVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UmVjdEZvck1pbmltYXBWaWV3KCk6IElSZWN0IHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jYWxjdWxhdGVWaWV3Qm94KCk7XG4gICAgcmVzdWx0LnggPSAwO1xuICAgIHJlc3VsdC55ID0gMDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlVmlld0JveCgpOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmRpdihSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudCh0aGlzLl9mRmxvdyEuaG9zdEVsZW1lbnQpLCB0aGlzLl9mQ2FudmFzLnRyYW5zZm9ybS5zY2FsZSk7XG4gIH1cbn1cbiJdfQ==