Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
85c4a850b1 | |||
02ded1a613 | |||
c648bd37b6 | |||
cf347f1dc2 | |||
4bdd883d67 | |||
f9fc6b9f17 |
@ -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;
|
||||
}
|
@ -4,7 +4,7 @@ namespace Itguild\Tables\ActionColumn;
|
||||
|
||||
class DeleteActionColumn extends ActionColumn
|
||||
{
|
||||
protected string $prefix = "/form-delete/";
|
||||
protected string $prefix = "/delete/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
@ -5,7 +5,7 @@ namespace Itguild\Tables\ActionColumn;
|
||||
class EditActionColumn extends ActionColumn
|
||||
{
|
||||
|
||||
protected string $prefix = "/form-edit/";
|
||||
protected string $prefix = "/edit/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
@ -4,7 +4,7 @@ namespace Itguild\Tables\ActionColumn;
|
||||
|
||||
class ViewActionColumn extends ActionColumn
|
||||
{
|
||||
protected string $prefix = "/form-item/";
|
||||
protected string $prefix = "/view/";
|
||||
|
||||
public function fetch(): string
|
||||
{
|
@ -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,15 +22,16 @@ class ListJsonTable
|
||||
private array $data;
|
||||
|
||||
private array $actionsArray = [];
|
||||
private array $customActionsArray = [];
|
||||
|
||||
public function __construct(string $json)
|
||||
{
|
||||
$this->beforePrintCell = false;
|
||||
$this->beforePrint = function (){};
|
||||
$this->beforePrint = function () {
|
||||
};
|
||||
$this->json = $json;
|
||||
$this->data = json_decode($this->json, true);
|
||||
$this->baseUrl = $this->data['meta']['baseUrl'] ?? '';
|
||||
$this->setActions();
|
||||
}
|
||||
|
||||
public function beginTable(): void
|
||||
@ -88,6 +90,11 @@ class ListJsonTable
|
||||
}
|
||||
}
|
||||
|
||||
public function addAction(string $actionColumn): void
|
||||
{
|
||||
$this->customActionsArray[] = $actionColumn;
|
||||
}
|
||||
|
||||
private function setActions(): void
|
||||
{
|
||||
if (isset($this->data['meta']['actions'])) {
|
||||
@ -105,9 +112,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) {
|
||||
@ -122,12 +130,11 @@ class ListJsonTable
|
||||
|
||||
private function is_fillable($column): bool
|
||||
{
|
||||
if (isset($this->data['meta']['fillable'])){
|
||||
if (isset($this->data['meta']['fillable'])) {
|
||||
if (in_array($column, $this->data['meta']['fillable'])) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -145,8 +152,9 @@ class ListJsonTable
|
||||
return $actions;
|
||||
}
|
||||
|
||||
public function create()
|
||||
public function create(): void
|
||||
{
|
||||
$this->setActions();
|
||||
$this->beginTable();
|
||||
$this->createThead();
|
||||
$this->createTbody();
|
||||
|
Reference in New Issue
Block a user