瀏覽代碼

修复表格快捷搜索捕捉中文输入异常问题

jqh 5 年之前
父節點
當前提交
4d96c46735
共有 3 個文件被更改,包括 29 次插入19 次删除
  1. 1 5
      resources/assets/dcat-admin/main.css
  2. 0 0
      resources/assets/dcat-admin/main.min.css
  3. 28 14
      src/Grid/Tools/QuickSearch.php

+ 1 - 5
resources/assets/dcat-admin/main.css

@@ -2312,13 +2312,9 @@ div.layui-layer-btn{
 }
 }
 
 
 .grid-column-header a {
 .grid-column-header a {
-    color: #9ab1c3 !important;
+    color: #8aa5b9 !important;
     font-size: 13px;
     font-size: 13px;
 }
 }
-/*.grid-column-header a:hover {*/
-/*    color:#7c858e!important;*/
-/*    color: var(--80)!important;*/
-/*}*/
 
 
 .grid-column-header a.active, .grid-column-header a:hover {
 .grid-column-header a.active, .grid-column-header a:hover {
     color:#297ec0!important;
     color:#297ec0!important;

文件差異過大導致無法顯示
+ 0 - 0
resources/assets/dcat-admin/main.min.css


+ 28 - 14
src/Grid/Tools/QuickSearch.php

@@ -117,27 +117,41 @@ class QuickSearch extends AbstractTool
     {
     {
         $script = <<<'JS'
         $script = <<<'JS'
 (function () {
 (function () {
-    var toggleClearBtn = function () {
+    var inputting = false,
+        $ipt = $('input.quick-search-input'), 
+        val = $ipt.val(),
+        ignoreKeys = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144];
+    
+    var submit = LA.debounce(function (input) {
+        inputting || $(input).parents('form').submit()
+    }, 600);
+    
+    function toggleBtn() {
         var t = $(this),
         var t = $(this),
-            clear = t.parent().find('.quick-search-clear');
+            btn = t.parent().find('.quick-search-clear');
     
     
         if (t.val()) {
         if (t.val()) {
-            clear.css({color: '#333'});
+            btn.css({color: '#333'});
         } else {
         } else {
-            clear.css({color: '#fff'});
+            btn.css({color: '#fff'});
         }
         }
         return false;
         return false;
-    };
-    
-    var submit = LA.debounce(function (input) {
-        $(input).parents('form').submit()
-    }, 500);
+    }
     
     
-    var $ipt = $('input.quick-search-input'), val = $ipt.val();
-    $ipt.on('focus', toggleClearBtn).on('keyup', function () {
-        toggleClearBtn.apply(this);
-        submit(this);
-    }).on('mousemove', toggleClearBtn).on('mouseout', toggleClearBtn);
+    $ipt.on('focus', toggleBtn)
+        .on('keyup', function (e) {
+            toggleBtn.apply(this);
+            
+            ignoreKeys.indexOf(e.keyCode) == -1 && submit(this)
+        })
+        .on('mousemove', toggleBtn)
+        .on('mouseout', toggleBtn)
+        .on('compositionstart', function(){
+            inputting = true
+        })
+        .on('compositionend', function() {
+            inputting = false
+        });
     val !== '' && $ipt.val('').focus().val(val).focus();
     val !== '' && $ipt.val('').focus().val(val).focus();
     
     
     $('.quick-search-clear').click(function () {
     $('.quick-search-clear').click(function () {

部分文件因文件數量過多而無法顯示