@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
JavaScript
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==