Unverified Commit f00eaa4d authored by Khachatur Avanesian's avatar Khachatur Avanesian Committed by GitHub
Browse files

Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter
parent d4255506
Loading
Loading
Loading
Loading
+165 −163
Original line number Diff line number Diff line
@@ -121,23 +121,25 @@ document.addEventListener("DOMContentLoaded", function() {
});

/**
 * Add a ctrl+enter as a shortcut to start a generation
 * Add a Ctrl (Alt) + Enter as a shortcut to start / restart a generation
 */
document.addEventListener('keydown', function(e) {
    var handled = false;
    if (e.key !== undefined) {
        if ((e.key == "Enter" && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
    } else if (e.keyCode !== undefined) {
        if ((e.keyCode == 13 && (e.metaKey || e.ctrlKey || e.altKey))) handled = true;
    }
    if (handled) {
        var button = get_uiCurrentTabContent().querySelector('button[id$=_generate]');
        if (button) {
            button.click();
document.addEventListener('keydown', (e) => {
    const isEnter = e.key === 'Enter' || e.keyCode === 13
    const isModifierKey = e.metaKey || e.ctrlKey || e.altKey

    const interruptButton = get_uiCurrentTabContent().querySelector('button[id$=_interrupt]')
    const generateButton = get_uiCurrentTabContent().querySelector('button[id$=_generate]')

    if (isEnter && isModifierKey) {
        if (interruptButton.style.display === 'block') {
            interruptButton.click()
            setTimeout(() => generateButton.click(), 500)
        } else {
            generateButton.click()
        }
        e.preventDefault();
        e.preventDefault()
    }
});
})

/**
 * checks that a UI element is not in another hidden element or tab content