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.

60 lines 7.02 kB
import { Directive, inject, Input } from "@angular/core"; import { F_MARKER, FMarkerBase } from './f-marker-base'; import { EFMarkerType } from './e-f-marker-type'; import { FMediator } from '@foblex/mediator'; import { AddConnectionMarkerToStoreRequest, RemoveConnectionMarkerFromStoreRequest } from '../../domain'; import * as i0 from "@angular/core"; export class FMarkerDirective extends FMarkerBase { elementReference; get hostElement() { return this.elementReference.nativeElement; } width = 0; height = 0; refX = 0; refY = 0; type = EFMarkerType.START; orient = 'auto'; markerUnits = 'strokeWidth'; _fMediator = inject(FMediator); constructor(elementReference) { super(); this.elementReference = elementReference; this.hostElement.style.display = 'none'; } ngOnInit() { this._fMediator.execute(new AddConnectionMarkerToStoreRequest(this)); } ngOnDestroy() { this._fMediator.execute(new RemoveConnectionMarkerFromStoreRequest(this)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FMarkerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FMarkerDirective, selector: "svg[fMarker]", inputs: { hostElement: "hostElement", width: "width", height: "height", refX: "refX", refY: "refY", type: "type", orient: "orient", markerUnits: "markerUnits" }, host: { classAttribute: "f-component f-marker" }, providers: [{ provide: F_MARKER, useExisting: FMarkerDirective }], usesInheritance: true, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FMarkerDirective, decorators: [{ type: Directive, args: [{ selector: "svg[fMarker]", host: { class: "f-component f-marker" }, providers: [{ provide: F_MARKER, useExisting: FMarkerDirective }], }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { hostElement: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }], refX: [{ type: Input }], refY: [{ type: Input }], type: [{ type: Input }], orient: [{ type: Input }], markerUnits: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1tYXJrZXIvZi1tYXJrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFDckMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFTekcsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQVc7SUErQnJDO0lBN0JWLElBQ29CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFHZSxLQUFLLEdBQVcsQ0FBQyxDQUFDO0lBR2xCLE1BQU0sR0FBVyxDQUFDLENBQUM7SUFHbkIsSUFBSSxHQUFXLENBQUMsQ0FBQztJQUdqQixJQUFJLEdBQVcsQ0FBQyxDQUFDO0lBR2pCLElBQUksR0FBVyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBR2xDLE1BQU0sR0FBMEQsTUFBTSxDQUFDO0lBR3ZFLFdBQVcsR0FBcUMsYUFBYSxDQUFDO0lBRXRFLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdkMsWUFDVSxnQkFBeUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFGQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBR2pELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7d0dBM0NVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDJQQUZoQixDQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBRTs7NEZBRXhELGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCO29CQUNELFNBQVMsRUFBRSxDQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLGtCQUFrQixFQUFFLENBQUU7aUJBQ3BFOytFQUlxQixXQUFXO3NCQUQ5QixLQUFLO2dCQU1VLEtBQUs7c0JBRHBCLEtBQUs7Z0JBSVUsTUFBTTtzQkFEckIsS0FBSztnQkFJVSxJQUFJO3NCQURuQixLQUFLO2dCQUlVLElBQUk7c0JBRG5CLEtBQUs7Z0JBSVUsSUFBSTtzQkFEbkIsS0FBSztnQkFJVSxNQUFNO3NCQURyQixLQUFLO2dCQUlVLFdBQVc7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX01BUktFUiwgRk1hcmtlckJhc2UgfSBmcm9tICcuL2YtbWFya2VyLWJhc2UnO1xuaW1wb3J0IHsgRUZNYXJrZXJUeXBlIH0gZnJvbSAnLi9lLWYtbWFya2VyLXR5cGUnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRDb25uZWN0aW9uTWFya2VyVG9TdG9yZVJlcXVlc3QsIFJlbW92ZUNvbm5lY3Rpb25NYXJrZXJGcm9tU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcInN2Z1tmTWFya2VyXVwiLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1tYXJrZXJcIlxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX01BUktFUiwgdXNlRXhpc3Rpbmc6IEZNYXJrZXJEaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTWFya2VyRGlyZWN0aXZlIGV4dGVuZHMgRk1hcmtlckJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHdpZHRoOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBoZWlnaHQ6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlg6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHJlZlk6IG51bWJlciA9IDA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHR5cGU6IHN0cmluZyA9IEVGTWFya2VyVHlwZS5TVEFSVDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgb3JpZW50OiAnYXV0bycgfCAnYXV0by1zdGFydC1yZXZlcnNlJyB8ICdjYWxjdWxhdGVkJyB8IHN0cmluZyA9ICdhdXRvJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgbWFya2VyVW5pdHM6ICdzdHJva2VXaWR0aCcgfCAndXNlclNwYWNlT25Vc2UnID0gJ3N0cm9rZVdpZHRoJztcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQ29ubmVjdGlvbk1hcmtlclRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ29ubmVjdGlvbk1hcmtlckZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=