Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/app/design/frontend/Cnc/default/Magento_Theme/web/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/app/design/frontend/Cnc/default/Magento_Theme/web/js/dropdown-dialog.js
/**
 * @license http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 * @author Romain Cuillerier <[email protected]>
 * @copyright Copyright (c) 2018 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com/)
 */

define([
    "jquery",
    "tools"
], function ($, tools) {
    "use strict";

    $(function () {

        var dropdownDialog = {
            /**
             * Constructor
             */
            init: function(){

                /**
                 * Mobile Only
                 */
                if(tools.windowWidth < tools.xl) {
                    this.MobileSearchDropdown();
                }

                /**
                 * Desktop Only
                 */
                if(tools.windowWidth >= tools.xl){
                    this.HeaderloginDropdown();
                    this.overlayDropdownDesktop();
                    this.overlayGlobalHidding();
                }
            },

            /**
             * Handle dropdown dialog for header login container
             */
            HeaderloginDropdown: function() {
                var headerLoginContainer = $('#header_login_dropdown');

                if(headerLoginContainer.length !== 0){
                    headerLoginContainer.dropdownDialog({
                        appendTo:"[data-block=mini-login]",
                        triggerTarget:"#header-login-link",
                        timeout: "2000",
                        closeOnMouseLeave: false,
                        closeOnEscape: true,
                        triggerClass:"active",
                        parentClass:"active",
                        buttons:[]
                    });
                }
            },

            /**
             * Handle dropdown dialog for header login container
             */
            MobileSearchDropdown: function() {
                var formMiniSearch = $('form.minisearch'),
                    jdBurger = $('#jd-burger');

                if(formMiniSearch.length !== 0){
                    formMiniSearch.dropdownDialog({
                        appendTo:".block-search > .block",
                        triggerTarget:"#mobile_search_toggle",
                        timeout: "2000",
                        closeOnMouseLeave: false,
                        closeOnEscape: true,
                        triggerClass:"active",
                        parentClass:"active",
                        closeOnClickOutside: false,
                        buttons:[]
                    });
                }

                /**
                 * Manage Search Bar with navigation section displaying
                 */
                jdBurger.on('click', function() {
                    if($(this).hasClass('is-active')) {
                        /**
                         * Show search content
                         */
                        $('.block-search .ui-dialog').show();
                        $('.block-search .block-content').addClass('active');

                        /**
                         * Stop mobile search toggle action and edit css design background
                         */
                        $('#mobile_search_toggle').css('pointer-events','none');
                        formMiniSearch.css('background-color','#FFFFFF');

                    } else {
                        /**
                         * Hide search content
                         */
                        $('.block-search .ui-dialog').hide();
                        $('.block-search .block-content').removeClass('active');

                        /**
                         * Reset mobile search toggle action and edit css design background
                         */
                        $('#mobile_search_toggle').removeClass('active').css('pointer-events','auto');
                        formMiniSearch.css('background','');
                    }
                });

                /**
                 * Show Form Input search to loading of home page
                 */
                $('.cms-home .block-search > .block').addClass('active');

                /**
                 * Add Input search background if element is clicked
                 */
                $('form.minisearch input').on('focus', function() {
                    formMiniSearch.css('background-color','#FFFFFF');
                })
            },

            /**
             * Overlay Displaying
             */
            overlayDropdownDesktop: function() {
                var dropdownParentElements = $('.customer-block, .minicart-wrapper, .nav-sections'),
                    dropdownElements = $('#header-login-link, a.showcart');

                dropdownElements.on('click', function () {
                    if($(this).hasClass('active')) {
                        $('div.overlay').addClass('is-visible');
                    } else {
                        $('div.overlay').removeClass('is-visible');
                    }
                });

                /**
                 * Hide overlay when clicking outside the element
                 */
                $(document).on('click', function(e) {
                    if (!dropdownParentElements.is(e.target) && dropdownParentElements.has(e.target).length === 0) {
                        $('div.overlay').removeClass('is-visible');
                    }
                });

                /**
                 * Close Dropdowndialog and hide overlay at the click of the action close element
                 * => data-bind was removed on action close element in template
                 */

                $(document).on('click', '.action.close', function () {
                    $('div.overlay').removeClass('is-visible');
                    $(this).parents('*[data-role=dropdownDialog]').dropdownDialog('close');
                })
            },

            /**
             * Global Overlay Hidding
             */
            overlayGlobalHidding: function() {
                var overlayElements = $('.customer-block, .minicart-wrapper, .nav-sections');

                /**
                 * Hide overlay when clicking outside the element
                 */
                $(document).on('click', function(e) {
                    if (!overlayElements.is(e.target) && overlayElements.has(e.target).length === 0) {
                        $('div.overlay').removeClass('is-visible');
                    }
                });
            },
        };

        dropdownDialog.init();
    });
});

Spamworldpro Mini