mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-01-26 19:09:45 +00:00
improved extra network search (#1953)
multiple search terms possible, split by ' ' also improved handling when changing UI setting
This commit is contained in:
@@ -51,15 +51,15 @@ function setupExtraNetworksForTab(tabname) {
|
||||
var applyFilter = function(force) {
|
||||
var searchTerm = search.value.toLowerCase();
|
||||
|
||||
// get UI preset
|
||||
radioUI = gradioApp().querySelector('#forge_ui_preset');
|
||||
radioButtons = radioUI.getElementsByTagName('input');
|
||||
UIresult = 3; // default to 'all'
|
||||
// get UI preset
|
||||
radioUI = gradioApp().querySelector('#forge_ui_preset');
|
||||
radioButtons = radioUI.getElementsByTagName('input');
|
||||
UIresult = 3; // default to 'all'
|
||||
for (i = 0; i < radioButtons.length; i++) {
|
||||
if (radioButtons[i].checked) {
|
||||
UIresult = i;
|
||||
}
|
||||
}
|
||||
UIresult = i;
|
||||
}
|
||||
}
|
||||
|
||||
gradioApp().querySelectorAll('#' + tabname + '_extra_tabs div.card').forEach(function(elem) {
|
||||
var searchOnly = elem.querySelector('.search_only');
|
||||
@@ -67,24 +67,27 @@ function setupExtraNetworksForTab(tabname) {
|
||||
return t.textContent.toLowerCase();
|
||||
}).join(" ");
|
||||
|
||||
var visible = text.indexOf(searchTerm) != -1;
|
||||
if (searchOnly && searchTerm.length < 4) {
|
||||
visible = false;
|
||||
}
|
||||
var visible = true;
|
||||
if (searchOnly && searchTerm.length < 4) visible = false;
|
||||
|
||||
splitSearch = searchTerm.split(" ");
|
||||
splitSearch.forEach(function(partial) {
|
||||
if (text.indexOf(partial) == -1) visible = false;
|
||||
})
|
||||
|
||||
sdversion = elem.getAttribute('data-sort-sdversion');
|
||||
if (sdversion == null) ;
|
||||
else if (sdversion == 'SdVersion.Unknown') ;
|
||||
else if (sdversion == 'SdVersion.Unknown') ;
|
||||
else if (opts.lora_filter_disabled == True) ;
|
||||
else if (UIresult == 3) ; // 'all'
|
||||
else if (UIresult == 0) { // 'sd'
|
||||
if (sdversion != 'SdVersion.SD1' && sdversion != 'SdVersion.SD2') visible = false;
|
||||
else if (UIresult == 3) ; // 'all'
|
||||
else if (UIresult == 0) { // 'sd'
|
||||
if (sdversion != 'SdVersion.SD1' && sdversion != 'SdVersion.SD2') visible = false;
|
||||
}
|
||||
else if (UIresult == 1) { // 'xl'
|
||||
if (sdversion != 'SdVersion.SDXL') visible = false;
|
||||
else if (UIresult == 1) { // 'xl'
|
||||
if (sdversion != 'SdVersion.SDXL') visible = false;
|
||||
}
|
||||
else if (UIresult == 2) { // 'flux'
|
||||
if (sdversion != 'SdVersion.Flux') visible = false;
|
||||
else if (UIresult == 2) { // 'flux'
|
||||
if (sdversion != 'SdVersion.Flux') visible = false;
|
||||
}
|
||||
|
||||
if (visible) {
|
||||
@@ -141,6 +144,7 @@ function setupExtraNetworksForTab(tabname) {
|
||||
});
|
||||
applySort();
|
||||
applyFilter();
|
||||
|
||||
extraNetworksApplySort[tabname_full] = applySort;
|
||||
extraNetworksApplyFilter[tabname_full] = applyFilter;
|
||||
|
||||
@@ -478,14 +482,16 @@ function extraNetworksControlTreeViewOnClick(event, tabname, extra_networks_tabn
|
||||
}
|
||||
|
||||
function clickLoraRefresh() {
|
||||
var applyFunction = extraNetworksApplyFilter['txt2img_lora'];
|
||||
if (applyFunction) {
|
||||
applyFunction(true);
|
||||
}
|
||||
applyFunction = extraNetworksApplyFilter['img2img_lora'];
|
||||
if (applyFunction) {
|
||||
applyFunction(true);
|
||||
}
|
||||
const targets = ['txt2img_lora', 'txt2img_checkpoints', 'txt2img_textural_inversion', 'img2img_lora', 'img2img_checkpoints', 'img2img_textural_inversion'];
|
||||
targets.forEach(function(t) {
|
||||
const tab = gradioApp().getElementById(t + '-button');
|
||||
if (tab && tab.getAttribute('aria-selected') == "true") {
|
||||
const applyFunction = extraNetworksApplyFilter[t];
|
||||
if (applyFunction) {
|
||||
applyFunction(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function extraNetworksControlRefreshOnClick(event, tabname, extra_networks_tabname) {
|
||||
|
||||
Reference in New Issue
Block a user