Some bugfixes for input elements

This commit is contained in:
Daniel
2025-04-24 18:12:38 +02:00
parent 0d5ffd72a8
commit ff0c00cabb
4 changed files with 151 additions and 124 deletions

View File

@ -192,7 +192,7 @@ function updateValues(message, src) {
// Handles changes of parameter-values
for (var i = 0; i < message.updates.length; i++) {
let component = message.updates[i];
let value = component.value;
let comp_value = component.value;
let matches = document.getElementsByName(component.name);
// Check for status updates
@ -210,27 +210,25 @@ function updateValues(message, src) {
elem.innerHTML = text;
}
} else if (type == "input") {
let row = elem.parentNode.parentNode.parentNode;
let row = elem.closest('div');
row.style.backgroundColor = "white";
let mval = elem.value;
let oldValue = ('oldValue' in elem) ? elem.oldValue : mval;
if (value != mval && parseFloat(value) != parseFloat(mval) && value != oldValue) {
if (elem == document.activeElement
|| oldValue != mval) {
let oldValue = ('oldValue' in elem) ? elem.oldValue : elem.value;
if (comp_value != elem.value && parseFloat(comp_value) != parseFloat(elem.value) && comp_value != oldValue) {
if (elem == document.activeElement || oldValue != elem.value) {
row.style.backgroundColor = "orange";
} else {
elem.value = value;
elem.value = comp_value;
}
}
elem.actualValue = value;
resize_textfield(elem);
elem.actualValue = comp_value;
resizeTextfield(elem);
} else if (type == "checkbox") {
let row = elem.closest('div');
row.style.backgroundColor = "white";
console.log('receive: ', value);
// console.log('CBX', elem.name, message, Boolean(value && value != 'false'));
// elem.checked = Boolean(value && value != 'false');
if (value === 'False') {
console.log('receive: ', comp_value);
if (comp_value == 'False' || comp_value == 'false' || comp_value == 0) {
elem.checked = false;
} else {
elem.checked = true;
@ -242,7 +240,7 @@ function updateValues(message, src) {
let options = elem.childNodes;
for (var j = 0; j < options.length; j++) {
if (options[j].label == value) {
if (options[j].label == comp_value) {
elem.value = j + 1;
}
}
@ -370,16 +368,8 @@ function successHandler(s, message) {
isl = appendToGridElement(2, message.title, 'parameters', createContent(message));
adjustGrid();
if (nColumns == 1 || nColumns == 2 || nColumns == 3) {
// elements[1].style.display = "none"; // hide modules
// elements[2].style.display = "inline-block"; // show parameters
// style(2,"100vw","100vh");
document.getElementById('close-cross').innerHTML = '<img class = "icon-close" src="res/icon_close.png">';
}
// else if (nColumns == 2 || nColumns == 3) {
// adjustGrid();
// } else {
// adjustGrid();
// }
}
nextInitCommand();
// Request for updates.