mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-06 03:13:42 -05:00
* Removed all govuk css * Updated reference files * Removing govuk js * Fixed casing for modules, removed unused page * Got more reference images * Updated template page * Removed govuk padding util * Updated hint to uswds hint * More govuk cleanup * Commiting backstopjs ref files * Fixed all unit tests that broke due to brittleness around govuk styling * Added new ref images * Final removal of govuk * Officially removed all govuk references * Updated reference file * Updated link to button * UI modernization * Cleanup * removed govuk escaping tests since they are no longer needed * Fix CodeQL security issue in escapeElementName function - Escape backslashes first before other special characters - Prevents potential double-escaping vulnerability - Addresses CodeQL alert about improper string escaping * Found more govuk removal. Fixed unit tests * Add missing pipeline check to pre-commit * updated test * Updated e2e test * More update to e2e test * Fixed another e2e test * Simple PR comments addressed * More updates * Updated backstop ref files * Refactored folder selection for non-admins * Updated redundant line * Updated tests to include correct mocks * Added more ref files * Addressing carlos comments * Addressing Carlo comments, cleanup of window initing * More cleanup and addressing carlo comments * Fixing a11 scan * Fixed a few issues with javascript * Fixed for pr * Fixing e2e tests * Tweaking e2e test * Added more ref files and cleaned up urls.js * Fixed bug with creating new template * Removed brittle test - addressed code ql comment * e2e race condition fix * More e2e test fixes * Updated e2e tests to not wait for text sent * Updated test to not wait for button click response * Made tear down more resilent if staging is down * reverted e2e test to what was working before main merge * Updated backstopRef images * Updated gulp to include job-polling differently
49 lines
1.7 KiB
JavaScript
49 lines
1.7 KiB
JavaScript
// Initialize USWDS components
|
|
if (window.uswds) {
|
|
window.uswds.init();
|
|
}
|
|
|
|
// Initialize custom modules
|
|
window.NotifyModules.start = function() {
|
|
var modules = document.querySelectorAll('[data-module]');
|
|
modules.forEach(function(element) {
|
|
var moduleName = element.getAttribute('data-module');
|
|
var moduleStarted = element.getAttribute('data-module-started');
|
|
|
|
if (!moduleStarted && window.NotifyModules[moduleName]) {
|
|
var module = new window.NotifyModules[moduleName]();
|
|
if (module.start) {
|
|
module.start(element);
|
|
}
|
|
element.setAttribute('data-module-started', 'true');
|
|
}
|
|
});
|
|
};
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
window.NotifyModules.start();
|
|
|
|
const errorElement = document.querySelector('.error-message, .usa-error-message');
|
|
if (errorElement) {
|
|
const label = errorElement.closest('label');
|
|
if (label && label.nextElementSibling && label.nextElementSibling.tagName === 'INPUT') {
|
|
label.nextElementSibling.focus();
|
|
}
|
|
}
|
|
});
|
|
// Applies our expanded focus style to the siblings of links when that link is wrapped in a heading.
|
|
//
|
|
// This will be possible in CSS in the future, using the :has pseudo-class. When :has is available
|
|
// in the browsers we support, this code can be replaced with a CSS-only solution.
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const markFocusElements = document.querySelectorAll('.js-mark-focus-on-parent');
|
|
markFocusElements.forEach(element => {
|
|
element.addEventListener('focusin', function(e) {
|
|
e.target.parentElement.classList.add('js-child-has-focus');
|
|
});
|
|
element.addEventListener('focusout', function(e) {
|
|
e.target.parentElement.classList.remove('js-child-has-focus');
|
|
});
|
|
});
|
|
});
|