Merge branch 'master' of https://git.itguild.info/ItGuild/tables
This commit is contained in:
		@@ -20,7 +20,7 @@ class JasonTable
 | 
			
		||||
        $this->beforePrintCell = $closure;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getCustomCell(string $key, string $cell)
 | 
			
		||||
    public function getCustomCell(string $key, string|null $cell)
 | 
			
		||||
    {
 | 
			
		||||
        if (is_array($this->beforePrintCell)) {
 | 
			
		||||
            foreach ($this->beforePrintCell as $currentKey => $closure) {
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ class ListJsonTable extends JasonTable
 | 
			
		||||
 | 
			
		||||
    #[NoReturn] public function __construct(string $json)
 | 
			
		||||
    {
 | 
			
		||||
        $this->beforePrintCell = false;
 | 
			
		||||
        $this->beforePrintCell = [];
 | 
			
		||||
        $this->json = $json;
 | 
			
		||||
        $this->data = json_decode($this->json, true);
 | 
			
		||||
        $this->baseUrl = $this->data['meta']['baseUrl'] ?? '';
 | 
			
		||||
@@ -86,7 +86,7 @@ class ListJsonTable extends JasonTable
 | 
			
		||||
                }
 | 
			
		||||
                foreach ($row as $key => $cell) {
 | 
			
		||||
                    if ($this->issetColumn($key) and $this->is_fillable($key)) {
 | 
			
		||||
                        if($this->beforePrintCell and $cell !== null) {
 | 
			
		||||
                        if($this->beforePrintCell) {
 | 
			
		||||
                            $cell = $this->getCustomCell($key, $cell);
 | 
			
		||||
                        }
 | 
			
		||||
                        $this->html .= "<td>" . $cell . "</td>";
 | 
			
		||||
@@ -276,10 +276,10 @@ class ListJsonTable extends JasonTable
 | 
			
		||||
        if ($this->pagination) {
 | 
			
		||||
            $options = [
 | 
			
		||||
                'countItem' => $this->data['meta']['total'],
 | 
			
		||||
                'perPage' => $this->data['meta']['perPage'],
 | 
			
		||||
                'currentPage' => $this->data['meta']['currentPage'],
 | 
			
		||||
                'baseUrl' => $this->baseUrl,
 | 
			
		||||
                'prefix' => $this->data['meta']['paginationPrefix'],
 | 
			
		||||
                'perPage' => $this->data['meta']['perPage'] ?? 10,
 | 
			
		||||
                'currentPage' => $this->data['meta']['currentPage'] ?? 1,
 | 
			
		||||
                'baseUrl' => $this->baseUrl ?? '',
 | 
			
		||||
                'prefix' => $this->data['meta']['paginationPrefix'] ?? '/page',
 | 
			
		||||
            ];
 | 
			
		||||
            $pagination = new Pagination($options);
 | 
			
		||||
            $pagination->create();
 | 
			
		||||
 
 | 
			
		||||
@@ -13,9 +13,14 @@ class ViewJsonTable extends JasonTable
 | 
			
		||||
    private array $dataJson;
 | 
			
		||||
    public function __construct($json)
 | 
			
		||||
    {
 | 
			
		||||
        $this->beforePrintCell = [];
 | 
			
		||||
        $this->json = $json;
 | 
			
		||||
        $this->data = json_decode($this->json, true);
 | 
			
		||||
        $this->dataJson = $this->data['data'];
 | 
			
		||||
        $this->beforePrintHook = function () {
 | 
			
		||||
        };
 | 
			
		||||
        $this->afterPrintHook = function () {
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function beginTable(): void
 | 
			
		||||
@@ -34,7 +39,7 @@ class ViewJsonTable extends JasonTable
 | 
			
		||||
    {
 | 
			
		||||
        foreach ($this->data['meta']['rows'] as $key => $row){
 | 
			
		||||
            if ($this->issetRow($key)){
 | 
			
		||||
                if ($this->beforePrintCell and $this->dataJson[$key] !== null) {
 | 
			
		||||
                if ($this->beforePrintCell) {
 | 
			
		||||
                    $this->dataJson[$key] = $this->getCustomCell($key, $this->dataJson[$key]);
 | 
			
		||||
                }
 | 
			
		||||
                $this->html .= "<tr><th>" . $row . "</th><td>" . $this->dataJson[$key] . "</td></tr>";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user