Save changes when moving tasks
This commit is contained in:
		
							parent
							
								
									ae99fa193c
								
							
						
					
					
						commit
						52097aed09
					
				
							
								
								
									
										14
									
								
								src/app.rs
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/app.rs
									
									
									
									
									
								
							@ -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();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -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]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user