{"id":24916867,"url":"https://github.com/pentiminax/ux-datatables","last_synced_at":"2026-05-02T12:05:21.259Z","repository":{"id":275157332,"uuid":"925228062","full_name":"pentiminax/ux-datatables","owner":"pentiminax","description":"UX DataTables is a Symfony bundle integrating the DataTables library in Symfony applications.","archived":false,"fork":false,"pushed_at":"2026-04-20T20:01:37.000Z","size":1240,"stargazers_count":61,"open_issues_count":6,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-20T21:16:03.796Z","etag":null,"topics":["datatables","datatables-bundle","php","symfony-bundle","symfony-ux"],"latest_commit_sha":null,"homepage":"https://pentiminax.github.io/ux-datatables/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pentiminax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-01-31T13:33:08.000Z","updated_at":"2026-04-20T19:57:31.000Z","dependencies_parsed_at":"2025-02-28T09:52:39.199Z","dependency_job_id":"3e7788ed-13d0-4f54-a9d1-8a31f515aa1b","html_url":"https://github.com/pentiminax/ux-datatables","commit_stats":null,"previous_names":["pentiminax/ux-datatables"],"tags_count":85,"template":false,"template_full_name":null,"purl":"pkg:github/pentiminax/ux-datatables","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentiminax%2Fux-datatables","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentiminax%2Fux-datatables/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentiminax%2Fux-datatables/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentiminax%2Fux-datatables/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pentiminax","download_url":"https://codeload.github.com/pentiminax/ux-datatables/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pentiminax%2Fux-datatables/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32067626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T21:26:33.338Z","status":"ssl_error","status_checked_at":"2026-04-20T21:26:22.081Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datatables","datatables-bundle","php","symfony-bundle","symfony-ux"],"created_at":"2025-02-02T08:18:43.006Z","updated_at":"2026-05-02T12:05:21.253Z","avatar_url":"https://github.com/pentiminax.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# UX DataTables\n\n[![Latest Stable Version](https://img.shields.io/packagist/v/pentiminax/ux-datatables.svg?style=flat-square)](https://packagist.org/packages/pentiminax/ux-datatables)\n[![PHP Version](https://img.shields.io/packagist/php-v/pentiminax/ux-datatables?style=flat-square)](https://packagist.org/packages/pentiminax/ux-datatables)\n[![Downloads total](https://img.shields.io/packagist/dt/pentiminax/ux-datatables.svg?style=flat-square)](https://packagist.org/packages/pentiminax/ux-datatables/stats)\n[![Coverage](https://img.shields.io/codecov/c/github/pentiminax/ux-datatables?style=flat-square)](https://codecov.io/gh/pentiminax/ux-datatables)\n\nUX DataTables is a Symfony bundle integrating the [DataTables][1]\nlibrary in Symfony applications.\n\n[Video tutorial](https://youtu.be/qYHRXr_qdPY)\n\n[1]: https://datatables.net\n\n## Requirements\n- PHP 8.3 or higher\n- Symfony StimulusBundle (installed through Symfony UX)\n- Composer\n\n## Installation\n\nInstall the library via Composer:\n\n```console\ncomposer require pentiminax/ux-datatables\n```\n\n## Usage\n\n### 1. Declare a DataTable\n\n```php\nuse App\\Entity\\User;\nuse Pentiminax\\UX\\DataTables\\Attribute\\AsDataTable;\nuse Pentiminax\\UX\\DataTables\\Column\\BooleanColumn;\nuse Pentiminax\\UX\\DataTables\\Column\\DateColumn;\nuse Pentiminax\\UX\\DataTables\\Column\\NumberColumn;\nuse Pentiminax\\UX\\DataTables\\Column\\TextColumn;\nuse Pentiminax\\UX\\DataTables\\Model\\AbstractDataTable;\n\n#[AsDataTable(User::class)]\nfinal class UserDataTable extends AbstractDataTable\n{\n    public function configureColumns(): iterable\n    {\n        return [\n            NumberColumn::new('id', 'ID'),\n            TextColumn::new('firstName', 'First name'),\n            TextColumn::new('email', 'Email'),\n            DateColumn::new('createdAt', 'Created at'),\n        ];\n    }\n}\n```\n\nColumn variants are configured fluently after `new()`:\n\n```php\nTextColumn::new('name')-\u003eutf8();\nTextColumn::new('content')-\u003ehtml()-\u003eutf8();\nNumberColumn::new('price')-\u003eformatted();\nBooleanColumn::new('active')-\u003erenderAsSwitch();\n```\n\n### 2. Wire it in a controller\n\n```php\n#[Route('/users', name: 'app_users')]\npublic function index(UserDataTable $table, Request $request): Response\n{\n    $table-\u003ehandleRequest($request);\n\n    if ($table-\u003eisRequestHandled()) {\n        return $table-\u003egetResponse();\n    }\n\n    return $this-\u003erender('user/index.html.twig', [\n        'table' =\u003e $table,\n    ]);\n}\n```\n\n### 3. Render in Twig\n\n```twig\n{{ render_datatable(table) }}\n```\n\n\u003e Tip: run `php bin/console make:datatable` to scaffold a DataTable class from any Doctrine entity.\n\n## Documentation\n- [Online documentation](https://pentiminax.github.io/ux-datatables/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpentiminax%2Fux-datatables","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpentiminax%2Fux-datatables","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpentiminax%2Fux-datatables/lists"}