diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index 28feebaf8..b2704ba42 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -149,28 +149,32 @@ let sortVal = 0; function sortExtraNetworks() { const sortDesc = ['Name [A-Z]', 'Name [Z-A]', 'Date [Newest]', 'Date [Oldest]', 'Size [Largest]', 'Size [Smallest]']; - const tabname = getENActiveTab(); const pagename = getENActivePage(); - if (!tabname || !pagename) return 'sort error: unknown page'; - const pg = gradioApp().getElementById(`${tabname.toLowerCase()}_${pagename.toLowerCase()}_cards`); - const cards = Array.from(pg.querySelectorAll('.card') || []); - if (cards.length === 0) return 'sort: no cards'; - cards.sort((a, b) => { - switch (sortVal) { - case 0: return a.dataset.name ? a.dataset.name.localeCompare(b.dataset.name) : 0; - case 1: return b.dataset.name ? b.dataset.name.localeCompare(a.dataset.name) : 0; - case 2: return a.dataset.mtime && !isNaN(a.dataset.mtime) ? parseFloat(b.dataset.mtime) - parseFloat(a.dataset.mtime) : 0; - case 3: return b.dataset.mtime && !isNaN(b.dataset.mtime) ? parseFloat(a.dataset.mtime) - parseFloat(b.dataset.mtime) : 0; - case 4: return a.dataset.size && !isNaN(a.dataset.size) ? parseFloat(b.dataset.size) - parseFloat(a.dataset.size) : 0; - case 5: return b.dataset.size && !isNaN(b.dataset.size) ? parseFloat(a.dataset.size) - parseFloat(b.dataset.size) : 0; - } - return 0; - }); - for (const card of cards) pg.appendChild(card); + if (!pagename) return 'sort error: unknown page'; + const allPages = Array.from(gradioApp().querySelectorAll('.extra-network-cards')); + const pages = allPages.filter((el) => el.id.includes(pagename.toLowerCase())); + let num = 0; + for (const pg of pages) { + const cards = Array.from(pg.querySelectorAll('.card') || []); + num = cards.length; + if (num === 0) return 'sort: no cards'; + cards.sort((a, b) => { // eslint-disable-line no-loop-func + switch (sortVal) { + case 0: return a.dataset.name ? a.dataset.name.localeCompare(b.dataset.name) : 0; + case 1: return b.dataset.name ? b.dataset.name.localeCompare(a.dataset.name) : 0; + case 2: return a.dataset.mtime && !isNaN(a.dataset.mtime) ? parseFloat(b.dataset.mtime) - parseFloat(a.dataset.mtime) : 0; + case 3: return b.dataset.mtime && !isNaN(b.dataset.mtime) ? parseFloat(a.dataset.mtime) - parseFloat(b.dataset.mtime) : 0; + case 4: return a.dataset.size && !isNaN(a.dataset.size) ? parseFloat(b.dataset.size) - parseFloat(a.dataset.size) : 0; + case 5: return b.dataset.size && !isNaN(b.dataset.size) ? parseFloat(a.dataset.size) - parseFloat(b.dataset.size) : 0; + } + return 0; + }); + for (const card of cards) pg.appendChild(card); + } const desc = sortDesc[sortVal]; - sortVal = (sortVal + 1) % 6; - log('sortExtraNetworks', tabname, pagename, desc); - return `sort page ${pagename} cards ${cards.length} by ${desc}`; + sortVal = (sortVal + 1) % sortDesc.length; + log('sortExtraNetworks', pagename, num, desc); + return `sort page ${pagename} cards ${num} by ${desc}`; } function refreshExtraNetworks(tabname) { diff --git a/modules/shared.py b/modules/shared.py index bca86c28c..b0059560b 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -337,7 +337,7 @@ options_templates.update(options_section(('diffusers', "Diffusers Settings"), { "diffusers_attention_slicing": OptionInfo(False, "Enable attention slicing"), "diffusers_model_load_variant": OptionInfo("default", "Diffusers model loading variant", gr.Radio, {"choices": ['default', 'fp32', 'fp16']}), "diffusers_vae_load_variant": OptionInfo("default", "Diffusers VAE loading variant", gr.Radio, {"choices": ['default', 'fp32', 'fp16']}), - "custom_diffusers_pipeline": OptionInfo('hf-internal-testing/diffusers-dummy-pipeline', 'Custom Diffusers pipeline to use'), + "custom_diffusers_pipeline": OptionInfo('', 'Load custom Diffusers pipeline'), "diffusers_lora_loader": OptionInfo("diffusers" if cmd_opts.use_openvino else "sequential apply", "Diffusers LoRA loading variant", gr.Radio, {"choices": ['diffusers', 'sequential apply', 'merge and apply']}), "diffusers_force_zeros": OptionInfo(True, "Force zeros for prompts when empty"), "diffusers_aesthetics_score": OptionInfo(False, "Require aesthetics score"),