Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Add pageConfigHint and listConfigHint translation keys to ja, de, fr, es, ar, ru, pt, and ko locale files in the console.objectView section, matching the existing keys in en.ts and zh.ts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ix data flow propagation - Reorganized ViewConfigPanel UI into Page Config (toolbar/navigation/shell) and ListView Config (data/appearance/inline actions) sections - Moved showSearch/showFilters/showSort/clickIntoRecordDetails/addRecordViaForm/allowExport to Page section - Added section description hints for user clarity - Fixed Console renderListView to propagate showSearch/showSort/showFilters/striped/bordered/color/filter/sort to fullSchema - Fixed plugin-view generateViewSchema to use activeView values instead of hardcoded showSearch:false - Added showSearch/showSort/showFilters/striped/bordered/color to NamedListView type - Added showSearch/showSort/showFilters/striped/bordered/color to ListViewSchema TypeScript interface and Zod schema - Added i18n keys for section hints across all 10 locales Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
…date ROADMAP - Added 4 new ViewConfigPanel tests: page section layout, section hints, list-level actions, page toggle onViewUpdate - Added 3 type tests: NamedListView toolbar/display props, ListViewSchema props - Added 1 Zod validation test: ListViewSchema with showSearch/showSort/showFilters/striped/bordered/color - Updated ROADMAP.md propagation matrix (all ✅ for all view types) - Marked P1.8.1 Phases 2-6 items as complete where applicable Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Refactors the Console’s ViewConfigPanel to clearly separate page-level (toolbar/shell) vs list-level (data/appearance) settings, and extends schema/type propagation so toolbar/display flags and filter/sort reach non-grid view types consistently across Console ↔ plugin-view ↔ types.
Changes:
- Split
ViewConfigPanelUI into “Page Config” vs “ListView Config” sections and added localized hint text across all locales. - Propagated toolbar/display flags (showSearch/showSort/showFilters, striped/bordered, color) and filter/sort into
fullSchemaforrenderListView, and into plugin-view’sgenerateViewSchema. - Updated types + Zod schemas and added tests for the new/propagated properties.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/types/src/zod/objectql.zod.ts | Extends ListViewSchema Zod validation with toolbar/display fields. |
| packages/types/src/objectql.ts | Adds toolbar/display fields to NamedListView and ListViewSchema TS interfaces. |
| packages/types/src/tests/phase2-schemas.test.ts | Adds Zod validation test coverage for the new ListViewSchema fields. |
| packages/types/src/tests/p1-spec-alignment.test.ts | Adds type-level acceptance tests for NamedListView/ListViewSchema fields. |
| packages/plugin-view/src/ObjectView.tsx | Removes non-grid hardcode and propagates activeView-driven flags into generated view schemas. |
| packages/i18n/src/locales/zh.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/ru.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/pt.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/ko.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/ja.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/fr.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/es.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/en.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/de.ts | Adds section hint strings for the refactored panel. |
| packages/i18n/src/locales/ar.ts | Adds section hint strings for the refactored panel. |
| apps/console/src/components/ViewConfigPanel.tsx | Moves toolbar/navigation toggles into the Page section and adds section hints. |
| apps/console/src/components/ObjectView.tsx | Propagates toolbar/display flags and filter/sort into fullSchema for ListView. |
| apps/console/src/tests/ViewConfigPanel.test.tsx | Adds tests for section layout and live preview callbacks for page-level toggles. |
| ROADMAP.md | Updates roadmap status and propagation matrix to reflect the new propagation coverage. |
| ...(viewDef.filter?.length ? { filters: viewDef.filter } : {}), | ||
| ...(viewDef.sort?.length ? { sort: viewDef.sort } : {}), |
There was a problem hiding this comment.
The conditional spreads for filters/sort only apply when viewDef.filter/viewDef.sort are non-empty. This makes it impossible to clear an existing filter/sort via live preview (an explicit empty array won’t override listSchema.filters/listSchema.sort). Consider treating undefined as “no override” but allowing an empty array to override (e.g., check Array.isArray(viewDef.filter) / Array.isArray(viewDef.sort) instead of .length).
| ...(viewDef.filter?.length ? { filters: viewDef.filter } : {}), | |
| ...(viewDef.sort?.length ? { sort: viewDef.sort } : {}), | |
| ...(Array.isArray(viewDef.filter) ? { filters: viewDef.filter } : {}), | |
| ...(Array.isArray(viewDef.sort) ? { sort: viewDef.sort } : {}), |
| showSearch: activeView?.showSearch ?? schema.showSearch ?? false, | ||
| showSort: activeView?.showSort ?? schema.showSort ?? false, | ||
| showFilters: activeView?.showFilters ?? schema.showFilters ?? false, |
There was a problem hiding this comment.
showSearch/showSort/showFilters default to false when both activeView and schema omit them. That contradicts the ObjectViewSchema/NamedListView docs (@default true) and the registry defaults (showSearch/showFilters default to true). To preserve expected defaults, the fallback should be true (and only hide when explicitly set to false).
| showSearch: activeView?.showSearch ?? schema.showSearch ?? false, | |
| showSort: activeView?.showSort ?? schema.showSort ?? false, | |
| showFilters: activeView?.showFilters ?? schema.showFilters ?? false, | |
| showSearch: activeView?.showSearch ?? schema.showSearch ?? true, | |
| showSort: activeView?.showSort ?? schema.showSort ?? true, | |
| showFilters: activeView?.showFilters ?? schema.showFilters ?? true, |
ViewConfigPanel mixed page-level config (toolbar, navigation, shell) with list-level config (columns, appearance, data rendering), causing config changes to not propagate to non-grid view types.
generateViewSchemahardcodedshowSearch: falsefor all non-grid views, andrenderListViewomitted toolbar/display flags fromfullSchema.UI restructuring
pageConfigHint,listConfigHint) across all 10 localesData flow fixes
Console
renderListView— propagate missing properties tofullSchema:Plugin
generateViewSchema— replace hardcodedshowSearch: falsewith activeView-driven values for all view types:Type updates
NamedListView: addedshowSearch,showSort,showFilters,striped,bordered,colorListViewSchemaTS interface + Zod schema: addedshowSearch,showSort,showFilters,colorPropagation matrix (before → after)
Tests
8 new tests covering section layout, type properties, Zod validation. All 433 console + 128 types + 154 plugin-view tests pass.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.