primo commit
This commit is contained in:
38
media/com_categories/js/shared-categories-accordion.js
Normal file
38
media/com_categories/js/shared-categories-accordion.js
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
if (!Joomla || !Joomla.Text) {
|
||||
throw new Error('core.js was not properly initialised');
|
||||
}
|
||||
|
||||
// Selectors used by this script
|
||||
const buttonsSelector = '[id^=category-btn-]';
|
||||
|
||||
/**
|
||||
* Handle the category toggle button click event
|
||||
* @param event
|
||||
*/
|
||||
const handleCategoryToggleButtonClick = ({
|
||||
currentTarget
|
||||
}) => {
|
||||
const button = currentTarget;
|
||||
const icon = button.querySelector('span');
|
||||
|
||||
// Toggle icon class
|
||||
icon.classList.toggle('icon-plus');
|
||||
icon.classList.toggle('icon-minus');
|
||||
|
||||
// Toggle aria label, aria-expanded
|
||||
const ariaLabel = button.getAttribute('aria-label');
|
||||
const ariaExpanded = button.getAttribute('aria-expanded');
|
||||
button.setAttribute('aria-label', ariaLabel === Joomla.Text._('JGLOBAL_EXPAND_CATEGORIES') ? Joomla.Text._('JGLOBAL_COLLAPSE_CATEGORIES') : Joomla.Text._('JGLOBAL_EXPAND_CATEGORIES'));
|
||||
button.setAttribute('aria-expanded', ariaExpanded === 'false' ? 'true' : 'false');
|
||||
const {
|
||||
categoryId
|
||||
} = button.dataset;
|
||||
const target = document.getElementById(`category-${categoryId}`);
|
||||
target.toggleAttribute('hidden');
|
||||
};
|
||||
document.querySelectorAll(buttonsSelector).forEach(button => button.addEventListener('click', handleCategoryToggleButtonClick));
|
||||
4
media/com_categories/js/shared-categories-accordion.min.js
vendored
Normal file
4
media/com_categories/js/shared-categories-accordion.min.js
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/if(!Joomla||!Joomla.Text)throw new Error("core.js was not properly initialised");const buttonsSelector="[id^=category-btn-]",handleCategoryToggleButtonClick=({currentTarget:e})=>{const t=e,o=t.querySelector("span");o.classList.toggle("icon-plus"),o.classList.toggle("icon-minus");const a=t.getAttribute("aria-label"),r=t.getAttribute("aria-expanded");t.setAttribute("aria-label",a===Joomla.Text._("JGLOBAL_EXPAND_CATEGORIES")?Joomla.Text._("JGLOBAL_COLLAPSE_CATEGORIES"):Joomla.Text._("JGLOBAL_EXPAND_CATEGORIES")),t.setAttribute("aria-expanded",r==="false"?"true":"false");const{categoryId:l}=t.dataset;document.getElementById(`category-${l}`).toggleAttribute("hidden")};document.querySelectorAll(buttonsSelector).forEach(e=>e.addEventListener("click",handleCategoryToggleButtonClick));
|
||||
BIN
media/com_categories/js/shared-categories-accordion.min.js.gz
Normal file
BIN
media/com_categories/js/shared-categories-accordion.min.js.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user