From 41716a250db3f1952f93d16d27b76ed6a39a383b Mon Sep 17 00:00:00 2001 From: ebolam Date: Thu, 7 Sep 2023 20:55:19 -0400 Subject: [PATCH] Fix for model parameters not triggering a parameter refresh if a validation rule is not present --- static/koboldai.js | 51 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/static/koboldai.js b/static/koboldai.js index 64bb119a..b2a5f0ed 100644 --- a/static/koboldai.js +++ b/static/koboldai.js @@ -1806,31 +1806,6 @@ function model_settings_checker() { valid = (check_value < this.check_data['value']); } if (valid || missing_element) { - //if we are supposed to refresh when this value changes we'll resubmit - if ((this.getAttribute("refresh_model_inputs") == "true") && !missing_element && !this.noresubmit) { - //get an object of all the input settings from the user - data = {} - settings_area = document.getElementById(document.getElementById("modelplugin").value + "_settings_area"); - if (settings_area) { - for (const element of settings_area.querySelectorAll(".model_settings_input:not(.hidden)")) { - var element_data = element.value; - if (element.getAttribute("data_type") == "int") { - element_data = parseInt(element_data); - } else if (element.getAttribute("data_type") == "float") { - element_data = parseFloat(element_data); - } else if (element.getAttribute("data_type") == "bool") { - element_data = element.checked; - } - data[element.id.split("|")[1].replace("_value", "")] = element_data; - } - } - data = {...data, ...selected_model_data}; - - data['plugin'] = document.getElementById("modelplugin").value; - data['valid_backends'] = getOptions("modelplugin"); - - socket.emit("resubmit_model_info", data); - } if ('sum' in this.check_data) { for (const temp of this.check_data['sum']) { if (document.getElementById(this.id.split("|")[0] +"|" + temp + "_value")) { @@ -1899,6 +1874,32 @@ function model_settings_checker() { } + + //if we are supposed to refresh when this value changes we'll resubmit + if ((this != window) && (this.getAttribute("refresh_model_inputs") == "true") && !missing_element && !this.noresubmit) { + //get an object of all the input settings from the user + data = {} + settings_area = document.getElementById(document.getElementById("modelplugin").value + "_settings_area"); + if (settings_area) { + for (const element of settings_area.querySelectorAll(".model_settings_input:not(.hidden)")) { + var element_data = element.value; + if (element.getAttribute("data_type") == "int") { + element_data = parseInt(element_data); + } else if (element.getAttribute("data_type") == "float") { + element_data = parseFloat(element_data); + } else if (element.getAttribute("data_type") == "bool") { + element_data = element.checked; + } + data[element.id.split("|")[1].replace("_value", "")] = element_data; + } + } + data = {...data, ...selected_model_data}; + + data['plugin'] = document.getElementById("modelplugin").value; + data['valid_backends'] = getOptions("modelplugin"); + + socket.emit("resubmit_model_info", data); + } } function set_toggle(id) {