extraNetworks.js 1.9 KB
Newer Older
A
AUTOMATIC 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

function setupExtraNetworksForTab(tabname){
    gradioApp().querySelector('#'+tabname+'_extra_tabs').classList.add('extra-networks')

    gradioApp().querySelector('#'+tabname+'_extra_tabs > div').appendChild(gradioApp().getElementById(tabname+'_extra_refresh'))
    gradioApp().querySelector('#'+tabname+'_extra_tabs > div').appendChild(gradioApp().getElementById(tabname+'_extra_close'))
}

var activePromptTextarea = null;
var activePositivePromptTextarea = null;

function setupExtraNetworks(){
    setupExtraNetworksForTab('txt2img')
    setupExtraNetworksForTab('img2img')

    function registerPrompt(id, isNegative){
        var textarea = gradioApp().querySelector("#" + id + " > label > textarea");

        if (activePromptTextarea == null){
            activePromptTextarea = textarea
        }
        if (activePositivePromptTextarea == null && ! isNegative){
            activePositivePromptTextarea = textarea
        }

		textarea.addEventListener("focus", function(){
            activePromptTextarea = textarea;
            if(! isNegative)  activePositivePromptTextarea = textarea;
		});
    }

    registerPrompt('txt2img_prompt')
    registerPrompt('txt2img_neg_prompt', true)
    registerPrompt('img2img_prompt')
    registerPrompt('img2img_neg_prompt', true)
}

onUiLoaded(setupExtraNetworks)

function cardClicked(textToAdd, allowNegativePrompt){
    textarea = allowNegativePrompt ? activePromptTextarea : activePositivePromptTextarea

    textarea.value = textarea.value + " " + textToAdd
    updateInput(textarea)

    return false
}

function saveCardPreview(event, tabname, filename){
    textarea = gradioApp().querySelector("#" + tabname + '_preview_filename  > label > textarea')
    button = gradioApp().getElementById(tabname + '_save_preview')

    textarea.value = filename
    updateInput(textarea)

    button.click()

    event.stopPropagation()
    event.preventDefault()
}