Files
tables/examples/simple.php
T
2024-08-28 14:21:00 +03:00

79 lines
1.9 KiB
PHP

<?php
require_once "../vendor/autoload.php";
use Itguild\Tables\Filter\InputFilter;
use Itguild\Tables\Filter\SelectFilter;
use Itguild\Tables\ListJsonTable;
$json = file_get_contents('simple.json');
$table = new ListJsonTable($json);
$table->columns([
"created_at" => [
"format" => "date:Y-m-d",
'filter' => [
'class' => InputFilter::class,
'param' => 'date'
]
],
'description' => [
"format" => "html",
"style" => ["width" => "300px"],
"filter" => [
'class' => InputFilter::class,
'param' => 'text'
],
"value" => function ($cell) {
return "<span style='color: sienna'>$cell</span>";
}
],
'description2' => [
"format" => "html",
"filter" => [
'class' => SelectFilter::class,
'param' => ['black', 'red', 'green', 'blue', 'yellow']
],
],
'status' => [
"format" => "integer",
"filter" => [
'class' => SelectFilter::class,
'param' => getStatusLabel()
],
"value" => function ($cell) {
return getStatusLabel()[$cell];
}],
'k33' => [
"format" => "integer",
'filter' => [
'class' => InputFilter::class,
'param' => 'range'
]
],
'email' => function ($cell) {
return "<span style='color: aqua'>$cell</span>";
},
]);
$table->afterPrint(function ($meta) {
return "<div>After Print</div>";
});
$table->addColumn("Колонка 33", "k33", function ($id) {
return "my ID: " . $id;
});
$table->addColumn("Колонка 34", "k34", function ($id) {
return "some34";
});
$table->create();
$table->render();
function getStatusLabel(): array
{
return [
0 => "На модерации",
1 => "Активный",
2 => "Модератор",
99 => "Удален",
];
}