UNPKG

ngx-materialize

Version:

An Angular wrap around Materialize library

106 lines (105 loc) 7.16 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Directive, ElementRef, Input, Renderer } from '@angular/core'; export class MzTooltipDirective { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; } /** * @return {?} */ ngOnInit() { this.initElements(); } /** * @return {?} */ ngAfterViewInit() { if (this.elementRef.nativeElement.getAttribute('type') === 'checkbox') { this.targetElement = $(this.elementRef.nativeElement).next('label'); } this.initTooltip(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { if (this.targetElement) { this.initTooltip(); } } /** * @return {?} */ ngOnDestroy() { this.renderer.invokeElementMethod(this.targetElement, 'tooltip', ['remove']); } /** * @return {?} */ initElements() { this.targetElement = $(this.elementRef.nativeElement); } /** * @return {?} */ initTooltip() { const /** @type {?} */ tooltipOptions = { delay: isNaN(this.delay) || this.delay == null ? 350 : this.delay, html: this.html || false, position: this.position || 'bottom', tooltip: this.tooltip, }; this.renderer.invokeElementMethod(this.targetElement, 'tooltip', [tooltipOptions]); } } MzTooltipDirective.decorators = [ { type: Directive, args: [{ selector: '[mzTooltip], [mz-tooltip]', },] }, ]; /** @nocollapse */ MzTooltipDirective.ctorParameters = () => [ { type: ElementRef, }, { type: Renderer, }, ]; MzTooltipDirective.propDecorators = { "delay": [{ type: Input },], "html": [{ type: Input },], "position": [{ type: Input },], "tooltip": [{ type: Input },], }; function MzTooltipDirective_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MzTooltipDirective.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MzTooltipDirective.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MzTooltipDirective.propDecorators; /** @type {?} */ MzTooltipDirective.prototype.delay; /** @type {?} */ MzTooltipDirective.prototype.html; /** @type {?} */ MzTooltipDirective.prototype.position; /** @type {?} */ MzTooltipDirective.prototype.tooltip; /** @type {?} */ MzTooltipDirective.prototype.targetElement; /** @type {?} */ MzTooltipDirective.prototype.elementRef; /** @type {?} */ MzTooltipDirective.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbWF0ZXJpYWxpemUvIiwic291cmNlcyI6WyJzcmMvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBZ0MsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtuSSxNQUFNOzs7OztJQVFKLFlBQ1UsWUFDQTtRQURBLGVBQVUsR0FBVixVQUFVO1FBQ1YsYUFBUSxHQUFSLFFBQVE7S0FDYjs7OztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDckI7Ozs7SUFFRCxlQUFlO1FBQ2IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtLQUNGOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQzlFOzs7O0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDdkQ7Ozs7SUFFRCxXQUFXO1FBQ1QsdUJBQU0sY0FBYyxHQUErQjtZQUNqRCxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNqRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLO1lBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVE7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztLQUNwRjs7O1lBbkRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7O1lBSmtDLFVBQVU7WUFBdUMsUUFBUTs7O3NCQU16RixLQUFLO3FCQUNMLEtBQUs7eUJBQ0wsS0FBSzt3QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW216VG9vbHRpcF0sIFttei10b29sdGlwXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNelRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkZWxheTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGh0bWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcG9zaXRpb246IHN0cmluZztcclxuICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmc7XHJcblxyXG4gIHRhcmdldEVsZW1lbnQ6IEpRdWVyeTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcixcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdEVsZW1lbnRzKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdjaGVja2JveCcpIHtcclxuICAgICAgdGhpcy50YXJnZXRFbGVtZW50ID0gJCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkubmV4dCgnbGFiZWwnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRUb29sdGlwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAodGhpcy50YXJnZXRFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMuaW5pdFRvb2x0aXAoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5pbnZva2VFbGVtZW50TWV0aG9kKHRoaXMudGFyZ2V0RWxlbWVudCwgJ3Rvb2x0aXAnLCBbJ3JlbW92ZSddKTtcclxuICB9XHJcblxyXG4gIGluaXRFbGVtZW50cygpIHtcclxuICAgIHRoaXMudGFyZ2V0RWxlbWVudCA9ICQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgaW5pdFRvb2x0aXAoKSB7XHJcbiAgICBjb25zdCB0b29sdGlwT3B0aW9uczogTWF0ZXJpYWxpemUuVG9vbHRpcE9wdGlvbnMgPSB7XHJcbiAgICAgIGRlbGF5OiBpc05hTih0aGlzLmRlbGF5KSB8fCB0aGlzLmRlbGF5ID09IG51bGwgPyAzNTAgOiB0aGlzLmRlbGF5LFxyXG4gICAgICBodG1sOiB0aGlzLmh0bWwgfHwgZmFsc2UsXHJcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uIHx8ICdib3R0b20nLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucmVuZGVyZXIuaW52b2tlRWxlbWVudE1ldGhvZCh0aGlzLnRhcmdldEVsZW1lbnQsICd0b29sdGlwJywgW3Rvb2x0aXBPcHRpb25zXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==