Files
Azornes-Comfyui-Model-Resolver/web/resolver.js
T
Dariusz L 6f9aa9cc55 Improve Model Resolver dependency marker node compatibility and rendering
- Adopt ComfyUI's ComfyExtension/comfy_entrypoint API in __init__.py when
  available, falling back to legacy NODE_CLASS_MAPPINGS/DISPLAY_NAME_MAPPINGS
  on older runtimes so the node loads across ComfyUI versions.
- Hook into beforeRegisterNodeDef, loadedGraphNode, and afterConfigureGraph
  in web/resolver.js so marker nodes are patched during registration, graph
  load, and initial render.
- Teach model_resolver.js to recognise the marker node by every known class
  property shape, patch its type on creation, enforce a minimum size with
  setSize() when present, and dirty the canvas so changes are reflected.
2026-07-06 21:59:30 +02:00

45 lines
1.3 KiB
JavaScript

/**
* ComfyUI Model Resolver Extension - Frontend
*
* Provides a menu button and dialog interface for relinking missing models in workflows.
*/
import { app } from "../../../scripts/app.js";
import {
MODEL_RESOLVER_OPEN_COMMAND_ID,
MODEL_RESOLVER_OPEN_DEFAULT_KEYBINDING,
ModelResolver as ModelResolverClass,
} from "./resolver/model_resolver.js";
import { registerGlobalHelpers } from "./resolver/globals.js";
registerGlobalHelpers();
const modelResolver = new ModelResolverClass();
app.registerExtension({
name: "Model Resolver",
commands: [
{
id: MODEL_RESOLVER_OPEN_COMMAND_ID,
label: "Open Model Resolver",
function: () => modelResolver.activateResolverButton(),
},
],
keybindings: [
MODEL_RESOLVER_OPEN_DEFAULT_KEYBINDING,
],
setup: modelResolver.setup,
beforeRegisterNodeDef(nodeType, nodeData) {
modelResolver.configureWorkflowDependencyMarkerNodeType(nodeType, nodeData);
},
nodeCreated(node) {
modelResolver.configureWorkflowDependencyMarkerNode(node);
},
loadedGraphNode(node) {
modelResolver.configureWorkflowDependencyMarkerNode(node);
},
afterConfigureGraph() {
modelResolver.configureWorkflowDependencyMarkerNodes();
},
});