diff --git a/ui/media/js/main.js b/ui/media/js/main.js index 00a49d17..b44af102 100644 --- a/ui/media/js/main.js +++ b/ui/media/js/main.js @@ -87,7 +87,7 @@ let promptStrengthField = document.querySelector("#prompt_strength") let samplerField = document.querySelector("#sampler_name") let samplerSelectionContainer = document.querySelector("#samplerSelection") let useFaceCorrectionField = document.querySelector("#use_face_correction") -let gfpganModelField = new ModelDropdown(document.querySelector("#gfpgan_model"), ["codeformer", "gfpgan"]) +let gfpganModelField = new ModelDropdown(document.querySelector("#gfpgan_model"), ["gfpgan", "codeformer"], "", false) let useUpscalingField = document.querySelector("#use_upscale") let upscaleModelField = document.querySelector("#upscale_model") let upscaleAmountField = document.querySelector("#upscale_amount") @@ -2061,10 +2061,3 @@ prettifyInputs(document) // set the textbox as focused on start promptField.focus() promptField.selectionStart = promptField.value.length - -// use gfpgan as the default model for face restoration -// document.addEventListener("refreshModels", function() { -// let gfpganIdx = gfpganModelField.inputModels.findIndex((e) => e.toLowerCase().startsWith("gfpgan")) -// let gfpganElem = gfpganModelField.modelElements[gfpganIdx] -// gfpganModelField.selectModelEntry(gfpganElem) -// }) diff --git a/ui/media/js/searchable-models.js b/ui/media/js/searchable-models.js index 2b72aaa6..7bdb176a 100644 --- a/ui/media/js/searchable-models.js +++ b/ui/media/js/searchable-models.js @@ -38,6 +38,8 @@ class ModelDropdown { noneEntry //= '' modelFilterInitialized //= undefined + sorted //= true + /* MIMIC A REGULAR INPUT FIELD */ get parentElement() { return this.modelFilter.parentElement @@ -83,10 +85,11 @@ class ModelDropdown { /* SEARCHABLE INPUT */ - constructor(input, modelKey, noneEntry = "") { + constructor(input, modelKey, noneEntry = "", sorted = true) { this.modelFilter = input this.noneEntry = noneEntry this.modelKey = modelKey + this.sorted = sorted if (modelsOptions !== undefined) { // reuse models from cache (only useful for plugins, which are loaded after models) @@ -566,11 +569,15 @@ class ModelDropdown { }) const childFolderNames = Array.from(foldersMap.keys()) - this.sortStringArray(childFolderNames) + if (this.sorted) { + this.sortStringArray(childFolderNames) + } const folderElements = childFolderNames.map((name) => foldersMap.get(name)) const modelNames = Array.from(modelsMap.keys()) - this.sortStringArray(modelNames) + if (this.sorted) { + this.sortStringArray(modelNames) + } const modelElements = modelNames.map((name) => modelsMap.get(name)) if (modelElements.length && folderName) {