@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 • 6.16 kB
JavaScript
import { __decorate } from "tslib";
import { inject, Injectable } from '@angular/core';
import { FExecutionRegister } from '@foblex/mediator';
import { OnPointerMoveRequest } from './on-pointer-move-request';
import { FDraggableDataContext } from '../../../f-draggable';
import { Point } from '@foblex/2d';
import { FComponentsStore } from '../../../f-storage';
import * as i0 from "@angular/core";
let OnPointerMoveExecution = class OnPointerMoveExecution {
_fComponentsStore = inject(FComponentsStore);
get _hostElement() {
return this._fComponentsStore.fDraggable.hostElement;
}
_fDraggableDataContext = inject(FDraggableDataContext);
handle(request) {
this._setDifferenceToDraggableItems(this._getDifferenceBetweenPointerAndPointerDown(request.event));
}
_setDifferenceToDraggableItems(difference) {
this._fDraggableDataContext.draggableItems.forEach((item) => {
item.onPointerMove({ ...difference });
});
}
_getDifferenceBetweenPointerAndPointerDown(event) {
return this._getPointerPositionInCanvas(event)
.div(this._fDraggableDataContext.onPointerDownScale)
.sub(this._fDraggableDataContext.onPointerDownPosition);
}
_getPointerPositionInCanvas(event) {
return Point.fromPoint(event.getPosition()).elementTransform(this._hostElement);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnPointerMoveExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnPointerMoveExecution });
};
OnPointerMoveExecution = __decorate([
FExecutionRegister(OnPointerMoveRequest)
], OnPointerMoveExecution);
export { OnPointerMoveExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnPointerMoveExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tcG9pbnRlci1tb3ZlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtZHJhZ2dhYmxlL29uLXBvaW50ZXItbW92ZS9vbi1wb2ludGVyLW1vdmUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQVUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUsvQyxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQUVoQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5RCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVyxDQUFDLFdBQVcsQ0FBQztJQUN4RCxDQUFDO0lBRWdCLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRWpFLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxJQUFJLENBQUMsOEJBQThCLENBQ2pDLElBQUksQ0FBQywwQ0FBMEMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQy9ELENBQUM7SUFDSixDQUFDO0lBRU8sOEJBQThCLENBQUMsVUFBa0I7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLDBDQUEwQyxDQUFDLEtBQW9CO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQzthQUMzQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDO2FBQ25ELEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sMkJBQTJCLENBQUMsS0FBb0I7UUFDdEQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRixDQUFDO3dHQTlCVSxzQkFBc0I7NEdBQXRCLHNCQUFzQjs7QUFBdEIsc0JBQXNCO0lBRGxDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO0dBQzVCLHNCQUFzQixDQStCbEM7OzRGQS9CWSxzQkFBc0I7a0JBRmxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgT25Qb2ludGVyTW92ZVJlcXVlc3QgfSBmcm9tICcuL29uLXBvaW50ZXItbW92ZS1yZXF1ZXN0JztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vZHJhZy10b29sa2l0XCI7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoT25Qb2ludGVyTW92ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgT25Qb2ludGVyTW92ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248T25Qb2ludGVyTW92ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9ob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE9uUG9pbnRlck1vdmVSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RGlmZmVyZW5jZVRvRHJhZ2dhYmxlSXRlbXMoXG4gICAgICB0aGlzLl9nZXREaWZmZXJlbmNlQmV0d2VlblBvaW50ZXJBbmRQb2ludGVyRG93bihyZXF1ZXN0LmV2ZW50KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9zZXREaWZmZXJlbmNlVG9EcmFnZ2FibGVJdGVtcyhkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5vblBvaW50ZXJNb3ZlKHsgLi4uZGlmZmVyZW5jZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUG9pbnRlckFuZFBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UG9pbnRlclBvc2l0aW9uSW5DYW52YXMoZXZlbnQpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UG9pbnRlclBvc2l0aW9uSW5DYW52YXMoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2hvc3RFbGVtZW50KTtcbiAgfVxufVxuIl19