Move task state getter to column methods
This commit is contained in:
		
							parent
							
								
									78cb7fe84a
								
							
						
					
					
						commit
						88990089c2
					
				
							
								
								
									
										13
									
								
								src/app.rs
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/app.rs
									
									
									
									
									
								
							@ -100,7 +100,7 @@ impl AppState<'_> {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl Column {
 | 
					impl<'a> Column {
 | 
				
			||||||
    pub fn new(name: &str) -> Self {
 | 
					    pub fn new(name: &str) -> Self {
 | 
				
			||||||
        Column {
 | 
					        Column {
 | 
				
			||||||
            name: name.to_owned(),
 | 
					            name: name.to_owned(),
 | 
				
			||||||
@ -141,6 +141,17 @@ impl Column {
 | 
				
			|||||||
    pub fn select_last_task(&mut self) {
 | 
					    pub fn select_last_task(&mut self) {
 | 
				
			||||||
        self.selected_task_idx = self.tasks.len() - 1;
 | 
					        self.selected_task_idx = self.tasks.len() - 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pub  fn get_task_state_from_curr_selected_task(&self) -> Option<TaskState<'a>> {
 | 
				
			||||||
 | 
					        self.get_selected_task().map(|t| {
 | 
				
			||||||
 | 
					            TaskState {
 | 
				
			||||||
 | 
					                title: TextArea::from(t.title.lines()),
 | 
				
			||||||
 | 
					                description: TextArea::from(t.description.lines()),
 | 
				
			||||||
 | 
					                focus: TaskEditFocus::Title,
 | 
				
			||||||
 | 
					                is_edit: true
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl Project {
 | 
					impl Project {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								src/input.rs
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/input.rs
									
									
									
									
									
								
							@ -81,18 +81,8 @@ pub fn handle_input(state: &mut AppState) -> Result<(), std::io::Error> {
 | 
				
			|||||||
                    KeyCode::Char('-') |
 | 
					                    KeyCode::Char('-') |
 | 
				
			||||||
                    KeyCode::Char('K') => project.move_task_up(),
 | 
					                    KeyCode::Char('K') => project.move_task_up(),
 | 
				
			||||||
                    KeyCode::Char('n') => state.task_edit_state = Some(TaskState::default()),
 | 
					                    KeyCode::Char('n') => state.task_edit_state = Some(TaskState::default()),
 | 
				
			||||||
                    KeyCode::Char('e') => {
 | 
					                    KeyCode::Char('e') =>
 | 
				
			||||||
                        if let Some(task) = column.get_selected_task() {
 | 
					                        state.task_edit_state = column.get_task_state_from_curr_selected_task(),
 | 
				
			||||||
                            let task_state =
 | 
					 | 
				
			||||||
                                TaskState {
 | 
					 | 
				
			||||||
                                    title: TextArea::from(task.title.lines()),
 | 
					 | 
				
			||||||
                                    description: TextArea::from(task.description.lines()),
 | 
					 | 
				
			||||||
                                    focus: TaskEditFocus::Title,
 | 
					 | 
				
			||||||
                                    is_edit: true
 | 
					 | 
				
			||||||
                                };
 | 
					 | 
				
			||||||
                            state.task_edit_state = Some(task_state);
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    KeyCode::Char('D') => column.remove_task(),
 | 
					                    KeyCode::Char('D') => column.remove_task(),
 | 
				
			||||||
                    _ => {}
 | 
					                    _ => {}
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					// #![deny(rust_2018_idioms)] 
 | 
				
			||||||
mod app;
 | 
					mod app;
 | 
				
			||||||
mod ui;
 | 
					mod ui;
 | 
				
			||||||
mod input;
 | 
					mod input;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user