Improve models main view for easier access based on model type#6556
Improve models main view for easier access based on model type#6556
Conversation
…generic list and generic filters
🦋 Changeset detectedLatest commit: bbc7ed9 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6556 +/- ##
==========================================
- Coverage 48.63% 48.50% -0.13%
==========================================
Files 2591 2599 +8
Lines 46143 46428 +285
Branches 10873 10669 -204
==========================================
+ Hits 22441 22521 +80
- Misses 22466 23526 +1060
+ Partials 1236 381 -855
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ 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 updates the Models (Pages) list UX to better match domain-specific use cases by introducing Model Type–based tabs, making “Create model” context-aware, and removing the now-redundant filter/preset UI.
Changes:
- Added Model Type tabs (with counts + overflow dropdown) and wired the list query to filter by the active type via a new
activeTypeURL param. - Made the Create model flow context-aware (tab default + “last used type” persistence) and adjusted navigation from Model Type delete → Models list.
- Simplified the list header by removing ConditionalFilter + presets, and aligned styling/spacing across tabs/search/datagrid.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/modelTypes/hooks/usePageTypeDelete/usePageTypeDelete.tsx | Deep-links “view assigned items” into a specific Model Type tab when deleting a single type. |
| src/modeling/views/PageList/PageList.tsx | Reworks list state (active type tabs, search handling, create dialog defaults) and removes filter preset plumbing. |
| src/modeling/views/PageList/filters.ts | Removes the legacy page type filter config (filters UI no longer shown). |
| src/modeling/urls.ts | Replaces old tab/filter params with activeType and simplifies dialog types. |
| src/modeling/index.tsx | Drops ConditionalPageFilterProvider wrapper for the Models list route. |
| src/modeling/hooks/useModelTypeCounts.ts | Adds hook to fetch model types and per-type counts used by the tabs. |
| src/modeling/hooks/useLastUsedModelType.ts | Adds localStorage-backed “last used type” for defaulting the create picker. |
| src/modeling/hooks/useActiveModelType.ts | Adds URL + localStorage resolution and setter for the active Model Type tab. |
| src/modeling/components/PageTypePickerDialog/PageTypePickerDialog.tsx | Adds defaultPageTypeId support and preselection logic when dialog opens. |
| src/modeling/components/PageListPage/PageListPage.tsx | Replaces filter/presets header with Model Type tabs + search + bulk actions layout. |
| src/modeling/components/PageListPage/ModelTypeTabs/ModelTypeTabs.tsx | New tab strip component with counts and overflow (“More”) dropdown. |
| src/modeling/components/PageListPage/ModelTypeTabs/ModelTypeTabs.stories.tsx | Storybook coverage for ModelTypeTabs states (few/many/loading/empty). |
| src/modeling/components/PageListPage/ModelTypeTabs/messages.ts | i18n messages for the new tabs UI. |
| src/modeling/components/PageListDatagrid/PageListDatagrid.tsx | Adjusts datagrid checkbox column width to align with new inset header layout. |
| src/components/TableFilter/FilterTabs.tsx | Uses macaw-ui-next border token for better dark mode tab separator visibility. |
| src/components/TableFilter/FilterTab.tsx | Adds optional count rendering and improves tab label layout (inline + ellipsis). |
| src/components/Datagrid/Datagrid.tsx | Introduces rowMarkerWidth prop to control checkbox column width. |
| src/components/AppLayout/ListFilters/components/SearchTooltip/SearchTooltip.tsx | Adjusts cursor styling for tooltip trigger to use __cursor="help". |
| src/components/AppLayout/ListFilters/components/SearchInput.tsx | Updates search input wrapper styling to a single continuous bordered surface. |
| src/components/AppLayout/ListFilters/components/SearchInput.module.css | New CSS module to neutralize nested backgrounds and add focus-within surface tint. |
| locale/defaultMessages.json | Adds default messages for new ModelTypeTabs strings. |
Let's fix the generic lists UX to match the individual views and use-cases better.
Scope for the Models list view:
After
Before