<div style="display:flex;">
<div onclick="toastDemo1.showToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Upload - Show Toast
</div>
<div onclick="toastDemo1.hideToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 20px; border-radius: 6px">
Upload - Hide Toast
</div>
<div onclick="toastDemo2.showToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Warning - Show Toast
</div>
<div onclick="toastDemo2.hideToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 20px; border-radius: 6px">
Warning - Hide Toast
</div>
<div onclick="toastDemo3.showToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Error - Show Toast
</div>
<div onclick="toastDemo3.hideToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Error - Hide Toast
</div>
<div onclick="toastDemo4.showToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Info - Show Toast
</div>
<div onclick="toastDemo4.hideToast()" style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px">
Info - Hide Toast
</div>
</div>
<div class="acl-toast__container acl-toast__white-text acl-toast__success acl-toast__rounded-corners animated slideInUp toast-demo-1" style="margin: 20px 0">
<div class="acl-toast__content-container animated fadeIn">
<div class="acl-toast__content-spinner">
<svg class="acl-loader__circular" width="15px" height="15px" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg">
<circle class="acl-loader__circular-background" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
<circle class="acl-loader__circular-path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
</svg>
</div>
<div class="acl-toast__content-title">
Uploading files
</div>
<div class="acl-toast__content-counter">
12/50 Added
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div class="acl-toast__container acl-toast__white-text acl-toast__warning acl-toast__rounded-corners animated slideInUp toast-demo-2" style="margin: 20px 0">
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_warning</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Warning Notification
</div>
<div class="acl-toast__content-text">
This is what a really long error or notification message looks like - it could even have an error code like: E-12345GregsFault6789
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div class="acl-toast__container acl-toast__white-text acl-toast__error acl-toast__rounded-corners animated slideInUp toast-demo-3" style="margin: 20px 0">
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_error</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Failed to update object
</div>
<div class="acl-toast__content-text">
Null pointer exception.
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div class="acl-toast__container acl-toast__white-text acl-toast__info acl-toast__rounded-corners animated slideInUp toast-demo-4" style="margin: 20px 0">
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_info</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Info Notification
</div>
<div class="acl-toast__content-text">
Can be used to give user general information
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<script>
const toastElement = document.querySelector('.toast-demo-1');
const toastDemo1 = new acl.ACLToast(toastElement);
const toastElement2 = document.querySelector('.toast-demo-2');
const toastDemo2 = new acl.ACLToast(toastElement2);
const toastElement3 = document.querySelector('.toast-demo-3');
const toastDemo3 = new acl.ACLToast(toastElement3);
const toastElement4 = document.querySelector('.toast-demo-4');
const toastDemo4 = new acl.ACLToast(toastElement4);
toastElement.addEventListener('toastdismissed', () => {
console.log('toast dismissed');
})
</script>
<div style="display:flex;">
<div
onclick="toastDemo1.showToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Upload - Show Toast
</div>
<div
onclick="toastDemo1.hideToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 20px; border-radius: 6px"
>
Upload - Hide Toast
</div>
<div
onclick="toastDemo2.showToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Warning - Show Toast
</div>
<div
onclick="toastDemo2.hideToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 20px; border-radius: 6px"
>
Warning - Hide Toast
</div>
<div
onclick="toastDemo3.showToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Error - Show Toast
</div>
<div
onclick="toastDemo3.hideToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Error - Hide Toast
</div>
<div
onclick="toastDemo4.showToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Info - Show Toast
</div>
<div
onclick="toastDemo4.hideToast()"
style="background-color: rgb(241, 241, 241); cursor:pointer; font-size: 12px; font-weight:bold; width: 250px; padding: 10px; width: 135px; margin-bottom: 50px; margin-right: 10px; border-radius: 6px"
>
Info - Hide Toast
</div>
</div>
<div
class="acl-toast__container acl-toast__white-text acl-toast__success acl-toast__rounded-corners animated slideInUp toast-demo-1"
style="margin: 20px 0"
>
<div class="acl-toast__content-container animated fadeIn">
<div class="acl-toast__content-spinner">
<svg
class="acl-loader__circular"
width="15px"
height="15px"
viewBox="0 0 66 66"
xmlns="http://www.w3.org/2000/svg"
>
<circle
class="acl-loader__circular-background"
fill="none"
stroke-width="6"
cx="33"
cy="33"
r="30"
></circle>
<circle class="acl-loader__circular-path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle>
</svg>
</div>
<div class="acl-toast__content-title">
Uploading files
</div>
<div class="acl-toast__content-counter">
12/50 Added
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div
class="acl-toast__container acl-toast__white-text acl-toast__warning acl-toast__rounded-corners animated slideInUp toast-demo-2"
style="margin: 20px 0"
>
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_warning</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Warning Notification
</div>
<div class="acl-toast__content-text">
This is what a really long error or notification message looks like - it could even have an error code like: E-12345GregsFault6789
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div
class="acl-toast__container acl-toast__white-text acl-toast__error acl-toast__rounded-corners animated slideInUp toast-demo-3"
style="margin: 20px 0"
>
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_error</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Failed to update object
</div>
<div class="acl-toast__content-text">
Null pointer exception.
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<div
class="acl-toast__container acl-toast__white-text acl-toast__info acl-toast__rounded-corners animated slideInUp toast-demo-4"
style="margin: 20px 0"
>
<div class="acl-toast__content-container animated fadeIn">
<i class="aforza-icons acl-toast__content-icon">acl_notification_info</i>
<div class="acl-toast__content-info-container">
<div class="acl-toast__content-title">
Info Notification
</div>
<div class="acl-toast__content-text">
Can be used to give user general information
</div>
</div>
</div>
<div class="acl-toast__divider animated fadeIn"></div>
<div class="acl-toast__action-container">
<div class="acl-toast__dismiss-icon">
<i class="aforza-icons">acl_close_small</i>
</div>
</div>
</div>
<script>
const toastElement = document.querySelector('.toast-demo-1');
const toastDemo1 = new acl.ACLToast(toastElement);
const toastElement2 = document.querySelector('.toast-demo-2');
const toastDemo2 = new acl.ACLToast(toastElement2);
const toastElement3 = document.querySelector('.toast-demo-3');
const toastDemo3 = new acl.ACLToast(toastElement3);
const toastElement4 = document.querySelector('.toast-demo-4');
const toastDemo4 = new acl.ACLToast(toastElement4);
toastElement.addEventListener('toastdismissed', () => {
console.log('toast dismissed');
})
</script>
/* No context defined. */
.acl-toast {
&__container {
align-items: center;
min-height: 46px;
padding: 5px 20px;
display: none;
}
&--show {
display: flex;
}
&__content-container {
display: flex;
flex: 1;
align-items: center;
}
&__content-spinner {
padding: 2px 10px 0px 0px;
}
&__content-icon {
margin-right: 10px;
font-size: 16px;
}
&__content-title {
font-weight: bold;
flex: 1;
font-size: 12px;
}
&__content-text {
flex: 1;
font-size: 12px;
}
&__content-counter {
text-decoration: underline;
padding: 5px 20px;
font-size: 14px;
}
&__action-container {
margin: 0 -3px 0 13px;
padding: 0px 2px;
}
&__success {
background-color: #2cbcb2;
}
&__warning {
background-color: rgb(250, 177, 42);
}
&__error {
background-color: rgb(194, 9, 9);
}
&__info {
background-color: rgb(40, 136, 214);
}
&__divider {
min-height: 46px;
width: 1px;
background-color: rgba(255, 255, 255, 0.3);
}
&__white-text {
color: $white;
}
&__rounded-corners {
border-radius: 6px;
}
&__dismiss-icon {
display: flex;
cursor: pointer;
i {
user-select: none;
font-size: 23px;
}
}
}
class ACLToast {
constructor(toastEl) {
this.selector = Object.freeze({
ACL_TOAST: 'acl-toast',
DISMISS_ICON: '.acl-toast__dismiss-icon',
});
this.customEvent = Object.freeze({
CLICK: 'click',
TOAST_DISMISSED: 'toastdismissed',
});
this.modifier = Object.freeze({
SHOW: '--show',
});
this.toastElement = toastEl;
const dismissButton = this.toastElement.querySelector(this.selector.DISMISS_ICON);
if (dismissButton) dismissButton.addEventListener(this.customEvent.CLICK, () => this.hideToast());
}
showToast() {
if (this.toastElement) {
this.toastElement.classList.add(`${this.selector.ACL_TOAST}${this.modifier.SHOW}`);
}
}
hideToast() {
if (this.toastElement) {
this.toastElement.classList.remove(`${this.selector.ACL_TOAST}${this.modifier.SHOW}`);
this.toastElement.dispatchEvent(new CustomEvent(this.customEvent.TOAST_DISMISSED));
}
}
}
export { ACLToast };
No notes defined.