function setupExtraNetworksForTab(tabname){ gradioApp().querySelector('#'+tabname+'_extra_tabs').classList.add('extra-networks') var tabs = gradioApp().querySelector('#'+tabname+'_extra_tabs > div') var search = gradioApp().querySelector('#'+tabname+'_extra_search textarea') var refresh = gradioApp().getElementById(tabname+'_extra_refresh') var close = gradioApp().getElementById(tabname+'_extra_close') search.classList.add('search') tabs.appendChild(search) tabs.appendChild(refresh) tabs.appendChild(close) search.addEventListener("input", function(evt){ searchTerm = search.value.toLowerCase() gradioApp().querySelectorAll('#'+tabname+'_extra_tabs div.card').forEach(function(elem){ text = elem.querySelector('.name').textContent.toLowerCase() elem.style.display = text.indexOf(searchTerm) == -1 ? "none" : "" }) }); } var activePromptTextarea = {}; function setupExtraNetworks(){ setupExtraNetworksForTab('txt2img') setupExtraNetworksForTab('img2img') function registerPrompt(tabname, id){ var textarea = gradioApp().querySelector("#" + id + " > label > textarea"); if (! activePromptTextarea[tabname]){ activePromptTextarea[tabname] = textarea } textarea.addEventListener("focus", function(){ activePromptTextarea[tabname] = textarea; }); } registerPrompt('txt2img', 'txt2img_prompt') registerPrompt('txt2img', 'txt2img_neg_prompt') registerPrompt('img2img', 'img2img_prompt') registerPrompt('img2img', 'img2img_neg_prompt') } onUiLoaded(setupExtraNetworks) function cardClicked(tabname, textToAdd, allowNegativePrompt){ var textarea = allowNegativePrompt ? activePromptTextarea[tabname] : gradioApp().querySelector("#" + tabname + "_prompt > label > textarea") textarea.value = textarea.value + " " + textToAdd updateInput(textarea) } function saveCardPreview(event, tabname, filename){ var textarea = gradioApp().querySelector("#" + tabname + '_preview_filename > label > textarea') var button = gradioApp().getElementById(tabname + '_save_preview') textarea.value = filename updateInput(textarea) button.click() event.stopPropagation() event.preventDefault() }