121 lines
6.1 KiB
JavaScript
121 lines
6.1 KiB
JavaScript
/**
|
|
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
Joomla = window.Joomla || {};
|
|
(Joomla => {
|
|
|
|
Joomla.submitbutton = task => {
|
|
if (task === 'module.cancel' || document.formvalidator.isValid(document.getElementById('module-form'))) {
|
|
Joomla.submitform(task, document.getElementById('module-form'));
|
|
const options = Joomla.getOptions('module-edit');
|
|
if (window.self !== window.top) {
|
|
if (window.parent.viewLevels) {
|
|
const updPosition = document.getElementById('jform_position').value;
|
|
const updTitle = document.getElementById('jform_title').value;
|
|
const updMenus = document.querySelector('#jform_assignment').value;
|
|
const updStatus = document.querySelector('#jform_published').value;
|
|
const updAccess = document.querySelector('#jform_access').value;
|
|
const tmpMenu = window.parent.document.getElementById(`menus-${options.itemId}`);
|
|
const tmpRow = window.parent.document.getElementById(`tr-${options.itemId}`);
|
|
const tmpStatus = window.parent.document.getElementById(`status-${options.itemId}`);
|
|
window.parent.inMenus = [];
|
|
window.parent.numMenus = [].slice.call(document.querySelectorAll('input[name="jform[assigned][]"]')).length;
|
|
[].slice.call(document.querySelectorAll('input[name="jform[assigned][]"]')).forEach(element => {
|
|
if (updMenus > 0) {
|
|
if (element.checked) {
|
|
window.parent.inMenus.push(parseInt(element.value, 10));
|
|
}
|
|
}
|
|
if (updMenus < 0) {
|
|
if (!element.checked) {
|
|
window.parent.inMenus.push(parseInt(element.value, 10));
|
|
}
|
|
}
|
|
});
|
|
if (updMenus === '-') {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`);
|
|
if (!tmpRow.classList.contains('no') || tmpRow.classList.length === 0) {
|
|
tmpRow.classList.add('no');
|
|
}
|
|
}
|
|
if (parseInt(updMenus, 10) === 0) {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`);
|
|
if (tmpRow.classList.contains('no')) {
|
|
tmpRow.classList.remove('no');
|
|
}
|
|
}
|
|
if (parseInt(updMenus, 10) > 0) {
|
|
if (window.parent.inMenus.indexOf(window.parent.menuId) >= 0) {
|
|
if (window.parent.numMenus === window.parent.inMenus.length) {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`);
|
|
if (tmpRow.classList.contains('no') || tmpRow.classList.length === 0) {
|
|
tmpRow.classList.remove('no');
|
|
}
|
|
} else {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`);
|
|
if (tmpRow.classList.contains('no')) {
|
|
tmpRow.classList.remove('no');
|
|
}
|
|
}
|
|
}
|
|
if (window.parent.inMenus.indexOf(window.parent.menuId) < 0) {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`);
|
|
if (!tmpRow.classList.contains('no')) {
|
|
tmpRow.classList.add('no');
|
|
}
|
|
}
|
|
}
|
|
if (parseInt(updMenus, 10) < 0) {
|
|
if (window.parent.inMenus.indexOf(window.parent.menuId) >= 0) {
|
|
if (window.parent.numMenus === window.parent.inMenus.length) {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-info">${Joomla.Text._('JALL')}</span>`);
|
|
if (tmpRow.classList.contains('no')) {
|
|
tmpRow.classList.remove('no');
|
|
}
|
|
} else {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`);
|
|
if (tmpRow.classList.contains('no')) {
|
|
tmpRow.classList.remove('no');
|
|
}
|
|
}
|
|
}
|
|
if (window.parent.inMenus.indexOf(window.parent.menuId) < 0) {
|
|
tmpMenu.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`);
|
|
if (!tmpRow.classList.contains('no') || tmpRow.classList.length === 0) {
|
|
tmpRow.classList.add('no');
|
|
}
|
|
}
|
|
}
|
|
if (parseInt(updStatus, 10) === 1) {
|
|
tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-success">${Joomla.Text._('JYES')}</span>`);
|
|
if (tmpRow.classList.contains('unpublished')) {
|
|
tmpRow.classList.remove('unpublished');
|
|
}
|
|
}
|
|
if (parseInt(updStatus, 10) === 0) {
|
|
tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-danger">${Joomla.Text._('JNO')}</span>`);
|
|
if (!tmpRow.classList.contains('unpublished') || tmpRow.classList.length === 0) {
|
|
tmpRow.classList.add('unpublished');
|
|
}
|
|
}
|
|
if (parseInt(updStatus, 10) === -2) {
|
|
tmpStatus.innerHTML = Joomla.sanitizeHtml(`<span class="badge bg-secondary">${Joomla.Text._('JTRASHED')}</span>`);
|
|
if (!tmpRow.classList.contains('unpublished') || tmpRow.classList.length === 0) {
|
|
tmpRow.classList.add('unpublished');
|
|
}
|
|
}
|
|
if (document.formvalidator.isValid(document.getElementById('module-form'))) {
|
|
window.parent.document.querySelector(`#title-${options.itemId}`).innerText = updTitle;
|
|
window.parent.document.querySelector(`#position-${options.itemId}`).innerText = updPosition;
|
|
window.parent.document.querySelector(`#access-${options.itemId}`).innerHTML = Joomla.sanitizeHtml(window.parent.viewLevels[updAccess]);
|
|
}
|
|
}
|
|
if (task !== 'module.apply') {
|
|
window.parent.Joomla.Modal.getCurrent().close();
|
|
}
|
|
}
|
|
}
|
|
};
|
|
})(Joomla);
|