diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index 20ad9220..3b684e0c 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -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) {