mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-02 15:11:13 -04:00
add new error banner module for showing users js errors
this ensures it's reusable by other components, and easier to unit test by isolating the separate concerns note: this is not in Modules since that's designed for classes that are then bound to an element in the DOM as indicated by a data-module attribute. This will just live at the window.GOVUK level since we want there to only ever be one `.banner-dangerous` warning.
This commit is contained in:
18
app/assets/javascripts/errorBanner.js
Normal file
18
app/assets/javascripts/errorBanner.js
Normal file
@@ -0,0 +1,18 @@
|
||||
(function (window) {
|
||||
"use strict";
|
||||
|
||||
/*
|
||||
This module is intended to be used to show and hide an error banner based on a javascript trigger. You should make
|
||||
sure the banner has an appropriate aria-live attribute, and a tabindex of -1 so that screenreaders and keyboard users
|
||||
are alerted to the change respectively.
|
||||
|
||||
This may behave in unexpected ways if you have more than one element with the `banner-dangerous` class on your page.
|
||||
*/
|
||||
window.GOVUK.ErrorBanner = {
|
||||
hideBanner: () => $('.banner-dangerous').addClass('govuk-!-display-none'),
|
||||
showBanner: (errorMessage) => $('.banner-dangerous')
|
||||
.html(`<span class="govuk-visually-hidden">Error:</span> ${errorMessage}`)
|
||||
.removeClass('govuk-!-display-none')
|
||||
.trigger('focus'),
|
||||
};
|
||||
})(window);
|
||||
Reference in New Issue
Block a user