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.

43 lines 6.74 kB
import { __decorate } from "tslib"; import { inject, Injectable } from '@angular/core'; import { SelectionAreaPreparationRequest } from './selection-area-preparation.request'; import { Point } from '@foblex/2d'; import { FExecutionRegister, FMediator } from '@foblex/mediator'; import { FComponentsStore } from '../../../f-storage'; import { SelectionAreaDragHandle } from '../selection-area.drag-handle'; import { FDraggableDataContext } from '../../../f-draggable'; import { isValidEventTrigger } from '../../../domain'; import * as i0 from "@angular/core"; let SelectionAreaPreparationExecution = class SelectionAreaPreparationExecution { _fMediator = inject(FMediator); _fComponentsStore = inject(FComponentsStore); _fDraggableDataContext = inject(FDraggableDataContext); get _fHost() { return this._fComponentsStore.fFlow.hostElement; } handle(request) { if (!this._isValid(request)) { return; } this._fDraggableDataContext.draggableItems = [ new SelectionAreaDragHandle(this._fComponentsStore, request.fSelectionArea, this._fDraggableDataContext, this._fMediator) ]; this._fDraggableDataContext.onPointerDownScale = 1; this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition()) .elementTransform(this._fHost); } _isValid(request) { return this._fDraggableDataContext.isEmpty() && isValidEventTrigger(request.event.originalEvent, request.fTrigger); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionAreaPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionAreaPreparationExecution }); }; SelectionAreaPreparationExecution = __decorate([ FExecutionRegister(SelectionAreaPreparationRequest) ], SelectionAreaPreparationExecution); export { SelectionAreaPreparationExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectionAreaPreparationExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUkvQyxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUVwQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRS9ELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEdBQUc7WUFDM0MsSUFBSSx1QkFBdUIsQ0FDekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQzdGO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUM3RixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUF3QztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUU7ZUFDdkMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLENBQUM7d0dBNUJVLGlDQUFpQzs0R0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBNkI3Qzs7NEZBN0JZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUgfSBmcm9tICcuLi9zZWxlY3Rpb24tYXJlYS5kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBpc1ZhbGlkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZChyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbXG4gICAgICBuZXcgU2VsZWN0aW9uQXJlYURyYWdIYW5kbGUoXG4gICAgICAgIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUsIHJlcXVlc3QuZlNlbGVjdGlvbkFyZWEsIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCwgdGhpcy5fZk1lZGlhdG9yXG4gICAgICApXG4gICAgXTtcblxuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUgPSAxO1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24gPSBQb2ludC5mcm9tUG9pbnQocmVxdWVzdC5ldmVudC5nZXRQb3NpdGlvbigpKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc0VtcHR5KClcbiAgICAgICYmIGlzVmFsaWRFdmVudFRyaWdnZXIocmVxdWVzdC5ldmVudC5vcmlnaW5hbEV2ZW50LCByZXF1ZXN0LmZUcmlnZ2VyKTtcbiAgfVxufVxuIl19