Explorar el Código

Merge pull request #119 from lilashih/master

Display column using a grid row action
Jiang Qinghua hace 5 años
padre
commit
a0e70f4697
Se han modificado 1 ficheros con 26 adiciones y 0 borrados
  1. 26 0
      src/Grid/Column.php

+ 26 - 0
src/Grid/Column.php

@@ -461,6 +461,32 @@ class Column
         return $this;
     }
 
+    /**
+     * Display column using a grid row action.
+     *
+     * @param string $action
+     *
+     * @return $this
+     */
+    public function action($action)
+    {
+        if (!is_subclass_of($action, RowAction::class)) {
+            throw new \InvalidArgumentException("Action class [$action] must be sub-class of [Dcat\Admin\Grid\RowAction]");
+        }
+
+        $grid = $this->grid;
+
+        return $this->display(function ($_, $column) use ($action, $grid) {
+            /** @var RowAction $action */
+            $action = $action::make();
+
+            return $action
+                ->setGrid($grid)
+                ->setColumn($column)
+                ->setRow($this);
+        });
+    }
+
     /**
      * If has display callbacks.
      *