[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/com_templates/js/ -> admin-templates-default-es5.js (source)

   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  })();


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer