New menu/workflows fixes (#3900)
* Fix auto queue * Detect added nodes via search * Fix loading workflows * Add button click style
This commit is contained in:
parent
264caca20e
commit
0d9009c96e
|
@ -3,7 +3,6 @@
|
|||
import { api } from "./api.js";
|
||||
import { clone } from "./utils.js";
|
||||
|
||||
|
||||
export class ChangeTracker {
|
||||
static MAX_HISTORY = 50;
|
||||
#app;
|
||||
|
@ -170,6 +169,17 @@ export class ChangeTracker {
|
|||
return v;
|
||||
};
|
||||
|
||||
// Detects nodes being added via the node search dialog
|
||||
const onNodeAdded = LiteGraph.LGraph.prototype.onNodeAdded;
|
||||
LiteGraph.LGraph.prototype.onNodeAdded = function () {
|
||||
const v = onNodeAdded?.apply(this, arguments);
|
||||
const ct = changeTracker();
|
||||
if (!ct.isOurLoad) {
|
||||
ct.checkState();
|
||||
}
|
||||
return v;
|
||||
};
|
||||
|
||||
// Store node outputs
|
||||
api.addEventListener("executed", ({ detail }) => {
|
||||
const prompt = app.workflowManager.queuedPrompts[detail.prompt_id];
|
||||
|
|
|
@ -19,8 +19,12 @@
|
|||
padding: 4px 8px;
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
transition: box-shadow 0.1s;
|
||||
}
|
||||
|
||||
.comfyui-button:active {
|
||||
box-shadow: inset 1px 1px 10px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.comfyui-button:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
|
|
|
@ -13,8 +13,8 @@ export class ComfyQueueButton {
|
|||
|
||||
queuePrompt = async (e) => {
|
||||
this.#internalQueueSize += this.queueOptions.batchCount;
|
||||
// Hold shift to queue front
|
||||
await this.app.queuePrompt(-e.shiftKey, this.queueOptions.batchCount);
|
||||
// Hold shift to queue front, event is undefined when auto-queue is enabled
|
||||
await this.app.queuePrompt(e?.shiftKey ? -1 : 0, this.queueOptions.batchCount);
|
||||
};
|
||||
|
||||
constructor(app) {
|
||||
|
|
|
@ -301,11 +301,11 @@ export class ComfyWorkflow {
|
|||
|
||||
load = async () => {
|
||||
if (this.isOpen) {
|
||||
await this.manager.app.loadGraphData(this.changeTracker.activeState, true, this);
|
||||
await this.manager.app.loadGraphData(this.changeTracker.activeState, true, true, this);
|
||||
} else {
|
||||
const data = await this.getWorkflowData();
|
||||
if (!data) return;
|
||||
await this.manager.app.loadGraphData(data, true, this);
|
||||
await this.manager.app.loadGraphData(data, true, true, this);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue