feat: Add complete keyboard navigation system
Implemented a full keyboard navigation system with directional commands (C-h/j/k/l) for moving between views, vim-style navigation (j/k for rows, h/l for columns), and TAB cycling. Added table header navigation mode where users can move between columns and change sort order with keyboard shortcuts. The navigation follows visual position: left sidebar, table, and filter bar can all be reached with directional keys. Created a keymap system with context-aware bindings that resolve commands based on current focus (Table, TableHeaders, FilterBar, Sidebar). Commands are dispatched through a centralized handler that manages focus transitions and view state. Added helper methods to cycle through column headers with proper wrapping. Auto-select first task on load when tasks exist, and set initial window focus so keyboard shortcuts work immediately without requiring a mouse click.
This commit is contained in:
@@ -129,11 +129,7 @@ impl Render for StatusBar {
|
||||
.items_center()
|
||||
.gap_2()
|
||||
.child(Label::new("✕").text_color(theme.error).text_sm())
|
||||
.child(
|
||||
Label::new(error.clone())
|
||||
.text_color(theme.error)
|
||||
.text_sm(),
|
||||
),
|
||||
.child(Label::new(error.clone()).text_color(theme.error).text_sm()),
|
||||
)
|
||||
.child(
|
||||
div()
|
||||
|
||||
Reference in New Issue
Block a user