teratera/public/assets/admin/vendor/js/dropdown-hover.js
2025-08-22 09:41:04 +07:00

1 line
2.7 KiB
JavaScript

!function(n,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var e in t)("object"==typeof exports?exports:n)[e]=t[e]}}(self,(function(){return function(){var __webpack_modules__={"./js/dropdown-hover.js":function(){eval("// Add onHover event for dropdowns\n\n;\n(function ($) {\n if (!$ || !$.fn) return;\n var SELECTOR = '[data-bs-toggle=dropdown][data-trigger=hover]';\n var TIMEOUT = 150;\n function openDropdown($i) {\n var t = $i.data('dd-timeout');\n if (t) {\n clearTimeout(t);\n t = null;\n $i.data('dd-timeout', t);\n }\n if ($i.attr('aria-expanded') !== 'true') $i.dropdown('toggle');\n }\n function closeDropdown($i) {\n var t = $i.data('dd-timeout');\n if (t) clearTimeout(t);\n t = setTimeout(function () {\n var t2 = $i.data('dd-timeout');\n if (t2) {\n clearTimeout(t2);\n t2 = null;\n $i.data('dd-timeout', t2);\n }\n if ($i.attr('aria-expanded') === 'true') $i.dropdown('toggle');\n }, TIMEOUT);\n $i.data('dd-timeout', t);\n }\n $(function () {\n $('body').on('mouseenter', \"\".concat(SELECTOR, \", \").concat(SELECTOR, \" ~ .dropdown-menu\"), function () {\n var $toggle = $(this).hasClass('dropdown-toggle') ? $(this) : $(this).prev('.dropdown-toggle');\n var $dropdown = $(this).hasClass('dropdown-menu') ? $(this) : $(this).next('.dropdown-menu');\n if (window.getComputedStyle($dropdown[0], null).getPropertyValue('position') === 'static') return;\n\n // Set hovered flag\n if ($(this).is(SELECTOR)) {\n $(this).data('hovered', true);\n }\n openDropdown($(this).hasClass('dropdown-toggle') ? $(this) : $(this).prev('.dropdown-toggle'));\n }).on('mouseleave', \"\".concat(SELECTOR, \", \").concat(SELECTOR, \" ~ .dropdown-menu\"), function () {\n var $toggle = $(this).hasClass('dropdown-toggle') ? $(this) : $(this).prev('.dropdown-toggle');\n var $dropdown = $(this).hasClass('dropdown-menu') ? $(this) : $(this).next('.dropdown-menu');\n if (window.getComputedStyle($dropdown[0], null).getPropertyValue('position') === 'static') return;\n\n // Remove hovered flag\n if ($(this).is(SELECTOR)) {\n $(this).data('hovered', false);\n }\n closeDropdown($(this).hasClass('dropdown-toggle') ? $(this) : $(this).prev('.dropdown-toggle'));\n }).on('hide.bs.dropdown', function (e) {\n if ($(this).find(SELECTOR).data('hovered')) e.preventDefault();\n });\n });\n})(window.jQuery);\n\n//# sourceURL=webpack://Vuexy/./js/dropdown-hover.js?")}},__webpack_exports__={};return __webpack_modules__["./js/dropdown-hover.js"](),__webpack_exports__}()}));