Merge pull request #124 from sker65/master

Added hook for slot context menu
This commit is contained in:
Javi Agenjo
2020-05-06 10:02:00 +02:00
committed by GitHub
2 changed files with 24 additions and 18 deletions

1
src/litegraph.d.ts vendored
View File

@@ -944,6 +944,7 @@ export declare class LGraphNode {
/** Called by `LGraphCanvas.processContextMenu` */
getMenuOptions?(graphCanvas: LGraphCanvas): ContextMenuItem[];
getSlotMenuOptions?(slot: INodeSlot): ContextMenuItem[];
}
export type LGraphNodeConstructor<T extends LGraphNode = LGraphNode> = {

View File

@@ -10082,25 +10082,30 @@ LGraphNode.prototype.executeAction = function(action)
if (slot) {
//on slot
menu_info = [];
if (
slot &&
slot.output &&
slot.output.links &&
slot.output.links.length
) {
menu_info.push({ content: "Disconnect Links", slot: slot });
if (node.getSlotMenuOptions) {
menu_info = node.getSlotMenuOptions(slot);
} else {
if (
slot &&
slot.output &&
slot.output.links &&
slot.output.links.length
) {
menu_info.push({ content: "Disconnect Links", slot: slot });
}
var _slot = slot.input || slot.output;
menu_info.push(
_slot.locked
? "Cannot remove"
: { content: "Remove Slot", slot: slot }
);
menu_info.push(
_slot.nameLocked
? "Cannot rename"
: { content: "Rename Slot", slot: slot }
);
}
var _slot = slot.input || slot.output;
menu_info.push(
_slot.locked
? "Cannot remove"
: { content: "Remove Slot", slot: slot }
);
menu_info.push(
_slot.nameLocked
? "Cannot rename"
: { content: "Rename Slot", slot: slot }
);
options.title =
(slot.input ? slot.input.type : slot.output.type) || "*";
if (slot.input && slot.input.type == LiteGraph.ACTION) {