jqh před 4 roky
rodič
revize
81b1c20ebf

+ 2 - 1
src/Grid/Column/Filter.php

@@ -3,6 +3,7 @@
 namespace Dcat\Admin\Grid\Column;
 
 use Dcat\Admin\Grid\Column;
+use Dcat\Admin\Grid\Events\Fetching;
 use Dcat\Admin\Grid\Model;
 use Dcat\Admin\Support\Helper;
 use Illuminate\Contracts\Support\Renderable;
@@ -41,7 +42,7 @@ abstract class Filter implements Renderable
     {
         $this->parent = $column;
 
-        $this->parent->grid()->fetching(function () {
+        $this->parent->grid()->listen(Fetching::class, function () {
             $this->addResetButton();
 
             $this->parent->grid()->model()->treeUrlWithoutQuery(

+ 1 - 1
src/Grid/Column/HasDisplayers.php

@@ -231,7 +231,7 @@ trait HasDisplayers
     {
         $this->grid->model()->enableTree($showAll, $sortable);
 
-        $this->grid->fetching(function () use ($showAll) {
+        $this->grid->listen(Grid\Events\Fetching::class, function () use ($showAll) {
             if ($this->grid->model()->getParentIdFromRequest()) {
                 $this->grid->disableFilter();
                 $this->grid->disableToolbar();

+ 2 - 2
src/Grid/Concerns/HasEvents.php

@@ -37,9 +37,9 @@ trait HasEvents
      */
     public function fire(Events\Event $event)
     {
-        Event::dispatch($event);
-
         $this->dispatched[get_class($event)] = $event;
+
+        Event::dispatch($event);
     }
 
     /**

+ 0 - 27
src/Grid/Concerns/HasFilter.php

@@ -15,11 +15,6 @@ trait HasFilter
      */
     protected $filter;
 
-    /**
-     * @var array
-     */
-    protected $beforeApplyFilterCallbacks = [];
-
     /**
      * Setup grid filter.
      *
@@ -69,28 +64,6 @@ trait HasFilter
         return $this;
     }
 
-    /**
-     * @param Closure $callback
-     *
-     * @return void
-     */
-    public function fetching(\Closure $callback)
-    {
-        $this->beforeApplyFilterCallbacks[] = $callback;
-    }
-
-    /**
-     * @return void
-     */
-    protected function callFetchingCallbacks()
-    {
-        foreach ($this->beforeApplyFilterCallbacks as $callback) {
-            $callback($this);
-        }
-
-        $this->beforeApplyFilterCallbacks = [];
-    }
-
     /**
      * Render the grid filter.
      *

+ 4 - 3
src/Grid/Concerns/HasTree.php

@@ -4,6 +4,7 @@ namespace Dcat\Admin\Grid\Concerns;
 
 use Dcat\Admin\Admin;
 use Dcat\Admin\Grid\Events\Fetched;
+use Dcat\Admin\Grid\Events\Fetching;
 use Dcat\Admin\Support\Helper;
 use Illuminate\Support\Collection;
 
@@ -46,7 +47,7 @@ trait HasTree
     {
         $this->showAllChildrenNodes = $showAll;
 
-        $this->grid->fetching(function () use ($sortable) {
+        $this->grid()->listen(Fetching::class, function () use ($sortable) {
             $this->sortTree($sortable);
             $this->bindChildrenNodesQuery();
 
@@ -59,7 +60,7 @@ trait HasTree
             $this->addIgnoreQueries();
         });
 
-        $this->grid()->listen(Fetched::class, function (Grid $grid, Collection $collection) {
+        $this->grid()->listen(Fetched::class, function ($grid, Collection $collection) {
             if (! $this->getParentIdFromRequest()) {
                 return;
             }
@@ -126,7 +127,7 @@ trait HasTree
     public function generateTreeUrl()
     {
         return Helper::urlWithoutQuery(
-            $this->grid->filter()->urlWithoutFilters(),
+            $this->grid()->filter()->urlWithoutFilters(),
             $this->treeIgnoreQueryNames
         );
     }

+ 24 - 0
src/Grid/Model.php

@@ -257,6 +257,18 @@ class Model
         return $this->grid->makeName($this->pageName);
     }
 
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setPageName($name)
+    {
+        $this->pageName = $name;
+
+        return $this;
+    }
+
     /**
      * Get the query string variable used to store the sort.
      *
@@ -267,6 +279,18 @@ class Model
         return $this->grid->makeName($this->sortName);
     }
 
+    /**
+     * @param string $name
+     *
+     * @return $this
+     */
+    public function setSortName($name)
+    {
+        $this->sortName = $name;
+
+        return $this;
+    }
+
     /**
      * Set parent grid instance.
      *