Readded loading file

This commit is contained in:
pythongosssss 2023-03-03 15:27:08 +00:00
parent a5c5c97ded
commit 72cdd83c06
3 changed files with 26 additions and 48 deletions

View File

@ -12,28 +12,5 @@
window.graph = app.graph; window.graph = app.graph;
</script> </script>
</head> </head>
<body> <body></body>
<script>
return;
let runningNodeId = null;
let progress = null;
let clientId = null;
var input = document.createElement("input");
input.setAttribute("type", "file");
input.setAttribute("accept", ".json,image/png");
input.style.display = "none";
document.body.appendChild(input);
input.addEventListener("change", function () {
var file = input.files[0];
prompt_file_load(file);
});
function loadGraph() {
input.click();
}
</script>
</body>
</html> </html>

View File

@ -300,19 +300,7 @@ class ComfyApp {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
const file = event.dataTransfer.files[0]; const file = event.dataTransfer.files[0];
await this.handleFile(file);
if (file.type === "image/png") {
const pngInfo = await getPngMetadata(file);
if (pngInfo && pngInfo.workflow) {
this.loadGraphData(JSON.parse(pngInfo.workflow));
}
} else if (file.type === "application/json" || file.name.endsWith(".json")) {
const reader = new FileReader();
reader.onload = () => {
this.loadGraphData(JSON.parse(reader.result));
};
reader.readAsText(file);
}
}); });
} }
@ -630,6 +618,21 @@ class ComfyApp {
this.canvas.draw(true, true); this.canvas.draw(true, true);
await this.ui.queue.update(); await this.ui.queue.update();
} }
async handleFile(file) {
if (file.type === "image/png") {
const pngInfo = await getPngMetadata(file);
if (pngInfo && pngInfo.workflow) {
this.loadGraphData(JSON.parse(pngInfo.workflow));
}
} else if (file.type === "application/json" || file.name.endsWith(".json")) {
const reader = new FileReader();
reader.onload = () => {
this.loadGraphData(JSON.parse(reader.result));
};
reader.readAsText(file);
}
}
} }
export const app = new ComfyApp(); export const app = new ComfyApp();

View File

@ -159,18 +159,16 @@ export class ComfyUI {
this.history.update(); this.history.update();
}); });
var input = document.createElement("input"); const fileInput = $el("input", {
input.setAttribute("type", "file"); type: "file",
input.setAttribute("accept", ".json,image/png"); accept: ".json,image/png",
input.style.display = "none"; style: "display: none",
document.body.appendChild(input); parent: document.body,
onchange: () => {
input.addEventListener("change", function () { app.handleFile(fileInput.files[0]);
var file = input.files[0]; },
prompt_file_load(file);
}); });
this.menuContainer = $el("div.comfy-menu", { parent: document.body }, [ this.menuContainer = $el("div.comfy-menu", { parent: document.body }, [
$el("span", { $: (q) => (this.queueSize = q) }), $el("span", { $: (q) => (this.queueSize = q) }),
$el("button.comfy-queue-btn", { textContent: "Queue Prompt", onclick: () => app.queuePrompt(0) }), $el("button.comfy-queue-btn", { textContent: "Queue Prompt", onclick: () => app.queuePrompt(0) }),
@ -214,7 +212,7 @@ export class ComfyUI {
}, 0); }, 0);
}, },
}), }),
$el("button", { textContent: "Load", onclick: () => {} }), $el("button", { textContent: "Load", onclick: () => fileInput.click() }),
$el("button", { textContent: "Clear", onclick: () => app.graph.clear() }), $el("button", { textContent: "Clear", onclick: () => app.graph.clear() }),
$el("button", { textContent: "Load Default", onclick: () => app.loadGraphData() }), $el("button", { textContent: "Load Default", onclick: () => app.loadGraphData() }),
]); ]);