handlers.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. function hendLerFormAdd(event) {
  2. event.preventDefault();
  3. var task = {
  4. title: $(this).find('[name=title]').val(),
  5. description: $(this).find('[name=description]').val(),
  6. status: '1' // 1- todo, 2 - in progress, 3 - completed
  7. };
  8. var id = new Date().getTime();
  9. localStorage.setItem(id, JSON.stringify(task)); // записать это туда
  10. metods.addTask(task, id);
  11. $modalAddTask.modal('hide');
  12. this.reset(); // возвращает форму к виду к котором она определена в хтмл (очистка формы)
  13. }
  14. function hendlerDeleteTask() { // вешаем обработчик клик на кнопку delete-task
  15. $modalDeleteTask.modal('show');
  16. $btnOk.on('click', function(event) {
  17. var $parent = $(this).parent(); // вызываем родителя
  18. var taskId = $parent.data('id');
  19. localStorage.removeItem(taskId); //удаление из локальной памяти элементов найденных по id
  20. $parent.remove(); // удаление родительского элемента в нашем случае это li по которому кликнули(this)
  21. metods.count();
  22. $modalDeleteTask.modal('hide');
  23. $btnOk.off('click');
  24. }.bind(this));
  25. }
  26. function hendlerDeleteAll(){ //кнопка удаления
  27. localStorage.clear(); //очистка локальной памяти
  28. $('.list-group-item').remove(); //удаление всех строк
  29. metods.count();
  30. }
  31. function handLerShowModal() { // фокус при открытии модального окна на инпут
  32. $(this).find('[name=title]').focus();
  33. }
  34. function hendlerEditTask() {
  35. $modalEditTask.modal('show');
  36. var $parent = $(this).parent();
  37. var taskId = $parent.data('id');
  38. var task = JSON.parse(localStorage.getItem(taskId) );
  39. for (key in task) {
  40. $modalEditTask.find('[name=' + key + ']').val(task[key] );
  41. }
  42. $modalEditTask.find('[name=id]').val(taskId);
  43. }
  44. function hendLerFormEditTask(event) {
  45. event.preventDefault();
  46. var task = {
  47. title: $(this).find('[name=title]').val(),
  48. description: $(this).find('[name=description]').val(),
  49. status: $(this).find('[name=status]').val()
  50. }
  51. var id = $(this).find('[name=id]').val();
  52. localStorage.setItem(id, JSON.stringify(task)); //добавление элемента
  53. $('[data-id=' + id + ']', $taskList).remove(); // удаление элемента
  54. metods.addTask(task, id);
  55. $modalEditTask.modal('hide'); // скрываем модальное окно
  56. metods.count(); // обновляем счетчики
  57. }
  58. function hendlerDeleteModalTask() {
  59. $modalDeleteTask.modal('show');
  60. }