@stratio/egeo
Version:
150 lines • 12.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/st-bubble-on-ellipsis/st-bubble-on-ellipsis.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* © 2017 Stratio Big Data Inc., Sucursal en España.
*
* This software is licensed under the Apache License, Version 2.0.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the terms of the License for more details.
*
* SPDX-License-Identifier: Apache-2.0.
*/
import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
import { get as _get } from 'lodash';
/**
* \@description {Component} [StBubbleOnEllipsis]
*
* This component displays a bubble below a content if its width is longer than container
*
* \@example
*
* {html}
*
* ```
* <st-bubble-on-ellipsis
* [text]="'Text for bubble'"
* [openToLeft]="true"
* [maxWidth]="'40%'">
* Any text
* </st-bubble-on-ellipsis>
* ```
*/
var StBubbleOnEllipsisComponent = /** @class */ (function () {
function StBubbleOnEllipsisComponent(_cd) {
this._cd = _cd;
/**
* \@Input {string} [lines=1] number of lines where ellipsis is placed
*/
this.lines = 1;
}
Object.defineProperty(StBubbleOnEllipsisComponent.prototype, "openToLeft", {
/** @Input {boolean} [openToLeft=true] when true, bubble is displayed with the arrow to the right */
get: /**
* \@Input {boolean} [openToLeft=true] when true, bubble is displayed with the arrow to the right
* @return {?}
*/
function () {
return this._openToLeft;
},
set: /**
* @param {?} _openToLeft
* @return {?}
*/
function (_openToLeft) {
this._openToLeft = _openToLeft;
this.offset = this._openToLeft ? { x: 38, y: 7 } : { x: 0, y: 7 };
this._cd.markForCheck();
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
StBubbleOnEllipsisComponent.prototype.onShowBubble = /**
* @return {?}
*/
function () {
if (_get(this.bubbleTrigger, 'nativeElement.parentElement.offsetWidth') < _get(this.bubbleTrigger, 'nativeElement.parentElement.scrollWidth')
|| _get(this.bubbleTrigger, 'nativeElement.parentElement.offsetHeight') < _get(this.bubbleTrigger, 'nativeElement.parentElement.scrollHeight')) {
this.visible = true;
}
};
/**
* @return {?}
*/
StBubbleOnEllipsisComponent.prototype.onHideBubble = /**
* @return {?}
*/
function () {
this.visible = false;
};
StBubbleOnEllipsisComponent.decorators = [
{ type: Component, args: [{
selector: 'st-bubble-on-ellipsis',
template: "<!--\n\n \u00A9 2017 Stratio Big Data Inc., Sucursal en Espa\u00F1a.\n\n This software is licensed under the Apache License, Version 2.0.\n This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n See the terms of the License for more details.\n\n SPDX-License-Identifier: Apache-2.0.\n\n-->\n\n<span class=\"bubble-trigger\" #bubbleTrigger\n (mouseenter)=\"onShowBubble()\"\n (mouseleave)=\"onHideBubble()\">\n <ng-content>\n </ng-content>\n</span>\n\n<st-bubble class=\"bubble\" [ngClass]=\"{'bubble--open-to-left': openToLeft}\"\n [hidden]=\"!visible\"\n [small]=\"true\"\n [text]=\"text\"\n [animation]=\"false\"\n [showArrow]=\"true\"\n [offset]=\"offset\"\n [openToLeft]=\"openToLeft\"\n [minWidth]=\"minWidth\"\n [maxWidth]=\"maxWidth\"\n>\n <span bubble-button></span>\n</st-bubble>\n\n",
host: {
'[class.multi-line]': 'lines > 1',
'[style.-webkit-line-clamp]': 'lines'
},
styles: ["@charset \"UTF-8\";:host{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host.multi-line{display:block;display:-webkit-box;word-break:break-word;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.bubble-trigger{text-overflow:ellipsis}.bubble{display:block}.bubble--open-to-left{margin-left:50%}"]
}] }
];
/** @nocollapse */
StBubbleOnEllipsisComponent.ctorParameters = function () { return [
{ type: ChangeDetectorRef }
]; };
StBubbleOnEllipsisComponent.propDecorators = {
text: [{ type: Input }],
minWidth: [{ type: Input }],
maxWidth: [{ type: Input }],
lines: [{ type: Input }],
bubbleTrigger: [{ type: ViewChild, args: ['bubbleTrigger', { static: false },] }],
openToLeft: [{ type: Input }]
};
return StBubbleOnEllipsisComponent;
}());
export { StBubbleOnEllipsisComponent };
if (false) {
/**
* \@Input {string} [text=] Text of the bubble
* @type {?}
*/
StBubbleOnEllipsisComponent.prototype.text;
/**
* \@Input {string} [minWidth=] min width for bubble
* @type {?}
*/
StBubbleOnEllipsisComponent.prototype.minWidth;
/**
* \@Input {string} [maxWidth=] max width for bubble
* @type {?}
*/
StBubbleOnEllipsisComponent.prototype.maxWidth;
/**
* \@Input {string} [lines=1] number of lines where ellipsis is placed
* @type {?}
*/
StBubbleOnEllipsisComponent.prototype.lines;
/** @type {?} */
StBubbleOnEllipsisComponent.prototype.bubbleTrigger;
/** @type {?} */
StBubbleOnEllipsisComponent.prototype.offset;
/** @type {?} */
StBubbleOnEllipsisComponent.prototype.visible;
/**
* @type {?}
* @private
*/
StBubbleOnEllipsisComponent.prototype._openToLeft;
/**
* @type {?}
* @private
*/
StBubbleOnEllipsisComponent.prototype._cd;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtYnViYmxlLW9uLWVsbGlwc2lzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdHJhdGlvL2VnZW8vIiwic291cmNlcyI6WyJsaWIvc3QtYnViYmxlLW9uLWVsbGlwc2lzL3N0LWJ1YmJsZS1vbi1lbGxpcHNpcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVCckM7SUEyQkcscUNBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1COzs7O1FBVGpDLFVBQUssR0FBWSxDQUFDLENBQUM7SUFVNUIsQ0FBQztJQUdELHNCQUNJLG1EQUFVO1FBRmQscUdBQXFHOzs7OztRQUNyRztZQUVHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzQixDQUFDOzs7OztRQUVELFVBQWUsV0FBb0I7WUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQzs7O09BTkE7Ozs7SUFRRCxrREFBWTs7O0lBQVo7UUFDRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLHlDQUF5QyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUseUNBQXlDLENBQUM7ZUFDdkksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsMENBQTBDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSwwQ0FBMEMsQ0FBQyxFQUFFO1lBQ2hKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO0lBQ0osQ0FBQzs7OztJQUVELGtEQUFZOzs7SUFBWjtRQUNHLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7O2dCQW5ESCxTQUFTLFNBQUM7b0JBQ1IsUUFBUSxFQUFFLHVCQUF1QjtvQkFFakMsaWlDQUFxRDtvQkFDckQsSUFBSSxFQUFFO3dCQUNILG9CQUFvQixFQUFFLFdBQVc7d0JBQ2pDLDRCQUE0QixFQUFFLE9BQU87cUJBQ3ZDOztpQkFDSDs7OztnQkFoQ1EsaUJBQWlCOzs7dUJBb0N0QixLQUFLOzJCQUVMLEtBQUs7MkJBRUwsS0FBSzt3QkFFTCxLQUFLO2dDQUVMLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzZCQVc1QyxLQUFLOztJQXNCVCxrQ0FBQztDQUFBLEFBckRELElBcURDO1NBNUNZLDJCQUEyQjs7Ozs7O0lBR3JDLDJDQUFzQjs7Ozs7SUFFdEIsK0NBQTJCOzs7OztJQUUzQiwrQ0FBMkI7Ozs7O0lBRTNCLDRDQUE0Qjs7SUFFNUIsb0RBQXlFOztJQUV6RSw2Q0FBb0I7O0lBQ3BCLDhDQUFpQjs7Ozs7SUFFakIsa0RBQTZCOzs7OztJQUVqQiwwQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogwqkgMjAxNyBTdHJhdGlvIEJpZyBEYXRhIEluYy4sIFN1Y3Vyc2FsIGVuIEVzcGHDsWEuXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTtcbiAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4gKiBTZWUgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldCBhcyBfZ2V0IH0gZnJvbSAnbG9kYXNoJztcblxuXG5pbXBvcnQgeyBTdFBvcE9mZnNldCB9IGZyb20gJy4uL3N0LXBvcC9zdC1wb3AubW9kZWwnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiB7Q29tcG9uZW50fSBbU3RCdWJibGVPbkVsbGlwc2lzXVxuICpcbiAqIFRoaXMgY29tcG9uZW50IGRpc3BsYXlzIGEgYnViYmxlIGJlbG93IGEgY29udGVudCBpZiBpdHMgd2lkdGggaXMgbG9uZ2VyIHRoYW4gY29udGFpbmVyXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiB7aHRtbH1cbiAqXG4gKiBgYGBcbiAqICAgICAgPHN0LWJ1YmJsZS1vbi1lbGxpcHNpc1xuICogICAgICAgICBbdGV4dF09XCInVGV4dCBmb3IgYnViYmxlJ1wiXG4gKiAgICAgICAgIFtvcGVuVG9MZWZ0XT1cInRydWVcIlxuICogICAgICAgICBbbWF4V2lkdGhdPVwiJzQwJSdcIj5cbiAqICAgICAgICAgIEFueSB0ZXh0XG4gKiAgICAgIDwvc3QtYnViYmxlLW9uLWVsbGlwc2lzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICdzdC1idWJibGUtb24tZWxsaXBzaXMnLFxuICAgc3R5bGVVcmxzOiBbJy4vc3QtYnViYmxlLW9uLWVsbGlwc2lzLmNvbXBvbmVudC5zY3NzJ10sXG4gICB0ZW1wbGF0ZVVybDogJy4vc3QtYnViYmxlLW9uLWVsbGlwc2lzLmNvbXBvbmVudC5odG1sJyxcbiAgIGhvc3Q6IHtcbiAgICAgICdbY2xhc3MubXVsdGktbGluZV0nOiAnbGluZXMgPiAxJyxcbiAgICAgICdbc3R5bGUuLXdlYmtpdC1saW5lLWNsYW1wXSc6ICdsaW5lcydcbiAgIH1cbn0pXG5leHBvcnQgY2xhc3MgU3RCdWJibGVPbkVsbGlwc2lzQ29tcG9uZW50IHtcblxuICAgLyoqIEBJbnB1dCB7c3RyaW5nfSBbdGV4dD1dIFRleHQgb2YgdGhlIGJ1YmJsZSAqL1xuICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7c3RyaW5nfSBbbWluV2lkdGg9XSBtaW4gd2lkdGggZm9yIGJ1YmJsZSAgKi9cbiAgIEBJbnB1dCgpIG1pbldpZHRoPzogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7c3RyaW5nfSBbbWF4V2lkdGg9XSBtYXggd2lkdGggZm9yIGJ1YmJsZSAgKi9cbiAgIEBJbnB1dCgpIG1heFdpZHRoPzogc3RyaW5nO1xuICAgLyoqIEBJbnB1dCB7c3RyaW5nfSBbbGluZXM9MV0gbnVtYmVyIG9mIGxpbmVzIHdoZXJlIGVsbGlwc2lzIGlzIHBsYWNlZCAgKi9cbiAgIEBJbnB1dCgpIGxpbmVzPzogbnVtYmVyID0gMTtcblxuICAgQFZpZXdDaGlsZCgnYnViYmxlVHJpZ2dlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBidWJibGVUcmlnZ2VyOiBFbGVtZW50UmVmO1xuXG4gICBvZmZzZXQ6IFN0UG9wT2Zmc2V0O1xuICAgdmlzaWJsZTogYm9vbGVhbjtcblxuICAgcHJpdmF0ZSBfb3BlblRvTGVmdDogYm9vbGVhbjtcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICB9XG5cbiAgIC8qKiBASW5wdXQge2Jvb2xlYW59IFtvcGVuVG9MZWZ0PXRydWVdIHdoZW4gdHJ1ZSwgYnViYmxlIGlzIGRpc3BsYXllZCB3aXRoIHRoZSBhcnJvdyB0byB0aGUgcmlnaHQgICovXG4gICBASW5wdXQoKVxuICAgZ2V0IG9wZW5Ub0xlZnQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5fb3BlblRvTGVmdDtcbiAgIH1cblxuICAgc2V0IG9wZW5Ub0xlZnQoX29wZW5Ub0xlZnQ6IGJvb2xlYW4pIHtcbiAgICAgIHRoaXMuX29wZW5Ub0xlZnQgPSBfb3BlblRvTGVmdDtcbiAgICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5fb3BlblRvTGVmdCA/IHsgeDogMzgsIHk6IDcgfSA6IHsgeDogMCwgeTogNyB9O1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICB9XG5cbiAgIG9uU2hvd0J1YmJsZSgpOiB2b2lkIHtcbiAgICAgIGlmIChfZ2V0KHRoaXMuYnViYmxlVHJpZ2dlciwgJ25hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCcpIDwgX2dldCh0aGlzLmJ1YmJsZVRyaWdnZXIsICduYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQuc2Nyb2xsV2lkdGgnKVxuICAgICAgICAgfHwgX2dldCh0aGlzLmJ1YmJsZVRyaWdnZXIsICduYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0JykgPCBfZ2V0KHRoaXMuYnViYmxlVHJpZ2dlciwgJ25hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5zY3JvbGxIZWlnaHQnKSkge1xuICAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cbiAgIH1cblxuICAgb25IaWRlQnViYmxlKCk6IHZvaWQge1xuICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICB9XG5cbn1cbiJdfQ==