ref #429, fix and improvement, less junk in forms.js when adding stuff like that in future

indiachan-spamvector
Thomas Lynch 2 years ago
parent 4745da7782
commit 06ba5608dd
  1. 7
      gulp/res/js/forms.js
  2. 23
      gulp/res/js/password.js

@ -133,14 +133,7 @@ class postFormHandler {
}
reset() {
const savedName = this.form.elements.name && this.form.elements.name.value;
this.form.reset();
if (this.form.elements.name) {
this.form.elements.name.value = savedName;
}
if (this.form.elements.postpassword) {
this.form.elements.postpassword.value = localStorage.getItem('postpassword');
}
this.updateFlagField();
this.updateMessageBox();
this.files = [];

@ -44,22 +44,33 @@ class syncedField {
settingsFields[0].addEventListener('input', (e) => { this.update(e) }, false);
}
for (let field of this.fields) {
field.value = localStorage.getItem(this.key);
if (field.tagName === 'SELECT') {
const changeEvent = new Event("change");
field.dispatchEvent(changeEvent);
}
!this.oneWay && field.addEventListener('input', (e) => { this.update(e) }, false);
field.form && field.form.addEventListener('reset', (e) => {
setTimeout(() => {
this.set(localStorage.getItem(this.key));
}, 0);
}, false);
}
this.set(localStorage.getItem(this.key));
}
update(e) {
if (this.persistent) {
setLocalStorage(this.key, e.target.value);
}
this.set(e.target.value);
}
set(val) {
for (let field of this.fields) {
field.value = e.target.value;
field.value = val;
if (field.tagName === 'SELECT') {
//necessary to set selectedIndex here?
const changeEvent = new Event("change");
field.dispatchEvent(changeEvent);
}
}
}
}
window.addEventListener('settingsReady', () => {

Loading…
Cancel
Save