diff options
| -rw-r--r-- | todolist/todo_item.go | 16 | ||||
| -rw-r--r-- | todolist/todo_list.go | 26 |
2 files changed, 29 insertions, 13 deletions
diff --git a/todolist/todo_item.go b/todolist/todo_item.go index eecb409..0c30707 100644 --- a/todolist/todo_item.go +++ b/todolist/todo_item.go @@ -45,6 +45,22 @@ func (t *Todo) Uncomplete() { t.CompletedDate = "" } +func (t *Todo) Archive() { + t.Archived = true +} + +func (t *Todo) Unarchive() { + t.Archived = false +} + +func (t *Todo) Prioritize() { + t.IsPriority = true +} + +func (t *Todo) Unprioritize() { + t.IsPriority = false +} + func (t Todo) CompletedDateToDate() string { parsedTime, _ := time.Parse(ISO8601_TIMESTAMP_FORMAT, t.CompletedDate) return parsedTime.Format("2006-01-02") diff --git a/todolist/todo_list.go b/todolist/todo_list.go index 6bab407..4623a22 100644 --- a/todolist/todo_list.go +++ b/todolist/todo_list.go @@ -42,41 +42,41 @@ func (t *TodoList) Uncomplete(id int) { func (t *TodoList) Archive(id int) { todo := t.FindById(id) - todo.Archived = true + todo.Archive() t.Delete(id) t.Data = append(t.Data, todo) } func (t *TodoList) Unarchive(id int) { todo := t.FindById(id) - todo.Archived = false + todo.Unarchive() t.Delete(id) t.Data = append(t.Data, todo) } -func (t *TodoList) IndexOf(todoToFind *Todo) int { - for i, todo := range t.Data { - if todo.Id == todoToFind.Id { - return i - } - } - return -1 -} - func (t *TodoList) Prioritize(id int) { todo := t.FindById(id) - todo.IsPriority = true + todo.Prioritize() t.Delete(id) t.Data = append(t.Data, todo) } func (t *TodoList) Unprioritize(id int) { todo := t.FindById(id) - todo.IsPriority = false + todo.Unprioritize() t.Delete(id) t.Data = append(t.Data, todo) } +func (t *TodoList) IndexOf(todoToFind *Todo) int { + for i, todo := range t.Data { + if todo.Id == todoToFind.Id { + return i + } + } + return -1 +} + type ByDate []*Todo func (a ByDate) Len() int { return len(a) } |
