UNPKG

@gouvfr-anct/mediation-numerique

Version:

📚 Bibliothèque pour la cartographie de l’offre de médiation numérique.

40 lines 5.15 kB
import { Input, HostListener, Directive, ContentChild } from '@angular/core'; import * as i0 from "@angular/core"; export class TooltipDirective { constructor(renderer, elementRef, viewContainerRef) { this.renderer = renderer; this.elementRef = elementRef; this.viewContainerRef = viewContainerRef; } onMouseEnter() { if (this.title && this.title.length > 0) { const view = this.viewContainerRef.createEmbeddedView(this.tooltipTemplateRef); view.rootNodes.forEach((node) => this.renderer.appendChild(this.elementRef.nativeElement, node)); } } onMouseLeave() { if (this.viewContainerRef) { this.viewContainerRef.clear(); } } } TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: TooltipDirective, selector: "[app-tooltipDirective]", inputs: { title: "title", parametroPlantilla: "parametroPlantilla" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, queries: [{ propertyName: "tooltipTemplateRef", first: true, predicate: ["tooltipTemplate"], descendants: true }], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: TooltipDirective, decorators: [{ type: Directive, args: [{ selector: '[app-tooltipDirective]' }] }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { title: [{ type: Input }], parametroPlantilla: [{ type: Input }], tooltipTemplateRef: [{ type: ContentChild, args: ['tooltipTemplate'] }], onMouseEnter: [{ type: HostListener, args: ['mouseenter'] }], onMouseLeave: [{ type: HostListener, args: ['mouseleave'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9AZ291dmZyLWFuY3QvbWVkaWF0aW9uLW51bWVyaXF1ZS9zaGFyZWQvc3JjL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUlULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQzs7QUFHdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixZQUFvQixRQUFtQixFQUFVLFVBQXNCLEVBQVUsZ0JBQWtDO1FBQS9GLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFNM0YsWUFBWTtRQUN0QyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNsRztJQUNILENBQUM7SUFFMkIsWUFBWTtRQUN0QyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDOzs2R0FuQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTt3SkFFdEMsS0FBSztzQkFBYixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFbUMsa0JBQWtCO3NCQUExRCxZQUFZO3VCQUFDLGlCQUFpQjtnQkFFSCxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBT0UsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgSG9zdExpc3RlbmVyLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb250ZW50Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thcHAtdG9vbHRpcERpcmVjdGl2ZV0nIH0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgQElucHV0KCkgcGFyYW1ldHJvUGxhbnRpbGxhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBUZW1wbGF0ZScpIHByaXZhdGUgdG9vbHRpcFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxvYmplY3Q+O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKSBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGl0bGUgJiYgdGhpcy50aXRsZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRvb2x0aXBUZW1wbGF0ZVJlZik7XG4gICAgICB2aWV3LnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBub2RlKSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==