全量排查结果
对 objectstack-ai/hotcrm 所有 dashboard 元数据进行全面合规性检查,发现所有 table widget 的 options.columns 使用了字符串数组(['name', ...]),而 ObjectUI 渲染器期望的是 { header, accessorKey } 对象数组格式,导致运行时 TypeError: Cannot read properties of undefined (reading 'columns')。
主要问题
- 所有 table widget 都用了错误格式的 columns:
- 错误:options.columns: ['name', 'amount', ...]
- 正确:options.columns: [ { header: 'Name', accessorKey: 'name' }, ... ]
- 缺少 options.data.provider 声明(建议补齐,和 ObjectUI 官方 example 看齐)。
涉及文件与 widget
已在所有 packages 下 .dashboard.ts 文件发现如下 table widget 相关问题:
- packages/crm/src/sales.dashboard.ts → top_10_opportunities, team_performance_this_quarter
- packages/crm/src/crm.dashboard.ts → deals_closing_this_month
- packages/crm/src/executive.dashboard.ts → top_deals
- packages/finance/src/finance.dashboard.ts → upcoming_renewals
- packages/products/src/cpq.dashboard.ts → recent_quotes
- packages/support/src/support.dashboard.ts → recent_escalated_cases
- packages/marketing/src/marketing.dashboard.ts → recent_campaigns
- packages/analytics/src/analytics.dashboard.ts → recent_report_activity
- packages/community/src/community.dashboard.ts → recent_topics
修复建议
- columns 必须为对象数组,示例:
options: {
columns: [
{ header: 'Name', accessorKey: 'name' },
{ header: 'Amount', accessorKey: 'amount' }
],
data: { provider: 'object', object: 'opportunity' }
}
- 参考 objectui/examples/crm/dashboard, 以及 ObjectUI 渲染 contract
- 补全所有表格 widget 的 columns/data,并回归全量 dashboard 展示
- 更新 CHANGELOG.md,强相关联动各业务包 dashboard
参考
全量排查结果
对 objectstack-ai/hotcrm 所有 dashboard 元数据进行全面合规性检查,发现所有 table widget 的 options.columns 使用了字符串数组(['name', ...]),而 ObjectUI 渲染器期望的是 { header, accessorKey } 对象数组格式,导致运行时 TypeError: Cannot read properties of undefined (reading 'columns')。
主要问题
涉及文件与 widget
已在所有 packages 下 .dashboard.ts 文件发现如下 table widget 相关问题:
修复建议
参考