handlers.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. calendar: $(this).find('[name=calendar]').val()
  8. };
  9. var id = new Date().getTime();
  10. localStorage.setItem(id, JSON.stringify(task)); // записать это туда
  11. metods.addTask(task, id);
  12. $modalAddTask.modal('hide');
  13. this.reset(); // возвращает форму к виду к котором она определена в хтмл (очистка формы)
  14. }
  15. function hendlerDeleteTask() { // вешаем обработчик клик на кнопку delete-task
  16. $modalDeleteTask.modal('show');
  17. $btnOk.on('click', function(event) {
  18. var $parent = $(this).parent(); // вызываем родителя
  19. var taskId = $parent.data('id');
  20. localStorage.removeItem(taskId); //удаление из локальной памяти элементов найденных по id
  21. $parent.remove(); // удаление родительского элемента в нашем случае это li по которому кликнули(this)
  22. metods.count();
  23. $modalDeleteTask.modal('hide');
  24. $btnOk.off('click');
  25. }.bind(this) );
  26. }
  27. function hendlerDeleteAll(){ //кнопка удаления
  28. localStorage.clear(); //очистка локальной памяти
  29. $('.list-group-item').remove(); //удаление всех строк
  30. metods.count();
  31. }
  32. function handLerShowModal() { // фокус при открытии модального окна на инпут
  33. $(this).find('[name=title]').focus();
  34. }
  35. function hendlerEditTask() {
  36. $modalEditTask.modal('show');
  37. var $parent = $(this).parent();
  38. var taskId = $parent.data('id');
  39. var task = JSON.parse(localStorage.getItem(taskId) );
  40. for (key in task) {
  41. $modalEditTask.find('[name=' + key + ']').val(task[key] );
  42. }
  43. $modalEditTask.find('[name=id]').val(taskId);
  44. }
  45. function hendLerFormEditTask(event) {
  46. event.preventDefault();
  47. var task = {
  48. title: $(this).find('[name=title]').val(),
  49. description: $(this).find('[name=description]').val(),
  50. status: $(this).find('[name=status]').val(),
  51. calendar: $(this).find('[name=calendar]').val()
  52. }
  53. var id = $(this).find('[name=id]').val();
  54. localStorage.setItem(id, JSON.stringify(task)); //добавление элемента
  55. $('[data-id=' + id + ']', $taskList).remove(); // удаление элемента
  56. metods.addTask(task, id);
  57. $modalEditTask.modal('hide'); // скрываем модальное окно
  58. metods.count(); // обновляем счетчики
  59. }
  60. function handLerPicker() { //календарь на форме добавления
  61. $("#datetimepicker").datetimepicker({
  62. locale: 'ru',
  63. format: 'YYYY-MM-DD'
  64. });
  65. }
  66. function handLerPicker2() { //календарь на форме редактирования
  67. $("#datetimepicker2").datetimepicker({
  68. locale: 'ru',
  69. format: 'YYYY-MM-DD'
  70. });
  71. }