Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 20... Línea 20...
20
 * @copyright  2021 Moodle
20
 * @copyright  2021 Moodle
21
 * @author     Bas Brands <bas@moodle.com>
21
 * @author     Bas Brands <bas@moodle.com>
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
23
 */
Línea 24... Línea -...
24
 
-
 
25
import $ from 'jquery';
24
 
26
import menu_navigation from "core/menu_navigation";
25
import menu_navigation from "core/menu_navigation";
27
/**
26
/**
28
 * Moremenu selectors.
27
 * Moremenu selectors.
29
 */
28
 */
Línea 41... Línea 40...
41
        navlink: 'nav-link',
40
        navlink: 'nav-link',
42
        observed: 'observed',
41
        observed: 'observed',
43
    },
42
    },
44
    attributes: {
43
    attributes: {
45
        menu: '[role="menu"]',
44
        menu: '[role="menu"]',
46
        dropdowntoggle: '[data-toggle="dropdown"]'
45
        dropdowntoggle: '[data-bs-toggle="dropdown"]'
47
    }
46
    }
48
};
47
};
Línea 49... Línea 48...
49
 
48
 
Línea 235... Línea 234...
235
    window.addEventListener('resize', () => {
234
    window.addEventListener('resize', () => {
236
        autoCollapse(menu);
235
        autoCollapse(menu);
237
        menu_navigation(menu);
236
        menu_navigation(menu);
238
    });
237
    });
Línea 239... Línea 238...
239
 
238
 
240
    const toggledropdown = e => {
-
 
241
        const innerMenu = e.target.parentNode.querySelector(Selectors.attributes.menu);
-
 
242
        if (innerMenu) {
-
 
243
            innerMenu.classList.toggle('show');
-
 
244
        }
-
 
245
        e.stopPropagation();
-
 
Línea 246... Línea 239...
246
    };
239
    const toggledropdown = e => e.stopPropagation();
247
 
-
 
248
    // If there are dropdowns in the MoreMenu, add a new
-
 
249
    // event listener to show the contents on click and prevent the
240
 
250
    // moreMenu from closing.
241
    // If there are dropdowns in the "More" menu, add an event listener on click to prevent the menu from closing.
251
    $('.' + Selectors.classes.dropdownmoremenu).on('show.bs.dropdown', function() {
242
    document.querySelector('.' + Selectors.classes.dropdownmoremenu).addEventListener('show.bs.dropdown', () => {
252
        const moreDropdown = menu.querySelector(Selectors.regions.moredropdown);
243
        const moreDropdown = menu.querySelector(Selectors.regions.moredropdown);
253
        moreDropdown.querySelectorAll('.dropdown').forEach((dropdown) => {
244
        moreDropdown.querySelectorAll('.dropdown').forEach((dropdown) => {
254
            dropdown.removeEventListener('click', toggledropdown, true);
245
            dropdown.removeEventListener('click', toggledropdown, true);