diff options
Diffstat (limited to 'src/app/runtime_mutations.rs')
| -rw-r--r-- | src/app/runtime_mutations.rs | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/app/runtime_mutations.rs b/src/app/runtime_mutations.rs new file mode 100644 index 00000000..fae52d60 --- /dev/null +++ b/src/app/runtime_mutations.rs @@ -0,0 +1,59 @@ +use crate::api::schema::{Method, PaneTarget, TabTarget, WorkspaceTarget}; + +use super::App; + +impl App { + pub(crate) fn dispatch_tui_runtime_mutation( + &mut self, + id: &'static str, + method: Method, + ) -> String { + self.dispatch_tui_api_request(id, method) + } + + pub(crate) fn dispatch_tui_deferred_runtime_mutation( + &mut self, + id: &'static str, + method: Method, + ) -> Option<String> { + self.dispatch_tui_deferred_api_request(id, method) + } + + pub(crate) fn runtime_workspace_focus( + &mut self, + id: &'static str, + workspace_id: String, + ) -> String { + self.dispatch_tui_runtime_mutation( + id, + Method::WorkspaceFocus(WorkspaceTarget { workspace_id }), + ) + } + + pub(crate) fn runtime_workspace_close( + &mut self, + id: &'static str, + workspace_id: String, + ) -> String { + self.dispatch_tui_runtime_mutation( + id, + Method::WorkspaceClose(WorkspaceTarget { workspace_id }), + ) + } + + pub(crate) fn runtime_tab_focus(&mut self, id: &'static str, tab_id: String) -> String { + self.dispatch_tui_runtime_mutation(id, Method::TabFocus(TabTarget { tab_id })) + } + + pub(crate) fn runtime_tab_close(&mut self, id: &'static str, tab_id: String) -> String { + self.dispatch_tui_runtime_mutation(id, Method::TabClose(TabTarget { tab_id })) + } + + pub(crate) fn runtime_pane_focus(&mut self, id: &'static str, pane_id: String) -> String { + self.dispatch_tui_runtime_mutation(id, Method::PaneFocus(PaneTarget { pane_id })) + } + + pub(crate) fn runtime_pane_close(&mut self, id: &'static str, pane_id: String) -> String { + self.dispatch_tui_runtime_mutation(id, Method::PaneClose(PaneTarget { pane_id })) + } +} |
