-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscript.js
More file actions
89 lines (69 loc) · 2.36 KB
/
script.js
File metadata and controls
89 lines (69 loc) · 2.36 KB
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
const addBtn = document.getElementById('add');
const notes = JSON.parse(localStorage.getItem('notes'));
if (notes) {
notes.forEach(note => addNewNote(note, true));
}
addBtn.addEventListener('click', () => addNewNote());
function addNewNote(text = '',edit = false) {
const note = document.createElement('div');
note.classList.add('note');
note.innerHTML = `
<div class="tools">
<button class="edit" data-toggle="tooltip" title="" data-placement="bottom" data-html="true" data-original-title="<strong>Edit/Save</strong>"><i id="ed" class="fas fa-${!edit ?'save':'edit'}"></i></button>
<button class="delete" data-toggle="tooltip" title="" data-placement="bottom" data-html="true" data-original-title="<strong>Delete</strong>"><i class="fas fa-trash-alt"></i></button>
</div>
<div class="main ${text ? "" : "hidden"}"></div>
<textarea class="${text ? "hidden" : ""}"</textarea>
`
const editBtn = note.querySelector('.edit');
const deleteBtn = note.querySelector('.delete');
const main = note.querySelector('.main');
const textArea = note.querySelector('textarea');
textArea.value = text;
main.innerHTML = marked(text);
deleteBtn.addEventListener('click', () => {
note.remove();
updateLS();
})
editBtn.addEventListener('click', () => {
main.classList.toggle('hidden');
textArea.classList.toggle('hidden');
let ed = document.getElementById("ed");
let faEdit = false;
let faSave = false;
for (const classListElement of ed.classList) {
if (classListElement === "fa-save"){
faSave = true;
break;
}
if (classListElement === "fa-edit"){
faEdit = true;
break;
}
}
if (faEdit){
ed.classList.remove("fa-edit");
ed.classList.add("fa-save");
}else if (faSave) {
ed.classList.remove("fa-save");
ed.classList.add("fa-edit");
}
})
textArea.addEventListener('input', (e) => {
const { value } = e.target;
main.innerHTML = marked(value);
updateLS();
})
document.body.appendChild(note);
}
function updateLS() {
const notesText = document.querySelectorAll('textarea');
const notes = [];
notesText.forEach(note => notes.push(note.value));
localStorage.setItem('notes', JSON.stringify(notes));
}
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip({
trigger : "hover"
});
});