diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-30 19:55:11 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-30 19:57:02 +0300 |
| commit | 9a91a2ac41a5b2fbc2811922750a782b45115219 (patch) | |
| tree | 53009544365b1b3163d37e058eb2a1ea8f29f553 /src/app/input | |
| parent | 26db26e416318e17a6e7f3f196ec72109fb37998 (diff) | |
refactor: route tui mutations through runtime dispatch
Diffstat (limited to 'src/app/input')
| -rw-r--r-- | src/app/input/modal.rs | 14 | ||||
| -rw-r--r-- | src/app/input/navigate.rs | 54 |
2 files changed, 23 insertions, 45 deletions
diff --git a/src/app/input/modal.rs b/src/app/input/modal.rs index e63cdb70..51e19f78 100644 --- a/src/app/input/modal.rs +++ b/src/app/input/modal.rs @@ -933,7 +933,7 @@ impl App { match self.state.mode { Mode::RenameWorkspace if !self.state.workspaces.is_empty() && !new_name.is_empty() => { let workspace_id = self.public_workspace_id(self.state.selected); - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.workspace.rename", crate::api::schema::Method::WorkspaceRename( crate::api::schema::WorkspaceRenameParams { @@ -950,7 +950,7 @@ impl App { } else { Some(new_name) }; - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.tab.create_named", crate::api::schema::Method::TabCreate(crate::api::schema::TabCreateParams { workspace_id: None, @@ -976,7 +976,7 @@ impl App { .is_some_and(|name| new_name == name); if !keep_auto_name { if let Some(tab_id) = self.public_tab_id(ws_idx, tab_idx) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.tab.rename", crate::api::schema::Method::TabRename( crate::api::schema::TabRenameParams { @@ -993,7 +993,7 @@ impl App { (self.state.active, self.state.rename_pane_target) { if let Some(pane_id) = self.public_pane_id(ws_idx, pane_id) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.rename", crate::api::schema::Method::PaneRename( crate::api::schema::PaneRenameParams { @@ -1058,7 +1058,7 @@ impl App { _ => None, }; if let Some(direction) = direction { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.resize", crate::api::schema::Method::PaneResize(crate::api::schema::PaneResizeParams { pane_id: None, @@ -1185,7 +1185,7 @@ impl App { Some("Clear pane name"), ) => { if let Some(pane_id) = self.public_pane_id(ws_idx, pane_id) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.clear_name", crate::api::schema::Method::PaneRename( crate::api::schema::PaneRenameParams { @@ -1211,7 +1211,7 @@ impl App { if let (Some(source_public_id), Some(target_public_id)) = (source_public_id, target_public_id) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.swap_exact", crate::api::schema::Method::PaneSwap(crate::api::schema::PaneSwapParams { pane_id: None, diff --git a/src/app/input/navigate.rs b/src/app/input/navigate.rs index c6ad3e16..cffa7bd6 100644 --- a/src/app/input/navigate.rs +++ b/src/app/input/navigate.rs @@ -107,7 +107,7 @@ impl App { let previous_mode = self.state.mode; match action { NavigateAction::NewWorkspace => { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.key.workspace.create", crate::api::schema::Method::WorkspaceCreate( crate::api::schema::WorkspaceCreateParams { @@ -221,7 +221,7 @@ impl App { if self.state.prompt_new_tab_name { super::modal::open_new_tab_dialog(&mut self.state); } else { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.key.tab.create", crate::api::schema::Method::TabCreate( crate::api::schema::TabCreateParams { @@ -354,27 +354,17 @@ impl App { pub(crate) fn focus_workspace_idx_via_api(&mut self, ws_idx: usize) { let workspace_id = self.public_workspace_id(ws_idx); - self.dispatch_tui_api_request( - "tui.workspace.focus", - crate::api::schema::Method::WorkspaceFocus(crate::api::schema::WorkspaceTarget { - workspace_id, - }), - ); + self.runtime_workspace_focus("tui.workspace.focus", workspace_id); } pub(crate) fn close_workspace_idx_via_api(&mut self, ws_idx: usize) { let workspace_id = self.public_workspace_id(ws_idx); - self.dispatch_tui_api_request( - "tui.workspace.close", - crate::api::schema::Method::WorkspaceClose(crate::api::schema::WorkspaceTarget { - workspace_id, - }), - ); + self.runtime_workspace_close("tui.workspace.close", workspace_id); } pub(crate) fn move_workspace_via_api(&mut self, source_ws_idx: usize, insert_idx: usize) { let workspace_id = self.public_workspace_id(source_ws_idx); - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.workspace.move", crate::api::schema::Method::WorkspaceMove(crate::api::schema::WorkspaceMoveParams { workspace_id, @@ -390,10 +380,7 @@ impl App { let Some(tab_id) = self.public_tab_id(ws_idx, tab_idx) else { return; }; - self.dispatch_tui_api_request( - "tui.tab.focus", - crate::api::schema::Method::TabFocus(crate::api::schema::TabTarget { tab_id }), - ); + self.runtime_tab_focus("tui.tab.focus", tab_id); } pub(crate) fn close_active_tab_via_api(&mut self) { @@ -404,10 +391,7 @@ impl App { let Some(tab_id) = self.public_tab_id(ws_idx, tab_idx) else { return; }; - self.dispatch_tui_api_request( - "tui.tab.close", - crate::api::schema::Method::TabClose(crate::api::schema::TabTarget { tab_id }), - ); + self.runtime_tab_close("tui.tab.close", tab_id); } pub(crate) fn move_tab_via_api( @@ -419,7 +403,7 @@ impl App { let Some(tab_id) = self.public_tab_id(ws_idx, source_tab_idx) else { return; }; - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.tab.move", crate::api::schema::Method::TabMove(crate::api::schema::TabMoveParams { tab_id, @@ -436,10 +420,7 @@ impl App { let Some(pane_id) = self.public_pane_id(ws_idx, pane_id) else { return; }; - self.dispatch_tui_api_request( - "tui.pane.focus", - crate::api::schema::Method::PaneFocus(crate::api::schema::PaneTarget { pane_id }), - ); + self.runtime_pane_focus("tui.pane.focus", pane_id); } pub(crate) fn focus_pane_direction_via_api(&mut self, direction: NavDirection) { @@ -447,7 +428,7 @@ impl App { self.focus_pane_internal_via_api(ws_idx, target); return; } - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.focus_direction", crate::api::schema::Method::PaneFocusDirection( crate::api::schema::PaneFocusDirectionParams { @@ -463,7 +444,7 @@ impl App { let source_pane_id = self.public_pane_id(ws_idx, source); let target_pane_id = self.public_pane_id(ws_idx, target); if let (Some(source_pane_id), Some(target_pane_id)) = (source_pane_id, target_pane_id) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.swap_exact", crate::api::schema::Method::PaneSwap(crate::api::schema::PaneSwapParams { pane_id: None, @@ -475,7 +456,7 @@ impl App { return; } } - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.swap", crate::api::schema::Method::PaneSwap(crate::api::schema::PaneSwapParams { pane_id: None, @@ -490,7 +471,7 @@ impl App { &mut self, direction: crate::api::schema::SplitDirection, ) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.split", crate::api::schema::Method::PaneSplit(crate::api::schema::PaneSplitParams { workspace_id: None, @@ -511,14 +492,11 @@ impl App { let Some(pane_id) = self.public_pane_id(ws_idx, pane_id) else { return; }; - self.dispatch_tui_api_request( - "tui.pane.close", - crate::api::schema::Method::PaneClose(crate::api::schema::PaneTarget { pane_id }), - ); + self.runtime_pane_close("tui.pane.close", pane_id); } pub(crate) fn zoom_focused_pane_via_api(&mut self) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.pane.zoom", crate::api::schema::Method::PaneZoom(crate::api::schema::PaneZoomParams { pane_id: None, @@ -528,7 +506,7 @@ impl App { } pub(crate) fn set_split_ratio_via_api(&mut self, path: Vec<bool>, ratio: f32) { - self.dispatch_tui_api_request( + self.dispatch_tui_runtime_mutation( "tui.layout.set_split_ratio", crate::api::schema::Method::LayoutSetSplitRatio( crate::api::schema::LayoutSetSplitRatioParams { |
