@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.
48 lines • 6.61 kB
JavaScript
import { __decorate } from "tslib";
import { Point } from '@foblex/2d';
import { inject, Injectable } from '@angular/core';
import { GetNormalizedPointRequest } from './get-normalized-point-request';
import { FComponentsStore } from '../../f-storage';
import { FExecutionRegister } from '@foblex/mediator';
import * as i0 from "@angular/core";
let GetNormalizedPointExecution = class GetNormalizedPointExecution {
_fComponentsStore = inject(FComponentsStore);
get _transform() {
return this._fComponentsStore.fCanvas.transform;
}
// BrowserWindow
// +------------------------------------------+
// | F-Flow |
// | +----------------------------------+ |
// | | F-Canvas (scale: 0.5) | |
// | | +-------------------------+ | |
// | | | | | |
// | | | Element | | |
// | | | System: (500,300) | | |
// | | | Normalize: (200,150) | | |
// | | | | | |
// | | | | | |
// | | +-------------------------+ | |
// | | | |
// | +----------------------------------+ |
// | |
// +------------------------------------------+
// Transform from the browser window to the canvas coordinates:
handle(request) {
return Point.fromPoint(request.position)
.elementTransform(this._fComponentsStore.flowHost)
.sub(this._transform.scaledPosition)
.sub(this._transform.position)
.div(this._transform.scale);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedPointExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedPointExecution });
};
GetNormalizedPointExecution = __decorate([
FExecutionRegister(GetNormalizedPointRequest)
], GetNormalizedPointExecution);
export { GetNormalizedPointExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedPointExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQvZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJM0QsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFFckIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0RBQStEO0lBQ3hELE1BQU0sQ0FBQyxPQUFrQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUNyQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2FBQ2pELEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQzthQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzt3R0EvQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztHQUNqQywyQkFBMkIsQ0FnQ3ZDOzs0RkFoQ1ksMkJBQTJCO2tCQUZ2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRQb2ludEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCwgSVBvaW50PiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG4gIC8vIEJyb3dzZXJXaW5kb3dcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gfCAgRi1GbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgfCAgRi1DYW52YXMgKHNjYWxlOiAwLjUpICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIEVsZW1lbnQgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIFN5c3RlbTogKDUwMCwzMDApICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIE5vcm1hbGl6ZTogKDIwMCwxNTApICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gVHJhbnNmb3JtIGZyb20gdGhlIGJyb3dzZXIgd2luZG93IHRvIHRoZSBjYW52YXMgY29vcmRpbmF0ZXM6XG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LnBvc2l0aW9uKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdClcbiAgICAgIC5zdWIodGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKVxuICAgICAgLnN1Yih0aGlzLl90cmFuc2Zvcm0ucG9zaXRpb24pXG4gICAgICAuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cbn1cbiJdfQ==