UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

152 lines 10.4 kB
/** * @fileoverview added by tsickle * Generated from: tooltip.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, HostListener, Input, ComponentFactoryResolver, ElementRef, } from '@angular/core'; import { OverlayContainerRef } from '@duoduo-oba/ng-devui/overlay-container'; import { TooltipComponent } from './tooltip.component'; export class TooltipDirective { /** * @param {?} triggerElementRef * @param {?} overlayContainerRef * @param {?} componentFactoryResolver */ constructor(triggerElementRef, overlayContainerRef, componentFactoryResolver) { this.triggerElementRef = triggerElementRef; this.overlayContainerRef = overlayContainerRef; this.componentFactoryResolver = componentFactoryResolver; this.position = 'bottom'; } /** * @return {?} */ onMouseEnter() { this.show(); } /** * @return {?} */ onMouseLeave() { this.hide(); } /** * @return {?} */ onFocus() { this.show(); } /** * @return {?} */ onBlur() { this.hide(); } /** * @return {?} */ createTooltip() { this.tooltipComponentRef = this.overlayContainerRef.createComponent(this.componentFactoryResolver.resolveComponentFactory(TooltipComponent)); Object.assign(this.tooltipComponentRef.instance, { content: this.content, position: this.position, showAnimate: this.showAnimate, triggerElementRef: this.triggerElementRef, }); } /** * @return {?} */ show() { if (!this.content) { return; } if (this.tooltipComponentRef) { this.destroy(); } this.createTooltip(); if (this.showAnimate) { this.tooltipComponentRef.instance.onShow(); } } /** * @return {?} */ destroy() { if (this.tooltipComponentRef) { this.tooltipComponentRef.destroy(); this.tooltipComponentRef = null; } } /** * @return {?} */ hide() { if (this.tooltipComponentRef) { this.tooltipComponentRef.instance.onHide(); if (!this.showAnimate) { this.destroy(); return; } this.tooltipComponentRef.instance.onHidden = (/** * @return {?} */ () => { this.destroy(); }); } } /** * @return {?} */ ngOnDestroy() { this.destroy(); } } TooltipDirective.decorators = [ { type: Directive, args: [{ selector: '[dTooltip]', exportAs: 'dTooltip', },] } ]; /** @nocollapse */ TooltipDirective.ctorParameters = () => [ { type: ElementRef }, { type: OverlayContainerRef }, { type: ComponentFactoryResolver } ]; TooltipDirective.propDecorators = { content: [{ type: Input }], position: [{ type: Input }], showAnimate: [{ type: Input }], onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }], onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }], onFocus: [{ type: HostListener, args: ['focus',] }], onBlur: [{ type: HostListener, args: ['blur',] }] }; if (false) { /** @type {?} */ TooltipDirective.prototype.content; /** @type {?} */ TooltipDirective.prototype.position; /** @type {?} */ TooltipDirective.prototype.showAnimate; /** @type {?} */ TooltipDirective.prototype.tooltipComponentRef; /** * @type {?} * @private */ TooltipDirective.prototype.triggerElementRef; /** * @type {?} * @private */ TooltipDirective.prototype.overlayContainerRef; /** * @type {?} * @private */ TooltipDirective.prototype.componentFactoryResolver; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS90b29sdGlwLyIsInNvdXJjZXMiOlsidG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsd0JBQXdCLEVBRXhCLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU92RCxNQUFNLE9BQU8sZ0JBQWdCOzs7Ozs7SUFNM0IsWUFBb0IsaUJBQTZCLEVBQzdCLG1CQUF3QyxFQUN4Qyx3QkFBa0Q7UUFGbEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFZO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQU43RCxhQUFRLEdBQWlCLFFBQVEsQ0FBQztJQU94QyxDQUFDOzs7O0lBRXdCLFlBQVk7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUUyQixZQUFZO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7SUFFc0IsT0FBTztRQUM1QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDOzs7O0lBRXFCLE1BQU07UUFDMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FDakUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDLENBQ3hFLENBQUM7UUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUU7WUFDL0MsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7O0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFFBQVE7OztZQUFHLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQSxDQUFDO1NBQ0g7SUFDSCxDQUFDOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOzs7WUFqRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsVUFBVTthQUNyQjs7OztZQVZDLFVBQVU7WUFHSCxtQkFBbUI7WUFMMUIsd0JBQXdCOzs7c0JBY3ZCLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLOzJCQVFMLFlBQVksU0FBQyxZQUFZOzJCQUl6QixZQUFZLFNBQUMsWUFBWTtzQkFJekIsWUFBWSxTQUFDLE9BQU87cUJBSXBCLFlBQVksU0FBQyxNQUFNOzs7O0lBdEJwQixtQ0FBeUI7O0lBQ3pCLG9DQUEyQzs7SUFDM0MsdUNBQThCOztJQUM5QiwrQ0FBb0Q7Ozs7O0lBRXhDLDZDQUFxQzs7Ozs7SUFDckMsK0NBQWdEOzs7OztJQUNoRCxvREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uRGVzdHJveSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lclJlZiB9IGZyb20gJ25nLWRldnVpL292ZXJsYXktY29udGFpbmVyJztcclxuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3NpdGlvblR5cGUgfSBmcm9tICcuL3Rvb2x0aXAudHlwZXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZFRvb2x0aXBdJyxcclxuICBleHBvcnRBczogJ2RUb29sdGlwJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IHN0cmluZztcclxuICBASW5wdXQoKSBwb3NpdGlvbjogUG9zaXRpb25UeXBlID0gJ2JvdHRvbSc7XHJcbiAgQElucHV0KCkgc2hvd0FuaW1hdGU6IGJvb2xlYW47XHJcbiAgdG9vbHRpcENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyaWdnZXJFbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcbiAgKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xyXG4gICAgdGhpcy5zaG93KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgb25Nb3VzZUxlYXZlKCkge1xyXG4gICAgdGhpcy5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLnNob3coKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZVRvb2x0aXAoKSB7XHJcbiAgICB0aGlzLnRvb2x0aXBDb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUb29sdGlwQ29tcG9uZW50KVxyXG4gICAgKTtcclxuXHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMudG9vbHRpcENvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICBjb250ZW50OiB0aGlzLmNvbnRlbnQsXHJcbiAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxyXG4gICAgICBzaG93QW5pbWF0ZTogdGhpcy5zaG93QW5pbWF0ZSxcclxuICAgICAgdHJpZ2dlckVsZW1lbnRSZWY6IHRoaXMudHJpZ2dlckVsZW1lbnRSZWYsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3coKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udGVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbHRpcENvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLmRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNyZWF0ZVRvb2x0aXAoKTtcclxuICAgIGlmICh0aGlzLnNob3dBbmltYXRlKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbXBvbmVudFJlZi5pbnN0YW5jZS5vblNob3coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcENvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcENvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLnRvb2x0aXBDb21wb25lbnRSZWYuaW5zdGFuY2Uub25IaWRlKCk7XHJcbiAgICAgIGlmICghdGhpcy5zaG93QW5pbWF0ZSkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRvb2x0aXBDb21wb25lbnRSZWYuaW5zdGFuY2Uub25IaWRkZW4gPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=