[ 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 () { 9 document.addEventListener('DOMContentLoaded', function () { 10 var folders = [].concat(document.querySelectorAll('.folder-url, .component-folder-url, .plugin-folder-url, .layout-folder-url')); 11 var innerLists = [].concat(document.querySelectorAll('.folder ul, .component-folder ul, .plugin-folder ul, .layout-folder ul')); 12 var openLists = [].concat(document.querySelectorAll('.show > ul')); 13 var fileModalFolders = [].concat(document.querySelectorAll('#fileModal .folder-url')); 14 var folderModalFolders = [].concat(document.querySelectorAll('#folderModal .folder-url')); // Hide all the folders when the page loads 15 16 innerLists.forEach(function (innerList) { 17 innerList.classList.add('hidden'); 18 }); // Show all the lists in the path of an open file 19 20 openLists.forEach(function (openList) { 21 openList.classList.remove('hidden'); 22 }); // Stop the default action of anchor tag on a click event and release the inner list 23 24 folders.forEach(function (folder) { 25 folder.addEventListener('click', function (event) { 26 event.preventDefault(); 27 var list = event.currentTarget.parentNode.querySelector('ul'); 28 29 if (!list) { 30 return; 31 } 32 33 if (!list.classList.contains('hidden')) { 34 list.classList.add('hidden'); 35 } else { 36 list.classList.remove('hidden'); 37 } 38 }); 39 }); // File modal tree selector 40 41 fileModalFolders.forEach(function (fileModalFolder) { 42 fileModalFolder.addEventListener('click', function (event) { 43 event.preventDefault(); 44 fileModalFolders.forEach(function (fileModalFold) { 45 fileModalFold.classList.remove('selected'); 46 }); 47 event.currentTarget.classList.add('selected'); 48 var ismedia = event.currentTarget.dataset.base === 'media' ? 1 : 0; 49 [].concat(document.querySelectorAll('#fileModal input.address')).forEach(function (element) { 50 element.value = event.currentTarget.getAttribute('data-id'); 51 }); 52 [].concat(document.querySelectorAll('#fileModal input[name="isMedia"]')).forEach(function (el) { 53 el.value = ismedia; 54 }); 55 }); 56 }); // Folder modal tree selector 57 58 folderModalFolders.forEach(function (folderModalFolder) { 59 folderModalFolder.addEventListener('click', function (event) { 60 event.preventDefault(); 61 folderModalFolders.forEach(function (folderModalFldr) { 62 folderModalFldr.classList.remove('selected'); 63 }); 64 event.currentTarget.classList.add('selected'); 65 var ismedia = event.currentTarget.dataset.base === 'media' ? 1 : 0; 66 [].concat(document.querySelectorAll('#folderModal input.address')).forEach(function (element) { 67 element.value = event.currentTarget.getAttribute('data-id'); 68 }); 69 [].concat(document.querySelectorAll('#folderModal input[name="isMedia"]')).forEach(function (el) { 70 el.value = ismedia; 71 }); 72 }); 73 }); 74 var treeContainer = document.querySelector('#treeholder .treeselect'); 75 var listEls = [].concat(treeContainer.querySelectorAll('.folder.show')); 76 var filePathEl = document.querySelector('p.lead.hidden.path'); 77 78 if (filePathEl) { 79 var filePathTmp = document.querySelector('p.lead.hidden.path').innerText; 80 81 if (filePathTmp && filePathTmp.charAt(0) === '/') { 82 filePathTmp = filePathTmp.slice(1); 83 filePathTmp = filePathTmp.split('/'); 84 filePathTmp = filePathTmp[filePathTmp.length - 1]; 85 listEls.forEach(function (element, index) { 86 element.querySelector('a').classList.add('active'); 87 88 if (index === listEls.length - 1) { 89 var parentUl = element.querySelector('ul'); 90 [].concat(parentUl.querySelectorAll('li')).forEach(function (liElement) { 91 var aEl = liElement.querySelector('a'); 92 var spanEl = aEl.querySelector('span'); 93 94 if (spanEl && spanEl.innerText.trim()) { 95 aEl.classList.add('active'); 96 } 97 }); 98 } 99 }); 100 } 101 } // Image cropper 102 103 104 var image = document.getElementById('image-crop'); 105 106 if (image) { 107 var width = document.getElementById('imageWidth').value; 108 var height = document.getElementById('imageHeight').value; // eslint-disable-next-line no-new 109 110 new window.Cropper(image, { 111 viewMode: 1, 112 scalable: true, 113 zoomable: false, 114 movable: false, 115 dragMode: 'crop', 116 cropBoxMovable: true, 117 cropBoxResizable: true, 118 autoCrop: true, 119 autoCropArea: 1, 120 background: true, 121 center: true, 122 minCanvasWidth: width, 123 minCanvasHeight: height 124 }); 125 image.addEventListener('crop', function (e) { 126 document.getElementById('x').value = e.detail.x; 127 document.getElementById('y').value = e.detail.y; 128 document.getElementById('w').value = e.detail.width; 129 document.getElementById('h').value = e.detail.height; 130 }); 131 } 132 }); 133 })(); 134 135 })();
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 |