Jiang qinghua 5 年之前
父节点
当前提交
6c39882ba5
共有 3 个文件被更改,包括 25 次插入10 次删除
  1. 1 1
      composer.json
  2. 4 8
      src/Grid/Concerns/QuickSearch.php
  3. 20 1
      src/Grid/Tools/QuickSearch.php

+ 1 - 1
composer.json

@@ -18,7 +18,7 @@
         "doctrine/dbal": "2.*"
     },
     "require-dev": {
-        "phpunit/phpunit": "~6.0",
+        "phpunit/phpunit": "~6.0 || ~8.0",
         "laravel/laravel": "~5.5",
         "symfony/css-selector": "~3.1",
         "fzaninotto/faker": "~1.4",

+ 4 - 8
src/Grid/Concerns/QuickSearch.php

@@ -30,7 +30,7 @@ trait QuickSearch
     /**
      * @param array|string|\Closure
      *
-     * @return $this
+     * @return Tools\QuickSearch
      */
     public function quickSearch($search = null)
     {
@@ -40,9 +40,9 @@ trait QuickSearch
             $this->search = $search;
         }
 
-        $this->tools->append(new Tools\QuickSearch());
-
-        return $this;
+        return tap(new Tools\QuickSearch(), function ($search) {
+            $this->tools->append($search);
+        });
     }
 
     /**
@@ -60,10 +60,6 @@ trait QuickSearch
             return call_user_func($this->search, $this->model(), $query);
         }
 
-        if (!$this->model()->getRepository() instanceof EloquentRepository) {
-            return;
-        }
-
         if (is_string($this->search)) {
             $this->search = [$this->search];
         }

+ 20 - 1
src/Grid/Tools/QuickSearch.php

@@ -13,6 +13,25 @@ class QuickSearch extends AbstractTool
      */
     protected $view = 'admin::grid.quick-search';
 
+    /**
+     * @var string
+     */
+    protected $placeholder = null;
+
+    /**
+     * Set placeholder.
+     *
+     * @param string $text
+     *
+     * @return $this
+     */
+    public function placeholder(?string $text = '')
+    {
+        $this->placeholder = $text;
+
+        return $this;
+    }
+
     /**
      * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
      */
@@ -26,7 +45,7 @@ class QuickSearch extends AbstractTool
             'action' => request()->url() . '?' . http_build_query($query),
             'key' => QuickSearchConcerns::$searchKey,
             'value' => request(QuickSearchConcerns::$searchKey),
-            'placeholder' => trans('admin.search'),
+            'placeholder' => $this->placeholder ?: trans('admin.search'),
         ];
 
         return view($this->view, $vars);