The Angular Toast is a small, nonblocking notification pop-up. A toast is shown to users with readable message content at the bottom of the screen or at a specific target and disappears automatically after a few seconds (time-out) with different animation effects. The control has various built-in options for customizing visual elements, animations, durations, and dismissing toasts.
Users can create a more interactive toast message by configuring inputs and buttons on the notification pop-up that help them react quickly on notifications (for example, reply to a chat message directly from the toast pop-up).
A normal toast notification can be designed with clean reading content, and optional images, icons, inputs, and buttons. Users can load HTML content and change the content dynamically inside the toaster through templating.
The Angular toast notifications component is easily positioned wherever you want using built-in positions or custom axis values (X, Y).
Users can configure different animations to show or hide the toast, and can configure the animation duration based on the content length of the notification message and reading time.
Users can dismiss all Angular toast notification messages through user input or time-outs. Or they can be dismissed by swiping or tapping on notifications.
Users can deal with multiple toast notifications that display sequence messages (queue up) within little duration. Also, users can change the order of a toast notification sequence to newest on top.
Users can easily design common Angular toast notifications using built-in classes such as alert, success, warning, information, and error.
The Angular toast notification component can be configured with a duration time for the complete message to be read in before it is hidden. You can extend the timeout dynamically after focusing on it.
Users can enable a progress bar inside the toast to track the progress of an operation and the expiration of a toast message.
Users can validate duplicate toast notifications and allow only distinct toast messages on the screen. They can restrict the maximum number of toasts that are displayed. Also, users can prevent toast messages from hiding and make them stick with the screen.
Developers can control the appearance and behaviors of the toast notification component, including its positioning, using a rich set of APIs.
Easily get started with the Angular Toast using a few simple lines of HTML and TSX code as demonstrated below. Also explore our Angular Toast Example that shows you how to render and configure the Toast in Angular.
<div id="action-description">
<p>
This sample demonstrates the basic layout of a <code>Toast</code> to show simple notification and hide them.
</p>
</div>
<div class="col-lg-12 control-section toast-default-section">
<div class="e-sample-resize-container">
<ejs-toast #defaulttoast id='defaulttoast' [position]="position" (created)="onCreate()"
(close)="onClose($event)" icon="e-meeting" (beforeOpen)="onBeforeOpen()">
<ng-template #content>
<div>Conference Room 01 / Building 135 10:00 AM-10:30 AM</div>
</ng-template>
<ng-template #title>
<div>Adaptive Tiles Meeting</div>
</ng-template>
</ejs-toast>
<div class="col-lg-12 col-sm-12 col-md-12 center">
<div id="toastBtnDefault" style="margin: auto;text-align: center">
<button ejs-button #toastBtnShow class="e-btn" id="toastBtnShow" (click)='showToast()'>Show
Toasts</button>
<button ejs-button #toastBtnHide class="e-btn" id="toastBtnHide" (click)='hideToast()'>Hide
All</button>
</div>
</div>
</div>
</div>
import { Component, ViewEncapsulation, ViewChild, HostListener, ElementRef, Inject, Injector } from '@angular/core';
import { ToastComponent, ToastCloseArgs, ToastPositionModel } from '@syncfusion/ej2-angular-notifications';
import { ButtonComponent } from '@syncfusion/ej2-angular-buttons';
/**
* Sample for Basic Toast
*/
@Component({
selector: 'control-content',
templateUrl: 'default.html',
styleUrls: ['default.css'],
encapsulation: ViewEncapsulation.None
})
export class DefaultController {
@ViewChild('defaulttoast')
public toastObj: ToastComponent;
@ViewChild('toastBtnHide')
public btnEleHide: ButtonComponent;
@ViewChild('toastBtnShow')
public btnEleShow: ButtonComponent;
public position: ToastPositionModel = { X: "Right" };
constructor(@Inject('sourceFiles') private sourceFiles: any) {
sourceFiles.files = ['default.css'];
}
public onCreate = (): void => {
setTimeout((): void => {
this.toastObj.show();
}, 200);
}
public onClose = (e: ToastCloseArgs): void => {
if (e.toastContainer.childElementCount === 0) {
this.btnEleHide.element.style.display = 'none';
}
}
public onBeforeOpen = (): void => {
this.btnEleHide.element.style.display = 'inline-block';
}
public showToast = (): void => {
this.toastObj.show();
}
public hideToast = (): void => {
this.toastObj.hide('All');
}
@HostListener('document:click', ['$event'])
documentClick = (e: MouseEvent): void => {
if (e.target !== this.btnEleShow.element && this.toastObj.target === document.body) {
this.toastObj.hide('All');
}
}
}
Toast is also available in Blazor, React, Vue, and JavaScript frameworks. Check out the different Toast platforms from the links below,
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.