56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
// @ts-check
|
|
|
|
import { ComfyButton } from "../components/button.js";
|
|
import { ComfyViewList, ComfyViewListButton } from "./viewList.js";
|
|
import { api } from "../../api.js";
|
|
|
|
export class ComfyViewQueueButton extends ComfyViewListButton {
|
|
constructor(app) {
|
|
super(app, {
|
|
button: new ComfyButton({
|
|
content: "View Queue",
|
|
icon: "format-list-numbered",
|
|
tooltip: "View queue",
|
|
classList: "comfyui-button comfyui-queue-button",
|
|
}),
|
|
list: ComfyViewQueueList,
|
|
mode: "Queue",
|
|
});
|
|
}
|
|
}
|
|
|
|
export class ComfyViewQueueList extends ComfyViewList {
|
|
getRow = (item, section) => {
|
|
if (section !== "Running") {
|
|
return super.getRow(item, section);
|
|
}
|
|
return {
|
|
text: item.prompt[0] + "",
|
|
actions: [
|
|
{
|
|
text: "Load",
|
|
action: async () => {
|
|
try {
|
|
await this.app.loadGraphData(item.prompt[3].extra_pnginfo.workflow);
|
|
if (item.outputs) {
|
|
this.app.nodeOutputs = item.outputs;
|
|
}
|
|
} catch (error) {
|
|
alert("Error loading workflow: " + error.message);
|
|
console.error(error);
|
|
}
|
|
},
|
|
},
|
|
{
|
|
text: "Cancel",
|
|
action: async () => {
|
|
try {
|
|
await api.interrupt();
|
|
} catch (error) {}
|
|
},
|
|
},
|
|
],
|
|
};
|
|
}
|
|
}
|