{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import {NgModule,Directive,ElementRef,OnDestroy,HostBinding,HostListener,Input} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from '../dom/domhandler';\n\n@Directive({\n selector: '[pTooltip]',\n host: {\n },\n providers: [DomHandler]\n})\nexport class Tooltip implements OnDestroy {\n\n @Input('pTooltip') text: string;\n\n @Input() tooltipPosition: string = 'right';\n \n @Input() tooltipEvent: string = 'hover';\n \n container: any;\n \n constructor(public el: ElementRef, public domHandler: DomHandler) {}\n \n @HostListener('mouseenter', ['$event']) \n onMouseEnter(e: Event) {\n if(this.tooltipEvent === 'hover') {\n this.show();\n }\n }\n \n @HostListener('mouseleave', ['$event']) \n onMouseLeave(e: Event) {\n if(this.tooltipEvent === 'hover') {\n this.hide();\n }\n }\n \n @HostListener('focus', ['$event']) \n onFocus(e: Event) {\n if(this.tooltipEvent === 'focus') {\n this.show();\n }\n }\n \n @HostListener('blur', ['$event']) \n onBlur(e: Event) {\n if(this.tooltipEvent === 'focus') {\n this.hide();\n }\n }\n \n show() {\n this.create();\n let rect = this.el.nativeElement.getBoundingClientRect();\n let targetTop = rect.top + document.body.scrollTop;\n let targetLeft = rect.left + document.body.scrollLeft;\n let left: number;\n let top: number;\n \n this.container.style.display = 'block';\n\n switch(this.tooltipPosition) {\n case 'right':\n left = targetLeft + this.domHandler.getOuterWidth(this.el.nativeElement);\n top = targetTop + (this.domHandler.getOuterHeight(this.el.nativeElement) - this.domHandler.getOuterHeight(this.container)) / 2;\n break;\n \n case 'left':\n left = targetLeft - this.domHandler.getOuterWidth(this.container);\n top = targetTop + (this.domHandler.getOuterHeight(this.el.nativeElement) - this.domHandler.getOuterHeight(this.container)) / 2;\n break;\n \n case 'top':\n left = targetLeft + (this.domHandler.getOuterWidth(this.el.nativeElement) - this.domHandler.getOuterWidth(this.container)) / 2;\n top = targetTop - this.domHandler.getOuterHeight(this.container);\n break;\n \n case 'bottom':\n left = targetLeft + (this.domHandler.getOuterWidth(this.el.nativeElement) - this.domHandler.getOuterWidth(this.container)) / 2;\n top = targetTop + this.domHandler.getOuterHeight(this.el.nativeElement);\n break;\n }\n \n this.container.style.left = left + 'px';\n this.container.style.top = top + 'px';\n this.domHandler.fadeIn(this.container, 250);\n this.container.style.zIndex = ++DomHandler.zindex;\n }\n \n hide() {\n this.container.style.display = 'none';\n document.body.removeChild(this.container);\n this.container = null;\n }\n \n create() {\n this.container = document.createElement('div');\n this.container.className = 'ui-widget ui-tooltip ui-tooltip-' + this.tooltipPosition;\n \n let tooltipArrow = document.createElement('div');\n tooltipArrow.className = 'ui-tooltip-arrow';\n this.container.appendChild(tooltipArrow);\n \n let tooltipText = document.createElement('div');\n tooltipText.className = 'ui-tooltip-text ui-shadow ui-corner-all';\n tooltipText.innerHTML = this.text;\n \n this.container.appendChild(tooltipText);\n \n document.body.appendChild(this.container);\n }\n \n ngOnDestroy() {\n if(this.container && this.container.parentElement) {\n document.body.removeChild(this.container);\n }\n this.container = null;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Tooltip],\n declarations: [Tooltip]\n})\nexport class TooltipModule { }"]}