| let stepCursor = {txt: 0, img: 0}; | |
| function setupScroll(tab) { | |
| const buttons = gradioApp().querySelectorAll(`#${tab}2img_gallery.gradio-gallery * button.thumbnail-small`); | |
| if (buttons.length > 0) { | |
| const gallery = gradioApp().querySelector(`#${tab}2img_gallery.gradio-gallery`); | |
| gallery.onwheel = (event) => { | |
| event.preventDefault(); | |
| const dir = Math.sign(event.deltaY); | |
| const nextStepCursor = Math.min(Math.max(0, (stepCursor[tab] - dir)), buttons.length - 1); | |
| if (stepCursor[tab] != nextStepCursor) { | |
| stepCursor[tab] = nextStepCursor; | |
| buttons[stepCursor[tab]].click(); | |
| } | |
| } | |
| } | |
| } | |
| onAfterUiUpdate(function() { | |
| setupScroll("txt"); | |
| setupScroll("img"); | |
| updateOnBackgroundChange(); | |
| }); |