[assets] Use classes for JS files:

- Classes strictly parse code implicitly.
- Fix previously updated code.
This commit is contained in:
Fabien Basmaison
2021-04-06 09:44:59 +02:00
parent f430363be0
commit 2f2f7db086
2 changed files with 187 additions and 171 deletions

View File

@@ -1,28 +1,32 @@
/* exported updateDisplay */
/* globals addRemoveClass */
/* exported LocalStorageTools */
/* globals BookWyrm */
// set javascript listeners
function updateDisplay(e) {
// used in set reading goal
var key = e.target.getAttribute('data-id');
var value = e.target.getAttribute('data-value');
window.localStorage.setItem(key, value);
let LocalStorageTools = new class {
constructor() {
// display based on localstorage vars
document.querySelectorAll('[data-hide]')
.forEach(t => this.setDisplay(t));
document.querySelectorAll('[data-hide="' + key + '"]')
.forEach(t => setDisplay(t));
// update localstorage
document.querySelectorAll('.set-display')
.forEach(t => t.onclick = this.updateDisplay.bind(this));
}
// set javascript listeners
updateDisplay(e) {
// used in set reading goal
var key = e.target.getAttribute('data-id');
var value = e.target.getAttribute('data-value');
window.localStorage.setItem(key, value);
document.querySelectorAll('[data-hide="' + key + '"]')
.forEach(t => this.setDisplay(t));
}
setDisplay(el) {
// used in set reading goal
var key = el.getAttribute('data-hide');
var value = window.localStorage.getItem(key);
BookWyrm.addRemoveClass(el, 'hidden', value);
}
}
function setDisplay(el) {
// used in set reading goal
var key = el.getAttribute('data-hide');
var value = window.localStorage.getItem(key);
addRemoveClass(el, 'hidden', value);
}
// display based on localstorage vars
document.querySelectorAll('[data-hide]')
.forEach(t => setDisplay(t));
// update localstorage
document.querySelectorAll('.set-display')
.forEach(t => t.onclick = updateDisplay);