From 9ca7080151815a28881588b59952172665e70169 Mon Sep 17 00:00:00 2001 From: hetima <33700+hetima@users.noreply.github.com> Date: Fri, 30 Jan 2026 18:28:41 +0900 Subject: [PATCH] context menu --- js/single_line_picker.js | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/js/single_line_picker.js b/js/single_line_picker.js index 09e3265..05dfb5d 100644 --- a/js/single_line_picker.js +++ b/js/single_line_picker.js @@ -6,24 +6,21 @@ import { ComfyWidgets } from "../../scripts/widgets.js"; app.registerExtension({ name: "hetima.SLPSingleLinePicker", - commands: [ - { - id: "hetima-slpsinglelinepicker-get-loras", - label: "Get Lora List", - icon: "pi pi-file-plus", - tooltip: "Get Lora List", - function: () => { - const slp = Array.from(app.canvas.selectedItems)[0]; - slp?.listLoraFiles?.(); - } + + // https://docs.comfy.org/custom-nodes/js/context-menu-migration + getNodeMenuItems(node) { + const items = [] + // Add items only for specific node types + if (node.comfyClass === "HetimaSingleLinePicker") { + items.push(null); // Separator + items.push({ + content: "Get Lora List", + callback: () => { + node?.listLoraFiles?.(); + } + }) } - ], - getSelectionToolboxCommands: (selectedItem) => { - // Return array of command IDs to show in the toolbox - if (selectedItem.type == "HetimaSingleLinePicker") { - return ["hetima-slpsinglelinepicker-get-loras"]; - } - return []; + return items }, async beforeRegisterNodeDef(nodeType, nodeData, app) { if (nodeData.name === "HetimaSingleLinePicker") {