diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-09 23:01:38 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-09 23:01:38 +0200 |
| commit | 227de0db390fec4e1327a7cab6be4c1268848695 (patch) | |
| tree | f70ff9f3b23db47db0e0aeafa1bb1aad5abc71a8 /internal/tui/dashboard/model.go | |
| parent | bcaa22111ac619e317f7adfd60a1fc6bd4db8d29 (diff) | |
tui: add reverse sorting for dashboard tables (task 364)
Diffstat (limited to 'internal/tui/dashboard/model.go')
| -rw-r--r-- | internal/tui/dashboard/model.go | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/internal/tui/dashboard/model.go b/internal/tui/dashboard/model.go index a35e473..526ea1d 100644 --- a/internal/tui/dashboard/model.go +++ b/internal/tui/dashboard/model.go @@ -377,22 +377,23 @@ func (m Model) selectedSyscallName() string { } func (m *Model) handleSortKey(msg tea.KeyPressMsg) (bool, tea.Cmd) { - if !key.Matches(msg, m.keys.Sort) { + reverse := key.Matches(msg, m.keys.ReverseSort) + if !reverse && !key.Matches(msg, m.keys.Sort) { return false, nil } switch m.activeTab { case TabSyscalls: - return m.handleSyscallsSortKey() + return m.handleSyscallsSortKey(reverse) case TabFiles: - return m.handleFilesSortKey() + return m.handleFilesSortKey(reverse) case TabProcesses: - return m.handleProcessesSortKey() + return m.handleProcessesSortKey(reverse) default: return false, nil } } -func (m *Model) handleSyscallsSortKey() (bool, tea.Cmd) { +func (m *Model) handleSyscallsSortKey(reverse bool) (bool, tea.Cmd) { if m.syscallsVizMode != tabVizModeTable { return false, nil } @@ -401,12 +402,12 @@ func (m *Model) handleSyscallsSortKey() (bool, tea.Cmd) { return false, nil } selectedName := m.selectedSyscallName() - m.syscallsSort = m.syscallsSort.toggled(key) + m.syscallsSort = m.syscallsSort.toggled(key, reverse) m.reanchorSyscallsOffset(selectedName) return true, nil } -func (m *Model) handleFilesSortKey() (bool, tea.Cmd) { +func (m *Model) handleFilesSortKey(reverse bool) (bool, tea.Cmd) { if m.filesVizMode != tabVizModeTable { return false, nil } @@ -416,7 +417,7 @@ func (m *Model) handleFilesSortKey() (bool, tea.Cmd) { return false, nil } selectedDir := m.selectedDirPath() - m.filesDirSort = m.filesDirSort.toggled(key) + m.filesDirSort = m.filesDirSort.toggled(key, reverse) m.reanchorFilesDirOffset(selectedDir) return true, nil } @@ -425,12 +426,12 @@ func (m *Model) handleFilesSortKey() (bool, tea.Cmd) { return false, nil } selectedPath := m.selectedFilePath() - m.filesSort = m.filesSort.toggled(key) + m.filesSort = m.filesSort.toggled(key, reverse) m.reanchorFilesOffset(selectedPath) return true, nil } -func (m *Model) handleProcessesSortKey() (bool, tea.Cmd) { +func (m *Model) handleProcessesSortKey(reverse bool) (bool, tea.Cmd) { if m.processesVizMode != tabVizModeTable { return false, nil } @@ -439,7 +440,7 @@ func (m *Model) handleProcessesSortKey() (bool, tea.Cmd) { return false, nil } selectedPID := m.selectedProcessPID() - m.processesSort = m.processesSort.toggled(key) + m.processesSort = m.processesSort.toggled(key, reverse) m.reanchorProcessesOffset(selectedPID) return true, nil } |
