move "send to" button to current place

pull/15/head
Terry Jia 2023-08-06 09:56:15 -04:00
parent a9381afebc
commit e89e068228
3 changed files with 20 additions and 12 deletions

View File

@ -19,7 +19,7 @@
globalThis.canvasEditor.import = async () => {
const polotno = await import(`${base_path}/polotno.bundle.js`);
return { polotno };
return {polotno};
};
if (!globalThis.canvasEditor.imports) {
@ -38,5 +38,21 @@
onUiLoaded(function () {
canvasEditorImport = gradioApp().querySelector('#canvas-editor-import');
load(canvasEditorImport);
createSendToCanvasEditorButton("image_buttons_txt2img", window.txt2img_gallery);
createSendToCanvasEditorButton("image_buttons_img2img", window.img2img_gallery);
createSendToCanvasEditorButton("image_buttons_extras", window.extras_gallery);
function createSendToCanvasEditorButton(queryId, gallery) {
const existingButton = gradioApp().querySelector(`#${queryId} button`);
const newButton = existingButton.cloneNode(true);
newButton.style.display = "flex";
newButton.id = `${queryId}_send_to_canvasEditor`;
newButton.textContent = "Send to CanvasEditor";
newButton.addEventListener("click", () => sendImageToCanvasEditor(gallery));
gradioApp().querySelector(`#${queryId}`).appendChild(newButton);
}
});
})();

View File

@ -112,12 +112,8 @@ let _r = 0;
return !(displayValue === 'none');
}
window.sendImageToCanvasEditor = function () {
const gallerySelector = isTxt2Img() ? '#txt2img_gallery' : '#img2img_gallery';
const txt2imgGallery = gradioApp().querySelector(gallerySelector);
const img = txt2imgGallery.querySelector(".preview img");
window.sendImageToCanvasEditor = function (gallery) {
const img = gallery.querySelector(".preview img");
if (img) {
const tabIndex = getCanvasEditorTabIndex();

View File

@ -74,11 +74,7 @@ class Script(scripts.Script):
return scripts.AlwaysVisible
def ui(self, is_img2img):
send_canvas_editor = gr.Button(value="Send to Canvas Editor")
send_canvas_editor.click(None, send_canvas_editor, None, _js="sendImageToCanvasEditor")
return [send_canvas_editor]
return []
def wrap_api(fn):