-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalculator.js
30 lines (30 loc) · 1.16 KB
/
calculator.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
const display = document.getElementById('display');
const saved = document.getElementById('saved');
const savedItems = document.getElementById('saveditems');
const nosaved = document.getElementById('nosaved');
const append = (value) => display.value += value;
const calculate = () => display.value = eval(display.value);
const deleteLast = () => display.value = display.value.slice(0, -1);
const clearDisplay = () => display.value = '';
const init = () => {
if (localStorage.getItem('saved') !== null) {
nosaved.style.display = 'none';
}
// every saved item gets a nice div element
// <div class="saved-item">1 + 1 = 2</div> for example
savedItems.innerHTML = localStorage.getItem('saved').split(',').map((item) => {
return `<div class="saved-item">${item}</div>`;
}).join('');
}
const save = () => {
if (localStorage.getItem('saved') === null) {
localStorage.setItem('saved', display.value);
} else {
localStorage.setItem('saved', `${localStorage.getItem('saved')}, ${display.value}`);
}
}
const viewSaved = () => {
init();
saved.style.display = 'block';
}
const closeSaved = () => saved.style.display = 'none';