2024-12-31 12:58:33 +03:00
|
|
|
import { CommonModule } from '@angular/common';
|
|
|
|
|
import { Component } from '@angular/core';
|
2025-01-10 10:03:02 +03:00
|
|
|
import { FormsModule } from '@angular/forms';
|
2025-01-07 14:06:30 +03:00
|
|
|
import { MessageService, ToastMessageOptions } from 'primeng/api';
|
2024-12-31 12:58:33 +03:00
|
|
|
import { ButtonModule } from 'primeng/button';
|
|
|
|
|
import { InputTextModule } from 'primeng/inputtext';
|
|
|
|
|
import { MessageModule } from 'primeng/message';
|
2025-01-10 10:03:02 +03:00
|
|
|
import { ToastModule } from 'primeng/toast';
|
2024-12-31 12:58:33 +03:00
|
|
|
|
|
|
|
|
@Component({
|
2025-01-07 13:04:10 +03:00
|
|
|
selector: 'app-messages-demo',
|
2024-12-31 12:58:33 +03:00
|
|
|
standalone: true,
|
2025-01-07 17:29:51 +03:00
|
|
|
imports: [CommonModule, ToastModule, ButtonModule, InputTextModule, MessageModule, FormsModule],
|
|
|
|
|
template: `
|
2025-01-03 15:48:50 +03:00
|
|
|
<div class="flex flex-col md:flex-row gap-8">
|
|
|
|
|
<div class="md:w-1/2">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="font-semibold text-xl mb-4">Toast</div>
|
|
|
|
|
<div class="flex flex-wrap gap-2">
|
|
|
|
|
<p-button (click)="showSuccessViaToast()" label="Success" severity="success" />
|
|
|
|
|
<p-button (click)="showInfoViaToast()" label="Info" severity="info" />
|
|
|
|
|
<p-button (click)="showWarnViaToast()" label="Warn" severity="warn" />
|
|
|
|
|
<p-button (click)="showErrorViaToast()" label="Error" severity="danger" />
|
2025-01-08 12:02:11 +03:00
|
|
|
<p-toast />
|
2025-01-03 15:48:50 +03:00
|
|
|
</div>
|
2024-12-31 12:58:33 +03:00
|
|
|
|
2025-01-03 15:48:50 +03:00
|
|
|
<div class="font-semibold text-xl mt-4 mb-4">Inline</div>
|
2025-01-10 10:03:02 +03:00
|
|
|
<div class="flex flex-col mb-4 gap-1">
|
2025-01-07 17:29:51 +03:00
|
|
|
<input pInputText [(ngModel)]="username" placeholder="Username" aria-label="username" class="ng-dirty ng-invalid" />
|
2025-01-10 10:03:02 +03:00
|
|
|
<p-message severity="error" variant="simple" size="small">Username is required</p-message>
|
2025-01-03 15:48:50 +03:00
|
|
|
</div>
|
2025-01-10 10:03:02 +03:00
|
|
|
<div class="flex flex-col flex-wrap gap-1">
|
2025-01-03 15:48:50 +03:00
|
|
|
<input pInputText [(ngModel)]="email" placeholder="Email" aria-label="email" class="ng-dirty ng-invalid" />
|
2025-01-10 10:03:02 +03:00
|
|
|
<p-message severity="error" variant="simple" size="small">Email is required</p-message>
|
2025-01-03 15:48:50 +03:00
|
|
|
</div>
|
2024-12-31 12:58:33 +03:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-01-03 15:48:50 +03:00
|
|
|
<div class="md:w-1/2">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="font-semibold text-xl mb-4">Message</div>
|
|
|
|
|
<div class="flex flex-col gap-4 mb-4">
|
|
|
|
|
<p-message severity="success">Success Message</p-message>
|
|
|
|
|
<p-message severity="info">Info Message</p-message>
|
|
|
|
|
<p-message severity="warn">Warn Message</p-message>
|
|
|
|
|
<p-message severity="error">Error Message</p-message>
|
|
|
|
|
<p-message severity="secondary">Secondary Message</p-message>
|
|
|
|
|
<p-message severity="contrast">Contrast Message</p-message>
|
|
|
|
|
</div>
|
2024-12-31 12:58:33 +03:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
`,
|
|
|
|
|
providers: [MessageService]
|
|
|
|
|
})
|
2025-01-07 13:04:10 +03:00
|
|
|
export class MessagesDemo {
|
2025-01-07 14:06:30 +03:00
|
|
|
msgs: ToastMessageOptions[] | null = [];
|
2024-12-31 12:58:33 +03:00
|
|
|
|
2025-01-07 17:29:51 +03:00
|
|
|
username: string | undefined;
|
2024-12-31 12:58:33 +03:00
|
|
|
|
2025-01-07 17:29:51 +03:00
|
|
|
email: string | undefined;
|
2024-12-31 12:58:33 +03:00
|
|
|
|
2025-01-07 17:29:51 +03:00
|
|
|
constructor(private service: MessageService) {}
|
2024-12-31 12:58:33 +03:00
|
|
|
|
|
|
|
|
showInfoViaToast() {
|
2025-01-08 12:02:11 +03:00
|
|
|
this.service.add({ severity: 'info', summary: 'Info Message', detail: 'PrimeNG rocks' });
|
2024-12-31 12:58:33 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showWarnViaToast() {
|
2025-01-08 12:02:11 +03:00
|
|
|
this.service.add({ severity: 'warn', summary: 'Warn Message', detail: 'There are unsaved changes' });
|
2024-12-31 12:58:33 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showErrorViaToast() {
|
2025-01-08 12:02:11 +03:00
|
|
|
this.service.add({ severity: 'error', summary: 'Error Message', detail: 'Validation failed' });
|
2024-12-31 12:58:33 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showSuccessViaToast() {
|
2025-01-08 12:02:11 +03:00
|
|
|
this.service.add({ severity: 'success', summary: 'Success Message', detail: 'Message sent' });
|
2024-12-31 12:58:33 +03:00
|
|
|
}
|
2025-01-03 15:48:50 +03:00
|
|
|
}
|