Current File : /home/pacjaorg/wpt.pacja.org/km/media/system/js/list-view-es5.js |
(function () {
'use strict';
/*
* Apply the predefined action for the current element
*
* @param {Event} event
*/
function gridItemAction(event) {
var item = event.target;
if (item.nodeName === 'SPAN' && ['A', 'BUTTON'].includes(item.parentNode.nodeName)) {
item = item.parentNode;
}
if (item.nodeName === 'A') {
event.preventDefault();
}
if (item.hasAttribute('disabled') || !item.hasAttribute('data-item-task')) {
return;
}
var itemId = item.dataset.itemId;
var itemTask = item.dataset.itemTask;
var itemFormId = item.dataset.itemFormId;
if (itemFormId) {
Joomla.listItemTask(itemId, itemTask, itemFormId);
} else {
Joomla.listItemTask(itemId, itemTask);
}
}
/*
* Apply the transition state for the current element
*
* @param {Event} event
*/
function gridTransitionItemAction(event) {
var item = event.target;
if (item.nodeName !== 'SELECT' || item.hasAttribute('disabled')) {
return;
}
var itemId = item.dataset.itemId;
var itemTask = item.dataset.itemTask;
var itemFormId = item.dataset.itemFormId;
item.form.transition_id.value = item.value;
if (itemFormId) {
Joomla.listItemTask(itemId, itemTask, itemFormId);
} else {
Joomla.listItemTask(itemId, itemTask);
}
}
/*
* Apply the transition state for the current element
*
* @param {Event} event
*/
function gridTransitionButtonAction(event) {
var item = event.target;
if (item.nodeName === 'SPAN' && item.parentNode.nodeName === 'BUTTON') {
item = item.parentNode;
}
if (item.hasAttribute('disabled')) {
return;
}
Joomla.toggleAllNextElements(item, 'd-none');
}
/*
* Switch the check state for the current element
*
* @param {Event} event
*/
function applyIsChecked(event) {
var item = event.target;
var itemFormId = item.dataset.itemFormId || '';
if (itemFormId) {
Joomla.isChecked(item.checked, itemFormId);
} else {
Joomla.isChecked(item.checked);
}
}
/*
* Set up an interactive list elements
*
* @param {Event} event
*/
var setup = function setup(_ref) {
var target = _ref.target;
target.querySelectorAll('.js-grid-item-check-all').forEach(function (element) {
return element.addEventListener('click', function (event) {
return Joomla.checkAll(event.target);
});
});
target.querySelectorAll('.js-grid-item-is-checked').forEach(function (element) {
return element.addEventListener('click', applyIsChecked);
});
target.querySelectorAll('.js-grid-item-action').forEach(function (element) {
return element.addEventListener('click', gridItemAction);
});
target.querySelectorAll('.js-grid-item-transition-action').forEach(function (element) {
return element.addEventListener('change', gridTransitionItemAction);
});
target.querySelectorAll('.js-grid-button-transition-action').forEach(function (element) {
return element.addEventListener('click', gridTransitionButtonAction);
});
};
setup({
target: document
});
document.addEventListener('joomla:updated', setup);
})();