'use strict'; /** * * * @author Mai * @date * @version */ (function($){ $.subMenu = function (setting) { const menu = $(setting.menu), miniMenu = $(setting.miniMenu); const toMenu = $(setting.toMenu), toMiniMenu = $(setting.toMiniMenu); const miniHint = $(setting.miniHint); const showMenu = function () { menu.show(); miniMenu.removeClass('d-flex').hide(); setting.callback({mini: false}); }; const showMiniMenu = function () { menu.hide(); miniMenu.addClass('d-flex').show(); setting.callback({mini: true}); }; const menuType = setting.key ? getLocalCache(setting.key) : null; if (menuType && menuType === 'miniMenu') { showMiniMenu(); } else { showMenu(); } toMenu.click(function () { showMenu(); if (setting.key) { setLocalCache(setting.key, 'menu'); } }); toMiniMenu.click(function () { showMiniMenu(); if (setting.key) { setLocalCache(setting.key, 'miniMenu'); } const hint = setting.hintKey ? getLocalCache(setting.hintKey) : ''; if (hint !== '1') { miniHint.popover('show'); } }); miniMenu.mouseenter(function () { toMenu.show(); toMenu.siblings('i').hide(); // miniMenu.find('.side-switch i').addClass('fa-indent text-primary').removeClass('fa-bars'); $(setting.miniMenuList).show(); miniHint.popover('hide'); if (setting.hintKey) { setLocalCache(setting.hintKey, '1'); } }); miniMenu.mouseleave(function () { toMenu.hide(); toMenu.siblings('i').show(); // miniMenu.find('.side-switch i').addClass('fa-bars').removeClass('fa-indent text-primary'); $(setting.miniMenuList).hide(); }); let timeMake = false; $(setting.menu).find('.side-show').mouseenter(function () { $(setting.menu).find('.side-fold').show(); timeMake = false; }); $(setting.menu).find('.side-show').mouseleave(function () { timeMake = true; setTimeout(function () { if (timeMake) { $(setting.menu).find('.side-fold').hide(); } }, 500); }); $(setting.menu).find('.side-fold').mouseenter(function () { timeMake = false; $(this).css('width', '15px'); }); $(setting.menu).find('.side-fold').mouseleave(function () { timeMake = true; setTimeout(function () { if (timeMake) { $(setting.menu).find('.side-fold').hide(); } }, 500); $(this).css('width', '6px'); }) } })(jQuery);