[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.217.146.30: ~ $
/**
 * Menuar for Elementor
 * Customizable menu for Elementor editor
 * Exclusively on https://1.envato.market/menuar-elementor
 *
 * @encoding        UTF-8
 * @version         1.0.0
 * @copyright       (C) 2018 - 2021 Merkulove ( https://merkulov.design/ ). All rights reserved.
 * @license         Envato License https://1.envato.market/KYbje
 * @contributors    Nemirovskiy Vitaliy (nemirovskiyvitaliy@gmail.com), Dmitry Merkulov (dmitry@merkulov.design), Cherviakov Vlad (vladchervjakov@gmail.com)
 * @support         help@merkulov.design
 **/

"use strict";

/**
 * Mdp menuar main object
 * @type {{menu: menuarElementor.menu, addMenu: menuarElementor.addMenu}}
 */
const menuarElementor = {

    /**
    * Main logic menu method
    * @param wrapperName
    * */
    menu: function ( wrapperName ) {
        const menuWrapper = document.querySelector( `.${wrapperName} .mdp-menuar-elementor-menu-wrapper` );
        const menuarNav = document.querySelector( `.${wrapperName} .mdp-menuar-elementor-nav` );
        const dropdownLinks = document.querySelectorAll( `.${wrapperName} .mdp-menuar-elementor-main-menu--dropdown-link` );
        const submenuIndicator = document.querySelectorAll( `.${wrapperName} .mdp-menuar-submenu-indicator` );
        const menuItems = document.querySelectorAll( `.${wrapperName} .mdp-menuar-elementor-main-menu > .mdp-menuar-elementor-main-menu--item` );
        const submenuItems = document.querySelectorAll( `.${wrapperName} .mdp-menuar-elementor-main-menu--dropdown > .mdp-menuar-elementor-main-menu--item` );
        const mediaSize = menuarNav.dataset.breakpoint;
        const clickArea = menuarNav.dataset.clickArea;

        // reset active items on mouse enter
        function resetActiveItems() {
            const activeItems = menuWrapper.querySelectorAll( `.${wrapperName} .mdp-menuar-elementor-main-menu > .mdp-elementor-main-menu--hover` );
            const activeSubmenuItems = menuWrapper.querySelectorAll( '.mdp-menuar-elementor-main-menu--dropdown > .mdp-elementor-main-menu--hover' );

            activeItems.forEach( item => {
                item.classList.remove( 'mdp-elementor-main-menu--hover' );
            } );

            activeSubmenuItems.forEach( item => {
                item.classList.remove( 'mdp-elementor-main-menu--hover' );
            } );
        }

        let listenerMouseEnter = function ( e ) {
            resetActiveItems();
            e.target.classList.add( 'mdp-elementor-main-menu--hover' );
        }

        let listenerSubmenuMouseEnter = function ( e ) {
            if ( e.relatedTarget.classList.contains( 'mdp-menuar-elementor-main-menu--dropdown' ) ) {
                e.relatedTarget.querySelectorAll( '.mdp-elementor-main-menu--hover' ).forEach( item => {
                    item.classList.remove( 'mdp-elementor-main-menu--hover' );
                } );
            }

            e.target.classList.add( 'mdp-elementor-main-menu--hover' );

            e.target.addEventListener( 'mouseleave', ( e ) => {
                if ( e.relatedTarget !== null ) {
                    if ( e.relatedTarget.classList.contains( 'mdp-menuar-elementor-main-menu--item' )
                        ||  e.relatedTarget.classList.contains( 'mdp-menuar-elementor-main-menu--dropdown-link' )
                        ||  e.relatedTarget.classList.contains( 'mdp-menuar-submenu-indicator' )
                        ||  e.relatedTarget.classList.contains( 'mdp-menuar-elementor-category-post-count' )
                        ||  e.relatedTarget.classList.contains( 'mdp-menuar-elementor-main-menu--link' ) ) {
                        e.target.classList.remove( 'mdp-elementor-main-menu--hover' );
                    } else if ( e.relatedTarget.classList.contains( 'mdp-menuar-elementor-main-menu--dropdown' ) ) {
                        e.relatedTarget.querySelectorAll( '.mdp-elementor-main-menu--hover' ).forEach( item => {
                            item.classList.remove( 'mdp-elementor-main-menu--hover' );
                        } );
                        e.target.classList.add( 'mdp-elementor-main-menu--hover' );
                    }
                }
            } );
        }


        //check if element has parent
        function isDescendant( parent, child ) {
            let node = child.parentNode;
            while ( node !== null ) {
                if( node === parent ) {
                    return true;
                }
                node = node.parentNode;
            }
            return false;
        }

        if ( mediaSize.replace( /[^0-9]/g,'' ) > 0 ) {
            const toggleBtn = document.querySelector( `.${wrapperName} .mdp-menuar-elementor-toggle-icon` );
            const toggleCloseBtn = document.querySelector( `.${wrapperName} .mdp-menuar-elementor-toggle-close-icon` );

            //close on click outside menu
            document.addEventListener( 'click', e => {
                if( !isDescendant( menuarNav, e.target ) ) {
                    menuWrapper.classList.remove( 'mdp-menuar-elementor-main-menu-wrapper--active' );
                    toggleBtn.style.display = 'block';
                    toggleCloseBtn.style.display = 'none';
                }
            } );

            //toggle burger button
            toggleBtn.addEventListener( 'click', () => {
                toggleBtn.style.display = 'none';
                toggleCloseBtn.style.display = 'block';
                menuWrapper.classList.add( 'mdp-menuar-elementor-main-menu-wrapper--active' );
            } );

            //toggle close button
            toggleCloseBtn.addEventListener( 'click', () => {
                toggleBtn.style.display = 'block';
                toggleCloseBtn.style.display = 'none';
                menuWrapper.classList.remove( 'mdp-menuar-elementor-main-menu-wrapper--active' );
            } );
        }

        // function that checks screen size
        function checkSizeOfScreen( mediaSize ) {
            if( window.matchMedia( `(max-width: ${mediaSize})` ).matches ) {
                menuWrapper.classList.add( 'mdp-menuar-elementor-main-wrapper--mobile' );
                const clickAreas = clickArea === 'text' ? dropdownLinks : submenuIndicator;
                resetActiveItems();
                menuItems.forEach( item => {
                    item.removeEventListener( 'mouseenter', listenerMouseEnter );
                } );
                submenuItems.forEach( item => {
                    item.removeEventListener( 'mouseenter', listenerSubmenuMouseEnter );
                } );
                clickAreas.forEach( area => {
                    area.onclick =  ( e ) => {
                        if( area.tagName === 'A' ) {
                            e.preventDefault();
                        }
                        let dropdown = area.closest( "li" ).querySelector( '.mdp-menuar-elementor-main-menu--dropdown' );
                        if ( dropdown.classList.contains( 'mdp-menuar-elementor-main-menu--dropdown-show' ) ) {
                            dropdown.classList.remove( 'mdp-menuar-elementor-main-menu--dropdown-show' );
                        } else {
                            dropdown.classList.add( 'mdp-menuar-elementor-main-menu--dropdown-show' );
                        }
                    } ;
                } );
            } else {
                menuItems.forEach( item => {
                    item.addEventListener( 'mouseenter', listenerMouseEnter );
                } );

                submenuItems.forEach( item => {
                    item.addEventListener( 'mouseenter', listenerSubmenuMouseEnter );
                } );

                menuWrapper.classList.remove( 'mdp-menuar-elementor-main-wrapper--mobile' );
            }
        }

        // check screen size on resizing
        window.addEventListener( 'resize', () => {
           checkSizeOfScreen( mediaSize );
        } );

        // check screen size on refresh
        checkSizeOfScreen( mediaSize );
    },

    /**
    * Adding menu method
    * */
    addMenu: function () {
        const menuBox = document.querySelectorAll( '.mdp-menuar-elementor-box' );

        for ( let i = 0; i < menuBox.length; i++ ) {
            menuBox[i].classList.add( 'mdp-menuar-elementor-box-' + i );
            this.menu( 'mdp-menuar-elementor-box-' + i );
        }
    }
};

/**
 * Init for Front-End
 * @param callback
 */
document.addEventListener( 'DOMContentLoaded', menuarElementor.addMenu.bind( menuarElementor ) );

Filemanager

Name Type Size Permission Actions
admin.js File 549 B 0644
admin.min.js File 549 B 0644
menuar-elementor.js File 8.31 KB 0644
menuar-elementor.min.js File 4.43 KB 0644