From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +0800 Subject: [PATCH] 新建德森项目分支 --- zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js | 500 +++++++++++++++++++++++++++--------------------------- 1 files changed, 250 insertions(+), 250 deletions(-) diff --git a/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js b/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js index b05f3ac..1be4c5b 100644 --- a/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js +++ b/zy-asrs-openapi/src/main/webapp/static/layui/lay/modules/dropdown/dropdown.js @@ -1,250 +1,250 @@ -/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04 License By http://easyweb.vip */ -layui.define(['jquery'], function (exports) { - var $ = layui.jquery; - var openClass = 'dropdown-open'; - var disableClass = 'dropdown-disabled'; - var noScrollClass = 'dropdown-no-scroll'; - var shadeClass = 'dropdown-menu-shade'; - var dropdownClass = 'dropdown-menu'; - var dropNavClass = 'dropdown-menu-nav'; - var hoverClass = 'dropdown-hover'; - var fixedClass = 'fixed'; - var noShadeClass = 'no-shade'; - var animClass = 'layui-anim layui-anim-upbit'; - var popAnimClass = 'layui-anim layui-anim-fadein'; - var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center']; - if ($('#ew-css-dropdown').length <= 0) { - layui.link(layui.cache.base + 'dropdown/dropdown.css'); - } - - var dropdown = { - // 缁戝畾浜嬩欢 - init: function () { - // 鐐瑰嚮瑙﹀彂 - $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) { - var $drop = $(this).parent(); - if (!$drop.hasClass(hoverClass)) { - if ($drop.hasClass(openClass)) { - $drop.removeClass(openClass); - } else { - dropdown.hideAll(); - dropdown.show($(this).parent().find('.' + dropNavClass)); - } - } - event.stopPropagation(); - }); - // 鐐瑰嚮浠讳綍浣嶇疆鍏抽棴鎵�鏈� - $(document).off('click.dropHide').on('click.dropHide', function (event) { - dropdown.hideAll(); - }); - // 鐐瑰嚮涓嬫媺鑿滃崟鍐呭閮ㄥ垎涓嶅叧闂� - $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) { - event.stopPropagation(); - }); - // hover瑙﹀彂 - var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass; - $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) { - if (lastDrop && lastDrop == event.currentTarget) { - clearTimeout(timer); - } - dropdown.show($(this).find('.' + dropNavClass)); - }); - $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) { - lastDrop = event.currentTarget; - timer = setTimeout(function () { - $(event.currentTarget).removeClass(openClass); - }, 300); - }); - // 鍒嗙寮忕粦瀹� - $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) { - dropdown.showFixed($(this)); - event.stopPropagation(); - }); - // 鏃犻檺绾у瓙鑿滃崟 - var hoverNavSelector = '.' + dropNavClass + ' li'; - $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) { - $(this).children('.dropdown-menu-nav-child').addClass(animClass); - $(this).addClass('active'); - }); - $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) { - $(this).removeClass('active'); - $(this).find('li.active').removeClass('active'); - }); - // 姘旀场纭寮圭獥 - $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) { - dropdown.hideAll(); - event.stopPropagation(); - }); - }, - // 鐐瑰嚮鑿滃崟鍏抽棴 - openClickNavClose: function () { - $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) { - dropdown.hideAll(); - $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass); - event.stopPropagation(); - }); - }, - // 鍏抽棴鎵�鏈� - hideAll: function () { - $('.' + dropdownClass).removeClass(openClass); - // 闅愯棌鍒嗙寮忚彍鍗� - $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide'); // 闅愯棌鍒嗙寮忚彍鍗� - $('.' + shadeClass).remove(); // 绉婚櫎閬僵灞� - $('body').removeClass(noScrollClass); // 绉婚櫎绂佹椤甸潰婊氬姩 - $('.dropdown-fix-parent').removeClass('dropdown-fix-parent'); - $('[data-dropdown]').removeClass(openClass); - }, - // 灞曞紑闈炲垎绂诲紡涓嬫媺鑿滃崟 - show: function ($dropNav) { - if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) { - if ($dropNav.hasClass('dropdown-popconfirm')) { - $dropNav.removeClass(animClass); - $dropNav.addClass(popAnimClass); - } else { - $dropNav.removeClass(popAnimClass); - $dropNav.addClass(animClass); - } - var position; // 鑾峰彇浣嶇疆 - for (var i = 0; i < dropDirect.length; i++) { - if ($dropNav.hasClass('dropdown-' + dropDirect[i])) { - position = dropDirect[i]; - break; - } - } - if (!position) { // 娌℃湁璁剧疆浣嶇疆娣诲姞榛樿浣嶇疆 - $dropNav.addClass('dropdown-' + dropDirect[0]); - position = dropDirect[0]; - } - dropdown.forCenter($dropNav, position); - $dropNav.parent('.' + dropdownClass).addClass(openClass); - return position; - } - return false; - }, - // 灞曞紑鍒嗙寮忚彍鍗� - showFixed: function ($trigger) { - var $dropNav = $($trigger.data('dropdown')), position; - if (!$dropNav.hasClass('layui-hide')) { - dropdown.hideAll(); // 宸茬粡灞曞紑鍒欓殣钘� - return; - } - dropdown.hideAll(); // 宸茬粡灞曞紑鍒欓殣钘� - position = dropdown.show($dropNav); // 鑾峰彇寮瑰嚭浣嶇疆 - if (position) { - $dropNav.addClass(fixedClass); // 璁剧疆涓哄浐瀹氬畾浣� - $dropNav.removeClass('layui-hide'); // 鏄剧ず涓嬫媺鑿滃崟 - var topLeft = dropdown.getTopLeft($trigger, $dropNav, position); // 璁$畻鍧愭爣 - topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 鏄惁婧㈠嚭灞忓箷 - $dropNav.css(topLeft); // 璁剧疆鍧愭爣 - $('body').addClass(noScrollClass); // 绂佹椤甸潰婊氬姩 - var hideShade = ($trigger.attr('no-shade') == 'true'); // 鏄惁闅愯棌閬僵灞� - $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>'); // 娣诲姞閬僵灞� - // 閲嶇疆鐖跺厓绱爖-index - $trigger.parentsUntil('body').each(function () { - var zIndex = $(this).css('z-index'); - if (/[0-9]+/.test(zIndex)) { - $(this).addClass('dropdown-fix-parent'); - } - }); - $trigger.addClass(openClass); - } - }, - // 瑙e喅缁濆瀹氫綅鍥犲姩鐢诲鑷村钩绉诲け鏁� - forCenter: function ($dropNav, position) { - if (!$dropNav.hasClass(fixedClass)) { - var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight(); - var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight(); - var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1]; // 鏄剧ず鏂瑰悜 - if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') { - $dropNav.css('left', (wTrigger - wDrop) / 2); - } - if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') { - $dropNav.css('top', (hTrigger - hDrop) / 2); - } - } - }, - // 璁$畻鍥哄畾瀹氫綅鍧愭爣 - getTopLeft: function ($trigger, $dropdown, position) { - var widthTrigger = $trigger.outerWidth(); - var heightTrigger = $trigger.outerHeight(); - var widthDropdown = $dropdown.outerWidth(); - var heightDropdown = $dropdown.outerHeight(); - var topTrigger = $trigger.offset().top - $(document).scrollTop(); - var leftTrigger = $trigger.offset().left; - var rightTrigger = leftTrigger + widthTrigger; - var top = 0, left = 0; - var positionParts = position.split('-'); - var anchorSide = positionParts[0]; // 绠ご浣嶇疆 - var anchorPosition = positionParts[1]; // 绠ご鏂瑰悜 - if (anchorSide == 'top' || anchorSide == 'bottom') { - heightDropdown += 8; // 鍔犱笂margin璺濈 - switch (anchorPosition) { - case 'left': - left = leftTrigger; - break; - case 'center': - left = leftTrigger - widthDropdown / 2 + widthTrigger / 2; - break; - case 'right': - left = rightTrigger - widthDropdown; - } - } - if (anchorSide == 'left' || anchorSide == 'right') { - widthDropdown += 8; // 鍔犱笂margin璺濈 - switch (anchorPosition) { - case 'top': - top = topTrigger + heightTrigger - heightDropdown; - break; - case 'center': - top = topTrigger - heightDropdown / 2 + heightTrigger / 2; - break; - case 'bottom': - top = topTrigger; - } - } - switch (anchorSide) { - case 'top': - top = topTrigger - heightDropdown; - break; - case 'right': - left = leftTrigger + widthTrigger; - break; - case 'bottom': - top = topTrigger + heightTrigger; - break; - case 'left': - left = leftTrigger - widthDropdown; - } - return {top: top, left: left, right: 'auto', bottom: 'auto'}; - }, - // 妫�鏌ユ槸鍚︽孩鍑哄睆骞� - checkPosition: function ($dropNav, $trigger, position, topLeft) { - var aps = position.split('-'); - if ('bottom' == aps[0]) { - if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) { - topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]); - $dropNav.removeClass('dropdown-' + position); - $dropNav.addClass('dropdown-top-' + aps[1]); - } - } else if ('top' == aps[0]) { - if (topLeft.top < 0) { - topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]); - $dropNav.removeClass('dropdown-' + position); - $dropNav.addClass('dropdown-bottom-' + aps[1]); - } - } - return topLeft; - }, - // 鑾峰彇娴忚鍣ㄩ珮搴� - getPageHeight: function () { - return document.documentElement.clientHeight || document.body.clientHeight; - }, - // 鑾峰彇娴忚鍣ㄥ搴� - getPageWidth: function () { - return document.documentElement.clientWidth || document.body.clientWidth; - } - }; - - dropdown.init(); - exports('dropdown', dropdown); -}); +/** 涓嬫媺鑿滃崟妯″潡 date:2020-05-04 License By http://easyweb.vip */ +layui.define(['jquery'], function (exports) { + var $ = layui.jquery; + var openClass = 'dropdown-open'; + var disableClass = 'dropdown-disabled'; + var noScrollClass = 'dropdown-no-scroll'; + var shadeClass = 'dropdown-menu-shade'; + var dropdownClass = 'dropdown-menu'; + var dropNavClass = 'dropdown-menu-nav'; + var hoverClass = 'dropdown-hover'; + var fixedClass = 'fixed'; + var noShadeClass = 'no-shade'; + var animClass = 'layui-anim layui-anim-upbit'; + var popAnimClass = 'layui-anim layui-anim-fadein'; + var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center']; + if ($('#ew-css-dropdown').length <= 0) { + layui.link(layui.cache.base + 'dropdown/dropdown.css'); + } + + var dropdown = { + // 缁戝畾浜嬩欢 + init: function () { + // 鐐瑰嚮瑙﹀彂 + $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) { + var $drop = $(this).parent(); + if (!$drop.hasClass(hoverClass)) { + if ($drop.hasClass(openClass)) { + $drop.removeClass(openClass); + } else { + dropdown.hideAll(); + dropdown.show($(this).parent().find('.' + dropNavClass)); + } + } + event.stopPropagation(); + }); + // 鐐瑰嚮浠讳綍浣嶇疆鍏抽棴鎵�鏈� + $(document).off('click.dropHide').on('click.dropHide', function (event) { + dropdown.hideAll(); + }); + // 鐐瑰嚮涓嬫媺鑿滃崟鍐呭閮ㄥ垎涓嶅叧闂� + $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) { + event.stopPropagation(); + }); + // hover瑙﹀彂 + var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass; + $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) { + if (lastDrop && lastDrop == event.currentTarget) { + clearTimeout(timer); + } + dropdown.show($(this).find('.' + dropNavClass)); + }); + $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) { + lastDrop = event.currentTarget; + timer = setTimeout(function () { + $(event.currentTarget).removeClass(openClass); + }, 300); + }); + // 鍒嗙寮忕粦瀹� + $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) { + dropdown.showFixed($(this)); + event.stopPropagation(); + }); + // 鏃犻檺绾у瓙鑿滃崟 + var hoverNavSelector = '.' + dropNavClass + ' li'; + $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) { + $(this).children('.dropdown-menu-nav-child').addClass(animClass); + $(this).addClass('active'); + }); + $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) { + $(this).removeClass('active'); + $(this).find('li.active').removeClass('active'); + }); + // 姘旀场纭寮圭獥 + $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) { + dropdown.hideAll(); + event.stopPropagation(); + }); + }, + // 鐐瑰嚮鑿滃崟鍏抽棴 + openClickNavClose: function () { + $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) { + dropdown.hideAll(); + $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass); + event.stopPropagation(); + }); + }, + // 鍏抽棴鎵�鏈� + hideAll: function () { + $('.' + dropdownClass).removeClass(openClass); + // 闅愯棌鍒嗙寮忚彍鍗� + $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide'); // 闅愯棌鍒嗙寮忚彍鍗� + $('.' + shadeClass).remove(); // 绉婚櫎閬僵灞� + $('body').removeClass(noScrollClass); // 绉婚櫎绂佹椤甸潰婊氬姩 + $('.dropdown-fix-parent').removeClass('dropdown-fix-parent'); + $('[data-dropdown]').removeClass(openClass); + }, + // 灞曞紑闈炲垎绂诲紡涓嬫媺鑿滃崟 + show: function ($dropNav) { + if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) { + if ($dropNav.hasClass('dropdown-popconfirm')) { + $dropNav.removeClass(animClass); + $dropNav.addClass(popAnimClass); + } else { + $dropNav.removeClass(popAnimClass); + $dropNav.addClass(animClass); + } + var position; // 鑾峰彇浣嶇疆 + for (var i = 0; i < dropDirect.length; i++) { + if ($dropNav.hasClass('dropdown-' + dropDirect[i])) { + position = dropDirect[i]; + break; + } + } + if (!position) { // 娌℃湁璁剧疆浣嶇疆娣诲姞榛樿浣嶇疆 + $dropNav.addClass('dropdown-' + dropDirect[0]); + position = dropDirect[0]; + } + dropdown.forCenter($dropNav, position); + $dropNav.parent('.' + dropdownClass).addClass(openClass); + return position; + } + return false; + }, + // 灞曞紑鍒嗙寮忚彍鍗� + showFixed: function ($trigger) { + var $dropNav = $($trigger.data('dropdown')), position; + if (!$dropNav.hasClass('layui-hide')) { + dropdown.hideAll(); // 宸茬粡灞曞紑鍒欓殣钘� + return; + } + dropdown.hideAll(); // 宸茬粡灞曞紑鍒欓殣钘� + position = dropdown.show($dropNav); // 鑾峰彇寮瑰嚭浣嶇疆 + if (position) { + $dropNav.addClass(fixedClass); // 璁剧疆涓哄浐瀹氬畾浣� + $dropNav.removeClass('layui-hide'); // 鏄剧ず涓嬫媺鑿滃崟 + var topLeft = dropdown.getTopLeft($trigger, $dropNav, position); // 璁$畻鍧愭爣 + topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 鏄惁婧㈠嚭灞忓箷 + $dropNav.css(topLeft); // 璁剧疆鍧愭爣 + $('body').addClass(noScrollClass); // 绂佹椤甸潰婊氬姩 + var hideShade = ($trigger.attr('no-shade') == 'true'); // 鏄惁闅愯棌閬僵灞� + $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>'); // 娣诲姞閬僵灞� + // 閲嶇疆鐖跺厓绱爖-index + $trigger.parentsUntil('body').each(function () { + var zIndex = $(this).css('z-index'); + if (/[0-9]+/.test(zIndex)) { + $(this).addClass('dropdown-fix-parent'); + } + }); + $trigger.addClass(openClass); + } + }, + // 瑙e喅缁濆瀹氫綅鍥犲姩鐢诲鑷村钩绉诲け鏁� + forCenter: function ($dropNav, position) { + if (!$dropNav.hasClass(fixedClass)) { + var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight(); + var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight(); + var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1]; // 鏄剧ず鏂瑰悜 + if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') { + $dropNav.css('left', (wTrigger - wDrop) / 2); + } + if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') { + $dropNav.css('top', (hTrigger - hDrop) / 2); + } + } + }, + // 璁$畻鍥哄畾瀹氫綅鍧愭爣 + getTopLeft: function ($trigger, $dropdown, position) { + var widthTrigger = $trigger.outerWidth(); + var heightTrigger = $trigger.outerHeight(); + var widthDropdown = $dropdown.outerWidth(); + var heightDropdown = $dropdown.outerHeight(); + var topTrigger = $trigger.offset().top - $(document).scrollTop(); + var leftTrigger = $trigger.offset().left; + var rightTrigger = leftTrigger + widthTrigger; + var top = 0, left = 0; + var positionParts = position.split('-'); + var anchorSide = positionParts[0]; // 绠ご浣嶇疆 + var anchorPosition = positionParts[1]; // 绠ご鏂瑰悜 + if (anchorSide == 'top' || anchorSide == 'bottom') { + heightDropdown += 8; // 鍔犱笂margin璺濈 + switch (anchorPosition) { + case 'left': + left = leftTrigger; + break; + case 'center': + left = leftTrigger - widthDropdown / 2 + widthTrigger / 2; + break; + case 'right': + left = rightTrigger - widthDropdown; + } + } + if (anchorSide == 'left' || anchorSide == 'right') { + widthDropdown += 8; // 鍔犱笂margin璺濈 + switch (anchorPosition) { + case 'top': + top = topTrigger + heightTrigger - heightDropdown; + break; + case 'center': + top = topTrigger - heightDropdown / 2 + heightTrigger / 2; + break; + case 'bottom': + top = topTrigger; + } + } + switch (anchorSide) { + case 'top': + top = topTrigger - heightDropdown; + break; + case 'right': + left = leftTrigger + widthTrigger; + break; + case 'bottom': + top = topTrigger + heightTrigger; + break; + case 'left': + left = leftTrigger - widthDropdown; + } + return {top: top, left: left, right: 'auto', bottom: 'auto'}; + }, + // 妫�鏌ユ槸鍚︽孩鍑哄睆骞� + checkPosition: function ($dropNav, $trigger, position, topLeft) { + var aps = position.split('-'); + if ('bottom' == aps[0]) { + if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) { + topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]); + $dropNav.removeClass('dropdown-' + position); + $dropNav.addClass('dropdown-top-' + aps[1]); + } + } else if ('top' == aps[0]) { + if (topLeft.top < 0) { + topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]); + $dropNav.removeClass('dropdown-' + position); + $dropNav.addClass('dropdown-bottom-' + aps[1]); + } + } + return topLeft; + }, + // 鑾峰彇娴忚鍣ㄩ珮搴� + getPageHeight: function () { + return document.documentElement.clientHeight || document.body.clientHeight; + }, + // 鑾峰彇娴忚鍣ㄥ搴� + getPageWidth: function () { + return document.documentElement.clientWidth || document.body.clientWidth; + } + }; + + dropdown.init(); + exports('dropdown', dropdown); +}); -- Gitblit v1.9.1