80 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.0 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
 | |
|  */
 | |
| (() => {
 | |
| 
 | |
|   const showDiffChangedOff = () => {
 | |
|     const diffMain = document.getElementById('diff-main');
 | |
|     if (diffMain) {
 | |
|       diffMain.classList.remove('active');
 | |
|       if (typeof Storage !== 'undefined') {
 | |
|         localStorage.removeItem('diffSwitchState');
 | |
|       }
 | |
|     }
 | |
|   };
 | |
|   const showDiffChangedOn = () => {
 | |
|     const diffMain = document.getElementById('diff-main');
 | |
|     if (diffMain) {
 | |
|       diffMain.classList.add('active');
 | |
|       if (typeof Storage !== 'undefined') {
 | |
|         localStorage.setItem('diffSwitchState', 'checked');
 | |
|       }
 | |
|     }
 | |
|   };
 | |
|   const showCoreChangedOff = () => {
 | |
|     const override = document.getElementById('override-pane');
 | |
|     const corePane = document.getElementById('core-pane');
 | |
|     const fieldset = override.parentElement.parentElement;
 | |
|     if (corePane && override) {
 | |
|       corePane.classList.remove('active');
 | |
|       if (fieldset.classList.contains('options-grid-form-half')) {
 | |
|         fieldset.classList.remove('options-grid-form-half');
 | |
|         fieldset.classList.add('options-grid-form-full');
 | |
|       }
 | |
|       if (typeof Storage !== 'undefined') {
 | |
|         localStorage.removeItem('coreSwitchState');
 | |
|       }
 | |
|     }
 | |
|   };
 | |
|   const showCoreChangedOn = () => {
 | |
|     const override = document.getElementById('override-pane');
 | |
|     const corePane = document.getElementById('core-pane');
 | |
|     const fieldset = override.parentElement.parentElement;
 | |
|     if (corePane && override) {
 | |
|       corePane.classList.add('active');
 | |
|       if (fieldset.classList.contains('options-grid-form-full')) {
 | |
|         fieldset.classList.remove('options-grid-form-full');
 | |
|         fieldset.classList.add('options-grid-form-half');
 | |
|       }
 | |
|       if (typeof Storage !== 'undefined') {
 | |
|         localStorage.setItem('coreSwitchState', 'checked');
 | |
|       }
 | |
|     }
 | |
|   };
 | |
|   document.addEventListener('DOMContentLoaded', () => {
 | |
|     const JformShowDiffOn = document.getElementById('jform_show_diff1');
 | |
|     const JformShowDiffOff = document.getElementById('jform_show_diff0');
 | |
|     const JformShowCoreOn = document.getElementById('jform_show_core1');
 | |
|     const JformShowCoreOff = document.getElementById('jform_show_core0');
 | |
|     if (JformShowDiffOn && JformShowDiffOff) {
 | |
|       JformShowDiffOn.addEventListener('click', showDiffChangedOn);
 | |
|       JformShowDiffOff.addEventListener('click', showDiffChangedOff);
 | |
|     }
 | |
|     if (JformShowCoreOn && JformShowCoreOff) {
 | |
|       JformShowCoreOn.addEventListener('click', showCoreChangedOn);
 | |
|       JformShowCoreOff.addEventListener('click', showCoreChangedOff);
 | |
|     }
 | |
|     if (typeof Storage !== 'undefined' && localStorage.getItem('coreSwitchState') && JformShowCoreOn) {
 | |
|       JformShowCoreOn.checked = true;
 | |
|       JformShowCoreOff.checked = false;
 | |
|       showCoreChangedOn();
 | |
|     }
 | |
|     if (typeof Storage !== 'undefined' && localStorage.getItem('diffSwitchState') && JformShowDiffOn) {
 | |
|       JformShowDiffOn.checked = true;
 | |
|       JformShowDiffOff.checked = false;
 | |
|       showDiffChangedOn();
 | |
|     }
 | |
|   });
 | |
| })();
 |