56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
import { app } from "../scripts/app.js";
|
|
|
|
const ext = {
|
|
// Unique name for the extension
|
|
name: "Example.LoggingExtension",
|
|
async init(app) {
|
|
// Any initial setup to run as soon as the page loads
|
|
console.log("[logging]", "extension init");
|
|
},
|
|
async setup(app) {
|
|
// Any setup to run after the app is created
|
|
console.log("[logging]", "extension setup");
|
|
},
|
|
async addCustomNodeDefs(defs, app) {
|
|
// Add custom node definitions
|
|
// These definitions will be configured and registered automatically
|
|
// defs is a lookup core nodes, add yours into this
|
|
console.log("[logging]", "add custom node definitions", "current nodes:", Object.keys(defs));
|
|
},
|
|
async getCustomWidgets(app) {
|
|
// Return custom widget types
|
|
// See ComfyWidgets for widget examples
|
|
console.log("[logging]", "provide custom widgets");
|
|
},
|
|
async beforeRegisterNodeDef(nodeType, nodeData, app) {
|
|
// Run custom logic before a node definition is registered with the graph
|
|
console.log("[logging]", "before register node: ", nodeType, nodeData);
|
|
|
|
// This fires for every node definition so only log once
|
|
delete ext.beforeRegisterNodeDef;
|
|
},
|
|
async registerCustomNodes(app) {
|
|
// Register any custom node implementations here allowing for more flexability than a custom node def
|
|
console.log("[logging]", "register custom nodes");
|
|
},
|
|
loadedGraphNode(node, app) {
|
|
// Fires for each node when loading/dragging/etc a workflow json or png
|
|
// If you break something in the backend and want to patch workflows in the frontend
|
|
// This is the place to do this
|
|
console.log("[logging]", "loaded graph node: ", node);
|
|
|
|
// This fires for every node on each load so only log once
|
|
delete ext.loadedGraphNode;
|
|
},
|
|
nodeCreated(node, app) {
|
|
// Fires every time a node is constructed
|
|
// You can modify widgets/add handlers/etc here
|
|
console.log("[logging]", "node created: ", node);
|
|
|
|
// This fires for every node so only log once
|
|
delete ext.nodeCreated;
|
|
}
|
|
};
|
|
|
|
app.registerExtension(ext);
|