From e40a97cb5e2e58872d360889d4164d453e2b7cf3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:03:22 +0000 Subject: [PATCH 1/3] Initial plan From 8de119ba119f9c014b4d0d15746efd91fe1657e5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:12:14 +0000 Subject: [PATCH 2/3] Fix TypeScript build errors in CI - Remove unused import of Tabs, TabsList, TabsTrigger from ObjectView.tsx - Fix ObjectGantt schema type from 'gantt' to 'object-grid' with gantt config - Fix dashboard widget configuration by moving metric properties to options - Remove unused @ts-expect-error directives from test files Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/console/src/components/ObjectView.tsx | 22 +++++++-------- examples/crm/objectstack.config.ts | 28 ++++++++----------- .../plugin-form/src/ObjectForm.msw.test.tsx | 1 - .../plugin-grid/src/ObjectGrid.msw.test.tsx | 1 - 4 files changed, 22 insertions(+), 30 deletions(-) diff --git a/apps/console/src/components/ObjectView.tsx b/apps/console/src/components/ObjectView.tsx index 557366418c..9437c19f2f 100644 --- a/apps/console/src/components/ObjectView.tsx +++ b/apps/console/src/components/ObjectView.tsx @@ -4,7 +4,7 @@ import { ObjectGrid } from '@object-ui/plugin-grid'; import { ObjectKanban } from '@object-ui/plugin-kanban'; import { ObjectCalendar } from '@object-ui/plugin-calendar'; import { ObjectGantt } from '@object-ui/plugin-gantt'; -import { Button, Tabs, TabsList, TabsTrigger } from '@object-ui/components'; +import { Button } from '@object-ui/components'; import { Plus, Calendar as CalendarIcon, Kanban as KanbanIcon, Table as TableIcon, AlignLeft } from 'lucide-react'; export function ObjectView({ dataSource, objects, onEdit }: any) { @@ -122,19 +122,17 @@ export function ObjectView({ dataSource, objects, onEdit }: any) { key={key} {...commonProps} schema={{ - type: 'gantt', + type: 'object-grid', objectName: objectDef.name, - filter: { - gantt: { - startDateField: activeView.startDateField || 'start_date', - endDateField: activeView.endDateField || 'end_date', - titleField: activeView.titleField || 'name', - progressField: activeView.progressField || 'progress', - dependenciesField: activeView.dependenciesField, - colorField: activeView.colorField, - } + gantt: { + startDateField: activeView.startDateField || 'start_date', + endDateField: activeView.endDateField || 'end_date', + titleField: activeView.titleField || 'name', + progressField: activeView.progressField || 'progress', + dependenciesField: activeView.dependenciesField, + colorField: activeView.colorField, } - }} + } as any} {...interactionProps} /> ); diff --git a/examples/crm/objectstack.config.ts b/examples/crm/objectstack.config.ts index 2534265e8b..954fa269ec 100644 --- a/examples/crm/objectstack.config.ts +++ b/examples/crm/objectstack.config.ts @@ -85,47 +85,43 @@ export default defineStack({ // --- KPI Row --- { type: 'metric', - component: { - type: 'metric', + layout: { x: 0, y: 0, w: 1, h: 1 }, + options: { label: 'Total Revenue', value: '$1,245,000', trend: { value: 12.5, direction: 'up', label: 'vs last month' }, icon: 'DollarSign' - }, - layout: { x: 0, y: 0, w: 1, h: 1 } + } }, { type: 'metric', - component: { - type: 'metric', + layout: { x: 1, y: 0, w: 1, h: 1 }, + options: { label: 'Active Deals', value: '45', trend: { value: 2.1, direction: 'down', label: 'vs last month' }, icon: 'Briefcase' - }, - layout: { x: 1, y: 0, w: 1, h: 1 } + } }, { type: 'metric', - component: { - type: 'metric', + layout: { x: 2, y: 0, w: 1, h: 1 }, + options: { label: 'Win Rate', value: '68%', trend: { value: 4.3, direction: 'up', label: 'vs last month' }, icon: 'Trophy' - }, - layout: { x: 2, y: 0, w: 1, h: 1 } + } }, { type: 'metric', - component: { - type: 'metric', + layout: { x: 3, y: 0, w: 1, h: 1 }, + options: { label: 'Avg Deal Size', value: '$24,000', trend: { value: 1.2, direction: 'up', label: 'vs last month' }, icon: 'BarChart3' - }, - layout: { x: 3, y: 0, w: 1, h: 1 } + } }, // --- Row 2: Charts --- diff --git a/packages/plugin-form/src/ObjectForm.msw.test.tsx b/packages/plugin-form/src/ObjectForm.msw.test.tsx index ceb92de1c5..39ce14fb09 100644 --- a/packages/plugin-form/src/ObjectForm.msw.test.tsx +++ b/packages/plugin-form/src/ObjectForm.msw.test.tsx @@ -7,7 +7,6 @@ import { setupServer } from 'msw/node'; import { http, HttpResponse } from 'msw'; import { registerAllFields } from '@object-ui/fields'; import React from 'react'; -// @ts-expect-error - Import from examples import { ContactObject } from '../../../examples/crm/src/objects/contact.object'; // Register widget renderers diff --git a/packages/plugin-grid/src/ObjectGrid.msw.test.tsx b/packages/plugin-grid/src/ObjectGrid.msw.test.tsx index d4256d4da0..de8e42dd21 100644 --- a/packages/plugin-grid/src/ObjectGrid.msw.test.tsx +++ b/packages/plugin-grid/src/ObjectGrid.msw.test.tsx @@ -7,7 +7,6 @@ import { setupServer } from 'msw/node'; import { http, HttpResponse } from 'msw'; import { registerAllFields } from '@object-ui/fields'; import React from 'react'; -// @ts-expect-error - Import from examples import { ContactObject } from '../../../examples/crm/src/objects/contact.object'; registerAllFields(); From fc35b5f1bd76074fd5cc2c1937cc5b7c6c48ecd5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:14:08 +0000 Subject: [PATCH 3/3] Add explanatory comment for gantt schema type workaround Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- apps/console/src/components/ObjectView.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/console/src/components/ObjectView.tsx b/apps/console/src/components/ObjectView.tsx index 9437c19f2f..820d2346be 100644 --- a/apps/console/src/components/ObjectView.tsx +++ b/apps/console/src/components/ObjectView.tsx @@ -124,6 +124,8 @@ export function ObjectView({ dataSource, objects, onEdit }: any) { schema={{ type: 'object-grid', objectName: objectDef.name, + // Gantt config is read by ObjectGantt via getGanttConfig helper + // TypeScript workaround: gantt property not in ObjectGridSchema but supported by implementation gantt: { startDateField: activeView.startDateField || 'start_date', endDateField: activeView.endDateField || 'end_date',