@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
192 lines • 15.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: tooltip.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';
import { PositionService } from '@duoduo-oba/ng-devui/position';
import { fromEvent } from 'rxjs';
import { directionFadeInOut } from '@duoduo-oba/ng-devui/utils';
var TooltipComponent = /** @class */ (function () {
function TooltipComponent(positionService, tooltip, renderer2) {
this.positionService = positionService;
this.tooltip = tooltip;
this.renderer2 = renderer2;
this.position = 'bottom';
this.showAnimate = false;
this.animateState = this.showAnimate ? 'void' : 'visible';
this.display = 'block';
}
Object.defineProperty(TooltipComponent.prototype, "class", {
get: /**
* @return {?}
*/
function () {
return 'devui-tooltip ' + this.position;
},
enumerable: true,
configurable: true
});
Object.defineProperty(TooltipComponent.prototype, "state", {
get: /**
* @return {?}
*/
function () {
return this.animateState;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
TooltipComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _this = this;
this.updatePosition();
this.scrollElement = this.positionService.getScrollParent(this.triggerElementRef.nativeElement);
this._onScroll = fromEvent((this.scrollElement || window), 'scroll')
.subscribe((/**
* @return {?}
*/
function () {
_this.updatePosition();
}));
};
/**
* @return {?}
*/
TooltipComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
if (this._onScroll) {
this._onScroll.unsubscribe();
}
};
/**
* @return {?}
*/
TooltipComponent.prototype.onShow = /**
* @return {?}
*/
function () {
this.animateState = this.position;
};
/**
* @return {?}
*/
TooltipComponent.prototype.onHide = /**
* @return {?}
*/
function () {
this.animateState = 'void';
};
// will be overwrite by tooltip directive
// will be overwrite by tooltip directive
/**
* @return {?}
*/
TooltipComponent.prototype.onHidden =
// will be overwrite by tooltip directive
/**
* @return {?}
*/
function () {
};
/**
* @param {?} event
* @return {?}
*/
TooltipComponent.prototype.onAnimationEnd = /**
* @param {?} event
* @return {?}
*/
function (event) {
if (event.toState === 'void') {
this.onHidden();
}
};
/**
* @return {?}
*/
TooltipComponent.prototype.updatePosition = /**
* @return {?}
*/
function () {
// 解决tooltip自身大小导致出现滚动条,影响位置计算
this.renderer2.setStyle(this.tooltip.nativeElement, 'visibility', 'hidden');
this.renderer2.setStyle(this.tooltip.nativeElement, 'transform', 'translate(0, -99999px)');
/** @type {?} */
var rect = this.positionService.positionElements(this.triggerElementRef.nativeElement, this.tooltip.nativeElement, this.position, true);
this.renderer2.setStyle(this.tooltip.nativeElement, 'left', rect.left + "px");
this.renderer2.setStyle(this.tooltip.nativeElement, 'top', rect.top + "px");
// 移除样式
this.renderer2.setStyle(this.tooltip.nativeElement, 'visibility', null);
this.renderer2.setStyle(this.tooltip.nativeElement, 'transform', null);
};
TooltipComponent.decorators = [
{ type: Component, args: [{
selector: 'd-tooltip',
template: "<div class=\"devui-tooltip-arrow\"></div>\r\n<div class=\"devui-tooltip-inner\" [innerHTML]=\"content\"></div>\r\n",
animations: [
directionFadeInOut
],
styles: [":host-context(.devui-tooltip){position:absolute;z-index:1070;display:block;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;opacity:1}:host-context(.devui-tooltip).top{margin-top:-5px;padding:0;box-shadow:-5px 5px 20px 0 rgba(37,43,58,.2)}:host-context(.devui-tooltip).top .devui-tooltip-arrow{bottom:-5px;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#464d6e}:host-context(.devui-tooltip).bottom{margin-top:5px;padding:0;box-shadow:5px -5px 20px 0 rgba(37,43,58,.2)}:host-context(.devui-tooltip).bottom .devui-tooltip-arrow{top:-5px;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#464d6e}:host-context(.devui-tooltip).left{margin-left:-5px;padding:0;box-shadow:5px -5px 20px 0 rgba(37,43,58,.2)}:host-context(.devui-tooltip).left .devui-tooltip-arrow{top:50%;right:-5px;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#464d6e}:host-context(.devui-tooltip).right{margin-left:5px;padding:0;box-shadow:-5px 5px 20px 0 rgba(37,43,58,.2)}:host-context(.devui-tooltip).right .devui-tooltip-arrow{top:50%;left:-5px;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#464d6e}:host-context(.devui-tooltip) .devui-tooltip-inner{max-width:200px;padding:5px 10px;font-size:14px;color:#dfe1e6;letter-spacing:0;line-height:20px;background:#464d6e;box-shadow:none;overflow-wrap:break-word;text-align:start}:host-context(.devui-tooltip) .devui-tooltip-arrow{display:block;position:absolute;width:0;height:0;border-color:transparent;border-style:solid}"]
}] }
];
/** @nocollapse */
TooltipComponent.ctorParameters = function () { return [
{ type: PositionService },
{ type: ElementRef },
{ type: Renderer2 }
]; };
TooltipComponent.propDecorators = {
content: [{ type: Input }],
position: [{ type: Input }],
triggerElementRef: [{ type: Input }],
showAnimate: [{ type: Input }],
display: [{ type: HostBinding, args: ['style.display',] }],
class: [{ type: HostBinding, args: ['class',] }],
state: [{ type: HostBinding, args: ['@directionFadeInOut',] }],
onAnimationEnd: [{ type: HostListener, args: ['@directionFadeInOut.done', ['$event'],] }]
};
return TooltipComponent;
}());
export { TooltipComponent };
if (false) {
/** @type {?} */
TooltipComponent.prototype.content;
/** @type {?} */
TooltipComponent.prototype.position;
/** @type {?} */
TooltipComponent.prototype.triggerElementRef;
/** @type {?} */
TooltipComponent.prototype.showAnimate;
/** @type {?} */
TooltipComponent.prototype.scrollElement;
/** @type {?} */
TooltipComponent.prototype.animateState;
/** @type {?} */
TooltipComponent.prototype.display;
/** @type {?} */
TooltipComponent.prototype._onScroll;
/**
* @type {?}
* @private
*/
TooltipComponent.prototype.positionService;
/**
* @type {?}
* @private
*/
TooltipComponent.prototype.tooltip;
/**
* @type {?}
* @private
*/
TooltipComponent.prototype.renderer2;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS90b29sdGlwLyIsInNvdXJjZXMiOlsidG9vbHRpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRDtJQTRCRSwwQkFDVSxlQUFnQyxFQUNoQyxPQUFtQixFQUNuQixTQUFvQjtRQUZwQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBckJyQixhQUFRLEdBQWlCLFFBQVEsQ0FBQztRQUVsQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixpQkFBWSxHQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRS9CLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFpQmhELENBQUM7SUFoQkQsc0JBQTBCLG1DQUFLOzs7O1FBQS9CO1lBQ0UsT0FBTyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzFDLENBQUM7OztPQUFBO0lBRUQsc0JBQXdDLG1DQUFLOzs7O1FBQTdDO1lBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzNCLENBQUM7OztPQUFBOzs7O0lBWUQsMENBQWU7OztJQUFmO1FBQUEsaUJBT0M7UUFOQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxD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b0NBQTJDOztJQUMzQyw2Q0FBdUM7O0lBQ3ZDLHVDQUE2Qjs7SUFDN0IseUNBQXVCOztJQUN2Qix3Q0FBNkQ7O0lBRTdELG1DQUFnRDs7SUFVaEQscUNBQXdCOzs7OztJQUd0QiwyQ0FBd0M7Ozs7O0lBQ3hDLG1DQUEyQjs7Ozs7SUFDM0IscUNBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnbmctZGV2dWkvcG9zaXRpb24nO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXJlY3Rpb25GYWRlSW5PdXQgfSBmcm9tICduZy1kZXZ1aS91dGlscyc7XHJcbmltcG9ydCB7IFBvc2l0aW9uVHlwZSB9IGZyb20gJy4vdG9vbHRpcC50eXBlcyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLXRvb2x0aXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZGlyZWN0aW9uRmFkZUluT3V0XHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ6IHN0cmluZztcclxuICBASW5wdXQoKSBwb3NpdGlvbjogUG9zaXRpb25UeXBlID0gJ2JvdHRvbSc7XHJcbiAgQElucHV0KCkgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgc2hvd0FuaW1hdGUgPSBmYWxzZTtcclxuICBzY3JvbGxFbGVtZW50OiBFbGVtZW50O1xyXG4gIGFuaW1hdGVTdGF0ZTogc3RyaW5nID0gdGhpcy5zaG93QW5pbWF0ZSA/ICd2b2lkJyA6ICd2aXNpYmxlJztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgZGlzcGxheSA9ICdibG9jayc7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBjbGFzcygpIHtcclxuICAgIHJldHVybiAnZGV2dWktdG9vbHRpcCAnICsgdGhpcy5wb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnQGRpcmVjdGlvbkZhZGVJbk91dCcpIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFuaW1hdGVTdGF0ZTtcclxuICB9XHJcblxyXG5cclxuICBfb25TY3JvbGw6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBvc2l0aW9uU2VydmljZTogUG9zaXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b29sdGlwOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy51cGRhdGVQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5zY3JvbGxFbGVtZW50ID0gdGhpcy5wb3NpdGlvblNlcnZpY2UuZ2V0U2Nyb2xsUGFyZW50KHRoaXMudHJpZ2dlckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLl9vblNjcm9sbCA9IGZyb21FdmVudCgodGhpcy5zY3JvbGxFbGVtZW50IHx8IHdpbmRvdyksICdzY3JvbGwnKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5fb25TY3JvbGwpIHtcclxuICAgICAgdGhpcy5fb25TY3JvbGwudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2hvdygpIHtcclxuICAgIHRoaXMuYW5pbWF0ZVN0YXRlID0gdGhpcy5wb3NpdGlvbiA7XHJcbiAgfVxyXG5cclxuICBvbkhpZGUoKSB7XHJcbiAgICB0aGlzLmFuaW1hdGVTdGF0ZSA9ICd2b2lkJztcclxuICB9XHJcblxyXG4gIC8vIHdpbGwgYmUgb3ZlcndyaXRlIGJ5IHRvb2x0aXAgZGlyZWN0aXZlXHJcbiAgb25IaWRkZW4oKSB7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdAZGlyZWN0aW9uRmFkZUluT3V0LmRvbmUnLCBbJyRldmVudCddKVxyXG4gIG9uQW5pbWF0aW9uRW5kKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnKSB7XHJcbiAgICAgIHRoaXMub25IaWRkZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB1cGRhdGVQb3NpdGlvbigpIHtcclxuICAgIC8vIOino+WGs3Rvb2x0aXDoh6rouqvlpKflsI/lr7zoh7Tlh7rnjrDmu5rliqjmnaHvvIzlvbHlk43kvY3nva7orqHnrpdcclxuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHRoaXMudG9vbHRpcC5uYXRpdmVFbGVtZW50LCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHRoaXMudG9vbHRpcC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgwLCAtOTk5OTlweCknKTtcclxuICAgIGNvbnN0IHJlY3QgPSB0aGlzLnBvc2l0aW9uU2VydmljZS5wb3NpdGlvbkVsZW1lbnRzKHRoaXMudHJpZ2dlckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgdGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQsIHRoaXMucG9zaXRpb24sIHRydWUpO1xyXG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7cmVjdC5sZWZ0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLnRvb2x0aXAubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3JlY3QudG9wfXB4YCk7XHJcbiAgICAvLyDnp7vpmaTmoLflvI9cclxuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHRoaXMudG9vbHRpcC5uYXRpdmVFbGVtZW50LCAndmlzaWJpbGl0eScsIG51bGwpO1xyXG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50b29sdGlwLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCBudWxsKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==