35 lines
834 B
TypeScript
35 lines
834 B
TypeScript
|
import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';
|
||
|
import { Message } from 'primeng/primeng';
|
||
|
|
||
|
@Component({
|
||
|
selector: 'of-message',
|
||
|
templateUrl: './message.component.html',
|
||
|
})
|
||
|
export class MessageComponent implements OnInit, OnChanges {
|
||
|
|
||
|
@Input() error: any;
|
||
|
@Input() closeAfter: number;
|
||
|
@Input() closable: boolean;
|
||
|
msgs: Message[] = [];
|
||
|
|
||
|
constructor(
|
||
|
) {
|
||
|
}
|
||
|
|
||
|
ngOnInit() {
|
||
|
}
|
||
|
|
||
|
ngOnChanges(changes: SimpleChanges) {
|
||
|
if (changes['error'].currentValue) {
|
||
|
const detail = ' (' + this.error.response.code + ')';
|
||
|
this.msgs = [];
|
||
|
this.msgs.push({ severity: 'error', summary: 'Sorry. An Error has occurred.', detail: detail });
|
||
|
if (this.closeAfter) {
|
||
|
setTimeout(() => {
|
||
|
this.msgs = [];
|
||
|
}, this.closeAfter * 1000);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|