<?php
namespace admin\ViewModels\Common;

class PaginatedTableViewModel
{
    public array $columns;
    public array $rows;
    public array $filters;
    public array $sort;
    public array $pagination;
    public array $query;
    public array $perPageOptions;
    public array $sortableColumns;
    public string $basePath;
    public string $emptyMessage;
    public ?string $createUrl;
    public ?string $createLabel;
    public ?string $customScriptView;

    public function __construct(
        array $columns = [],
        array $rows = [],
        array $filters = [],
        array $sort = [],
        array $pagination = [],
        array $query = [],
        array $perPageOptions = [5, 10, 15, 25, 50, 100],
        array $sortableColumns = [],
        string $basePath = '',
        string $emptyMessage = 'Brak danych.',
        ?string $createUrl = null,
        ?string $createLabel = null,
        ?string $customScriptView = null
    ) {
        $this->columns = $columns;
        $this->rows = $rows;
        $this->filters = $filters;
        $this->sort = $sort;
        $this->pagination = $pagination;
        $this->query = $query;
        $this->perPageOptions = $perPageOptions;
        $this->sortableColumns = $sortableColumns;
        $this->basePath = $basePath;
        $this->emptyMessage = $emptyMessage;
        $this->createUrl = $createUrl;
        $this->createLabel = $createLabel;
        $this->customScriptView = $customScriptView;
    }
}
?>
