custom ation column

This commit is contained in:
Kavalar 2024-07-15 17:19:30 +03:00
parent 4bdd883d67
commit cf347f1dc2
2 changed files with 13 additions and 2 deletions

View File

@ -8,8 +8,11 @@ abstract class ActionColumn
protected string $prefix;
protected int $id;
public function __construct(string $baseUrl, int $id)
public function __construct(string $baseUrl, int $id, string $prefix = '')
{
if (!empty($prefix)){
$this->prefix = $prefix;
}
$this->baseUrl = $baseUrl;
$this->id = $id;
}

View File

@ -2,6 +2,7 @@
namespace Itguild\Tables;
use Itguild\Tables\ActionColumn\ActionColumn;
use Itguild\Tables\ActionColumn\DeleteActionColumn;
use Itguild\Tables\ActionColumn\EditActionColumn;
use Itguild\Tables\ActionColumn\ViewActionColumn;
@ -21,6 +22,7 @@ class ListJsonTable
private array $data;
private array $actionsArray = [];
private array $customActionsArray = [];
public function __construct(string $json)
{
@ -89,6 +91,11 @@ class ListJsonTable
}
}
public function addAction(ActionColumn $actionColumn): void
{
$this->customActionsArray[] = $actionColumn;
}
private function setActions(): void
{
if (isset($this->data['meta']['actions'])) {
@ -106,9 +113,10 @@ class ListJsonTable
}
}
}
$this->actionsArray = array_merge($this->actionsArray, $this->customActionsArray);
}
private function issetColumn($column)
private function issetColumn($column): bool
{
if (isset($this->data['meta']['columns'])) {
foreach ($this->data['meta']['columns'] as $key => $currentColumn) {