UNPKG

angular-advance-chart

Version:

Angular Advance Chart provides chart solution for Angular.Currently supports Bar, Pie and Donut chart

62 lines 6.81 kB
import { __decorate } from "tslib"; import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core'; let TooltipDirective = class TooltipDirective { constructor(el, renderer) { this.el = el; this.renderer = renderer; } onMouseEnter(event) { if (!this.tooltip) { this.show(event); } } onMouseLeave() { if (this.tooltip) { this.hide(); } } show(event) { this.create(); this.setPosition(event); this.renderer.addClass(this.tooltip, 'chart-tooltip-show'); } hide() { this.renderer.removeClass(this.tooltip, 'chart-tooltip-show'); this.renderer.removeChild(document.body, this.tooltip); this.tooltip = null; } create() { this.tooltip = this.renderer.createElement('span'); this.renderer.appendChild(this.tooltip, this.renderer.createText(this.tooltipTitle) // textNode ); this.renderer.appendChild(document.body, this.tooltip); this.renderer.addClass(this.tooltip, 'chart-tooltip'); } setPosition(event) { const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; let top = event.y; let left = event.x; this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`); this.renderer.setStyle(this.tooltip, 'left', `${left}px`); } }; TooltipDirective.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; __decorate([ Input('tooltip') ], TooltipDirective.prototype, "tooltipTitle", void 0); __decorate([ HostListener('mouseenter', ['$event']) ], TooltipDirective.prototype, "onMouseEnter", null); __decorate([ HostListener('mouseleave') ], TooltipDirective.prototype, "onMouseLeave", null); TooltipDirective = __decorate([ Directive({ selector: '[chartTooltip]' }) ], TooltipDirective); export { TooltipDirective }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWFkdmFuY2UtY2hhcnQvIiwic291cmNlcyI6WyJsaWIvX2RpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLdEYsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUFJM0IsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQUksQ0FBQztJQUU1QixZQUFZLENBQUMsS0FBUztRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtJQUMxQyxDQUFDO0lBRTJCLFlBQVk7UUFDdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQUU7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFLO1FBQ1IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFdEIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXO1NBQ3hELENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUVmLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBRTNHLElBQUksR0FBRyxHQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLEdBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0YsQ0FBQTs7WUE1Q3lCLFVBQVU7WUFBb0IsU0FBUzs7QUFIN0M7SUFBakIsS0FBSyxDQUFDLFNBQVMsQ0FBQztzREFBc0I7QUFLQztJQUF2QyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7b0RBRXRDO0FBRTJCO0lBQTNCLFlBQVksQ0FBQyxZQUFZLENBQUM7b0RBRTFCO0FBWlUsZ0JBQWdCO0lBSDVCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQztHQUNXLGdCQUFnQixDQWdENUI7U0FoRFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NoYXJ0VG9vbHRpcF0nXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUge1xuICBASW5wdXQoJ3Rvb2x0aXAnKSB0b29sdGlwVGl0bGU6IHN0cmluZztcbiAgdG9vbHRpcDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSkgb25Nb3VzZUVudGVyKGV2ZW50OmFueSkge1xuICAgIGlmICghdGhpcy50b29sdGlwKSB7IHRoaXMuc2hvdyhldmVudCk7IH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcCkgeyB0aGlzLmhpZGUoKTsgfVxuICB9XG5cbiAgc2hvdyhldmVudCkge1xuICAgIHRoaXMuY3JlYXRlKCk7XG4gICAgdGhpcy5zZXRQb3NpdGlvbihldmVudCk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRvb2x0aXAsICdjaGFydC10b29sdGlwLXNob3cnKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXAsICdjaGFydC10b29sdGlwLXNob3cnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMudG9vbHRpcCk7XG4gICAgdGhpcy50b29sdGlwID0gbnVsbDtcblxuICB9XG5cbiAgY3JlYXRlKCkge1xuICAgIHRoaXMudG9vbHRpcCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChcbiAgICAgIHRoaXMudG9vbHRpcCxcbiAgICAgIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dCh0aGlzLnRvb2x0aXBUaXRsZSkgLy8gdGV4dE5vZGVcbiAgICApO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnY2hhcnQtdG9vbHRpcCcpO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oZXZlbnQpIHtcblxuICAgIGNvbnN0IHNjcm9sbFBvcyA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICBsZXQgdG9wPWV2ZW50Lnk7XG4gICAgbGV0IGxlZnQ9ZXZlbnQueFxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwLCAndG9wJywgYCR7dG9wICsgc2Nyb2xsUG9zfXB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXAsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICB9XG59XG4iXX0=