Conversation
vjik
commented
Mar 19, 2026
| Q | A |
|---|---|
| Is bugfix? | ❌ |
| New feature? | ✔️ |
| Breaks BC? | ❌ |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #54 +/- ##
============================================
- Coverage 13.38% 13.21% -0.17%
- Complexity 378 382 +4
============================================
Files 121 122 +1
Lines 2234 2262 +28
============================================
Hits 299 299
- Misses 1935 1963 +28 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR introduces an HTMX-powered rendering path for the Users listing so the grid can be refreshed via partial HTML responses instead of full-page renders.
Changes:
- Extracted the Users GridView into a dedicated
UsersListwidget and added HTMX attributes to its container. - Updated the Users list action to return only the grid HTML when the request is an HTMX request.
- Added HTMX as a global site asset dependency and introduced a
createHtmlResponse()helper on the siteResponseFactory.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/UseCase/Users/List/template.php |
Replaces inline GridView rendering with UsersList::widget(). |
src/UseCase/Users/List/UsersList.php |
New widget encapsulating the GridView and HTMX container attributes. |
src/UseCase/Users/List/Action.php |
Returns partial HTML for HTMX requests; otherwise renders the full template. |
src/Presentation/Site/ResponseFactory/ResponseFactory.php |
Adds HtmlResponseFactory dependency and createHtmlResponse() helper. |
src/Presentation/Site/Layout/MainAsset.php |
Adds HtmxAsset as a dependency so HTMX loads site-wide. |
src/Presentation/Site/Layout/HtmxAsset.php |
New asset bundle to load HTMX from a CDN with SRI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
This PR introduces an htmx-enabled Users listing by extracting the existing GridView configuration into a reusable widget and returning a partial HTML response for htmx requests, enabling in-place sorting/filtering/pagination updates without a full page reload.
Changes:
- Replaced the inline Users
GridViewmarkup with a newUsersListwidget that addshx-*attributes to GridView interactions. - Updated the Users list action to detect htmx requests and return only the grid HTML for partial page updates.
- Added an
HtmxAsset(loaded viaMainAsset) and introducedResponseFactory::createHtmlResponse()for returning raw HTML responses.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/UseCase/Users/List/template.php | Switches from inline GridView to rendering the new UsersList widget. |
| src/UseCase/Users/List/UsersList.php | New widget encapsulating Users GridView configuration + htmx attributes for AJAX updates. |
| src/UseCase/Users/List/Action.php | Returns partial HTML for htmx requests, otherwise renders the full page template. |
| src/Presentation/Site/ResponseFactory/ResponseFactory.php | Adds createHtmlResponse() helper to emit HTML responses (used for htmx partial). |
| src/Presentation/Site/Layout/MainAsset.php | Adds HtmxAsset dependency so htmx is available on site pages. |
| src/Presentation/Site/Layout/HtmxAsset.php | New asset bundle loading htmx from jsdelivr with SRI. |
| composer.json | Bumps dev dependency vimeo/psalm version constraint. |
| composer.lock | Updates locked dependency versions/hashes accordingly. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.