Workflow tabs
This commit is contained in:
@@ -390,6 +390,11 @@ export default class ComfyApp {
|
||||
}
|
||||
|
||||
saveStateToLocalStorage() {
|
||||
if (this.activeWorkflow == null) {
|
||||
notify("No active workflow!", { type: "error" })
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
uiState.update(s => { s.isSavingToLocalStorage = true; return s; })
|
||||
const savedWorkflow = this.serialize();
|
||||
@@ -738,6 +743,11 @@ export default class ComfyApp {
|
||||
}
|
||||
|
||||
querySave() {
|
||||
if (this.activeWorkflow == null) {
|
||||
notify("No active workflow!", { type: "error" })
|
||||
return;
|
||||
}
|
||||
|
||||
const promptFilename = get(configState).promptForWorkflowName;
|
||||
|
||||
let filename = "workflow.json";
|
||||
@@ -931,7 +941,13 @@ export default class ComfyApp {
|
||||
/**
|
||||
* Refresh combo list on whole nodes
|
||||
*/
|
||||
async refreshComboInNodes(workflow: ComfyWorkflow, flashUI: boolean = false) {
|
||||
async refreshComboInNodes(workflow?: ComfyWorkflow, flashUI: boolean = false) {
|
||||
workflow ||= this.activeWorkflow;
|
||||
if (workflow == null) {
|
||||
notify("No active workflow!", { type: "error" })
|
||||
return
|
||||
}
|
||||
|
||||
const defs = await this.api.getNodeDefs();
|
||||
|
||||
const isComfyComboNode = (node: LGraphNode): node is ComfyComboNode => {
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
}
|
||||
|
||||
async function doRefreshCombos() {
|
||||
await app.refreshComboInNodes(true)
|
||||
await app.refreshComboInNodes(undefined, true)
|
||||
}
|
||||
|
||||
function refreshView(event?: Event) {
|
||||
@@ -120,14 +120,11 @@
|
||||
}
|
||||
|
||||
function doSave(): void {
|
||||
if (!app?.lGraph)
|
||||
return;
|
||||
|
||||
app.querySave()
|
||||
}
|
||||
|
||||
function doLoad(): void {
|
||||
if (!app?.lGraph || !fileInput)
|
||||
if (!fileInput)
|
||||
return;
|
||||
|
||||
fileInput.click();
|
||||
@@ -139,9 +136,6 @@
|
||||
}
|
||||
|
||||
function doSaveLocal(): void {
|
||||
if (!app?.lGraph)
|
||||
return;
|
||||
|
||||
app.saveStateToLocalStorage();
|
||||
}
|
||||
|
||||
@@ -184,22 +178,11 @@
|
||||
</Pane>
|
||||
</Splitpanes>
|
||||
<div id="workflow-tabs">
|
||||
<div class="workflow-tab selected">
|
||||
txt2img
|
||||
<!-- <Image /> -->
|
||||
</div>
|
||||
<div class="workflow-tab">
|
||||
img2img
|
||||
<!-- <Image /> -->
|
||||
</div>
|
||||
<div class="workflow-tab">
|
||||
asdflkj
|
||||
<!-- <Image /> -->
|
||||
</div>
|
||||
<div class="workflow-tab">
|
||||
asdkajw
|
||||
<!-- <Image /> -->
|
||||
</div>
|
||||
{#each app.openedWorkflows as workflow, index}
|
||||
<button class="workflow-tab" class:selected={index === app.activeWorkflowIdx}>
|
||||
{workflow.title}
|
||||
</button>
|
||||
{/each}
|
||||
</div>
|
||||
<div id="bottombar">
|
||||
<div class="bottombar-content">
|
||||
|
||||
@@ -162,6 +162,10 @@
|
||||
position: relative;
|
||||
flex: 1 1 0%;
|
||||
max-width: 30vw;
|
||||
|
||||
> :global(.block) {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.copy-button {
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
app.runDefaultQueueAction()
|
||||
}
|
||||
|
||||
function refreshCombos() {
|
||||
async function refreshCombos() {
|
||||
navigator.vibrate(20)
|
||||
app.refreshComboInNodes()
|
||||
await app.refreshComboInNodes()
|
||||
}
|
||||
|
||||
function doSave(): void {
|
||||
if (!app?.lGraph || !fileInput)
|
||||
if (!fileInput)
|
||||
return;
|
||||
|
||||
navigator.vibrate(20)
|
||||
@@ -35,7 +35,7 @@
|
||||
}
|
||||
|
||||
function doLoad(): void {
|
||||
if (!app?.lGraph || !fileInput)
|
||||
if (!fileInput)
|
||||
return;
|
||||
|
||||
navigator.vibrate(20)
|
||||
@@ -48,9 +48,6 @@
|
||||
}
|
||||
|
||||
function doSaveLocal(): void {
|
||||
if (!app?.lGraph)
|
||||
return;
|
||||
|
||||
navigator.vibrate(20)
|
||||
app.saveStateToLocalStorage();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user