first commit
This commit is contained in:
23
media/com_menus/css/admin-item-edit_container.css
Normal file
23
media/com_menus/css/admin-item-edit_container.css
Normal file
@ -0,0 +1,23 @@
|
||||
/**
|
||||
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
.checkbox-toggle {
|
||||
display: none !important;
|
||||
}
|
||||
.checkbox-toggle[disabled] ~ .btn-hide {
|
||||
opacity: .5;
|
||||
}
|
||||
.checkbox-toggle ~ .btn-show {
|
||||
display: inline;
|
||||
}
|
||||
.checkbox-toggle ~ .btn-hide {
|
||||
display: none;
|
||||
}
|
||||
.checkbox-toggle:checked ~ .btn-show {
|
||||
display: none;
|
||||
}
|
||||
.checkbox-toggle:checked ~ .btn-hide {
|
||||
display: inline;
|
||||
}
|
||||
1
media/com_menus/css/admin-item-edit_container.min.css
vendored
Normal file
1
media/com_menus/css/admin-item-edit_container.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
.checkbox-toggle{display:none!important}.checkbox-toggle[disabled]~.btn-hide{opacity:.5}.checkbox-toggle~.btn-show{display:inline}.checkbox-toggle:checked~.btn-show,.checkbox-toggle~.btn-hide{display:none}.checkbox-toggle:checked~.btn-hide{display:inline}
|
||||
BIN
media/com_menus/css/admin-item-edit_container.min.css.gz
Normal file
BIN
media/com_menus/css/admin-item-edit_container.min.css.gz
Normal file
Binary file not shown.
103
media/com_menus/joomla.asset.json
Normal file
103
media/com_menus/joomla.asset.json
Normal file
@ -0,0 +1,103 @@
|
||||
{
|
||||
"$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json",
|
||||
"name": "com_menus",
|
||||
"version": "4.0.0",
|
||||
"description": "Joomla CMS",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"assets": [
|
||||
{
|
||||
"name": "com_menus.admin-item-edit",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-item-edit.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"version": "72f0df"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-item-edit-container",
|
||||
"type": "style",
|
||||
"uri": "com_menus/admin-item-edit_container.min.css",
|
||||
"version": "af507d"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-item-edit-container",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-item-edit_container.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"version": "8c5699"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-item-edit-modules",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-item-edit_modules.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"version": "5b766f"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-item-modal",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-item-modal.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"deprecated": true,
|
||||
"deprecatedMsg": "Replaced with [modal-content-select-field] asset. To be removed in Joomla 6.",
|
||||
"version": "f7e9b9"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-menus",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-menus-default.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"version": "e76755"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.batch-body",
|
||||
"type": "script",
|
||||
"uri": "com_menus/default-batch-body.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"version": "95426c"
|
||||
},
|
||||
{
|
||||
"name": "com_menus.admin-items-modal",
|
||||
"type": "script",
|
||||
"uri": "com_menus/admin-items-modal.min.js",
|
||||
"dependencies": [
|
||||
"core"
|
||||
],
|
||||
"attributes": {
|
||||
"type": "module"
|
||||
},
|
||||
"deprecated": true,
|
||||
"deprecatedMsg": "Replaced with [modal-content-select-field] asset. To be removed in Joomla 6.",
|
||||
"version": "1cfd61"
|
||||
}
|
||||
]
|
||||
}
|
||||
103
media/com_menus/js/admin-item-edit.js
Normal file
103
media/com_menus/js/admin-item-edit.js
Normal file
@ -0,0 +1,103 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
if (!window.Joomla) {
|
||||
throw new Error('core.js was not properly initialised');
|
||||
}
|
||||
Joomla.submitbutton = (task, type) => {
|
||||
if (task === 'item.setType' || task === 'item.setMenuType') {
|
||||
if (task === 'item.setType') {
|
||||
const list = [].slice.call(document.querySelectorAll('#item-form input[name="jform[type]"]'));
|
||||
list.forEach(item => {
|
||||
item.value = type;
|
||||
});
|
||||
document.getElementById('fieldtype').value = 'type';
|
||||
} else {
|
||||
const list = [].slice.call(document.querySelectorAll('#item-form input[name="jform[menutype]"]'));
|
||||
list.forEach(item => {
|
||||
item.value = type;
|
||||
});
|
||||
}
|
||||
Joomla.submitform('item.setType', document.getElementById('item-form'));
|
||||
} else if (task === 'item.cancel' || document.formvalidator.isValid(document.getElementById('item-form'))) {
|
||||
Joomla.submitform(task, document.getElementById('item-form'));
|
||||
} else {
|
||||
// special case for modal popups validation response
|
||||
const list = document.querySelectorAll('#item-form .modal-value.invalid');
|
||||
list.forEach(field => {
|
||||
const textInput = field.parentElement.querySelector('.js-input-title, [type="text"]');
|
||||
textInput.classList.add('invalid');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Listen to "joomla:content-select-menutype" message
|
||||
window.addEventListener('message', event => {
|
||||
// Avoid cross origins
|
||||
if (event.origin !== window.location.origin) return;
|
||||
// Check message type
|
||||
if (event.data.messageType === 'joomla:content-select-menutype') {
|
||||
// Set and submit values
|
||||
Joomla.submitbutton('item.setType', event.data.encoded);
|
||||
}
|
||||
});
|
||||
const onChange = ({
|
||||
target
|
||||
}) => {
|
||||
const menuType = target.value;
|
||||
Joomla.request({
|
||||
url: `index.php?option=com_menus&task=item.getParentItem&menutype=${menuType}`,
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
onSuccess(response) {
|
||||
const data = JSON.parse(response);
|
||||
const fancySelect = document.getElementById('jform_parent_id').closest('joomla-field-fancy-select');
|
||||
fancySelect.choicesInstance.clearChoices();
|
||||
fancySelect.choicesInstance.setChoices([{
|
||||
id: '1',
|
||||
text: Joomla.Text._('JGLOBAL_ROOT_PARENT')
|
||||
}], 'id', 'text', false);
|
||||
data.forEach(value => {
|
||||
const option = {};
|
||||
option.innerText = value.title;
|
||||
option.id = value.id;
|
||||
fancySelect.choicesInstance.setChoices([option], 'id', 'innerText', false);
|
||||
});
|
||||
fancySelect.choicesInstance.setChoiceByValue('1');
|
||||
const newEvent = document.createEvent('HTMLEvents');
|
||||
newEvent.initEvent('change', true, false);
|
||||
document.getElementById('jform_parent_id').dispatchEvent(newEvent);
|
||||
},
|
||||
onError: xhr => {
|
||||
Joomla.renderMessages(Joomla.ajaxErrorsMessages(xhr));
|
||||
}
|
||||
});
|
||||
};
|
||||
const element = document.getElementById('jform_menutype');
|
||||
if (element) {
|
||||
element.addEventListener('change', onChange);
|
||||
}
|
||||
|
||||
// Menu type Login Form specific
|
||||
document.getElementById('item-form').addEventListener('submit', () => {
|
||||
if (document.getElementById('jform_params_login_redirect_url') && document.getElementById('jform_params_logout_redirect_url')) {
|
||||
// Login
|
||||
if (!document.getElementById('jform_params_login_redirect_url').closest('.control-group').classList.contains('hidden')) {
|
||||
document.getElementById('jform_params_login_redirect_menuitem_id').value = '';
|
||||
}
|
||||
if (!document.getElementById('jform_params_login_redirect_menuitem_name').closest('.control-group').classList.contains('hidden')) {
|
||||
document.getElementById('jform_params_login_redirect_url').value = '';
|
||||
}
|
||||
|
||||
// Logout
|
||||
if (!document.getElementById('jform_params_logout_redirect_url').closest('.control-group').classList.contains('hidden')) {
|
||||
document.getElementById('jform_params_logout_redirect_menuitem_id').value = '';
|
||||
}
|
||||
if (!document.getElementById('jform_params_logout_redirect_menuitem_id').closest('.control-group').classList.contains('hidden')) {
|
||||
document.getElementById('jform_params_logout_redirect_url').value = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
1
media/com_menus/js/admin-item-edit.min.js
vendored
Normal file
1
media/com_menus/js/admin-item-edit.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
if(!window.Joomla)throw new Error("core.js was not properly initialised");Joomla.submitbutton=(e,t)=>{if("item.setType"===e||"item.setMenuType"===e){if("item.setType"===e){[].slice.call(document.querySelectorAll('#item-form input[name="jform[type]"]')).forEach((e=>{e.value=t})),document.getElementById("fieldtype").value="type"}else{[].slice.call(document.querySelectorAll('#item-form input[name="jform[menutype]"]')).forEach((e=>{e.value=t}))}Joomla.submitform("item.setType",document.getElementById("item-form"))}else if("item.cancel"===e||document.formvalidator.isValid(document.getElementById("item-form")))Joomla.submitform(e,document.getElementById("item-form"));else{document.querySelectorAll("#item-form .modal-value.invalid").forEach((e=>{e.parentElement.querySelector('.js-input-title, [type="text"]').classList.add("invalid")}))}},window.addEventListener("message",(e=>{e.origin===window.location.origin&&"joomla:content-select-menutype"===e.data.messageType&&Joomla.submitbutton("item.setType",e.data.encoded)}));const onChange=({target:e})=>{const t=e.value;Joomla.request({url:`index.php?option=com_menus&task=item.getParentItem&menutype=${t}`,headers:{"Content-Type":"application/json"},onSuccess(e){const t=JSON.parse(e),o=document.getElementById("jform_parent_id").closest("joomla-field-fancy-select");o.choicesInstance.clearChoices(),o.choicesInstance.setChoices([{id:"1",text:Joomla.Text._("JGLOBAL_ROOT_PARENT")}],"id","text",!1),t.forEach((e=>{const t={};t.innerText=e.title,t.id=e.id,o.choicesInstance.setChoices([t],"id","innerText",!1)})),o.choicesInstance.setChoiceByValue("1");const n=document.createEvent("HTMLEvents");n.initEvent("change",!0,!1),document.getElementById("jform_parent_id").dispatchEvent(n)},onError:e=>{Joomla.renderMessages(Joomla.ajaxErrorsMessages(e))}})},element=document.getElementById("jform_menutype");element&&element.addEventListener("change",onChange),document.getElementById("item-form").addEventListener("submit",(()=>{document.getElementById("jform_params_login_redirect_url")&&document.getElementById("jform_params_logout_redirect_url")&&(document.getElementById("jform_params_login_redirect_url").closest(".control-group").classList.contains("hidden")||(document.getElementById("jform_params_login_redirect_menuitem_id").value=""),document.getElementById("jform_params_login_redirect_menuitem_name").closest(".control-group").classList.contains("hidden")||(document.getElementById("jform_params_login_redirect_url").value=""),document.getElementById("jform_params_logout_redirect_url").closest(".control-group").classList.contains("hidden")||(document.getElementById("jform_params_logout_redirect_menuitem_id").value=""),document.getElementById("jform_params_logout_redirect_menuitem_id").closest(".control-group").classList.contains("hidden")||(document.getElementById("jform_params_logout_redirect_url").value=""))}));
|
||||
BIN
media/com_menus/js/admin-item-edit.min.js.gz
Normal file
BIN
media/com_menus/js/admin-item-edit.min.js.gz
Normal file
Binary file not shown.
39
media/com_menus/js/admin-item-edit_container.js
Normal file
39
media/com_menus/js/admin-item-edit_container.js
Normal file
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
(document => {
|
||||
const isChecked = element => element.checked;
|
||||
const getTreeElements = element => element.querySelectorAll('input[type="checkbox"]');
|
||||
const getTreeRoot = element => element.parentElement.nextElementSibling;
|
||||
const check = element => {
|
||||
element.checked = true;
|
||||
};
|
||||
const uncheck = element => {
|
||||
element.checked = false;
|
||||
};
|
||||
const disable = element => element.setAttribute('disabled', 'disabled');
|
||||
const enable = element => element.removeAttribute('disabled');
|
||||
const toggleState = (element, rootChecked) => {
|
||||
if (rootChecked === true) {
|
||||
disable(element);
|
||||
check(element);
|
||||
return;
|
||||
}
|
||||
enable(element);
|
||||
uncheck(element);
|
||||
};
|
||||
const switchState = ({
|
||||
target
|
||||
}) => {
|
||||
const root = getTreeRoot(target);
|
||||
const selfChecked = isChecked(target);
|
||||
if (root) {
|
||||
getTreeElements(root).map(element => toggleState(element, selfChecked));
|
||||
}
|
||||
};
|
||||
[].slice.call(document.querySelectorAll('.treeselect input[type="checkbox"]')).forEach(checkbox => {
|
||||
checkbox.addEventListener('click', switchState);
|
||||
});
|
||||
})(document);
|
||||
1
media/com_menus/js/admin-item-edit_container.min.js
vendored
Normal file
1
media/com_menus/js/admin-item-edit_container.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
(e=>{const t=({target:e})=>{const t=e.parentElement.nextElementSibling;const c=(e=>e.checked)(e);t&&(e=>e.querySelectorAll('input[type="checkbox"]'))(t).map((e=>((e,t)=>{if(!0===t)return(e=>{e.setAttribute("disabled","disabled")})(e),void(e=>{e.checked=!0})(e);(e=>{e.removeAttribute("disabled")})(e),(e=>{e.checked=!1})(e)})(e,c)))};[].slice.call(e.querySelectorAll('.treeselect input[type="checkbox"]')).forEach((e=>{e.addEventListener("click",t)}))})(document);
|
||||
BIN
media/com_menus/js/admin-item-edit_container.min.js.gz
Normal file
BIN
media/com_menus/js/admin-item-edit_container.min.js.gz
Normal file
Binary file not shown.
88
media/com_menus/js/admin-item-edit_modules.js
Normal file
88
media/com_menus/js/admin-item-edit_modules.js
Normal file
@ -0,0 +1,88 @@
|
||||
/**
|
||||
* @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 || {};
|
||||
(() => {
|
||||
|
||||
const options = Joomla.getOptions('menus-edit-modules');
|
||||
if (options) {
|
||||
window.viewLevels = options.viewLevels;
|
||||
window.menuId = parseInt(options.itemId, 10);
|
||||
}
|
||||
const baseLink = 'index.php?option=com_modules&client_id=0&task=module.edit&tmpl=component&view=module&layout=modal&id=';
|
||||
const assigned1 = document.getElementById('jform_toggle_modules_assigned1');
|
||||
const assigned0 = document.getElementById('jform_toggle_modules_assigned0');
|
||||
const published1 = document.getElementById('jform_toggle_modules_published1');
|
||||
const published0 = document.getElementById('jform_toggle_modules_published0');
|
||||
const linkElements = [].slice.call(document.getElementsByClassName('module-edit-link'));
|
||||
const elements = [].slice.call(document.querySelectorAll('#moduleEditModal .modal-footer .btn'));
|
||||
if (assigned1) {
|
||||
assigned1.addEventListener('click', () => {
|
||||
const list = [].slice.call(document.querySelectorAll('tr.no'));
|
||||
list.forEach(item => {
|
||||
item.classList.add('table-row');
|
||||
item.classList.remove('hidden');
|
||||
});
|
||||
});
|
||||
}
|
||||
if (assigned0) {
|
||||
assigned0.addEventListener('click', () => {
|
||||
const list = [].slice.call(document.querySelectorAll('tr.no'));
|
||||
list.forEach(item => {
|
||||
item.classList.add('hidden');
|
||||
item.classList.remove('table-row');
|
||||
});
|
||||
});
|
||||
}
|
||||
if (published1) {
|
||||
published1.addEventListener('click', () => {
|
||||
const list = [].slice.call(document.querySelectorAll('.table tr.unpublished'));
|
||||
list.forEach(item => {
|
||||
item.classList.add('table-row');
|
||||
item.classList.remove('hidden');
|
||||
});
|
||||
});
|
||||
}
|
||||
if (published0) {
|
||||
published0.addEventListener('click', () => {
|
||||
const list = [].slice.call(document.querySelectorAll('.table tr.unpublished'));
|
||||
list.forEach(item => {
|
||||
item.classList.add('hidden');
|
||||
item.classList.remove('table-row');
|
||||
});
|
||||
});
|
||||
}
|
||||
if (linkElements.length) {
|
||||
linkElements.forEach(linkElement => {
|
||||
linkElement.addEventListener('click', ({
|
||||
target
|
||||
}) => {
|
||||
const link = baseLink + target.getAttribute('data-module-id');
|
||||
const modal = document.getElementById('moduleEditModal');
|
||||
const body = modal.querySelector('.modal-body');
|
||||
const iFrame = document.createElement('iframe');
|
||||
iFrame.src = link;
|
||||
iFrame.setAttribute('class', 'class="iframe jviewport-height70"');
|
||||
body.innerHTML = '';
|
||||
body.appendChild(iFrame);
|
||||
modal.open();
|
||||
});
|
||||
});
|
||||
}
|
||||
if (elements.length) {
|
||||
elements.forEach(element => {
|
||||
element.addEventListener('click', ({
|
||||
target
|
||||
}) => {
|
||||
const dataTarget = target.getAttribute('data-bs-target');
|
||||
if (dataTarget) {
|
||||
const iframe = document.querySelector('#moduleEditModal iframe');
|
||||
const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
|
||||
iframeDocument.querySelector(dataTarget).click();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
})();
|
||||
1
media/com_menus/js/admin-item-edit_modules.min.js
vendored
Normal file
1
media/com_menus/js/admin-item-edit_modules.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
Joomla=window.Joomla||{},(()=>{const e=Joomla.getOptions("menus-edit-modules");e&&(window.viewLevels=e.viewLevels,window.menuId=parseInt(e.itemId,10));const t=document.getElementById("jform_toggle_modules_assigned1"),l=document.getElementById("jform_toggle_modules_assigned0"),o=document.getElementById("jform_toggle_modules_published1"),d=document.getElementById("jform_toggle_modules_published0"),c=[].slice.call(document.getElementsByClassName("module-edit-link")),n=[].slice.call(document.querySelectorAll("#moduleEditModal .modal-footer .btn"));t&&t.addEventListener("click",(()=>{[].slice.call(document.querySelectorAll("tr.no")).forEach((e=>{e.classList.add("table-row"),e.classList.remove("hidden")}))})),l&&l.addEventListener("click",(()=>{[].slice.call(document.querySelectorAll("tr.no")).forEach((e=>{e.classList.add("hidden"),e.classList.remove("table-row")}))})),o&&o.addEventListener("click",(()=>{[].slice.call(document.querySelectorAll(".table tr.unpublished")).forEach((e=>{e.classList.add("table-row"),e.classList.remove("hidden")}))})),d&&d.addEventListener("click",(()=>{[].slice.call(document.querySelectorAll(".table tr.unpublished")).forEach((e=>{e.classList.add("hidden"),e.classList.remove("table-row")}))})),c.length&&c.forEach((e=>{e.addEventListener("click",(({target:e})=>{const t="index.php?option=com_modules&client_id=0&task=module.edit&tmpl=component&view=module&layout=modal&id="+e.getAttribute("data-module-id"),l=document.getElementById("moduleEditModal"),o=l.querySelector(".modal-body"),d=document.createElement("iframe");d.src=t,d.setAttribute("class",'class="iframe jviewport-height70"'),o.innerHTML="",o.appendChild(d),l.open()}))})),n.length&&n.forEach((e=>{e.addEventListener("click",(({target:e})=>{const t=e.getAttribute("data-bs-target");if(t){const e=document.querySelector("#moduleEditModal iframe");(e.contentDocument||e.contentWindow.document).querySelector(t).click()}}))}))})();
|
||||
BIN
media/com_menus/js/admin-item-edit_modules.min.js.gz
Normal file
BIN
media/com_menus/js/admin-item-edit_modules.min.js.gz
Normal file
Binary file not shown.
17
media/com_menus/js/admin-item-modal.js
Normal file
17
media/com_menus/js/admin-item-modal.js
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
window.Joomla = window.Joomla || {};
|
||||
Joomla.setMenuType = (type, tmpl) => {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn('Method Joomla.setMenuType() is deprecated. Use "modal-content-select" asset and elements with [data-content-select] attribute.');
|
||||
if (tmpl !== '') {
|
||||
window.parent.Joomla.submitbutton('item.setType', type);
|
||||
if (window.parent.Joomla.Modal && window.parent.Joomla.Modal.getCurrent()) {
|
||||
window.parent.Joomla.Modal.getCurrent().close();
|
||||
}
|
||||
} else {
|
||||
window.location = `index.php?option=com_menus&view=item&task=item.setType&layout=edit&type=${type}`;
|
||||
}
|
||||
};
|
||||
1
media/com_menus/js/admin-item-modal.min.js
vendored
Normal file
1
media/com_menus/js/admin-item-modal.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
window.Joomla=window.Joomla||{},Joomla.setMenuType=(e,o)=>{console.warn('Method Joomla.setMenuType() is deprecated. Use "modal-content-select" asset and elements with [data-content-select] attribute.'),""!==o?(window.parent.Joomla.submitbutton("item.setType",e),window.parent.Joomla.Modal&&window.parent.Joomla.Modal.getCurrent()&&window.parent.Joomla.Modal.getCurrent().close()):window.location=`index.php?option=com_menus&view=item&task=item.setType&layout=edit&type=${e}`};
|
||||
BIN
media/com_menus/js/admin-item-modal.min.js.gz
Normal file
BIN
media/com_menus/js/admin-item-modal.min.js.gz
Normal file
Binary file not shown.
63
media/com_menus/js/admin-items-modal.js
Normal file
63
media/com_menus/js/admin-items-modal.js
Normal file
@ -0,0 +1,63 @@
|
||||
/**
|
||||
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
((Joomla, document) => {
|
||||
|
||||
/**
|
||||
* Javascript to insert the link
|
||||
* View element calls jSelectContact when a contact is clicked
|
||||
* jSelectContact creates the link tag, sends it to the editor,
|
||||
* and closes the select frame.
|
||||
*/
|
||||
window.jSelectMenuItem = (id, title, uri, object, link, lang) => {
|
||||
// eslint-disable-next-line no-console
|
||||
console.warn('Method jSelectMenuItem() is deprecated. Use postMessage() instead.');
|
||||
let thislang = '';
|
||||
if (!Joomla.getOptions('xtd-menus')) {
|
||||
// Something went wrong!
|
||||
return;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
const editor = Joomla.getOptions('xtd-menus').editor;
|
||||
if (lang !== '') {
|
||||
thislang = '&lang=';
|
||||
}
|
||||
const tag = `<a href="${uri + thislang + lang}">${title}</a>`;
|
||||
|
||||
// Insert the link in the editor
|
||||
if (window.parent.Joomla.editors.instances[editor].getSelection()) {
|
||||
window.parent.Joomla.editors.instances[editor].replaceSelection(`<a href="${uri + thislang + lang}">${window.parent.Joomla.editors.instances[editor].getSelection()}</a>`);
|
||||
} else {
|
||||
window.parent.Joomla.editors.instances[editor].replaceSelection(tag);
|
||||
}
|
||||
|
||||
// Close the modal
|
||||
if (window.parent.Joomla.Modal && window.parent.Joomla.Modal.getCurrent()) {
|
||||
window.parent.Joomla.Modal.getCurrent().close();
|
||||
}
|
||||
};
|
||||
|
||||
// Get the elements
|
||||
const elements = [].slice.call(document.querySelectorAll('.select-link'));
|
||||
elements.forEach(element => {
|
||||
// Listen for click event
|
||||
element.addEventListener('click', event => {
|
||||
event.preventDefault();
|
||||
const functionName = event.target.getAttribute('data-function');
|
||||
if (functionName === 'jSelectMenuItem' && window[functionName]) {
|
||||
// Used in xtd_contacts
|
||||
window[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), event.target.getAttribute('data-uri'), null, null, event.target.getAttribute('data-language'));
|
||||
} else if (window.parent[functionName]) {
|
||||
// Used in com_menus
|
||||
window.parent[functionName](event.target.getAttribute('data-id'), event.target.getAttribute('data-title'), null, null, event.target.getAttribute('data-uri'), event.target.getAttribute('data-language'), null);
|
||||
}
|
||||
|
||||
// Close the modal
|
||||
if (window.parent.Joomla.Modal && window.parent.Joomla.Modal.getCurrent()) {
|
||||
window.parent.Joomla.Modal.getCurrent().close();
|
||||
}
|
||||
});
|
||||
});
|
||||
})(Joomla, document);
|
||||
1
media/com_menus/js/admin-items-modal.min.js
vendored
Normal file
1
media/com_menus/js/admin-items-modal.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
((t,e)=>{window.jSelectMenuItem=(e,a,n,o,r,l)=>{console.warn("Method jSelectMenuItem() is deprecated. Use postMessage() instead.");let i="";if(!t.getOptions("xtd-menus"))return;const d=t.getOptions("xtd-menus").editor;""!==l&&(i="&lang=");const g=`<a href="${n+i+l}">${a}</a>`;window.parent.Joomla.editors.instances[d].getSelection()?window.parent.Joomla.editors.instances[d].replaceSelection(`<a href="${n+i+l}">${window.parent.Joomla.editors.instances[d].getSelection()}</a>`):window.parent.Joomla.editors.instances[d].replaceSelection(g),window.parent.Joomla.Modal&&window.parent.Joomla.Modal.getCurrent()&&window.parent.Joomla.Modal.getCurrent().close()};[].slice.call(e.querySelectorAll(".select-link")).forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault();const e=t.target.getAttribute("data-function");"jSelectMenuItem"===e&&window[e]?window[e](t.target.getAttribute("data-id"),t.target.getAttribute("data-title"),t.target.getAttribute("data-uri"),null,null,t.target.getAttribute("data-language")):window.parent[e]&&window.parent[e](t.target.getAttribute("data-id"),t.target.getAttribute("data-title"),null,null,t.target.getAttribute("data-uri"),t.target.getAttribute("data-language"),null),window.parent.Joomla.Modal&&window.parent.Joomla.Modal.getCurrent()&&window.parent.Joomla.Modal.getCurrent().close()}))}))})(Joomla,document);
|
||||
BIN
media/com_menus/js/admin-items-modal.min.js.gz
Normal file
BIN
media/com_menus/js/admin-items-modal.min.js.gz
Normal file
Binary file not shown.
33
media/com_menus/js/admin-menus-default.js
Normal file
33
media/com_menus/js/admin-menus-default.js
Normal file
@ -0,0 +1,33 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
(Joomla => {
|
||||
|
||||
if (Joomla.getOptions('menus-default')) {
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
const items = Joomla.getOptions('menus-default').items;
|
||||
items.forEach(item => {
|
||||
window[`jSelectPosition_${item}`] = name => {
|
||||
document.getElementById(item).value = name;
|
||||
Joomla.Modal.getCurrent().close();
|
||||
};
|
||||
});
|
||||
}
|
||||
Array.from(document.querySelectorAll('.modal')).forEach(modalEl => {
|
||||
modalEl.addEventListener('hidden.bs.modal', () => {
|
||||
setTimeout(() => {
|
||||
window.parent.location.reload();
|
||||
}, 1000);
|
||||
});
|
||||
});
|
||||
})(Joomla);
|
||||
(originalFn => {
|
||||
|
||||
Joomla.submitform = (task, form) => {
|
||||
originalFn(task, form);
|
||||
if (task === 'menu.exportXml') {
|
||||
document.adminForm.task.value = '';
|
||||
}
|
||||
};
|
||||
})(Joomla.submitform);
|
||||
1
media/com_menus/js/admin-menus-default.min.js
vendored
Normal file
1
media/com_menus/js/admin-menus-default.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
(e=>{if(e.getOptions("menus-default")){e.getOptions("menus-default").items.forEach((o=>{window[`jSelectPosition_${o}`]=t=>{document.getElementById(o).value=t,e.Modal.getCurrent().close()}}))}Array.from(document.querySelectorAll(".modal")).forEach((e=>{e.addEventListener("hidden.bs.modal",(()=>{setTimeout((()=>{window.parent.location.reload()}),1e3)}))}))})(Joomla),(e=>{Joomla.submitform=(o,t)=>{e(o,t),"menu.exportXml"===o&&(document.adminForm.task.value="")}})(Joomla.submitform);
|
||||
BIN
media/com_menus/js/admin-menus-default.min.js.gz
Normal file
BIN
media/com_menus/js/admin-menus-default.min.js.gz
Normal file
Binary file not shown.
22
media/com_menus/js/default-batch-body.js
Normal file
22
media/com_menus/js/default-batch-body.js
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
(document => {
|
||||
const batchMenu = document.getElementById('batch-menu-id');
|
||||
const batchCopyMove = document.getElementById('batch-copy-move');
|
||||
let batchSelector;
|
||||
const onChange = () => {
|
||||
if (batchSelector.value !== 0 || batchSelector.value !== '') {
|
||||
batchCopyMove.classList.remove('hidden');
|
||||
} else {
|
||||
batchCopyMove.classList.add('hidden');
|
||||
}
|
||||
};
|
||||
if (batchMenu) {
|
||||
batchSelector = batchMenu;
|
||||
}
|
||||
if (batchCopyMove) {
|
||||
batchSelector.addEventListener('change', onChange);
|
||||
}
|
||||
})(document);
|
||||
1
media/com_menus/js/default-batch-body.min.js
vendored
Normal file
1
media/com_menus/js/default-batch-body.min.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
(e=>{const t=e.getElementById("batch-menu-id"),d=e.getElementById("batch-copy-move");let n;const a=()=>{0!==n.value||""!==n.value?d.classList.remove("hidden"):d.classList.add("hidden")};t&&(n=t),d&&n.addEventListener("change",a)})(document);
|
||||
BIN
media/com_menus/js/default-batch-body.min.js.gz
Normal file
BIN
media/com_menus/js/default-batch-body.min.js.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user