Commit 489d20bc authored by Romain Courteaud's avatar Romain Courteaud

erp5_web_renderjs_ui: reduce number of not needed dom modification in html5 input

parent 14a1904e
......@@ -44,11 +44,28 @@
.onStateChange(function onStateChange(modification_dict) {
var textarea = this.element.querySelector('input'),
tmp; // general use short-scope variable
if (modification_dict.hasOwnProperty('value') ||
modification_dict.hasOwnProperty('checked') ||
modification_dict.hasOwnProperty('editable') ||
modification_dict.hasOwnProperty('required') ||
modification_dict.hasOwnProperty('id') ||
modification_dict.hasOwnProperty('name') ||
modification_dict.hasOwnProperty('type') ||
modification_dict.hasOwnProperty('title') ||
modification_dict.hasOwnProperty('focus') ||
modification_dict.hasOwnProperty('step') ||
modification_dict.hasOwnProperty('trim') ||
modification_dict.hasOwnProperty('multiple') ||
modification_dict.hasOwnProperty('accept') ||
modification_dict.hasOwnProperty('capture') ||
modification_dict.hasOwnProperty('append') ||
modification_dict.hasOwnProperty('prepend')
) {
if (this.state.type === 'checkbox') {
textarea.checked = this.state.checked;
}
if (modification_dict.hasOwnProperty("value")) {
} else {
textarea.setAttribute('value', this.state.value);
textarea.value = this.state.value;
}
......@@ -89,12 +106,6 @@
textarea.readonly = false;
}
if (this.state.hidden && !modification_dict.error_text) {
textarea.hidden = true;
} else {
textarea.hidden = false;
}
if (this.state.focus === true) {
textarea.autofocus = true;
textarea.focus();
......@@ -120,6 +131,15 @@
this.element.insertBefore(tmp, textarea);
tmp = undefined;
}
}
if (modification_dict.hasOwnProperty('error_text') ||
modification_dict.hasOwnProperty('hidden')) {
if (this.state.hidden && !this.state.error_text) {
textarea.hidden = true;
} else {
textarea.hidden = false;
}
if (this.state.error_text &&
!textarea.classList.contains("is-invalid")) {
......@@ -128,6 +148,7 @@
textarea.classList.contains("is-invalid")) {
textarea.classList.remove("is-invalid");
}
}
})
......@@ -240,7 +261,6 @@
}, {mutex: 'changestate'})
.declareJob('deferErrorText', function deferErrorText(error_text) {
var input = this.element.querySelector("input");
return this.changeState({
error_text: error_text
});
......
......@@ -234,7 +234,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>990.27297.58624.60416</string> </value>
<value> <string>990.28219.58167.35225</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>1614639525.14</float>
<float>1614695141.57</float>
<string>UTC</string>
</tuple>
</state>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment