mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-29 10:42:44 +00:00
Address PR feedback
This commit is contained in:
@@ -1277,45 +1277,6 @@ export class GroupNodeHandler {
|
|||||||
// @ts-expect-error fixme ts strict error
|
// @ts-expect-error fixme ts strict error
|
||||||
(_, id) => id
|
(_, id) => id
|
||||||
)
|
)
|
||||||
/*
|
|
||||||
// Handle progress_state events for multiple executing nodes
|
|
||||||
const progress_state = handleEvent.call(
|
|
||||||
this,
|
|
||||||
'progress_state',
|
|
||||||
(d) => {
|
|
||||||
// Check if any of our inner nodes are in this progress state update
|
|
||||||
for (const nodeId in d.nodes) {
|
|
||||||
const innerNodeIndex = this.innerNodes?.findIndex((n) => n.id == nodeId);
|
|
||||||
if (innerNodeIndex > -1) return nodeId;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
(d, id, node) => {
|
|
||||||
// Create a new progress_state event with just our group node
|
|
||||||
const newProgressState = { ...d };
|
|
||||||
newProgressState.nodes = { [id]: {
|
|
||||||
node: id,
|
|
||||||
state: 'running',
|
|
||||||
value: 0,
|
|
||||||
max: 1,
|
|
||||||
prompt_id: d.prompt_id
|
|
||||||
}};
|
|
||||||
|
|
||||||
// If we have a specific running internal node, update its state
|
|
||||||
if (node.runningInternalNodeId !== null) {
|
|
||||||
const innerNodeId = this.innerNodes[node.runningInternalNodeId].id;
|
|
||||||
if (d.nodes[innerNodeId]) {
|
|
||||||
newProgressState.nodes[id] = {
|
|
||||||
...d.nodes[innerNodeId],
|
|
||||||
node: id
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return newProgressState;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
|
|
||||||
const executed = handleEvent.call(
|
const executed = handleEvent.call(
|
||||||
this,
|
this,
|
||||||
|
|||||||
@@ -90,17 +90,13 @@ export const useExecutionStore = defineStore('execution', () => {
|
|||||||
return mergedState
|
return mergedState
|
||||||
} else if (newState.state === 'running') {
|
} else if (newState.state === 'running') {
|
||||||
const newPerc = newState.max > 0 ? newState.value / newState.max : 0.0
|
const newPerc = newState.max > 0 ? newState.value / newState.max : 0.0
|
||||||
if (mergedState.state === 'running') {
|
const oldPerc =
|
||||||
const oldPerc =
|
mergedState.max > 0 ? mergedState.value / mergedState.max : 0.0
|
||||||
mergedState.max > 0 ? mergedState.value / mergedState.max : 0.0
|
if (
|
||||||
if (oldPerc === 0.0) {
|
mergedState.state !== 'running' ||
|
||||||
mergedState.value = newState.value
|
oldPerc === 0.0 ||
|
||||||
mergedState.max = newState.max
|
newPerc < oldPerc
|
||||||
} else if (newPerc < oldPerc) {
|
) {
|
||||||
mergedState.value = newState.value
|
|
||||||
mergedState.max = newState.max
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
mergedState.value = newState.value
|
mergedState.value = newState.value
|
||||||
mergedState.max = newState.max
|
mergedState.max = newState.max
|
||||||
}
|
}
|
||||||
@@ -117,7 +113,6 @@ export const useExecutionStore = defineStore('execution', () => {
|
|||||||
|
|
||||||
const states = nodeProgressStates.value // Apparently doing this inside `Object.entries` causes issues
|
const states = nodeProgressStates.value // Apparently doing this inside `Object.entries` causes issues
|
||||||
for (const [_, state] of Object.entries(states)) {
|
for (const [_, state] of Object.entries(states)) {
|
||||||
// Convert the node ID to a NodeLocatorId
|
|
||||||
const parts = String(state.display_node_id).split(':')
|
const parts = String(state.display_node_id).split(':')
|
||||||
for (let i = 0; i < parts.length; i++) {
|
for (let i = 0; i < parts.length; i++) {
|
||||||
const executionId = parts.slice(0, i + 1).join(':')
|
const executionId = parts.slice(0, i + 1).join(':')
|
||||||
@@ -141,7 +136,7 @@ export const useExecutionStore = defineStore('execution', () => {
|
|||||||
.map(([nodeId, _]) => nodeId)
|
.map(([nodeId, _]) => nodeId)
|
||||||
})
|
})
|
||||||
|
|
||||||
// For backward compatibility - stores the primary executing node ID
|
// @deprecated For backward compatibility - stores the primary executing node ID
|
||||||
const executingNodeId = computed<NodeId | null>(() => {
|
const executingNodeId = computed<NodeId | null>(() => {
|
||||||
return executingNodeIds.value.length > 0 ? executingNodeIds.value[0] : null
|
return executingNodeIds.value.length > 0 ? executingNodeIds.value[0] : null
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import type { NodeId } from '@/schemas/comfyWorkflowSchema'
|
|||||||
* Unlike hierarchical IDs which change based on the instance path,
|
* Unlike hierarchical IDs which change based on the instance path,
|
||||||
* NodeLocatorId remains the same for all instances of a particular node.
|
* NodeLocatorId remains the same for all instances of a particular node.
|
||||||
*/
|
*/
|
||||||
export type NodeLocatorId = string & { __brand: 'NodeLocatorId' }
|
export type NodeLocatorId = string
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A hierarchical identifier representing a node's position in nested subgraphs.
|
* A hierarchical identifier representing a node's position in nested subgraphs.
|
||||||
@@ -24,7 +24,7 @@ export type NodeLocatorId = string & { __brand: 'NodeLocatorId' }
|
|||||||
* Format: Colon-separated path of node IDs
|
* Format: Colon-separated path of node IDs
|
||||||
* Example: "123:456:789" (node 789 in subgraph 456 in subgraph 123)
|
* Example: "123:456:789" (node 789 in subgraph 456 in subgraph 123)
|
||||||
*/
|
*/
|
||||||
export type HierarchicalNodeId = string & { __brand: 'HierarchicalNodeId' }
|
export type HierarchicalNodeId = string
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type guard to check if a value is a NodeLocatorId
|
* Type guard to check if a value is a NodeLocatorId
|
||||||
|
|||||||
Reference in New Issue
Block a user