Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla5/media/system/js/fields/ |
| [Home] [System Details] [Kill Me] |
/**
* @copyright (C) 2018 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
(() => {
const onChange = ({
target
}) => {
const self = target;
const value = parseInt(self.value, 10);
self.classList.remove('form-select-success',
'form-select-danger');
if (value === 1) {
self.classList.add('form-select-success');
} else if (value === 0 || value === -2) {
self.classList.add('form-select-danger');
}
};
const updateSelectboxColour = () => {
const colourSelects =
[].slice.call(document.querySelectorAll('.form-select-color-state'));
colourSelects.forEach(colourSelect => {
const value = parseInt(colourSelect.value, 10);
// Add class on page load
if (value === 1) {
colourSelect.classList.add('form-select-success');
} else if (value === 0 || value === -2) {
colourSelect.classList.add('form-select-danger');
}
// Add class when value is changed
colourSelect.addEventListener('change', onChange);
});
// Cleanup
document.removeEventListener('DOMContentLoaded',
updateSelectboxColour, true);
};
// On document loaded
document.addEventListener('DOMContentLoaded',
updateSelectboxColour, true);
// On Joomla updated
document.addEventListener('joomla:updated',
updateSelectboxColour, true);
})();