Dieses Repository beinhaltet HTML- und Javascript Code zur einer NotizenWebApp auf Basis von Web Storage. Zudem sind Mocha/Chai Tests im Browser enthalten. https://meinenotizen.netlify.app/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

notizen.js 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. window.onload = init;
  2. function init() {
  3. var button = document.getElementById('mehr');
  4. button.onclick = ToDoHinzufügen;
  5. var clearButton = document.getElementById('loeschen');
  6. clearButton.onclick = allesLöschen;
  7. var eintraegeArray = HolEinträge();
  8. for (var i = 0; i < eintraegeArray.length; i++) {
  9. var aufgabeNr = eintraegeArray[i];
  10. var value = JSON.parse(localStorage[aufgabeNr]);
  11. insDOMschreiben(aufgabeNr, value);
  12. }
  13. }
  14. function HolEinträge() {
  15. var eintraegeArray = localStorage.getItem('eintraegeArray');
  16. if (!eintraegeArray) {
  17. eintraegeArray = [];
  18. localStorage.setItem('eintraegeArray', JSON.stringify(eintraegeArray));
  19. } else {
  20. eintraegeArray = JSON.parse(eintraegeArray);
  21. }
  22. return eintraegeArray;
  23. }
  24. function ToDoHinzufügen() {
  25. var eintraegeArray = HolEinträge();
  26. var value = document.getElementById('eingabe').value;
  27. if(value!='')
  28. {
  29. var currentDate = new Date();
  30. var aufgabeNr = 'aufgabe_' + currentDate.getTime()
  31. var aufgabeText = {'value': value};
  32. localStorage.setItem(aufgabeNr, JSON.stringify(aufgabeText));
  33. eintraegeArray.push(aufgabeNr);
  34. localStorage.setItem('eintraegeArray', JSON.stringify(eintraegeArray));
  35. insDOMschreiben(aufgabeNr, aufgabeText);
  36. document.getElementById('eingabe').value=' ';
  37. }
  38. else
  39. {
  40. alert('Bitte geben Sie etwas ein!');
  41. }
  42. }
  43. function toDoLöschen(e) {
  44. var aufgabeNr = e.target.id;
  45. var eintraegeArray = HolEinträge();
  46. if (eintraegeArray) {
  47. for (var i = 0; i < eintraegeArray.length; i++) {
  48. if (aufgabeNr == eintraegeArray[i]) {
  49. eintraegeArray.splice(i,1);
  50. }
  51. }
  52. localStorage.removeItem(aufgabeNr);
  53. localStorage.setItem('eintraegeArray', JSON.stringify(eintraegeArray));
  54. ausDOMentfernen(aufgabeNr);
  55. }
  56. }
  57. function insDOMschreiben(aufgabeNr, ItemObj) {
  58. var eintraege = document.getElementById('eintraege');
  59. var eintrag = document.createElement('li');
  60. eintrag.setAttribute('id', aufgabeNr);
  61. eintrag.innerHTML = ItemObj.value;
  62. eintraege.appendChild(eintrag);
  63. eintrag.onclick = toDoLöschen;
  64. }
  65. function ausDOMentfernen(aufgabeNr) {
  66. var eintrag = document.getElementById(aufgabeNr);
  67. eintrag.parentNode.removeChild(eintrag);
  68. }
  69. function allesLöschen() {
  70. localStorage.clear();
  71. var ItemList = document.getElementById('eintraege');
  72. var eintraege = ItemList.childNodes;
  73. for (var i = eintraege.length-1; i >= 0; i--) {
  74. ItemList.removeChild(eintraege[i]);
  75. }
  76. var eintraegeArray = HolEinträge();
  77. }