Merge pull request #397 from ebolam/Model_Plugins

Fixes for model backend UI
This commit is contained in:
henk717
2023-07-15 23:58:24 +02:00
committed by GitHub
4 changed files with 40 additions and 10 deletions

View File

@@ -6293,9 +6293,9 @@ def UI_2_select_model(data):
@logger.catch
def UI_2_resubmit_model_info(data):
valid_loaders = {}
for model_backend in set([item.model_backend for sublist in model_menu for item in model_menu[sublist] if item.name == data['id']]):
for model_backend in data['valid_backends']:
valid_loaders[model_backend] = model_backends[model_backend].get_requested_parameters(data["name"], data["path"] if 'path' in data else None, data["menu"], parameters=data)
emit("selected_model_info", {"model_backends": valid_loaders})
emit("selected_model_info", {"model_backends": valid_loaders, 'selected_model_backend': data['plugin']})
#==================================================================#
# Event triggered when user loads a model

View File

@@ -171,10 +171,10 @@ class InferenceModel:
self.capabilties = ModelCapabilities()
self.model_name = "Not Defined"
def is_valid(self, model_name, model_path, menu_path, vram):
def is_valid(self, model_name, model_path, menu_path):
return True
def requested_parameters(self, model_name, model_path, menu_path, vram):
def requested_parameters(self, model_name, model_path, menu_path):
return {}
def set_input_parameters(self, parameters):

View File

@@ -3977,6 +3977,12 @@ function show_model_menu(data) {
}
function getOptions(id){
let selectElement = document.getElementById(id);
let optionNames = [...selectElement.options].map(o => o.text);
return optionNames;
}
function model_settings_checker() {
//get check value:
missing_element = false;
@@ -4028,6 +4034,8 @@ function model_settings_checker() {
data = {...data, ...selected_model_data};
data['plugin'] = document.getElementById("modelplugin").value;
data['valid_backends'] = getOptions("modelplugin");
socket.emit("resubmit_model_info", data);
}
@@ -4101,6 +4109,10 @@ function model_settings_checker() {
}
}
function set_toggle(id) {
$('#'+id).bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
}
function selected_model_info(sent_data) {
const data = sent_data['model_backends'];
//clear out the loadmodelsettings
@@ -4188,6 +4200,7 @@ function selected_model_info(sent_data) {
toggle.checked = item['default'];
toggle.onclick = onchange_event;
toggle.setAttribute("data_type", item['unit']);
toggle.setAttribute("refresh_model_inputs", item['refresh_model_inputs']);
if ('check' in item) {
toggle.check_data = item['check'];
@@ -4195,9 +4208,7 @@ function selected_model_info(sent_data) {
toggle.check_data = null;
}
new_setting.querySelector('#blank_model_settings_toggle').append(toggle);
setTimeout(function() {
$('#'+loader + "\\|" + item['id'] + "_value").bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
}, 200);
setTimeout(set_toggle, 200, loader + "\\|" + item['id'] + "_value");
toggle.noresubmit = true;
toggle.onclick();
toggle.noresubmit = false;
@@ -4283,6 +4294,10 @@ function selected_model_info(sent_data) {
}
}
if ('selected_model_backend' in sent_data) {
document.getElementById("modelplugin").value = sent_data['selected_model_backend'];
}
//unhide the first plugin settings
if (document.getElementById(document.getElementById("modelplugin").value + "_settings_area")) {
document.getElementById(document.getElementById("modelplugin").value + "_settings_area").classList.remove("hidden");

View File

@@ -1651,6 +1651,12 @@ function show_model_menu(data) {
}
function getOptions(id){
let selectElement = document.getElementById(id);
let optionNames = [...selectElement.options].map(o => o.text);
return optionNames;
}
function model_settings_checker() {
//get check value:
missing_element = false;
@@ -1702,6 +1708,7 @@ function model_settings_checker() {
data = {...data, ...selected_model_data};
data['plugin'] = document.getElementById("modelplugin").value;
data['valid_backends'] = getOptions("modelplugin");
socket.emit("resubmit_model_info", data);
}
@@ -1775,7 +1782,13 @@ function model_settings_checker() {
}
}
function set_toggle(id) {
$('#'+id).bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
}
var temp;
function selected_model_info(sent_data) {
temp = sent_data;
const data = sent_data['model_backends'];
//clear out the loadmodelsettings
var loadmodelsettings = document.getElementById('loadmodelsettings')
@@ -1869,9 +1882,7 @@ function selected_model_info(sent_data) {
toggle.check_data = null;
}
new_setting.querySelector('#blank_model_settings_toggle').append(toggle);
setTimeout(function() {
$('#'+loader + "\\|" + item['id'] + "_value").bootstrapToggle({size: "mini", onstyle: "success", toggle: "toggle"});
}, 200);
setTimeout(set_toggle, 200, loader + "\\|" + item['id'] + "_value");
toggle.noresubmit = true;
toggle.onclick();
toggle.noresubmit = false;
@@ -1957,6 +1968,10 @@ function selected_model_info(sent_data) {
}
}
if ('selected_model_backend' in sent_data) {
document.getElementById("modelplugin").value = sent_data['selected_model_backend'];
}
//unhide the first plugin settings
if (document.getElementById(document.getElementById("modelplugin").value + "_settings_area")) {
document.getElementById(document.getElementById("modelplugin").value + "_settings_area").classList.remove("hidden");