From 85766d3a63619d6b20526d1f738dc1d3d6857d60 Mon Sep 17 00:00:00 2001 From: Abdullah Alfaraj Date: Fri, 14 Apr 2023 02:05:16 +0300 Subject: [PATCH] the refresh button will refresh the sd tab --- index.js | 1 + utility/tab/sd.js | 39 +++++++++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/index.js b/index.js index 8606bd9..c479e45 100644 --- a/index.js +++ b/index.js @@ -2654,6 +2654,7 @@ document .getElementById('btnRefreshModels') .addEventListener('click', async (e) => { await refreshUI() + await sd_tab.refreshSDTab() tempDisableElement(e.target, 3000) }) //REFACTOR: move to events.js diff --git a/utility/tab/sd.js b/utility/tab/sd.js index 9af6269..5687a34 100644 --- a/utility/tab/sd.js +++ b/utility/tab/sd.js @@ -154,21 +154,28 @@ function getLoraModelPrompt(lora_model_name) { return `` } async function populateLoraModelMenu() { - const lora_models_json = await sdapi.requestLoraModels() - const lora_models_names = Object.keys(lora_models_json) - html_manip.populateMenu( - 'mLoraModelMenu', - 'mLoraModelItemClass', - lora_models_names, - (item, item_html_element) => { - item_html_element.innerHTML = item - item_html_element.onclick = () => { - const lora_prompt = getLoraModelPrompt(item) - const prompt = html_manip.getPrompt() - html_manip.autoFillInPrompt(`${prompt} ${lora_prompt}`) + try { + const lora_models_json = await sdapi.requestLoraModels() + const lora_models_names = Object.keys(lora_models_json) + + document.getElementById('mLoraModelMenu').innerHTML = '' + + html_manip.populateMenu( + 'mLoraModelMenu', + 'mLoraModelItemClass', + lora_models_names, + (item, item_html_element) => { + item_html_element.innerHTML = item + item_html_element.onclick = () => { + const lora_prompt = getLoraModelPrompt(item) + const prompt = html_manip.getPrompt() + html_manip.autoFillInPrompt(`${prompt} ${lora_prompt}`) + } } - } - ) + ) + } catch (e) { + console.warn('populateLoraModelMenu error: ', e) + } } function initInitMaskElement() { //make init mask image use the thumbnail class with buttons @@ -199,6 +206,9 @@ function initInitMaskElement() { populateLoraModelMenu() // no need for await } +async function refreshSDTab() { + populateLoraModelMenu() +} document.getElementById('hrScaleSlider').addEventListener('input', (evt) => { const sd_value = getHrScaleSliderSDValue() setHrScaleSliderSDValue(sd_value.toFixed(2)) @@ -273,4 +283,5 @@ module.exports = { populateLoraModelMenu, getImageCfgScaleSDValue, setImageCfgScaleSDValue, + refreshSDTab, }