-
Notifications
You must be signed in to change notification settings - Fork 0
/
stickynote.js
167 lines (126 loc) · 4.79 KB
/
stickynote.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
var x = document.getElementById("note")
var z = document.getElementById("dude")
var add = document.getElementById("add")
//Function to increase and decrease the size of text box dynamically.
function increase_size_x(e) {
e.target.rows += 1;
}
function decrease_size_x(e) {
if (e.target.value.length == 0)
e.target = 10;
}
x.addEventListener("scroll", increase_size_x);
x.addEventListener("keyup", decrease_size_x);
//Function to create a new note.
function new_note() {
const note_obj = {
title: document.getElementById("title").value,
content: document.getElementById("note").value,
id: count_numberof_Notes()
}
console.log(note_obj.id)
var note_arr = getNotes();
note_arr.push(note_obj);
storeNotes(note_arr);
addNote(note_obj.title, note_obj.content, note_obj.id);
}
add.addEventListener("click", new_note);
function addNote(note_title, content, del_id) {
var card = document.createElement('div');
card.className = "added_card";
card.id = "add_card"
var del = document.createElement('div')
del.innerHTML = 'x';
del.className = "del_button"
del.id = del_id;
console.log(del_id)
var title = document.createElement('input');
title.className = "added_title";
title.setAttribute('placeholder', 'Title')
title.id = "add_title"
var notes = document.createElement('textarea');
notes.className = "added_notes";
notes.id = "add_note"
notes.setAttribute('rows', x.rows);
notes.setAttribute('cols', 40);
notes.setAttribute('placeholder', "Enter your note here");
var erase_but = document.createElement('button');
erase_but.className = "added_but";
erase_but.innerHTML = "Erase";
card.appendChild(del);
card.appendChild(title);
card.appendChild(notes);
card.appendChild(erase_but);
document.getElementById("created_note").prepend(card);
title.value = note_title;
notes.innerHTML = content;
erase_but.addEventListener("click", function () {
notes.innerHTML = "";
title.value = ""
})
document.getElementById("title").value = "";
document.getElementById("note").value = "";
var d = document.getElementById(del_id)
d.addEventListener("click",delete_note)
}
// Function to erase the contents of the note Erase command.
function erase() {
document.getElementById("note").value = ""
document.getElementById("title").value = ""
}
var storage_name = "stickynotes010";
var count_storage = "notescount"
function getNotes() {
// stores : nothing
// returns : a new array or an array containing the stored_notes
var stored_notes = localStorage.getItem(storage_name);
if (stored_notes == "" || stored_notes == null)
return new Array();
return JSON.parse(stored_notes);
}
function storeNotes(note_arr) {
//returns : nothing
//work : storing the newnotes created into the local storage
var stringified_note = JSON.stringify(note_arr)
localStorage.setItem(storage_name, stringified_note);
}
function count_numberof_Notes() {
var no_of_notes = localStorage.getItem(count_storage)
if (no_of_notes == "" || no_of_notes == null) {
localStorage.setItem(count_storage, 0)
return 0;
}
var count = parseInt(no_of_notes) + 1;
localStorage.setItem(count_storage, count);
return count;
}
function delete_note(e){
//returns an array containing notes other than the note to be deleted
var modified_note_arr = []
var note_array_in_localstorage = getNotes()
var note_id = e.target.id;
console.log("target.id " ,note_id)
var notes_count = note_array_in_localstorage.length
for(var i=0; i<notes_count ; i++){
var v = note_array_in_localstorage[i]
if(v.id != note_id)
modified_note_arr.push(note_array_in_localstorage[i]);
}
console.log(modified_note_arr)
storeNotes(modified_note_arr)
document.getElementById("created_note").innerHTML = ""
render()
}
window.delete_note = delete_note
//Function to renderialize
function render() {
var note_arr = getNotes();
for (var i = 0; i < note_arr.length; i++) {
note = note_arr[i];
no_title = note.title;
content = note.content;
no_id = note.id
addNote(no_title, content ,no_id )
}
}
render();