浏览代码

Merge pull request #119 from lilashih/master

Display column using a grid row action
Jiang Qinghua 5 年之前
父节点
当前提交
a0e70f4697
共有 1 个文件被更改,包括 26 次插入0 次删除
  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.
      *