Showcase: convert Pagination page to gts #3283
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📌 Summary
If merged, this PR would convert the pagination showcase page to gts.
This page is one of the few examples where we need to keep the
controller
file because it usesqueryParams
in 2 of the demos. An unexpected benefit of breaking up the page into sub-components means these demos are actually more in line with how consumers implement these UIs.The source of truth for the state is in the URL, the controller only contains the list of queryParams + tracked copy of the param. Then in the component, when something (like page size) changes, you transition to the same URL and update the appropriate params which causes the tracked state in the controller to change and then makes the component re-render.
Passing the controller to the sub components is the easiest way to get the current state of the query params to the appropriate place.
Note: I had to update the acceptance tests a bit to match the new query param names + ids.
🔗 External links
Jira ticket: HDS-5348
👀 Component checklist
💬 Please consider using conventional comments when reviewing this PR.
📋 PCI review checklist
Examples of changes to controls include access controls, encryption, logging, etc.
Examples include changes to operating systems, ports, protocols, services, cryptography-related components, PII processing code, etc.