Forráskód Böngészése

下拉菜单功能优化

jqh 5 éve
szülő
commit
4c8769b549

+ 17 - 18
resources/assets/adminlte/js/Dropdown.js

@@ -46,14 +46,14 @@ const Dropdown = (($) => {
     // Public
 
     toggleSubmenu() {
-      this._element.siblings().show().toggleClass("show")
+      this._element.siblings().toggleClass("show")
 
       if (! this._element.next().hasClass('show')) {
-        this._element.parents('.dropdown-menu').first().find('.show').removeClass("show").hide()
+        this._element.parents('.dropdown-menu').first().find('.show').removeClass("show")
       }
 
       this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function(e) {
-        $('.dropdown-submenu .show').removeClass("show").hide()
+        $('.dropdown-submenu .show').removeClass("show")
       })
     }
 
@@ -109,21 +109,20 @@ const Dropdown = (($) => {
    * Data API
    * ====================================================
    */
-
-  $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function(event) {
-    event.preventDefault()
-    event.stopPropagation()
-
-    Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')
-  });
-
-  $(Selector.NAVBAR + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function(event) {
-    event.preventDefault()
-
-    setTimeout(function() {
-      Dropdown._jQueryInterface.call($(this), 'fixPosition')
-    }, 1)
-  });
+  // $(Selector.DROPDOWN_TOGGLE).on("click", function(event) {
+  //   event.preventDefault()
+  //   event.stopPropagation()
+  //
+  //   Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')
+  // });
+  //
+  // $(Selector.DROPDOWN_TOGGLE).on("click", function(event) {
+  //   event.preventDefault()
+  //
+  //   setTimeout(function() {
+  //     Dropdown._jQueryInterface.call($(this), 'fixPosition')
+  //   }, 1)
+  // });
 
   /**
    * jQuery API

+ 32 - 0
resources/assets/dcat/js/bootstrappers/DataActions.js

@@ -1,3 +1,4 @@
+import Dropdown from "../../../adminlte/js/Dropdown";
 
 let defaultActions = {
     // 刷新按钮
@@ -99,6 +100,37 @@ let defaultActions = {
         $('.box [data-action="remove"]').click(function () {
             $(this).closest(".box").removeClass().slideUp("fast");
         });
+    },
+
+    dropdown: function () {
+        function hide() {
+            $('.dropdown-menu').removeClass('show')
+        }
+        $(document).off('click', document, hide)
+        $(document).on('click', hide);
+
+        function toggle(event) {
+            var $this = $(this);
+
+            $('.dropdown-menu').each(function () {
+                if ($this.next()[0] !== this) {
+                    $(this).removeClass('show');
+                }
+            });
+
+            $this.Dropdown('toggleSubmenu')
+        }
+
+        function fix(event) {
+            event.preventDefault()
+            event.stopPropagation()
+            // console.log(666);
+            setTimeout(function() {
+                $(this).Dropdown('fixPosition')
+            }, 1)
+        }
+
+        $('[data-toggle="dropdown"]').off('click').on("click", toggle).on("click", fix);
     }
 };
 

+ 1 - 0
resources/assets/dcat/sass/components/_dropdown.scss

@@ -3,6 +3,7 @@
     box-shadow: $shadow-100;
     border: 0;
     min-width: 10rem;
+    transform: none;
 
     .dropdown-item:hover {
       background-color: $dark30;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/adminlte/adminlte.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/adminlte/adminlte.js.map


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/css/dcat-app-blue-dark.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/css/dcat-app-blue-light.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/css/dcat-app-blue.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/css/dcat-app-green.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/css/dcat-app.css


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/action.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/action.js.map


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/grid-extend.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/grid-extend.js.map


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/resource-selector.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/resource-selector.js.map


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/upload.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/extra/upload.js.map


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/js/dcat-app.js


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
resources/dist/dcat/js/dcat-app.js.map


Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott