Skip to content

Commit 90bd958

Browse files
committed
fix(resources): add missing sort options for all visible columns
Every column visible in a resource table should be sortable. Three pages had visible columns with no sort support: - files.tsx: add 'owner' sort (member name lookup) - scheduled-tasks.tsx: add 'schedule' sort (localeCompare on description) - knowledge.tsx: add 'connectors' (count) and 'owner' (member name) sorts Also add 'members' to processedKBs deps in knowledge.tsx since owner sort now reads member names inside the memo.
1 parent 7b13a1a commit 90bd958

3 files changed

Lines changed: 22 additions & 1 deletion

File tree

apps/sim/app/workspace/[workspaceId]/files/files.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,15 @@ export function Files() {
256256
case 'created':
257257
cmp = new Date(a.uploadedAt).getTime() - new Date(b.uploadedAt).getTime()
258258
break
259+
case 'owner':
260+
cmp = (members?.find((m) => m.userId === a.uploadedBy)?.name ?? '').localeCompare(
261+
members?.find((m) => m.userId === b.uploadedBy)?.name ?? ''
262+
)
263+
break
259264
}
260265
return dir === 'asc' ? cmp : -cmp
261266
})
262-
}, [files, debouncedSearchTerm, typeFilter, sizeFilter, uploadedByFilter, activeSort])
267+
}, [files, debouncedSearchTerm, typeFilter, sizeFilter, uploadedByFilter, activeSort, members])
263268

264269
const rowCacheRef = useRef(
265270
new Map<string, { row: ResourceRow; file: WorkspaceFileRecord; members: typeof members }>()
@@ -860,6 +865,7 @@ export function Files() {
860865
{ id: 'size', label: 'Size' },
861866
{ id: 'type', label: 'Type' },
862867
{ id: 'created', label: 'Created' },
868+
{ id: 'owner', label: 'Owner' },
863869
],
864870
active: activeSort,
865871
onSort: (column, direction) => setActiveSort({ column, direction }),

apps/sim/app/workspace/[workspaceId]/knowledge/knowledge.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,14 @@ export function Knowledge() {
230230
case 'updated':
231231
cmp = new Date(a.updatedAt).getTime() - new Date(b.updatedAt).getTime()
232232
break
233+
case 'connectors':
234+
cmp = (a.connectorTypes?.length ?? 0) - (b.connectorTypes?.length ?? 0)
235+
break
236+
case 'owner':
237+
cmp = (members?.find((m) => m.userId === a.userId)?.name ?? '').localeCompare(
238+
members?.find((m) => m.userId === b.userId)?.name ?? ''
239+
)
240+
break
233241
}
234242
return dir === 'asc' ? cmp : -cmp
235243
})
@@ -240,6 +248,7 @@ export function Knowledge() {
240248
contentFilter,
241249
ownerFilter,
242250
activeSort,
251+
members,
243252
])
244253

245254
const rows: ResourceRow[] = useMemo(
@@ -362,8 +371,10 @@ export function Knowledge() {
362371
{ id: 'name', label: 'Name' },
363372
{ id: 'documents', label: 'Documents' },
364373
{ id: 'tokens', label: 'Tokens' },
374+
{ id: 'connectors', label: 'Connectors' },
365375
{ id: 'created', label: 'Created' },
366376
{ id: 'updated', label: 'Last Updated' },
377+
{ id: 'owner', label: 'Owner' },
367378
],
368379
active: activeSort,
369380
onSort: (column, direction) => setActiveSort({ column, direction }),

apps/sim/app/workspace/[workspaceId]/scheduled-tasks/scheduled-tasks.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ export function ScheduledTasks() {
149149
(a.lastRanAt ? new Date(a.lastRanAt).getTime() : 0) -
150150
(b.lastRanAt ? new Date(b.lastRanAt).getTime() : 0)
151151
break
152+
case 'schedule':
153+
cmp = getScheduleDescription(a).localeCompare(getScheduleDescription(b))
154+
break
152155
}
153156
return dir === 'asc' ? cmp : -cmp
154157
})
@@ -240,6 +243,7 @@ export function ScheduledTasks() {
240243
() => ({
241244
options: [
242245
{ id: 'task', label: 'Task' },
246+
{ id: 'schedule', label: 'Schedule' },
243247
{ id: 'nextRun', label: 'Next Run' },
244248
{ id: 'lastRun', label: 'Last Run' },
245249
],

0 commit comments

Comments
 (0)