mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-05-28 19:05:31 +02:00
added folder column config
This commit is contained in:
parent
5b8f603a92
commit
71d69516c2
1 changed files with 36 additions and 0 deletions
|
|
@ -270,6 +270,37 @@ const normalizeUsage = (usage?: Partial<LanguageModelUsage> | null): LanguageMod
|
||||||
// Pinned folders appear first in the sidebar (in this order)
|
// Pinned folders appear first in the sidebar (in this order)
|
||||||
const PINNED_FOLDERS = ['Notes']
|
const PINNED_FOLDERS = ['Notes']
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Per-folder base view config: which columns to show and default sort.
|
||||||
|
* Folders not listed here fall back to DEFAULT_BASE_CONFIG.
|
||||||
|
*/
|
||||||
|
const FOLDER_BASE_CONFIGS: Record<string, { visibleColumns: string[]; sort: { field: string; dir: 'asc' | 'desc' } }> = {
|
||||||
|
'Agent Notes': {
|
||||||
|
visibleColumns: ['name', 'folder', 'mtimeMs'],
|
||||||
|
sort: { field: 'mtimeMs', dir: 'desc' },
|
||||||
|
},
|
||||||
|
People: {
|
||||||
|
visibleColumns: ['name', 'relationship', 'organization', 'mtimeMs'],
|
||||||
|
sort: { field: 'name', dir: 'asc' },
|
||||||
|
},
|
||||||
|
Organizations: {
|
||||||
|
visibleColumns: ['name', 'relationship', 'mtimeMs'],
|
||||||
|
sort: { field: 'name', dir: 'asc' },
|
||||||
|
},
|
||||||
|
Projects: {
|
||||||
|
visibleColumns: ['name', 'status', 'topic', 'mtimeMs'],
|
||||||
|
sort: { field: 'name', dir: 'asc' },
|
||||||
|
},
|
||||||
|
Topics: {
|
||||||
|
visibleColumns: ['name', 'mtimeMs'],
|
||||||
|
sort: { field: 'name', dir: 'asc' },
|
||||||
|
},
|
||||||
|
Meetings: {
|
||||||
|
visibleColumns: ['name', 'topic', 'mtimeMs'],
|
||||||
|
sort: { field: 'mtimeMs', dir: 'desc' },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// Sort nodes (dirs first, pinned folders at top, then alphabetically)
|
// Sort nodes (dirs first, pinned folders at top, then alphabetically)
|
||||||
function sortNodes(nodes: TreeNode[]): TreeNode[] {
|
function sortNodes(nodes: TreeNode[]): TreeNode[] {
|
||||||
return nodes.sort((a, b) => {
|
return nodes.sort((a, b) => {
|
||||||
|
|
@ -3155,12 +3186,17 @@ function App() {
|
||||||
const parts = path.split('/')
|
const parts = path.split('/')
|
||||||
if (parts.length === 2 && parts[0] === 'knowledge' && parts[1] !== 'Notes') {
|
if (parts.length === 2 && parts[0] === 'knowledge' && parts[1] !== 'Notes') {
|
||||||
const folderName = parts[1]
|
const folderName = parts[1]
|
||||||
|
const folderCfg = FOLDER_BASE_CONFIGS[folderName]
|
||||||
setBaseConfigByPath((prev) => ({
|
setBaseConfigByPath((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
[BASES_DEFAULT_TAB_PATH]: {
|
[BASES_DEFAULT_TAB_PATH]: {
|
||||||
...DEFAULT_BASE_CONFIG,
|
...DEFAULT_BASE_CONFIG,
|
||||||
name: folderName,
|
name: folderName,
|
||||||
filters: [{ category: 'folder', value: folderName }],
|
filters: [{ category: 'folder', value: folderName }],
|
||||||
|
...(folderCfg && {
|
||||||
|
visibleColumns: folderCfg.visibleColumns,
|
||||||
|
sort: folderCfg.sort,
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
if (!selectedPath && !isGraphOpen && !selectedBackgroundTask) {
|
if (!selectedPath && !isGraphOpen && !selectedBackgroundTask) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue