@@ -59,6 +59,33 @@ function getDataConfig(schema: ObjectGridSchema): ViewData | null {
5959 return null ;
6060}
6161
62+ /**
63+ * Helper to convert sort config to QueryParams format
64+ */
65+ function convertSortToQueryParams ( sort : string | any [ ] | undefined ) : Record < string , 'asc' | 'desc' > | undefined {
66+ if ( ! sort ) return undefined ;
67+
68+ // If it's a string like "name desc"
69+ if ( typeof sort === 'string' ) {
70+ const parts = sort . split ( ' ' ) ;
71+ const field = parts [ 0 ] ;
72+ const order = ( parts [ 1 ] ?. toLowerCase ( ) === 'desc' ? 'desc' : 'asc' ) as 'asc' | 'desc' ;
73+ return { [ field ] : order } ;
74+ }
75+
76+ // If it's an array of SortConfig objects
77+ if ( Array . isArray ( sort ) ) {
78+ return sort . reduce ( ( acc , item ) => {
79+ if ( item . field && item . order ) {
80+ acc [ item . field ] = item . order ;
81+ }
82+ return acc ;
83+ } , { } as Record < string , 'asc' | 'desc' > ) ;
84+ }
85+
86+ return undefined ;
87+ }
88+
6289/**
6390 * Helper to get kanban configuration from schema
6491 * Extracts kanban-specific settings or provides defaults
@@ -83,8 +110,6 @@ export const ObjectKanban: React.FC<ObjectKanbanProps> = ({
83110 className,
84111 onCardClick,
85112 onCardMove,
86- onEdit,
87- onDelete,
88113} ) => {
89114 const [ data , setData ] = useState < any [ ] > ( [ ] ) ;
90115 const [ loading , setLoading ] = useState ( true ) ;
@@ -113,11 +138,11 @@ export const ObjectKanban: React.FC<ObjectKanbanProps> = ({
113138
114139 if ( dataConfig ?. provider === 'object' ) {
115140 const objectName = dataConfig . object ;
116- const records = await dataSource . query ( objectName , {
117- filters : schema . filter ,
118- sort : schema . sort ,
141+ const result = await dataSource . find ( objectName , {
142+ $filter : schema . filter ,
143+ $orderby : convertSortToQueryParams ( schema . sort ) ,
119144 } ) ;
120- setData ( records || [ ] ) ;
145+ setData ( result ?. data || [ ] ) ;
121146 } else if ( dataConfig ?. provider === 'api' ) {
122147 // For API provider, we'd need to fetch from the read endpoint
123148 // This would typically be handled by a custom hook or data fetching layer
@@ -195,7 +220,7 @@ export const ObjectKanban: React.FC<ObjectKanbanProps> = ({
195220 description : displayColumns [ 1 ] ? record [ displayColumns [ 1 ] ] : undefined ,
196221 data : record ,
197222 // Map additional fields to display
198- fields : displayColumns . slice ( 2 ) . reduce ( ( acc , fieldName ) => {
223+ fields : displayColumns . slice ( 2 ) . reduce ( ( acc : Record < string , any > , fieldName : string ) => {
199224 acc [ fieldName ] = record [ fieldName ] ;
200225 return acc ;
201226 } , { } as Record < string , any > ) ,
@@ -231,7 +256,7 @@ export const ObjectKanban: React.FC<ObjectKanbanProps> = ({
231256 const objectName = dataConfig . object ;
232257 dataSource . update ( objectName , cardId , {
233258 [ kanbanConfig . groupByField ] : toColumnId ,
234- } ) . catch ( err => {
259+ } ) . catch ( ( err : any ) => {
235260 console . error ( 'Failed to update record:' , err ) ;
236261 // Revert the change on error
237262 setData ( prevData => {
0 commit comments