UNPKG

@ngx-performance-ui/ui

Version:
109 lines 10.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { ChangeDetectorRef, Component, Inject } from '@angular/core'; import { TooltipComponent } from '../tooltip/tooltip.component'; var PopoverComponent = /** @class */ (function (_super) { tslib_1.__extends(PopoverComponent, _super); function PopoverComponent(popover, cdRef) { var _this = _super.call(this, popover, cdRef) || this; _this.popover = popover; _this.cdRef = cdRef; _this.arrowStyle = {}; _this.arrowPart = 10; return _this; } Object.defineProperty(PopoverComponent.prototype, "classes", { get: /** * @return {?} */ function () { return "popover fade bs-popover-" + this.popover.placement + " show"; }, enumerable: true, configurable: true }); /** * @return {?} */ PopoverComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { var _this = this; setTimeout((/** * @return {?} */ function () { _this.setPosition(); _this.style = tslib_1.__assign({}, _this.style, { visibility: 'visible' }); _this.cdRef.detectChanges(); }), 0); }; /** * @return {?} */ PopoverComponent.prototype.setPosition = /** * @return {?} */ function () { var _a = this.popover.element.getBoundingClientRect(), left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom, width = _a.width, height = _a.height; var _b = this.container.nativeElement.getBoundingClientRect(), hostWidth = _b.width, hostHeight = _b.height; var innerHeight = window.innerHeight, innerWidth = window.innerWidth; switch (this.popover.placement) { case 'top': if (top - hostHeight - this.arrowPart < 0) this.popover.placement = 'bottom'; this.setY(left, top, bottom, width, hostHeight, hostWidth); this.arrowStyle.left = hostWidth / 2 - 12 + 'px'; break; case 'bottom': if (bottom + hostHeight + this.arrowPart > innerHeight) this.popover.placement = 'top'; this.setY(left, top, bottom, width, hostHeight, hostWidth); this.arrowStyle.left = hostWidth / 2 - 12 + 'px'; break; case 'left': if (left - hostWidth - this.arrowPart < 0) this.popover.placement = 'right'; this.setX(left, top, right, height, hostHeight, hostWidth); this.arrowStyle.top = hostHeight / 2 - 12 + 'px'; break; case 'right': if (right + hostWidth + this.arrowPart > innerWidth) this.popover.placement = 'left'; this.setX(left, top, right, height, hostHeight, hostWidth); this.arrowStyle.top = hostHeight / 2 - 12 + 'px'; break; } }; PopoverComponent.decorators = [ { type: Component, args: [{ selector: 'p-popover', template: "\n <div #container [ngStyle]=\"style\" class=\"{{ classes }}\">\n <div [ngStyle]=\"arrowStyle\" class=\"arrow\"></div>\n <h3 class=\"popover-header\"><ng-content></ng-content></h3>\n <div class=\"popover-body\"><ng-content></ng-content></div>\n </div>\n " }] } ]; /** @nocollapse */ PopoverComponent.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: ['POPOVER_PROVIDER',] }] }, { type: ChangeDetectorRef } ]; }; return PopoverComponent; }(TooltipComponent)); export { PopoverComponent }; if (false) { /** @type {?} */ PopoverComponent.prototype.arrowStyle; /** @type {?} */ PopoverComponent.prototype.arrowPart; /** @type {?} */ PopoverComponent.prototype.popover; /** * @type {?} * @protected */ PopoverComponent.prototype.cdRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4LXBlcmZvcm1hbmNlLXVpL3VpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRTtJQVVzQyw0Q0FBZ0I7SUFTcEQsMEJBQStDLE9BQXVCLEVBQVksS0FBd0I7UUFBMUcsWUFDRSxrQkFBTSxPQUFPLEVBQUUsS0FBSyxDQUFDLFNBQ3RCO1FBRjhDLGFBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVksV0FBSyxHQUFMLEtBQUssQ0FBbUI7UUFSMUcsZ0JBQVUsR0FBdUMsRUFBRSxDQUFDO1FBTXBELGVBQVMsR0FBVyxFQUFFLENBQUM7O0lBSXZCLENBQUM7SUFSRCxzQkFBSSxxQ0FBTzs7OztRQUFYO1lBQ0UsT0FBTyw2QkFBMkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLFVBQU8sQ0FBQztRQUNsRSxDQUFDOzs7T0FBQTs7OztJQVFELDBDQUFlOzs7SUFBZjtRQUFBLGlCQU1DO1FBTEMsVUFBVTs7O1FBQUM7WUFDVCxLQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsS0FBSSxDQUFDLEtBQUssd0JBQVEsS0FBSSxDQUFDLEtBQUssSUFBRSxVQUFVLEVBQUUsU0FBUyxHQUFFLENBQUM7WUFDdEQsS0FBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7O0lBRUQsc0NBQVc7OztJQUFYO1FBQ1EsSUFBQSxpREFBMEYsRUFBeEYsY0FBSSxFQUFFLGdCQUFLLEVBQUUsWUFBRyxFQUFFLGtCQUFNLEVBQUUsZ0JBQUssRUFBRSxrQkFBdUQ7UUFDMUYsSUFBQSx5REFBK0YsRUFBN0Ysb0JBQWdCLEVBQUUsc0JBQTJFO1FBQzdGLElBQUEsZ0NBQVcsRUFBRSw4QkFBVTtRQUUvQixRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQzlCLEtBQUssS0FBSztnQkFDUixJQUFJLEdBQUcsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztnQkFDN0UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2pELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxNQUFNLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVztvQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNqRCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksSUFBSSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7b0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO2dCQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLFVBQVUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDakQsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLEtBQUssR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVO29CQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztnQkFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2pELE1BQU07U0FDVDtJQUNILENBQUM7O2dCQTFERixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxzUkFNVDtpQkFDRjs7OztnREFVYyxNQUFNLFNBQUMsa0JBQWtCO2dCQXZCL0IsaUJBQWlCOztJQStEMUIsdUJBQUM7Q0FBQSxBQTNERCxDQVVzQyxnQkFBZ0IsR0FpRHJEO1NBakRZLGdCQUFnQjs7O0lBQzNCLHNDQUFvRDs7SUFNcEQscUNBQXVCOztJQUVYLG1DQUEwRDs7Ozs7SUFBRSxpQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtcG9wb3ZlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiAjY29udGFpbmVyIFtuZ1N0eWxlXT1cInN0eWxlXCIgY2xhc3M9XCJ7eyBjbGFzc2VzIH19XCI+XG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cImFycm93U3R5bGVcIiBjbGFzcz1cImFycm93XCI+PC9kaXY+XG4gICAgICA8aDMgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIFRvb2x0aXBDb21wb25lbnQge1xuICBhcnJvd1N0eWxlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0ge307XG5cbiAgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBvcG92ZXIgZmFkZSBicy1wb3BvdmVyLSR7dGhpcy5wb3BvdmVyLnBsYWNlbWVudH0gc2hvd2A7XG4gIH1cblxuICBhcnJvd1BhcnQ6IG51bWJlciA9IDEwO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ1BPUE9WRVJfUFJPVklERVInKSBwdWJsaWMgcG9wb3ZlcjogVG9vbHRpcC5Db25maWcsIHByb3RlY3RlZCBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihwb3BvdmVyLCBjZFJlZik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICB0aGlzLnN0eWxlID0geyAuLi50aGlzLnN0eWxlLCB2aXNpYmlsaXR5OiAndmlzaWJsZScgfTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oKSB7XG4gICAgY29uc3QgeyBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20sIHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMucG9wb3Zlci5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgd2lkdGg6IGhvc3RXaWR0aCwgaGVpZ2h0OiBob3N0SGVpZ2h0IH0gPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGggfSA9IHdpbmRvdztcblxuICAgIHN3aXRjaCAodGhpcy5wb3BvdmVyLnBsYWNlbWVudCkge1xuICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgaWYgKHRvcCAtIGhvc3RIZWlnaHQgLSB0aGlzLmFycm93UGFydCA8IDApIHRoaXMucG9wb3Zlci5wbGFjZW1lbnQgPSAnYm90dG9tJztcbiAgICAgICAgdGhpcy5zZXRZKGxlZnQsIHRvcCwgYm90dG9tLCB3aWR0aCwgaG9zdEhlaWdodCwgaG9zdFdpZHRoKTtcbiAgICAgICAgdGhpcy5hcnJvd1N0eWxlLmxlZnQgPSBob3N0V2lkdGggLyAyIC0gMTIgKyAncHgnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGlmIChib3R0b20gKyBob3N0SGVpZ2h0ICsgdGhpcy5hcnJvd1BhcnQgPiBpbm5lckhlaWdodCkgdGhpcy5wb3BvdmVyLnBsYWNlbWVudCA9ICd0b3AnO1xuICAgICAgICB0aGlzLnNldFkobGVmdCwgdG9wLCBib3R0b20sIHdpZHRoLCBob3N0SGVpZ2h0LCBob3N0V2lkdGgpO1xuICAgICAgICB0aGlzLmFycm93U3R5bGUubGVmdCA9IGhvc3RXaWR0aCAvIDIgLSAxMiArICdweCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGlmIChsZWZ0IC0gaG9zdFdpZHRoIC0gdGhpcy5hcnJvd1BhcnQgPCAwKSB0aGlzLnBvcG92ZXIucGxhY2VtZW50ID0gJ3JpZ2h0JztcbiAgICAgICAgdGhpcy5zZXRYKGxlZnQsIHRvcCwgcmlnaHQsIGhlaWdodCwgaG9zdEhlaWdodCwgaG9zdFdpZHRoKTtcbiAgICAgICAgdGhpcy5hcnJvd1N0eWxlLnRvcCA9IGhvc3RIZWlnaHQgLyAyIC0gMTIgKyAncHgnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgaWYgKHJpZ2h0ICsgaG9zdFdpZHRoICsgdGhpcy5hcnJvd1BhcnQgPiBpbm5lcldpZHRoKSB0aGlzLnBvcG92ZXIucGxhY2VtZW50ID0gJ2xlZnQnO1xuICAgICAgICB0aGlzLnNldFgobGVmdCwgdG9wLCByaWdodCwgaGVpZ2h0LCBob3N0SGVpZ2h0LCBob3N0V2lkdGgpO1xuICAgICAgICB0aGlzLmFycm93U3R5bGUudG9wID0gaG9zdEhlaWdodCAvIDIgLSAxMiArICdweCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19