@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
JavaScript
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=