Save changes when moving tasks

This commit is contained in:
Joseph Ferano 2022-12-05 15:50:31 +04:00
parent ae99fa193c
commit 52097aed09
2 changed files with 8 additions and 8 deletions

View File

@ -72,13 +72,9 @@ impl Project {
self.tasks_per_column.entry(status).or_default().push(task); self.tasks_per_column.entry(status).or_default().push(task);
} }
/// Comment out cause this is dangerous pub fn save(&self) {
pub fn save() { let json = serde_json::to_string_pretty(&self).unwrap();
// let mut project = Project::new("Kanban Tui"); std::fs::write("kanban-tui.json", json).unwrap();
// project.add_task(Task::default());
// project.add_task(Task::default());
// let json = serde_json::to_string_pretty(&project).unwrap();
// std::fs::write("./project.json", json).unwrap();
} }
} }
@ -161,6 +157,7 @@ impl AppState {
let target_tasks = self.get_tasks_in_active_column_mut(); let target_tasks = self.get_tasks_in_active_column_mut();
target_tasks.push(task); target_tasks.push(task);
*self.selected_task_idx_mut() = target_tasks.len() - 1; *self.selected_task_idx_mut() = target_tasks.len() - 1;
self.project.save();
} }
} }
@ -174,6 +171,7 @@ impl AppState {
let target_tasks = self.get_tasks_in_active_column_mut(); let target_tasks = self.get_tasks_in_active_column_mut();
target_tasks.push(task); target_tasks.push(task);
*self.selected_task_idx_mut() = target_tasks.len() - 1; *self.selected_task_idx_mut() = target_tasks.len() - 1;
self.project.save();
} }
} }
@ -183,6 +181,7 @@ impl AppState {
let tasks = self.get_tasks_in_active_column_mut(); let tasks = self.get_tasks_in_active_column_mut();
tasks.swap(task_idx, task_idx - 1); tasks.swap(task_idx, task_idx - 1);
*self.selected_task_idx_mut() = task_idx - 1; *self.selected_task_idx_mut() = task_idx - 1;
self.project.save();
} }
} }
@ -192,6 +191,7 @@ impl AppState {
if task_idx < tasks.len() - 1 { if task_idx < tasks.len() - 1 {
tasks.swap(task_idx, task_idx + 1); tasks.swap(task_idx, task_idx + 1);
*self.selected_task_idx_mut() = task_idx + 1; *self.selected_task_idx_mut() = task_idx + 1;
self.project.save();
} }
} }
} }

View File

@ -81,7 +81,7 @@ pub fn draw<B: Backend>(f: &mut Frame<B>, state: &mut AppState) {
.borders(Borders::ALL); .borders(Borders::ALL);
let foot_txt = let foot_txt =
Paragraph::new("q : Quit | ⏪🔽🔼⏩ or hjkl : Navigation") Paragraph::new("q : Quit | ⏪🔽🔼⏩ or hjkl : Navigation | < > or H L : Shift task left/right | = - or J K : Shift task up/down")
.block(block); .block(block);
f.render_widget(foot_txt, main_layout[3]); f.render_widget(foot_txt, main_layout[3]);
} }