UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

230 lines 15.5 kB
/** * @fileoverview added by tsickle * Generated from: base/nz-tooltip-base.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /** * @license * Copyright Alibaba.com All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { EventEmitter, Output, TemplateRef } from '@angular/core'; import { getPlacementName, isNotNil, DEFAULT_TOOLTIP_POSITIONS } from 'ng-zorro-antd/core'; /** * Tooltip component. Also the base component for legacy components. * @abstract */ var NzTooltipBaseComponent = /** @class */ (function () { function NzTooltipBaseComponent(cdr, noAnimation) { this.cdr = cdr; this.noAnimation = noAnimation; this.nzVisibleChange = new EventEmitter(); this._classMap = {}; this._hasBackdrop = false; this._prefix = 'ant-tooltip-placement'; this._visible = false; this._positions = tslib_1.__spread(DEFAULT_TOOLTIP_POSITIONS); this._placement = 'top'; this._trigger = 'hover'; } Object.defineProperty(NzTooltipBaseComponent.prototype, "content", { get: /** * @return {?} */ function () { return this.nzContent !== undefined ? this.nzContent : this.nzContentTemplate; }, enumerable: true, configurable: true }); Object.defineProperty(NzTooltipBaseComponent.prototype, "title", { get: /** * @return {?} */ function () { return this.nzTitle !== undefined ? this.nzTitle : this.nzTitleTemplate; }, enumerable: true, configurable: true }); /** * @return {?} */ NzTooltipBaseComponent.prototype.show = /** * @return {?} */ function () { if (this.nzVisible) { return; } if (!this.isTitleEmpty() || !this.isContentEmpty()) { this.nzVisible = true; this.nzVisibleChange.emit(true); this.cdr.detectChanges(); } }; /** * @return {?} */ NzTooltipBaseComponent.prototype.hide = /** * @return {?} */ function () { if (!this.nzVisible) { return; } this.nzVisible = false; this.nzVisibleChange.emit(false); this.cdr.detectChanges(); }; /** * @return {?} */ NzTooltipBaseComponent.prototype.updateByDirective = /** * @return {?} */ function () { var _this = this; this.setClassMap(); this.cdr.detectChanges(); Promise.resolve().then((/** * @return {?} */ function () { _this.updatePosition(); })); }; /** * Force the component to update its position. */ /** * Force the component to update its position. * @return {?} */ NzTooltipBaseComponent.prototype.updatePosition = /** * Force the component to update its position. * @return {?} */ function () { if (this.origin && this.overlay && this.overlay.overlayRef) { this.overlay.overlayRef.updatePosition(); } }; /** * @param {?} position * @return {?} */ NzTooltipBaseComponent.prototype.onPositionChange = /** * @param {?} position * @return {?} */ function (position) { this._placement = (/** @type {?} */ (getPlacementName(position))); this.setClassMap(); this.cdr.detectChanges(); }; /** * @return {?} */ NzTooltipBaseComponent.prototype.setClassMap = /** * @return {?} */ function () { var _a; this._classMap = (_a = {}, _a[this.nzOverlayClassName] = true, _a[this._prefix + "-" + this._placement] = true, _a); }; /** * @param {?} origin * @return {?} */ NzTooltipBaseComponent.prototype.setOverlayOrigin = /** * @param {?} origin * @return {?} */ function (origin) { this.origin = origin; this.cdr.markForCheck(); }; /** * @private * @return {?} */ NzTooltipBaseComponent.prototype.isTitleEmpty = /** * @private * @return {?} */ function () { return this.title instanceof TemplateRef ? false : this.title === '' || !isNotNil(this.title); }; /** * @private * @return {?} */ NzTooltipBaseComponent.prototype.isContentEmpty = /** * @private * @return {?} */ function () { return this.content instanceof TemplateRef ? false : this.content === '' || !isNotNil(this.content); }; NzTooltipBaseComponent.propDecorators = { nzVisibleChange: [{ type: Output }] }; return NzTooltipBaseComponent; }()); export { NzTooltipBaseComponent }; if (false) { /** @type {?} */ NzTooltipBaseComponent.prototype.nzTitle; /** @type {?} */ NzTooltipBaseComponent.prototype.nzContent; /** @type {?} */ NzTooltipBaseComponent.prototype.nzVisible; /** @type {?} */ NzTooltipBaseComponent.prototype.nzPlacement; /** @type {?} */ NzTooltipBaseComponent.prototype.nzOverlayClassName; /** @type {?} */ NzTooltipBaseComponent.prototype.nzOverlayStyle; /** @type {?} */ NzTooltipBaseComponent.prototype.nzMouseEnterDelay; /** @type {?} */ NzTooltipBaseComponent.prototype.nzMouseLeaveDelay; /** @type {?} */ NzTooltipBaseComponent.prototype.nzTrigger; /** @type {?} */ NzTooltipBaseComponent.prototype.nzTitleTemplate; /** @type {?} */ NzTooltipBaseComponent.prototype.nzContentTemplate; /** @type {?} */ NzTooltipBaseComponent.prototype.nzVisibleChange; /** @type {?} */ NzTooltipBaseComponent.prototype.overlay; /** @type {?} */ NzTooltipBaseComponent.prototype.origin; /** @type {?} */ NzTooltipBaseComponent.prototype._classMap; /** @type {?} */ NzTooltipBaseComponent.prototype._hasBackdrop; /** @type {?} */ NzTooltipBaseComponent.prototype._prefix; /** @type {?} */ NzTooltipBaseComponent.prototype._visible; /** @type {?} */ NzTooltipBaseComponent.prototype._positions; /** @type {?} */ NzTooltipBaseComponent.prototype._placement; /** @type {?} */ NzTooltipBaseComponent.prototype._trigger; /** @type {?} */ NzTooltipBaseComponent.prototype.cdr; /** @type {?} */ NzTooltipBaseComponent.prototype.noAnimation; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotdG9vbHRpcC1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvdG9vbHRpcC8iLCJzb3VyY2VzIjpbImJhc2UvbnotdG9vbHRpcC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBY0EsT0FBTyxFQUFxQixZQUFZLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUix5QkFBeUIsRUFLMUIsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFPNUI7SUFrQ0UsZ0NBQW1CLEdBQXNCLEVBQVMsV0FBb0M7UUFBbkUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFyQm5FLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUtqRSxjQUFTLEdBQXFCLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixZQUFPLEdBQUcsdUJBQXVCLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLG9CQUFpQyx5QkFBeUIsRUFBRTtRQUN0RSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBcUIsT0FBTyxDQUFDO0lBVW9ELENBQUM7SUFSMUYsc0JBQUksMkNBQU87Ozs7UUFBWDtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNoRixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHlDQUFLOzs7O1FBQVQ7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENB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O0lBQ3pCLDJDQUEyQjs7SUFDM0IsMkNBQW1COztJQUNuQiw2Q0FBb0I7O0lBQ3BCLG9EQUEyQjs7SUFDM0IsZ0RBQWlDOztJQUNqQyxtREFBMEI7O0lBQzFCLG1EQUEwQjs7SUFDMUIsMkNBQTRCOztJQUM1QixpREFBbUM7O0lBQ25DLG1EQUFxQzs7SUFFckMsaURBQWlFOztJQUVqRSx5Q0FBNkI7O0lBQzdCLHdDQUF5Qjs7SUFFekIsMkNBQWlDOztJQUNqQyw4Q0FBcUI7O0lBQ3JCLHlDQUFrQzs7SUFDbEMsMENBQWlCOztJQUNqQiw0Q0FBc0U7O0lBQ3RFLDRDQUFtQjs7SUFDbkIsMENBQXFDOztJQVV6QixxQ0FBNkI7O0lBQUUsNkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFsaWJhYmEuY29tIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIENka0Nvbm5lY3RlZE92ZXJsYXksXG4gIENka092ZXJsYXlPcmlnaW4sXG4gIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSxcbiAgQ29ubmVjdGlvblBvc2l0aW9uUGFpclxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBnZXRQbGFjZW1lbnROYW1lLFxuICBpc05vdE5pbCxcbiAgREVGQVVMVF9UT09MVElQX1BPU0lUSU9OUyxcbiAgTmdDbGFzc0ludGVyZmFjZSxcbiAgTmdTdHlsZUludGVyZmFjZSxcbiAgTnpOb0FuaW1hdGlvbkRpcmVjdGl2ZSxcbiAgTnpUU1R5cGVcbn0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlJztcblxuaW1wb3J0IHsgTnpUb29sdGlwVHJpZ2dlciB9IGZyb20gJy4uL256LXRvb2x0aXAuZGVmaW5pdGlvbnMnO1xuXG4vKipcbiAqIFRvb2x0aXAgY29tcG9uZW50LiBBbHNvIHRoZSBiYXNlIGNvbXBvbmVudCBmb3IgbGVnYWN5IGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOelRvb2x0aXBCYXNlQ29tcG9uZW50IHtcbiAgbnpUaXRsZTogTnpUU1R5cGUgfCBudWxsO1xuICBuekNvbnRlbnQ6IE56VFNUeXBlIHwgbnVsbDtcbiAgbnpWaXNpYmxlOiBib29sZWFuO1xuICBuelBsYWNlbWVudDogc3RyaW5nO1xuICBuek92ZXJsYXlDbGFzc05hbWU6IHN0cmluZztcbiAgbnpPdmVybGF5U3R5bGU6IE5nU3R5bGVJbnRlcmZhY2U7XG4gIG56TW91c2VFbnRlckRlbGF5OiBudW1iZXI7XG4gIG56TW91c2VMZWF2ZURlbGF5OiBudW1iZXI7XG4gIG56VHJpZ2dlcjogTnpUb29sdGlwVHJpZ2dlcjtcbiAgbnpUaXRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgbnpDb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBuelZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheTtcbiAgb3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luO1xuXG4gIF9jbGFzc01hcDogTmdDbGFzc0ludGVyZmFjZSA9IHt9O1xuICBfaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgX3ByZWZpeCA9ICdhbnQtdG9vbHRpcC1wbGFjZW1lbnQnO1xuICBfdmlzaWJsZSA9IGZhbHNlO1xuICBfcG9zaXRpb25zOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10gPSBbLi4uREVGQVVMVF9UT09MVElQX1BPU0lUSU9OU107XG4gIF9wbGFjZW1lbnQgPSAndG9wJztcbiAgX3RyaWdnZXI6IE56VG9vbHRpcFRyaWdnZXIgPSAnaG92ZXInO1xuXG4gIGdldCBjb250ZW50KCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubnpDb250ZW50ICE9PSB1bmRlZmluZWQgPyB0aGlzLm56Q29udGVudCA6IHRoaXMubnpDb250ZW50VGVtcGxhdGU7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5uelRpdGxlICE9PSB1bmRlZmluZWQgPyB0aGlzLm56VGl0bGUgOiB0aGlzLm56VGl0bGVUZW1wbGF0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgbm9BbmltYXRpb24/OiBOek5vQW5pbWF0aW9uRGlyZWN0aXZlKSB7fVxuXG4gIHNob3coKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubnpWaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzVGl0bGVFbXB0eSgpIHx8ICF0aGlzLmlzQ29udGVudEVtcHR5KCkpIHtcbiAgICAgIHRoaXMubnpWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIHRoaXMubnpWaXNpYmxlQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubnpWaXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5uelZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLm56VmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVCeURpcmVjdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRm9yY2UgdGhlIGNvbXBvbmVudCB0byB1cGRhdGUgaXRzIHBvc2l0aW9uLlxuICAgKi9cbiAgdXBkYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3JpZ2luICYmIHRoaXMub3ZlcmxheSAmJiB0aGlzLm92ZXJsYXkub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBvblBvc2l0aW9uQ2hhbmdlKHBvc2l0aW9uOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpOiB2b2lkIHtcbiAgICB0aGlzLl9wbGFjZW1lbnQgPSBnZXRQbGFjZW1lbnROYW1lKHBvc2l0aW9uKSE7XG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHNldENsYXNzTWFwKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsYXNzTWFwID0ge1xuICAgICAgW3RoaXMubnpPdmVybGF5Q2xhc3NOYW1lXTogdHJ1ZSxcbiAgICAgIFtgJHt0aGlzLl9wcmVmaXh9LSR7dGhpcy5fcGxhY2VtZW50fWBdOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHNldE92ZXJsYXlPcmlnaW4ob3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5vcmlnaW4gPSBvcmlnaW47XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGlzVGl0bGVFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmID8gZmFsc2UgOiB0aGlzLnRpdGxlID09PSAnJyB8fCAhaXNOb3ROaWwodGhpcy50aXRsZSk7XG4gIH1cblxuICBwcml2YXRlIGlzQ29udGVudEVtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZiA/IGZhbHNlIDogdGhpcy5jb250ZW50ID09PSAnJyB8fCAhaXNOb3ROaWwodGhpcy5jb250ZW50KTtcbiAgfVxufVxuIl19