UNPKG

ngx-pluto

Version:
131 lines 9.64 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef, Renderer2 } from '@angular/core'; import { Utils } from '../utils'; /** * @ignore */ export class NpBadgeDirective { /** * @param {?} _elementRef * @param {?} _renderer */ constructor(_elementRef, _renderer) { this._elementRef = _elementRef; this._renderer = _renderer; this.badgePosition = 'above after'; this.badgeColor = '#ed5565'; this.badgeRadius = '0'; this.hasContent = false; } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { /** @type {?} */ const contentChange = changes['badgeContent']; if (contentChange) { /** @type {?} */ const value = contentChange.currentValue; this.hasContent = value != null && `${value}`.trim().length > 0 && +value !== 0; this.updateTextContent(); } } /** * @return {?} */ isAbove() { return this.badgePosition.indexOf('below') === -1; } /** * @return {?} */ isAfter() { return this.badgePosition.indexOf('before') === -1; } /** * @private * @return {?} */ updateTextContent() { if (!this.badgeElement) { this.badgeElement = this.createBadgeElement(); } else { this.badgeElement.textContent = this.badgeContent; } return this.badgeElement; } /** * @private * @return {?} */ createBadgeElement() { /** @type {?} */ const badgeElement = this._renderer.createElement('span'); badgeElement.setAttribute('id', `np-badge-content-${Utils.ID()}`); badgeElement.style.borderRadius = this.badgeRadius; badgeElement.style.backgroundColor = this.badgeColor; badgeElement.classList.add('np-badge-content'); badgeElement.textContent = this.badgeContent; this._elementRef.nativeElement.appendChild(badgeElement); return badgeElement; } } NpBadgeDirective.decorators = [ { type: Directive, args: [{ selector: '[np-badge]', host: { 'class': 'np-badge-wrapper', '[class.np-badge-above]': 'isAbove()', '[class.np-badge-below]': '!isAbove()', '[class.np-badge-before]': '!isAfter()', '[class.np-badge-after]': 'isAfter()' } },] } ]; /** @nocollapse */ NpBadgeDirective.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; NpBadgeDirective.propDecorators = { badgePosition: [{ type: Input }], badgeColor: [{ type: Input }], badgeContent: [{ type: Input }], badgeRadius: [{ type: Input }] }; if (false) { /** @type {?} */ NpBadgeDirective.prototype.badgePosition; /** @type {?} */ NpBadgeDirective.prototype.badgeColor; /** @type {?} */ NpBadgeDirective.prototype.badgeContent; /** @type {?} */ NpBadgeDirective.prototype.badgeRadius; /** * @type {?} * @private */ NpBadgeDirective.prototype.badgeElement; /** * @type {?} * @private */ NpBadgeDirective.prototype.hasContent; /** * @type {?} * @private */ NpBadgeDirective.prototype._elementRef; /** * @type {?} * @private */ NpBadgeDirective.prototype._renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXBsdXRvLyIsInNvdXJjZXMiOlsibGliL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQWdCakMsTUFBTSxPQUFPLGdCQUFnQjs7Ozs7SUFVM0IsWUFBb0IsV0FBb0MsRUFDOUMsU0FBb0I7UUFEVixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDOUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQVRyQixrQkFBYSxHQUFvQixhQUFhLENBQUM7UUFDL0MsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUUvQixnQkFBVyxHQUFXLEdBQUcsQ0FBQztRQUczQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBR08sQ0FBQzs7Ozs7SUFFbkMsV0FBVyxDQUFDLE9BQXNCOztjQUMxQixhQUFhLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUU3QyxJQUFJLGFBQWEsRUFBRTs7a0JBQ1gsS0FBSyxHQUFHLGFBQWEsQ0FBQyxZQUFZO1lBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOzs7OztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQy9DO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ25EO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBRU8sa0JBQWtCOztjQUNsQixZQUFZLEdBQWdCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUV0RSxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxvQkFBb0IsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRSxZQUFZLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25ELFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDckQsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxZQUFZLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXpELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUUsa0JBQWtCO29CQUMzQix3QkFBd0IsRUFBRSxXQUFXO29CQUNyQyx3QkFBd0IsRUFBRSxZQUFZO29CQUN0Qyx5QkFBeUIsRUFBRSxZQUFZO29CQUN2Qyx3QkFBd0IsRUFBRSxXQUFXO2lCQUN0QzthQUNGOzs7O1lBaEIwQixVQUFVO1lBQUUsU0FBUzs7OzRCQW1CN0MsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7MEJBQ0wsS0FBSzs7OztJQUhOLHlDQUF3RDs7SUFDeEQsc0NBQXdDOztJQUN4Qyx3Q0FBOEI7O0lBQzlCLHVDQUFtQzs7Ozs7SUFFbkMsd0NBQThDOzs7OztJQUM5QyxzQ0FBMkI7Ozs7O0lBRWYsdUNBQTRDOzs7OztJQUN0RCxxQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW25wLWJhZGdlXScsXHJcbiAgaG9zdDoge1xyXG4gICAgJ2NsYXNzJzogJ25wLWJhZGdlLXdyYXBwZXInLFxyXG4gICAgJ1tjbGFzcy5ucC1iYWRnZS1hYm92ZV0nOiAnaXNBYm92ZSgpJyxcclxuICAgICdbY2xhc3MubnAtYmFkZ2UtYmVsb3ddJzogJyFpc0Fib3ZlKCknLFxyXG4gICAgJ1tjbGFzcy5ucC1iYWRnZS1iZWZvcmVdJzogJyFpc0FmdGVyKCknLFxyXG4gICAgJ1tjbGFzcy5ucC1iYWRnZS1hZnRlcl0nOiAnaXNBZnRlcigpJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5wQmFkZ2VEaXJlY3RpdmUge1xyXG5cclxuICBASW5wdXQoKSBiYWRnZVBvc2l0aW9uOiBOcEJhZGdlUG9zaXRpb24gPSAnYWJvdmUgYWZ0ZXInO1xyXG4gIEBJbnB1dCgpIGJhZGdlQ29sb3I6IHN0cmluZyA9ICcjZWQ1NTY1JztcclxuICBASW5wdXQoKSBiYWRnZUNvbnRlbnQ6IHN0cmluZztcclxuICBASW5wdXQoKSBiYWRnZVJhZGl1czogc3RyaW5nID0gJzAnO1xyXG5cclxuICBwcml2YXRlIGJhZGdlRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBoYXNDb250ZW50ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IGNvbnRlbnRDaGFuZ2UgPSBjaGFuZ2VzWydiYWRnZUNvbnRlbnQnXTtcclxuXHJcbiAgICBpZiAoY29udGVudENoYW5nZSkge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnRlbnRDaGFuZ2UuY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLmhhc0NvbnRlbnQgPSB2YWx1ZSAhPSBudWxsICYmIGAke3ZhbHVlfWAudHJpbSgpLmxlbmd0aCA+IDAgJiYgK3ZhbHVlICE9PSAwO1xyXG4gICAgICB0aGlzLnVwZGF0ZVRleHRDb250ZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0Fib3ZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYmFkZ2VQb3NpdGlvbi5pbmRleE9mKCdiZWxvdycpID09PSAtMTtcclxuICB9XHJcblxyXG4gIGlzQWZ0ZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5iYWRnZVBvc2l0aW9uLmluZGV4T2YoJ2JlZm9yZScpID09PSAtMTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGV4dENvbnRlbnQoKTogSFRNTFNwYW5FbGVtZW50IHtcclxuICAgIGlmICghdGhpcy5iYWRnZUVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5iYWRnZUVsZW1lbnQgPSB0aGlzLmNyZWF0ZUJhZGdlRWxlbWVudCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5iYWRnZUVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmJhZGdlQ29udGVudDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmJhZGdlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQmFkZ2VFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIGNvbnN0IGJhZGdlRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcblxyXG4gICAgYmFkZ2VFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCBgbnAtYmFkZ2UtY29udGVudC0ke1V0aWxzLklEKCl9YCk7XHJcbiAgICBiYWRnZUVsZW1lbnQuc3R5bGUuYm9yZGVyUmFkaXVzID0gdGhpcy5iYWRnZVJhZGl1cztcclxuICAgIGJhZGdlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmJhZGdlQ29sb3I7XHJcbiAgICBiYWRnZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbnAtYmFkZ2UtY29udGVudCcpO1xyXG4gICAgYmFkZ2VFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5iYWRnZUNvbnRlbnQ7XHJcblxyXG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGJhZGdlRWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIGJhZGdlRWxlbWVudDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOcEJhZGdlUG9zaXRpb24gPSAnYWJvdmUgYWZ0ZXInIHwgJ2Fib3ZlIGJlZm9yZScgfCAnYmVsb3cgYmVmb3JlJyB8ICdiZWxvdyBhZnRlcic7Il19