@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 • 7.78 kB
JavaScript
import { __decorate } from "tslib";
import { Point } from '@foblex/2d';
import { inject, Injectable, Injector } from '@angular/core';
import { FCreateConnectionDragHandlerPreparationRequest } from './f-create-connection-drag-handler-preparation.request';
import { FComponentsStore } from '../../../../../f-storage';
import { FExecutionRegister } from '@foblex/mediator';
import { FDraggableDataContext } from '../../../../f-draggable-data-context';
import { FCreateConnectionDragHandler } from '../../f-create-connection.drag-handler';
import * as i0 from "@angular/core";
let FCreateConnectionDragHandlerPreparationExecution = class FCreateConnectionDragHandlerPreparationExecution {
_fComponentsStore = inject(FComponentsStore);
_fDraggableDataContext = inject(FDraggableDataContext);
_injector = inject(Injector);
get _fHost() {
return this._fComponentsStore.fFlow.hostElement;
}
get _transform() {
return this._fComponentsStore.fCanvas.transform;
}
handle(request) {
this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
const positionRelativeToFlowComponent = Point.fromPoint(request.onPointerDownPosition)
.elementTransform(this._fHost).div(this._transform.scale);
this._fDraggableDataContext.onPointerDownPosition = positionRelativeToFlowComponent;
const positionRelativeToCanvasComponent = Point.fromPoint(positionRelativeToFlowComponent).mult(this._transform.scale)
.sub(this._transform.position).sub(this._transform.scaledPosition).div(this._transform.scale);
this._fDraggableDataContext.draggableItems = [
new FCreateConnectionDragHandler(this._injector, request.fOutputOrOutlet, positionRelativeToCanvasComponent)
];
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution });
};
FCreateConnectionDragHandlerPreparationExecution = __decorate([
FExecutionRegister(FCreateConnectionDragHandlerPreparationRequest)
], FCreateConnectionDragHandlerPreparationExecution);
export { FCreateConnectionDragHandlerPreparationExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCreateConnectionDragHandlerPreparationExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi1kcmFnLWhhbmRsZXItcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtcHJlcGFyYXRpb24vZHJhZy1oYW5kbGVyLXByZXBhcmF0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGVyLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUkvRSxJQUFNLGdEQUFnRCxHQUF0RCxNQUFNLGdEQUFnRDtJQUcxQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN2RCxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlDLElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXVEO1FBQ25FLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLCtCQUErQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO2FBQ25GLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLEdBQUcsK0JBQStCLENBQUM7UUFFcEYsTUFBTSxpQ0FBaUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLCtCQUErQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO2FBQ25ILEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEdBQUc7WUFDM0MsSUFBSSw0QkFBNEIsQ0FDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLGlDQUFpQyxDQUMzRTtTQUNGLENBQUM7SUFDSixDQUFDO3dHQTdCVSxnREFBZ0Q7NEdBQWhELGdEQUFnRDs7QUFBaEQsZ0RBQWdEO0lBRDVELGtCQUFrQixDQUFDLDhDQUE4QyxDQUFDO0dBQ3RELGdEQUFnRCxDQThCNUQ7OzRGQTlCWSxnREFBZ0Q7a0JBRjVELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlclByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1jcmVhdGUtY29ubmVjdGlvbi1kcmFnLWhhbmRsZXItcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9mLWNyZWF0ZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlclByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyUHJlcGFyYXRpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJSGFuZGxlcjxGQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyUHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXJQcmVwYXJhdGlvblJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlID0gdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICAgIGNvbnN0IHBvc2l0aW9uUmVsYXRpdmVUb0Zsb3dDb21wb25lbnQgPSBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5vblBvaW50ZXJEb3duUG9zaXRpb24pXG4gICAgICAuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdCkuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHBvc2l0aW9uUmVsYXRpdmVUb0Zsb3dDb21wb25lbnQ7XG5cbiAgICBjb25zdCBwb3NpdGlvblJlbGF0aXZlVG9DYW52YXNDb21wb25lbnQgPSBQb2ludC5mcm9tUG9pbnQocG9zaXRpb25SZWxhdGl2ZVRvRmxvd0NvbXBvbmVudCkubXVsdCh0aGlzLl90cmFuc2Zvcm0uc2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbikuc3ViKHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG5cbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICBuZXcgRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlcihcbiAgICAgICAgdGhpcy5faW5qZWN0b3IsIHJlcXVlc3QuZk91dHB1dE9yT3V0bGV0LCBwb3NpdGlvblJlbGF0aXZlVG9DYW52YXNDb21wb25lbnRcbiAgICAgIClcbiAgICBdO1xuICB9XG59XG4iXX0=