docbrown/app/assets/javascripts/initializers/initializeUserProfilePage.js
Suzanne Aitchison f607cf8722
Optimise dropdowns for accessibility - Profile page (#13916)
* use initializedropdown in profileDropdown

* improve aria in html

* add cypress tests, stop buttons and dropdown initializing twice or more

* make sure dropdown shows when logged out
2021-06-14 12:31:23 +01:00

34 lines
1 KiB
JavaScript

'use strict';
function initializeProfileInfoToggle() {
const infoPanels = document.getElementsByClassName('js-user-info')[0];
const trigger = document.getElementsByClassName('js-user-info-trigger')[0];
const triggerWrapper = document.getElementsByClassName(
'js-user-info-trigger-wrapper',
)[0];
if (trigger && infoPanels) {
trigger.addEventListener('click', () => {
triggerWrapper.classList.replace('block', 'hidden');
infoPanels.classList.replace('hidden', 'grid');
});
}
}
function initializeProfileBadgesToggle() {
const badgesWrapper = document.getElementsByClassName('js-profile-badges')[0];
const trigger = document.getElementsByClassName(
'js-profile-badges-trigger',
)[0];
if (badgesWrapper && trigger) {
const badges = badgesWrapper.querySelectorAll('.js-profile-badge.hidden');
trigger.addEventListener('click', () => {
badges.forEach((badge) => {
badge.classList.remove('hidden');
});
trigger.classList.add('hidden');
});
}
}