mirror of
https://github.com/lllyasviel/stable-diffusion-webui-forge.git
synced 2026-02-23 08:13:58 +00:00
restore lora version filtering (#1885)
Added Flux to lora types in extra networks UI, so user can set. Loras versioned first by user-set type, if any. Falls back to heuristics - these are much more reliable than the removed old A1111 tests and in case of no match default to Unknown (always displayed). Filtering is done based on UI setting. 'all' setting does not filter. Filters lora lists on change. Removed unused 'lora_hide_unknown_for_versions' setting.
This commit is contained in:
@@ -50,6 +50,17 @@ 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'
|
||||
for (i = 0; i < radioButtons.length; i++) {
|
||||
if (radioButtons[i].checked) {
|
||||
UIresult = i;
|
||||
}
|
||||
}
|
||||
|
||||
gradioApp().querySelectorAll('#' + tabname + '_extra_tabs div.card').forEach(function(elem) {
|
||||
var searchOnly = elem.querySelector('.search_only');
|
||||
var text = Array.prototype.map.call(elem.querySelectorAll('.search_terms, .description'), function(t) {
|
||||
@@ -60,6 +71,21 @@ function setupExtraNetworksForTab(tabname) {
|
||||
if (searchOnly && searchTerm.length < 4) {
|
||||
visible = false;
|
||||
}
|
||||
|
||||
sdversion = elem.getAttribute('data-sort-sdversion');
|
||||
if (sdversion == null) ;
|
||||
else if (sdversion == 'SdVersion.Unknown') ;
|
||||
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 == 2) { // 'flux'
|
||||
if (sdversion != 'SdVersion.Flux') visible = false;
|
||||
}
|
||||
|
||||
if (visible) {
|
||||
elem.classList.remove("hidden");
|
||||
} else {
|
||||
@@ -70,6 +96,7 @@ function setupExtraNetworksForTab(tabname) {
|
||||
applySort(force);
|
||||
};
|
||||
|
||||
|
||||
var applySort = function(force) {
|
||||
var cards = gradioApp().querySelectorAll('#' + tabname_full + ' div.card');
|
||||
var parent = gradioApp().querySelector('#' + tabname_full + "_cards");
|
||||
@@ -449,6 +476,17 @@ function extraNetworksControlTreeViewOnClick(event, tabname, extra_networks_tabn
|
||||
pane.classList.toggle("extra-network-dirs-hidden", show);
|
||||
}
|
||||
|
||||
function clickLoraRefresh() {
|
||||
var applyFunction = extraNetworksApplyFilter['txt2img_lora'];
|
||||
if (applyFunction) {
|
||||
applyFunction(true);
|
||||
}
|
||||
applyFunction = extraNetworksApplyFilter['img2img_lora'];
|
||||
if (applyFunction) {
|
||||
applyFunction(true);
|
||||
}
|
||||
}
|
||||
|
||||
function extraNetworksControlRefreshOnClick(event, tabname, extra_networks_tabname) {
|
||||
/**
|
||||
* Handles `onclick` events for the Refresh Page button.
|
||||
|
||||
Reference in New Issue
Block a user