403Webshell
Server IP : 104.21.80.248  /  Your IP : 172.71.28.156
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Inetpub/www/myschool/triamudom/tuprblearn/lib/amd/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Inetpub/www/myschool/triamudom/tuprblearn/lib/amd/src//drawer.js
// 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/>.

/**
 * Controls the drawer.
 *
 * @module     core/drawer
 * @copyright  2019 Jun Pataleta <[email protected]>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
import $ from 'jquery';
import * as PubSub from 'core/pubsub';
import DrawerEvents from 'core/drawer_events';

/**
 * Show the drawer.
 *
 * @param {Object} root The drawer container.
 */
const show = (root) => {
    root.removeClass('hidden');
    root.attr('aria-expanded', true);
    root.removeAttr('aria-hidden');
    root.focus();

    PubSub.publish(DrawerEvents.DRAWER_SHOWN, root);
};

/**
 * Hide the drawer.
 *
 * @param {Object} root The drawer container.
 */
const hide = (root) => {
    root.addClass('hidden');
    root.attr('aria-expanded', false);
    root.attr('aria-hidden', true);
    PubSub.publish(DrawerEvents.DRAWER_HIDDEN, root);
};

/**
 * Check if the drawer is visible.
 *
 * @param {Object} root The drawer container.
 * @return {boolean}
 */
const isVisible = (root) => {
    let isHidden = root.hasClass('hidden');
    return !isHidden;
};

/**
 * Toggle the drawer visibility.
 *
 * @param {Object} root The drawer container.
 */
const toggle = (root) => {
    if (isVisible(root)) {
        hide(root);
    } else {
        show(root);
    }
};

/**
 * Add event listeners to toggle the drawer.
 *
 * @param {Object} root The drawer container.
 * @param {Object} toggleElements The toggle elements.
 */
const registerToggles = (root, toggleElements) => {
    let openTrigger = null;
    toggleElements.attr('aria-expanded', isVisible(root));

    toggleElements.on('click', (e) => {
        e.preventDefault();
        const wasVisible = isVisible(root);
        toggle(root);
        toggleElements.attr('aria-expanded', !wasVisible);

        if (!wasVisible) {
            // Remember which trigger element opened the drawer.
            openTrigger = toggleElements.filter((index, element) => {
                return element == e.target || element.contains(e.target);
            });
        } else if (openTrigger) {
            // The drawer has gone from open to close so we need to set the focus back
            // to the element that openend it.
            openTrigger.focus();
            openTrigger = null;
        }
    });
};

/**
 * Find the root element of the drawer based on the using the drawer content root's ID.
 *
 * @param {Object} contentRoot The drawer content's root element.
 * @returns {*|jQuery}
 */
const getDrawerRoot = (contentRoot) => {
    contentRoot = $(contentRoot);
    return contentRoot.closest('[data-region="right-hand-drawer"]');
};

export default {
    hide: hide,
    show: show,
    isVisible: isVisible,
    toggle: toggle,
    registerToggles: registerToggles,
    getDrawerRoot: getDrawerRoot
};

Youez - 2016 - github.com/yon3zu
LinuXploit