Compare commits

...

5 Commits
0.3 ... master

Author SHA1 Message Date
708045664c example update 2024-08-29 13:15:41 +03:00
d3cda0bd8f merge 2024-08-29 12:46:28 +03:00
3bb6ae8b07 example update 2024-08-29 12:44:40 +03:00
850b0b315a fix JSON creator 2024-08-08 11:15:07 +03:00
cba0498e7d some fix 2024-08-07 15:40:01 +03:00
5 changed files with 134 additions and 60 deletions

View File

@ -2,7 +2,7 @@
"name": "itguild/eloquent-table",
"type": "library",
"require": {
"itguild/tables": "^0.1.9"
"itguild/tables": "^1.0"
},
"require-dev": {
"illuminate/database": "^12.0@dev",

166
composer.lock generated
View File

@ -4,8 +4,36 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "23ab91e73c3a10e841f8f2b12f05e49d",
"content-hash": "815b5be2be1ac86399ea520c5bdbe788",
"packages": [
{
"name": "itguild/tables",
"version": "1.0.5",
"source": {
"type": "git",
"url": "https://git.itguild.info/ItGuild/tables",
"reference": "ad18d94489c20599ac1080a8b4f7f3199f206fdf"
},
"type": "library",
"autoload": {
"psr-4": {
"Itguild\\Tables\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kavalar",
"email": "apuc06@mail.ru"
}
],
"time": "2024-08-29T10:13:51+00:00"
}
],
"packages-dev": [
{
"name": "brick/math",
"version": "0.12.1",
@ -500,12 +528,12 @@
"source": {
"type": "git",
"url": "https://github.com/illuminate/database.git",
"reference": "97a835e279896de51754c2316f9812884b294e2c"
"reference": "e8a4eba8573bb907b0336033851cad7adbca4394"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/illuminate/database/zipball/97a835e279896de51754c2316f9812884b294e2c",
"reference": "97a835e279896de51754c2316f9812884b294e2c",
"url": "https://api.github.com/repos/illuminate/database/zipball/e8a4eba8573bb907b0336033851cad7adbca4394",
"reference": "e8a4eba8573bb907b0336033851cad7adbca4394",
"shasum": ""
},
"require": {
@ -561,7 +589,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2024-08-01T21:50:50+00:00"
"time": "2024-08-16T18:32:47+00:00"
},
{
"name": "illuminate/filesystem",
@ -753,44 +781,18 @@
},
"time": "2024-08-05T14:24:50+00:00"
},
{
"name": "itguild/tables",
"version": "0.1.13",
"source": {
"type": "git",
"url": "https://git.itguild.info/ItGuild/tables",
"reference": "d98ddded07131f602486783f5f016002ea7d7fb7"
},
"type": "library",
"autoload": {
"psr-4": {
"Itguild\\Tables\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kavalar",
"email": "apuc06@mail.ru"
}
],
"time": "2024-08-07T09:43:14+00:00"
},
{
"name": "nesbot/carbon",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139"
"reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cb4374784c87d0a0294e8513a52eb63c0aff3139",
"reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
"reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
"shasum": ""
},
"require": {
@ -884,7 +886,7 @@
"type": "tidelift"
}
],
"time": "2024-07-16T22:29:20+00:00"
"time": "2024-08-19T06:22:39+00:00"
},
{
"name": "phpoption/phpoption",
@ -1190,18 +1192,86 @@
],
"time": "2024-08-06T10:13:52+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/finder",
"version": "7.2.x-dev",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "9a54be47a3813ace04e40e0903b651f3a52d952d"
"reference": "0470b8dc10ca08d23aeaabbed5b961c928e4d89d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/9a54be47a3813ace04e40e0903b651f3a52d952d",
"reference": "9a54be47a3813ace04e40e0903b651f3a52d952d",
"url": "https://api.github.com/repos/symfony/finder/zipball/0470b8dc10ca08d23aeaabbed5b961c928e4d89d",
"reference": "0470b8dc10ca08d23aeaabbed5b961c928e4d89d",
"shasum": ""
},
"require": {
@ -1252,7 +1322,7 @@
"type": "tidelift"
}
],
"time": "2024-08-06T10:13:52+00:00"
"time": "2024-08-13T14:29:53+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -1579,16 +1649,17 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "a50ed69ace45368e096bc3981f456089253ed6cb"
"reference": "a1c4be3a5885b9785b131c5a30d93e611848cb1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/a50ed69ace45368e096bc3981f456089253ed6cb",
"reference": "a50ed69ace45368e096bc3981f456089253ed6cb",
"url": "https://api.github.com/repos/symfony/translation/zipball/a1c4be3a5885b9785b131c5a30d93e611848cb1d",
"reference": "a1c4be3a5885b9785b131c5a30d93e611848cb1d",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^2.5|^3.0"
},
@ -1665,7 +1736,7 @@
"type": "tidelift"
}
],
"time": "2024-08-05T08:22:14+00:00"
"time": "2024-08-19T08:28:32+00:00"
},
{
"name": "symfony/translation-contracts",
@ -1752,12 +1823,12 @@
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
"reference": "4e954ea3322e0a2c6428159108c676428a05d748"
"reference": "e3e00b5002139adb0d5dadd6002e15b7b6cd371f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/4e954ea3322e0a2c6428159108c676428a05d748",
"reference": "4e954ea3322e0a2c6428159108c676428a05d748",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/e3e00b5002139adb0d5dadd6002e15b7b6cd371f",
"reference": "e3e00b5002139adb0d5dadd6002e15b7b6cd371f",
"shasum": ""
},
"replace": {
@ -1795,7 +1866,7 @@
"issues": "https://github.com/twbs/bootstrap/issues",
"source": "https://github.com/twbs/bootstrap/tree/main"
},
"time": "2024-08-07T04:51:04+00:00"
"time": "2024-08-27T12:36:45+00:00"
},
{
"name": "vlucas/phpdotenv",
@ -1957,7 +2028,6 @@
"time": "2022-03-08T17:03:00+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": {

View File

@ -44,16 +44,21 @@ try {
'currentPage' => 1,
'perPage' => 3,
'params' => ["class" => "table table-bordered", "border" => "2"],
'baseUrl' => "/admin/user"
'baseUrl' => "/admin/user",
'filters' => ["email"]
]));
$table->columns([
'created_at' => function ($data) {
if (!$data){
return null;
}
return (new DateTimeImmutable($data))->format("d-m-Y");
},
'username' => [
'filter' => [
'class' => \Itguild\Tables\Filter\InputTextFilter::class
]
],
'created_at' => [
'format' => 'date:d-m-Y',
'filter' => [
'class' => \Itguild\Tables\Filter\InputDateFilter::class
]
],
'updated_at' => function ($data) {
if (!$data){
return null;

View File

@ -50,7 +50,7 @@ class EloquentDataProvider
$this->meta['actions'] = $options['actions'] ?? [];
$this->filters = $options['filters'] ?? [];
$this->createQuery();
$this->jsonStr = (new JSONCreator($this->meta, $this->filters, $this->getCollection()->toArray()))->getJson();
$this->jsonStr = (new JSONCreator($this->meta, $this->getCollection()->toArray(), $this->filters,))->getJson();
}
public function createQuery(): void

View File

@ -7,7 +7,7 @@ class JSONCreator
{
protected array $informationArray = [];
public function __construct(array $meta, array $filters, array $data)
public function __construct(array $meta, array $data, array $filters = [])
{
$params = empty($meta['params']) ? ["class" => "table table-bordered", "border" => "1"] : $meta['params'];
if ($meta) {
@ -27,7 +27,6 @@ class JSONCreator
{
if ($infArr)
return json_encode($infArr, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
return null;
}