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() { reset() {
const savedName = this.form.elements.name && this.form.elements.name.value;
this.form.reset(); 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.updateFlagField();
this.updateMessageBox(); this.updateMessageBox();
this.files = []; this.files = [];

@ -44,22 +44,33 @@ class syncedField {
settingsFields[0].addEventListener('input', (e) => { this.update(e) }, false); settingsFields[0].addEventListener('input', (e) => { this.update(e) }, false);
} }
for (let field of this.fields) { 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); !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) { update(e) {
if (this.persistent) { if (this.persistent) {
setLocalStorage(this.key, e.target.value); setLocalStorage(this.key, e.target.value);
} }
this.set(e.target.value);
}
set(val) {
for (let field of this.fields) { 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', () => { window.addEventListener('settingsReady', () => {

Loading…
Cancel
Save