Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…tionalFormatting, config panel width Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
… compliance Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
|
@copilot 这是一个元数据驱动的项目,我要优化的是整个平台的能力和界面,而不是example某一个应用的界面 |
…g, row hover checkbox, toolbar separators, config panel defaultCollapsed Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
已重构为平台级别改动 (974e56b): 平台核心能力提升:
CRM Product 视图仅作为示例验证,核心改动都在 |
|
@copilot 仔细评估是否已经完成了任务中要求的所有开发细节 |
…arch left, recent collapsed, tab badge Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
逐项审计后发现4处遗漏,已在 291dd0d 补齐: 本次补齐的遗漏项:
Issue 清单对照(全部4个板块): 1️⃣ Grid区:✅ IS ACTIVE checkbox / ✅ 价格 currency 格式化 / ✅ rowHeight short / ✅ 行号 hover checkbox / ✅ Stock=0 红色 / ✅ Stock<5 黄色 / ✅ SKU/CATEGORY 收窄 / ✅ 价格右对齐 |
There was a problem hiding this comment.
Pull request overview
This PR delivers comprehensive platform-level UI enhancements to achieve Airtable-level UX parity across the ObjectUI system. The changes target core packages (packages/) rather than example-specific metadata, implementing systematic improvements to DataTable, ObjectGrid, ListView toolbar, ViewTabBar, AppSidebar, and ViewConfigPanel.
Changes:
- Added
rowStylecallback prop to DataTableSchema for runtime conditional formatting support, with ObjectGrid wiring conditionalFormatting rules to rowStyle - Enhanced ListView toolbar with visual separators between button groups, repositioned search to left end (Airtable-style), and added density button active state highlighting
- Upgraded ViewTabBar indicators from plain dots to descriptive badges (F/S/FS) with tooltips
- Set advanced config panel sections (userActions, sharing, accessibility) to defaultCollapsed, with config panel width increased to 320px
- Updated CRM product views with detailed column configs including types, widths, alignment, and conditional formatting rules
- Comprehensive test coverage with 7 new CRM metadata tests and 136 updated ViewConfigPanel tests
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/types/src/data-display.ts | Added rowStyle callback prop to DataTableSchema for per-row CSSProperties styling |
| packages/components/src/renderers/complex/data-table.tsx | Applied rowStyle callback to TableRow; row number column shows checkbox on hover when selectable |
| packages/plugin-grid/src/ObjectGrid.tsx | Wired conditionalFormatting rules to rowStyle using evaluatePlainCondition from core |
| packages/plugin-list/src/ListView.tsx | Added toolbar visual separators; moved search to left; enhanced density button active state |
| packages/plugin-view/src/ViewTabBar.tsx | Replaced dot indicators with descriptive badges (F/S/FS) + tooltips |
| packages/components/src/index.css | Increased config-panel-width from 280px to 320px |
| apps/console/src/components/AppSidebar.tsx | Recent items section now defaults to collapsed with chevron toggle |
| apps/console/src/utils/view-config-schema.tsx | Set userActions, sharing, and accessibility sections to defaultCollapsed |
| examples/crm/src/views/product.view.ts | Upgraded column configs from string[] to ListColumn[] with types, widths, alignment, and conditional formatting |
| examples/crm/src/tests/crm-metadata.test.ts | Added 7 tests validating column configs, types, rowHeight, and conditional formatting |
| apps/console/src/tests/ViewConfigPanel.test.tsx | Updated 136 tests to expand defaultCollapsed sections before accessing fields |
| ROADMAP.md | Added comprehensive P2.8 section documenting all Airtable parity optimizations |
|
|
||
| ### P2.8 Airtable Parity: Product View & Global UI Detail Optimization | ||
|
|
||
| > Platform-level grid, toolbar, sidebar, and config panel optimizations for Airtable-level experience (Issue #768). |
There was a problem hiding this comment.
The issue number reference is incorrect. This PR fixes issue #847 (as stated in the PR description), but the ROADMAP references issue #768. Update the reference to #847 for consistency.
| > Platform-level grid, toolbar, sidebar, and config panel optimizations for Airtable-level experience (Issue #768). | |
| > Platform-level grid, toolbar, sidebar, and config panel optimizations for Airtable-level experience (Issue #847). |
Platform-level enhancements to DataTable, ObjectGrid, ListView toolbar, ViewTabBar, AppSidebar, and ViewConfigPanel for Airtable-level UX parity. Changes target core packages (
packages/), not just example metadata.Platform: DataTable & ObjectGrid enhancements
rowStylecallback prop toDataTableSchematype (packages/types/src/data-display.ts) — enables per-row inlineCSSProperties<TableRow>indata-table.tsxappliesrowStylecallback for runtime row stylingconditionalFormattingrules torowStyle— evaluates both spec-format (condition/style) and ObjectUI-format (field/operator/value) rules per row usingevaluatePlainConditionfrom@object-ui/core#) column: hover now shows<Checkbox>for multi-select whenselectablemode is enabled, replacing the expand iconPlatform: ListView toolbar
<div>separators (h-4 w-px bg-border/60) between toolbar button groups: Search | Hide Fields | Filter/Sort/Group | Color/Density | Exportw-48, Airtable-style placement)bg-primary/10 border border-primary/20 text-primary) when density is non-default, consistent with Filter/Sort/Group/Color buttonsPlatform: ViewTabBar indicators
•dot indicator replaced with descriptive badge (F/S/FS) usingbg-primary/15styling +<Tooltip>showing "Active filters" / "Active sort"Platform: Console sidebar
Platform: ViewConfigPanel advanced sections
userActions,sharing, andaccessibilitysections set todefaultCollapsed: true— common settings remain expanded, advanced/uncommon settings folded by defaultPlatform: Config panel width (
index.css)--config-panel-width:280px→320pxCRM example: Product view column configs (
product.view.ts)string[]toListColumn[]with explicitfield,label,width,type,alignas validation of platform capabilitiesis_active:type: 'boolean',price:type: 'currency'+align: 'right',rowHeight: 'short'Tests
defaultCollapsedsections (expand before access)ROADMAP
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.