UNPKG

@hpe/angular-toolkit

Version:

Hewlett-Packard Enterprise : Angular toolkit for rapid project development

94 lines (92 loc) 9.22 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ //============================================================================= //=== //=== (C) Copyright 2018 Hewlett Packard Enterprise Development LP. //=== //=== Use of this source code is governed by an MIT-style license that can be //=== found in the LICENSE file //============================================================================= import { Component } from '@angular/core'; import { MessageService } from 'primeng/components/common/messageservice'; //============================================================================= export class NotificationButton { /** * @param {?} messageService */ constructor(messageService) { this.messageList = []; this.unreadMessages = false; this.subscription = messageService.messageObserver.subscribe((messages) => this.onMessage(messages)); } /** * @return {?} */ ngOnDestroy() { if (this.subscription != null) { this.subscription.unsubscribe(); } } /** * @param {?} event * @return {?} */ onClick(event) { this.unreadMessages = false; } /** * @param {?} messages * @return {?} */ onMessage(messages) { if (messages instanceof Array) { messages.forEach(e => this.messageList.unshift(e)); } else { this.messageList.unshift(messages); } this.unreadMessages = true; } } NotificationButton.decorators = [ { type: Component, args: [{ selector: 'hpe-notification-button', template: `<!-- ============================================================================= === === (C) Copyright 2018 Hewlett Packard Enterprise Development LP. === === Use of this source code is governed by an MIT-style license that can be === found in the LICENSE file ============================================================================= --> <hpe-toolbar-button icon="fa-bell" [toggle]="true" [highlighted]="unreadMessages" (click)="onClick($event)" [disabled]="messageList.length == 0"> <hpe-notification-item *ngFor="let msg of messageList" [message]="msg"></hpe-notification-item> </hpe-toolbar-button> `, styles: [``] },] }, ]; /** @nocollapse */ NotificationButton.ctorParameters = () => [ { type: MessageService, }, ]; function NotificationButton_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ NotificationButton.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ NotificationButton.ctorParameters; /** @type {?} */ NotificationButton.prototype.unreadMessages; /** @type {?} */ NotificationButton.prototype.messageList; /** @type {?} */ NotificationButton.prototype.subscription; } //============================================================================= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BocGUvYW5ndWxhci10b29sa2l0L2d1aS9wYW5lbC8iLCJzb3VyY2VzIjpbInRvb2xiYXIvbm90aWZpY2F0aW9uLWJ1dHRvbi9ub3RpZmljYXRpb24tYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBUUEsT0FBTyxFQUFDLFNBQVMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQVksMENBQTBDLENBQUM7QUFJOUU7QUFxQkEsTUFBTTs7OztJQXNCTCxZQUFZLGNBQThCOzJCQVo1QixFQUFFO1FBY2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBSyxjQUFjLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FDN0QsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQUM7S0FDRjs7OztJQVFNLFdBQVc7UUFFakIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEM7Ozs7OztJQVNLLE9BQU8sQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDOzs7Ozs7SUFTckIsU0FBUyxDQUFDLFFBQWM7UUFFL0IsRUFBRSxDQUFDLENBQUMsUUFBUSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0IsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ25DO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7Ozs7WUF6RjVCLFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQVEseUJBQXlCO2dCQUN6QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Q0FhVjtnQkFDQSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDWjs7OztZQXJCTyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy89PT1cbi8vPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbi8vPT09XG4vLz09PSBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuLy89PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSAgICAgICAgIGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge01lc3NhZ2VTZXJ2aWNlfSAgICAgICBmcm9tICdwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlJztcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3IgICA6ICAgICdocGUtbm90aWZpY2F0aW9uLWJ1dHRvbicsXG5cdHRlbXBsYXRlOiBgPCEtLVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PVxuPT09IChDKSBDb3B5cmlnaHQgMjAxOCBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBMUC5cbj09PVxuPT09IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG49PT0gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tPlxuXG48aHBlLXRvb2xiYXItYnV0dG9uIGljb249XCJmYS1iZWxsXCIgW3RvZ2dsZV09XCJ0cnVlXCIgW2hpZ2hsaWdodGVkXT1cInVucmVhZE1lc3NhZ2VzXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCJtZXNzYWdlTGlzdC5sZW5ndGggPT0gMFwiPlxuXHQ8aHBlLW5vdGlmaWNhdGlvbi1pdGVtICpuZ0Zvcj1cImxldCBtc2cgb2YgbWVzc2FnZUxpc3RcIiBbbWVzc2FnZV09XCJtc2dcIj48L2hwZS1ub3RpZmljYXRpb24taXRlbT5cbjwvaHBlLXRvb2xiYXItYnV0dG9uPlxuYCxcblx0c3R5bGVzOiBbYGBdXG59KVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25CdXR0b24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQvLy0tLVxuXHQvLy0tLSBWYXJpYWJsZXNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0dW5yZWFkTWVzc2FnZXMgOiBib29sZWFuO1xuXG5cdG1lc3NhZ2VMaXN0ID0gW107XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBzdWJzY3JpcHRpb24gOiBTdWJzY3JpcHRpb247XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIENvbnN0cnVjdG9yXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdGNvbnN0cnVjdG9yKG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge1xuXG5cdFx0dGhpcy51bnJlYWRNZXNzYWdlcyA9IGZhbHNlO1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uICAgPSBtZXNzYWdlU2VydmljZS5tZXNzYWdlT2JzZXJ2ZXIuc3Vic2NyaWJlKFxuXHRcdFx0KG1lc3NhZ2VzOiBhbnkpID0+IHRoaXMub25NZXNzYWdlKG1lc3NhZ2VzKVxuXHRcdCk7XG5cdH1cblxuXHQvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8tLS1cblx0Ly8tLS0gTGlmZWN5Y2xlIG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIG5nT25EZXN0cm95KCkge1xuXG5cdFx0aWYgKHRoaXMuc3Vic2NyaXB0aW9uICE9IG51bGwpIHtcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdFx0fVxuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIEFQSSBtZXRob2RzXG5cdC8vLS0tXG5cdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdHB1YmxpYyBvbkNsaWNrKGV2ZW50KTogdm9pZCB7XG5cdFx0dGhpcy51bnJlYWRNZXNzYWdlcyA9IGZhbHNlO1xuXHR9XG5cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdC8vLS0tXG5cdC8vLS0tIEV2ZW50IG1ldGhvZHNcblx0Ly8tLS1cblx0Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHJpdmF0ZSBvbk1lc3NhZ2UobWVzc2FnZXMgOiBhbnkpIDogdm9pZCB7XG5cblx0XHRpZiAobWVzc2FnZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuXHRcdFx0bWVzc2FnZXMuZm9yRWFjaChlID0+IHRoaXMubWVzc2FnZUxpc3QudW5zaGlmdChlKSk7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5tZXNzYWdlTGlzdC51bnNoaWZ0KG1lc3NhZ2VzKTtcblx0XHR9XG5cblx0XHR0aGlzLnVucmVhZE1lc3NhZ2VzID0gdHJ1ZTtcblx0fVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iXX0=