На Angular реализовать приложение таск-менеджер (т.е. список задач). Задача состоит из заголовка, описания и срока. В списке должны отображаться заголовки задач и сроки. При приближении срока ( <= 3 дня) строка с задачей должна менять цвет. При превышении срока строк с задачей должна подсвечиваться красным.
Должна быть возможность:
- добавить новую задачу
- отредактировать задачу
- передвинуть задачу по списку
- закрыть задачу
- посмотреть задачу
Для сборки и запуска требуется Node.js версии 10.9.0 или новее
npm команды запуска:
npm install
npm start
Функциональность:
- реализован механизм просмотра, добавления, удаления, редактирования и перемещения задач
- задача меняет цвет в зависимости от даты с применением директивы
todo-state
- в форме реализована валидация через
reactive form validation
Некоторые нюансы
Поскольку в тестовом задании нет полноценного бэкенда, то в сервисе todos.service
в поле data
содержится имитация коллекции данных с сервера. Поскольку при
взаимодействии через https, методы Angular-класса HttpClient (get, post, put)
возвращают Observable, в задании, для имитации данные также были преобразованы
в Observable: будто-бы клиент обратился к бэкенду и тот вернул ему данные.
Автогенерация id для новых задач тоже, по идее, задача бэкенда, но для полноты
примера был реализован также метод getToDoId
.