jqh 5 سال پیش
والد
کامیت
9f856ad5c6
2فایلهای تغییر یافته به همراه55 افزوده شده و 81 حذف شده
  1. 0 79
      src/Grid/Column.php
  2. 55 2
      src/Grid/Column/HasHeader.php

+ 0 - 79
src/Grid/Column.php

@@ -442,85 +442,6 @@ class Column
         return $this;
     }
 
-    /**
-     * Mark this column as sortable.
-     *
-     * @param string $cast
-     *
-     * @return $this
-     */
-    public function sortable($cast = null)
-    {
-        return $this->addSorter($cast);
-    }
-
-    /**
-     * Set help message for column.
-     *
-     * @param string|\Closure $help
-     * @param null|string     $style     'green', 'blue', 'red', 'purple'
-     * @param null|string     $placement 'bottom', 'left', 'right', 'top'
-     *
-     * @return $this
-     */
-    public function help($help = '', ?string $style = null, ?string $placement = 'bottom')
-    {
-        return $this->addHelp($help, $style, $placement);
-    }
-
-    /**
-     * Set column filter.
-     *
-     * @example
-     *      $grid->username()->filter();
-     *
-     *      $grid->user()->filter('user.id');
-     *
-     *      $grid->user()->filter(function () {
-     *          return $this->user['id'];
-     *      });
-     *
-     *      $grid->username()->filter(
-     *          Grid\Column\Filter\StartWith::make(__('admin.username'))
-     *      );
-     *
-     *      $grid->created_at()->filter(
-     *          Grid\Column\Filter\Equal::make(__('admin.created_at'))->date()
-     *      );
-     *
-     * @param Grid\Column\Filter|string $filter
-     *
-     * @return $this
-     */
-    public function filter($filter = null)
-    {
-        $valueKey = is_string($filter) || $filter instanceof \Closure ? $filter : null;
-
-        if (! $filter || $valueKey) {
-            $filter = Grid\Column\Filter\Equal::make()->valueFilter($valueKey);
-        }
-
-        if (! $filter instanceof Grid\Column\Filter) {
-            throw new \InvalidArgumentException('The "$filter" must be a type of '.Grid\Column\Filter::class.'.');
-        }
-
-        return $this->addHeader($filter);
-    }
-
-    /**
-     * @param string|\Closure $valueKey
-     *
-     * @return Column
-     */
-    public function filterByValue($valueKey = null)
-    {
-        return $this->filter(
-            Grid\Column\Filter\Equal::make()
-                ->valueFilter($valueKey)
-                ->hide()
-        );
-    }
-
     /**
      * Add a display callback.
      *

+ 55 - 2
src/Grid/Column/HasHeader.php

@@ -50,7 +50,7 @@ trait HasHeader
      *
      * @return $this
      */
-    protected function addSorter($cast = null)
+    public function sortable($cast = null)
     {
         $sortName = $this->grid->model()->getSortName();
 
@@ -59,6 +59,59 @@ trait HasHeader
         return $this->addHeader($sorter);
     }
 
+    /**
+     * Set column filter.
+     *
+     * @example
+     *      $grid->username()->filter();
+     *
+     *      $grid->user()->filter('user.id');
+     *
+     *      $grid->user()->filter(function () {
+     *          return $this->user['id'];
+     *      });
+     *
+     *      $grid->username()->filter(
+     *          Grid\Column\Filter\StartWith::make(__('admin.username'))
+     *      );
+     *
+     *      $grid->created_at()->filter(
+     *          Grid\Column\Filter\Equal::make(__('admin.created_at'))->date()
+     *      );
+     *
+     * @param Grid\Column\Filter|string $filter
+     *
+     * @return $this
+     */
+    public function filter($filter = null)
+    {
+        $valueKey = is_string($filter) || $filter instanceof \Closure ? $filter : null;
+
+        if (! $filter || $valueKey) {
+            $filter = Grid\Column\Filter\Equal::make()->valueFilter($valueKey);
+        }
+
+        if (! $filter instanceof Grid\Column\Filter) {
+            throw new \InvalidArgumentException('The "$filter" must be a type of '.Grid\Column\Filter::class.'.');
+        }
+
+        return $this->addHeader($filter);
+    }
+
+    /**
+     * @param string|\Closure $valueKey
+     *
+     * @return $this
+     */
+    public function filterByValue($valueKey = null)
+    {
+        return $this->filter(
+            Grid\Column\Filter\Equal::make()
+                ->valueFilter($valueKey)
+                ->hide()
+        );
+    }
+
     /**
      * Add a help tooltip to column header.
      *
@@ -68,7 +121,7 @@ trait HasHeader
      *
      * @return $this
      */
-    protected function addHelp($message, ?string $style = null, ?string $placement = 'bottom')
+    public function help($message, ?string $style = null, ?string $placement = 'top')
     {
         return $this->addHeader(new Help($message, $style, $placement));
     }