@alauda-fe/common
Version:
Alauda frontend team common codes.
30 lines • 3.56 kB
JavaScript
import { Directive, ElementRef, Input } from '@angular/core';
import { GraphStoreService } from '../graph-store.service';
import { getRect } from '../utils';
import * as i0 from "@angular/core";
import * as i1 from "../graph-store.service";
export class GraphNodeDirective {
constructor(el, store) {
this.el = el;
this.store = store;
this.hostRect = () => getRect(this.el.nativeElement);
}
ngOnInit() {
this.store.registerNode(this.id, { getRect: this.hostRect, el: this.el });
}
ngOnDestroy() {
this.store.unregisterNode(this.id);
}
static { this.ɵfac = function GraphNodeDirective_Factory(t) { return new (t || GraphNodeDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.GraphStoreService)); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: GraphNodeDirective, selectors: [["", "aclGraphNode", ""]], inputs: { id: [0, "aclGraphNode", "id"] } }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GraphNodeDirective, [{
type: Directive,
args: [{
selector: '[aclGraphNode]',
}]
}], () => [{ type: i0.ElementRef }, { type: i1.GraphStoreService }], { id: [{
type: Input,
args: ['aclGraphNode']
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtbm9kZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JhcGgtY2FudmFzL2NvbXBvbmVudHMvZ3JhcGgtbm9kZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFLbkMsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixZQUNtQixFQUEyQixFQUMzQixLQUF3QjtRQUR4QixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUozQyxhQUFRLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7SUFLN0MsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7bUZBakJVLGtCQUFrQjtvRUFBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBSDlCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2FBQzNCOzJFQUdDLEVBQUU7a0JBREQsS0FBSzttQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgR3JhcGhTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9ncmFwaC1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVJRCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFJlY3QgfSBmcm9tICcuLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xHcmFwaE5vZGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgR3JhcGhOb2RlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2FjbEdyYXBoTm9kZScpXG4gIGlkOiBOb2RlSUQ7XG5cbiAgaG9zdFJlY3QgPSAoKSA9PiBnZXRSZWN0KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogR3JhcGhTdG9yZVNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0b3JlLnJlZ2lzdGVyTm9kZSh0aGlzLmlkLCB7IGdldFJlY3Q6IHRoaXMuaG9zdFJlY3QsIGVsOiB0aGlzLmVsIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9yZS51bnJlZ2lzdGVyTm9kZSh0aGlzLmlkKTtcbiAgfVxufVxuIl19