1use alloc::string::String;
2
3use crate::Options;
4use crate::Table;
5use crate::args::ResetArgs;
6
7impl Table {
8 pub fn reset(&mut self, kwargs: Option<ResetArgs>) -> Result<(), String> {
10 let kwargs: ResetArgs = kwargs.unwrap_or_default();
11 if kwargs.opts {
12 self.opts = Options::new();
13 }
14 if kwargs.grid {
15 self.grid.reset();
16 }
17 if kwargs.index {
18 self.grid.index.reset();
19 }
20 if kwargs.header {
21 self.grid.header.reset();
22 }
23 if kwargs.selections {
24 Self::acr_deselect_all(&mut self.sel, None);
25 }
26 if kwargs.undo_stack {
27 self.grid.undo_stack.clear();
28 self.grid.redo_stack.clear();
29 }
30 Ok(())
31 }
32}