Browse Source

调整模型树action相关方法

jqh 4 years ago
parent
commit
d36f10ae9f
3 changed files with 86 additions and 17 deletions
  1. 32 12
      src/Grid/Displayers/Actions.php
  2. 34 0
      src/Tree.php
  3. 20 5
      src/Tree/Actions.php

+ 32 - 12
src/Grid/Displayers/Actions.php

@@ -90,6 +90,11 @@ class Actions extends AbstractDisplayer
         }
     }
 
+    public function view(bool $value = true)
+    {
+        return $this->setAction('view', $value);
+    }
+
     /**
      * Disable view action.
      *
@@ -99,7 +104,12 @@ class Actions extends AbstractDisplayer
      */
     public function disableView(bool $disable = true)
     {
-        return $this->disableDefaultAction('view', $disable);
+        return $this->setAction('view', ! $disable);
+    }
+
+    public function delete(bool $value = true)
+    {
+        return $this->setAction('delete', $value);
     }
 
     /**
@@ -111,7 +121,12 @@ class Actions extends AbstractDisplayer
      */
     public function disableDelete(bool $disable = true)
     {
-        return $this->disableDefaultAction('delete', $disable);
+        return $this->setAction('delete', ! $disable);
+    }
+
+    public function edit(bool $value = true)
+    {
+        return $this->setAction('edit', $value);
     }
 
     /**
@@ -123,7 +138,12 @@ class Actions extends AbstractDisplayer
      */
     public function disableEdit(bool $disable = true)
     {
-        return $this->disableDefaultAction('edit', $disable);
+        return $this->setAction('edit', ! $disable);
+    }
+
+    public function quickEdit(bool $value = true)
+    {
+        return $this->setAction('quickEdit', $value);
     }
 
     /**
@@ -135,7 +155,7 @@ class Actions extends AbstractDisplayer
      */
     public function disableQuickEdit(bool $disable = true)
     {
-        return $this->disableDefaultAction('quickEdit', $disable);
+        return $this->setAction('quickEdit', ! $disable);
     }
 
     /**
@@ -144,9 +164,9 @@ class Actions extends AbstractDisplayer
      *
      * @return $this
      */
-    protected function disableDefaultAction(string $key, bool $disable)
+    protected function setAction(string $key, bool $value)
     {
-        $this->actions[$key] = ! $disable;
+        $this->actions[$key] = $value;
 
         return $this;
     }
@@ -178,12 +198,12 @@ class Actions extends AbstractDisplayer
     /**
      * @return void
      */
-    protected function resetDefaultActions()
+    protected function resetsetActions()
     {
-        $this->disableView(! $this->grid->option('view_button'));
-        $this->disableEdit(! $this->grid->option('edit_button'));
-        $this->disableQuickEdit(! $this->grid->option('quick_edit_button'));
-        $this->disableDelete(! $this->grid->option('delete_button'));
+        $this->view($this->grid->option('view_button'));
+        $this->edit($this->grid->option('edit_button'));
+        $this->quickEdit($this->grid->option('quick_edit_button'));
+        $this->delete($this->grid->option('delete_button'));
     }
 
     /**
@@ -205,7 +225,7 @@ class Actions extends AbstractDisplayer
      */
     public function display(array $callbacks = [])
     {
-        $this->resetDefaultActions();
+        $this->resetsetActions();
 
         $this->call($callbacks);
 

+ 34 - 0
src/Tree.php

@@ -273,11 +273,21 @@ class Tree implements Renderable
         $this->useCreate = ! $value;
     }
 
+    public function showCreateButton(bool $value = true)
+    {
+        return $this->disableCreateButton(! $value);
+    }
+
     public function disableQuickCreateButton(bool $value = true)
     {
         $this->useQuickCreate = ! $value;
     }
 
+    public function showQuickCreateButton(bool $value = true)
+    {
+        return $this->disableQuickCreateButton(! $value);
+    }
+
     /**
      * @param string $width
      * @param string $height
@@ -303,6 +313,10 @@ class Tree implements Renderable
         $this->useSave = ! $value;
     }
 
+    public function showSaveButton(bool $value = true)
+    {
+        return $this->disableSaveButton(! $value);
+    }
     /**
      * Disable refresh.
      *
@@ -315,6 +329,11 @@ class Tree implements Renderable
         $this->useRefresh = ! $value;
     }
 
+    public function showRefreshButton(bool $value = true)
+    {
+        return $this->disableRefreshButton(! $value);
+    }
+
     public function disableQuickEditButton(bool $value = true)
     {
         $this->actions(function (Actions $actions) use ($value) {
@@ -322,6 +341,11 @@ class Tree implements Renderable
         });
     }
 
+    public function showQuickEditButton(bool $value = true)
+    {
+        return $this->disableQuickEditButton(! $value);
+    }
+
     public function disableEditButton(bool $value = true)
     {
         $this->actions(function (Actions $actions) use ($value) {
@@ -329,6 +353,11 @@ class Tree implements Renderable
         });
     }
 
+    public function showEditButton(bool $value = true)
+    {
+        return $this->disableEditButton(! $value);
+    }
+
     public function disableDeleteButton(bool $value = true)
     {
         $this->actions(function (Actions $actions) use ($value) {
@@ -336,6 +365,11 @@ class Tree implements Renderable
         });
     }
 
+    public function showDeleteButton(bool $value = true)
+    {
+        return $this->disableDeleteButton(! $value);
+    }
+
     /**
      * @param Closure $closure
      *

+ 20 - 5
src/Tree/Actions.php

@@ -79,25 +79,40 @@ class Actions implements Renderable
         return $this->row->{$this->parent()->getKeyName()};
     }
 
+    public function quickEdit(bool $value = true)
+    {
+        $this->actions['quickEdit'] = $value;
+
+        return $this;
+    }
+
     public function disableQuickEdit(bool $value = true)
     {
-        $this->actions['quickEdit'] = ! $value;
+        return $this->quickEdit(! $value);
+    }
+
+    public function edit(bool $value = true)
+    {
+        $this->actions['edit'] = $value;
 
         return $this;
     }
 
     public function disableEdit(bool $value = true)
     {
-        $this->actions['edit'] = ! $value;
+        return $this->edit(! $value);
+    }
+
+    public function delete(bool $value = true)
+    {
+        $this->actions['delete'] = $value;
 
         return $this;
     }
 
     public function disableDelete(bool $value = true)
     {
-        $this->actions['delete'] = ! $value;
-
-        return $this;
+        return $this->delete(! $value);
     }
 
     public function render()