@hpe/angular-toolkit
Version:
Hewlett-Packard Enterprise : Angular toolkit for rapid project development
94 lines (92 loc) • 9.22 kB
JavaScript
/**
* @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=