49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace kernel\IGTabel;
|
||
|
|
||
|
use app\helpers\Debug;
|
||
|
|
||
|
class JSONCreator
|
||
|
{
|
||
|
protected array $informationArray = [];
|
||
|
|
||
|
public function __construct(array $meta, array $data)
|
||
|
{
|
||
|
|
||
|
$params = empty($meta['params']) ? ["class" => "table table-bordered", "border" => "1"] : $meta['params'];
|
||
|
if ($meta && $data) {
|
||
|
$this->informationArray = [
|
||
|
"meta" => [
|
||
|
"columns" => $meta['columns'],
|
||
|
"perPage" => $meta['perPage'] ?? 10,
|
||
|
"currentPage" => $meta['currentPage'] ?? 1,
|
||
|
"baseUrl" => $meta['baseUrl'] ?? '',
|
||
|
"actions" => $meta['actions'] ?? '',
|
||
|
"params" => $params
|
||
|
|
||
|
],
|
||
|
"data" => $data
|
||
|
];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param array $infArr
|
||
|
* @return string|null
|
||
|
*/
|
||
|
protected function toJson(array $infArr): ?string
|
||
|
{
|
||
|
if ($infArr)
|
||
|
return json_encode($infArr, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getJson(): ?string
|
||
|
{
|
||
|
return $this->toJson($this->informationArray);
|
||
|
}
|
||
|
}
|