[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 (function () { 2 'use strict'; 3 4 /** 5 * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> 6 * @license GNU General Public License version 2 or later; see LICENSE.txt 7 */ 8 (function (Joomla) { 9 Joomla.submitbutton = function (task, type) { 10 if (task === 'item.setType' || task === 'item.setMenuType') { 11 if (task === 'item.setType') { 12 var list = [].slice.call(document.querySelectorAll('#item-form input[name="jform[type]"]')); 13 list.forEach(function (item) { 14 item.value = type; 15 }); 16 document.getElementById('fieldtype').value = 'type'; 17 } else { 18 var _list = [].slice.call(document.querySelectorAll('#item-form input[name="jform[menutype]"]')); 19 20 _list.forEach(function (item) { 21 item.value = type; 22 }); 23 } 24 25 Joomla.submitform('item.setType', document.getElementById('item-form')); 26 } else if (task === 'item.cancel' || document.formvalidator.isValid(document.getElementById('item-form'))) { 27 Joomla.submitform(task, document.getElementById('item-form')); 28 } else { 29 // special case for modal popups validation response 30 var _list2 = [].slice.call(document.querySelectorAll('#item-form .modal-value.invalid')); 31 32 _list2.forEach(function (field) { 33 var idReversed = field.getAttribute('id').split('').reverse().join(''); 34 var separatorLocation = idReversed.indexOf('_'); 35 var nameId = idReversed.substr(separatorLocation).split('').reverse().join('') + "name"; 36 document.getElementById(nameId).classList.add('invalid'); 37 }); 38 } 39 }; 40 41 var onChange = function onChange(_ref) { 42 var target = _ref.target; 43 var menuType = target.value; 44 Joomla.request({ 45 url: "index.php?option=com_menus&task=item.getParentItem&menutype=" + menuType, 46 headers: { 47 'Content-Type': 'application/json' 48 }, 49 onSuccess: function onSuccess(response) { 50 var data = JSON.parse(response); 51 var list = [].slice.call(document.querySelectorAll('#jform_parent_id option')); 52 list.forEach(function (item) { 53 if (item.value !== '1') { 54 item.parentNode.removeChild(item); 55 } 56 }); 57 data.forEach(function (value) { 58 var option = document.createElement('option'); 59 option.innerText = value.title; 60 option.id = value.id; 61 document.getElementById('jform_parent_id').appendChild(option); 62 }); 63 var newEvent = document.createEvent('HTMLEvents'); 64 newEvent.initEvent('change', true, false); 65 document.getElementById('jform_parent_id').dispatchEvent(newEvent); 66 }, 67 onError: function onError(xhr) { 68 Joomla.renderMessages(Joomla.ajaxErrorsMessages(xhr)); 69 } 70 }); 71 }; 72 73 if (!Joomla || typeof Joomla.request !== 'function') { 74 throw new Error('core.js was not properly initialised'); 75 } 76 77 var element = document.getElementById('jform_menutype'); 78 79 if (element) { 80 element.addEventListener('change', onChange); 81 } // Menu type Login Form specific 82 83 84 document.getElementById('item-form').addEventListener('submit', function () { 85 if (document.getElementById('jform_params_login_redirect_url') && document.getElementById('jform_params_logout_redirect_url')) { 86 // Login 87 if (!document.getElementById('jform_params_login_redirect_url').closest('.control-group').classList.contains('hidden')) { 88 document.getElementById('jform_params_login_redirect_menuitem_id').value = ''; 89 } 90 91 if (!document.getElementById('jform_params_login_redirect_menuitem_name').closest('.control-group').classList.contains('hidden')) { 92 document.getElementById('jform_params_login_redirect_url').value = ''; 93 } // Logout 94 95 96 if (!document.getElementById('jform_params_logout_redirect_url').closest('.control-group').classList.contains('hidden')) { 97 document.getElementById('jform_params_logout_redirect_menuitem_id').value = ''; 98 } 99 100 if (!document.getElementById('jform_params_logout_redirect_menuitem_id').closest('.control-group').classList.contains('hidden')) { 101 document.getElementById('jform_params_logout_redirect_url').value = ''; 102 } 103 } 104 }); 105 })(Joomla); 106 107 })();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |