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.

32 lines 5.5 kB
import { __decorate } from "tslib"; import { inject, Injectable } from '@angular/core'; import { UpdateScaleRequest } from './update-scale-request'; import { FExecutionRegister } from '@foblex/mediator'; import { PointExtensions } from '@foblex/2d'; import { FComponentsStore } from '../../../f-storage'; import * as i0 from "@angular/core"; let UpdateScaleExecution = class UpdateScaleExecution { _fComponentsStore = inject(FComponentsStore); get transform() { return this._fComponentsStore.fCanvas.transform; } handle(request) { if (request.scale !== this.transform.scale) { const summaryPosition = PointExtensions.sum(this.transform.scaledPosition, this.transform.position); const newX = request.toPosition.x - (request.toPosition.x - summaryPosition.x) * request.scale / this.transform.scale; const newY = request.toPosition.y - (request.toPosition.y - summaryPosition.y) * request.scale / this.transform.scale; this.transform.scale = request.scale; this.transform.scaledPosition = PointExtensions.sub(PointExtensions.initialize(newX, newY), this.transform.position); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateScaleExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateScaleExecution }); }; UpdateScaleExecution = __decorate([ FExecutionRegister(UpdateScaleRequest) ], UpdateScaleExecution); export { UpdateScaleExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateScaleExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXNjYWxlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY2FudmFzL3VwZGF0ZS1zY2FsZS91cGRhdGUtc2NhbGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFJL0MsSUFBTSxvQkFBb0IsR0FBMUIsTUFBTSxvQkFBb0I7SUFFdkIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUUzQyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEcsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUN0SCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBRXRILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZILENBQUM7SUFDSCxDQUFDO3dHQW5CVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7QUFBcEIsb0JBQW9CO0lBRGhDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO0dBQzFCLG9CQUFvQixDQW9CaEM7OzRGQXBCWSxvQkFBb0I7a0JBRmhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwZGF0ZVNjYWxlUmVxdWVzdCB9IGZyb20gJy4vdXBkYXRlLXNjYWxlLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoVXBkYXRlU2NhbGVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZVNjYWxlRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxVcGRhdGVTY2FsZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogVXBkYXRlU2NhbGVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKHJlcXVlc3Quc2NhbGUgIT09IHRoaXMudHJhbnNmb3JtLnNjYWxlKSB7XG5cbiAgICAgIGNvbnN0IHN1bW1hcnlQb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uKTtcblxuICAgICAgY29uc3QgbmV3WCA9IHJlcXVlc3QudG9Qb3NpdGlvbi54IC0gKHJlcXVlc3QudG9Qb3NpdGlvbi54IC0gc3VtbWFyeVBvc2l0aW9uLngpICogcmVxdWVzdC5zY2FsZSAvIHRoaXMudHJhbnNmb3JtLnNjYWxlO1xuICAgICAgY29uc3QgbmV3WSA9IHJlcXVlc3QudG9Qb3NpdGlvbi55IC0gKHJlcXVlc3QudG9Qb3NpdGlvbi55IC0gc3VtbWFyeVBvc2l0aW9uLnkpICogcmVxdWVzdC5zY2FsZSAvIHRoaXMudHJhbnNmb3JtLnNjYWxlO1xuXG4gICAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZSA9IHJlcXVlc3Quc2NhbGU7XG4gICAgICB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5zdWIoUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUobmV3WCwgbmV3WSksIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==