Current File : /home/pacjaorg/www/dnpsom/media/com_workflow/js/admin-items-workflow-buttons-es5.js |
(function () {
'use strict';
/**
* @copyright (C) 2020 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
Joomla = window.Joomla || {};
/**
* Method that switches a given class to the following elements of the element provided
*
* @param {HTMLElement} element The reference element
* @param {string} className The class name to be toggled
*/
Joomla.toggleAllNextElements = function (element, className) {
var getNextSiblings = function getNextSiblings(el) {
var siblings = [];
/* eslint-disable no-cond-assign,no-param-reassign */
do {
siblings.push(el);
} while ((el = el.nextElementSibling) !== null);
/* eslint-enable no-cond-assign,no-param-reassign */
return siblings;
};
var followingElements = getNextSiblings(element);
if (followingElements.length) {
followingElements.forEach(function (elem) {
if (elem.classList.contains(className)) {
elem.classList.remove(className);
} else {
elem.classList.add(className);
}
});
}
};
(function () {
document.addEventListener('DOMContentLoaded', function () {
var dropDownBtn = document.getElementById('toolbar-status-group');
if (!dropDownBtn) {
return;
}
var transitions = [].slice.call(dropDownBtn.querySelectorAll('.button-transition'));
var headline = dropDownBtn.querySelector('.button-transition-headline');
var separator = dropDownBtn.querySelector('.button-transition-separator');
var itemList = document.querySelector('table.itemList');
var itemListRows = [];
var transitionIds = [];
if (itemList) {
itemListRows = [].slice.call(itemList.querySelectorAll('tbody tr'));
}
function enableTransitions() {
if (transitionIds.length) {
var availableTrans = transitionIds.shift();
var _loop = function _loop() {
var compareTrans = transitionIds.shift();
availableTrans = availableTrans.filter(function (id) {
return compareTrans.indexOf(id) !== -1;
});
};
while (transitionIds.length) {
_loop();
}
if (availableTrans.length) {
if (headline) {
headline.classList.remove('d-none');
}
if (separator) {
separator.classList.remove('d-none');
}
}
availableTrans.forEach(function (trans) {
var elem = dropDownBtn.querySelector(".transition-" + trans);
if (elem) {
elem.parentNode.classList.remove('d-none');
}
});
}
} // check for common attributes for which the conditions for a transition are possible or not
// and save this information in a boolean variable.
function collectTransitions(row) {
transitionIds.push(row.getAttribute('data-transitions').split(','));
} // listen to click event to get selected rows
if (itemList) {
itemList.addEventListener('click', function () {
transitions.forEach(function (trans) {
trans.parentNode.classList.add('d-none');
});
if (headline) {
headline.classList.add('d-none');
}
if (separator) {
separator.classList.add('d-none');
}
transitionIds = [];
itemListRows.forEach(function (el) {
var checkedBox = el.querySelector('input[type=checkbox]');
if (checkedBox.checked) {
var parentTr = checkedBox.closest('tr');
collectTransitions(parentTr);
}
});
enableTransitions();
});
}
});
})();
}());