Prevent cleaning graph state on undo/redo (#2255)

* Prevent cleaning graph state on undo/redo

* Remove pause rendering due to LG bug
This commit is contained in:
pythongosssss 2023-12-11 17:33:35 +00:00 committed by GitHub
parent 57926635e8
commit ab93abd4b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 16 deletions

View File

@ -71,24 +71,21 @@ function graphEqual(a, b, root = true) {
}
const undoRedo = async (e) => {
const updateState = async (source, target) => {
const prevState = source.pop();
if (prevState) {
target.push(activeState);
isOurLoad = true;
await app.loadGraphData(prevState, false);
activeState = prevState;
}
}
if (e.ctrlKey || e.metaKey) {
if (e.key === "y") {
const prevState = redo.pop();
if (prevState) {
undo.push(activeState);
isOurLoad = true;
await app.loadGraphData(prevState);
activeState = prevState;
}
updateState(redo, undo);
return true;
} else if (e.key === "z") {
const prevState = undo.pop();
if (prevState) {
redo.push(activeState);
isOurLoad = true;
await app.loadGraphData(prevState);
activeState = prevState;
}
updateState(undo, redo);
return true;
}
}

View File

@ -1559,9 +1559,12 @@ export class ComfyApp {
/**
* Populates the graph with the specified workflow data
* @param {*} graphData A serialized graph object
* @param { boolean } clean If the graph state, e.g. images, should be cleared
*/
async loadGraphData(graphData) {
this.clean();
async loadGraphData(graphData, clean = true) {
if (clean !== false) {
this.clean();
}
let reset_invalid_values = false;
if (!graphData) {