mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-03-25 07:05:43 -03:00
feat(lora): add mode change listeners to update trigger words
Add property descriptor to listen for mode changes in Lora Loader and Lora Stacker nodes. When node mode changes, automatically update connected trigger word toggle nodes and downstream loader nodes to maintain synchronization between node modes and trigger word states. - Lora Loader: Updates connected trigger words when mode changes - Lora Stacker: Updates connected trigger words and downstream loaders when mode changes - Both nodes log mode changes for debugging purposes
This commit is contained in:
@@ -118,6 +118,35 @@ app.registerExtension({
|
||||
let isUpdating = false;
|
||||
let isSyncingInput = false;
|
||||
|
||||
// Mechanism: Property descriptor to listen for mode changes
|
||||
const self = this;
|
||||
let _mode = this.mode;
|
||||
Object.defineProperty(this, 'mode', {
|
||||
get() {
|
||||
return _mode;
|
||||
},
|
||||
set(value) {
|
||||
const oldValue = _mode;
|
||||
_mode = value;
|
||||
|
||||
// Trigger mode change handler
|
||||
if (self.onModeChange) {
|
||||
self.onModeChange(value, oldValue);
|
||||
}
|
||||
|
||||
console.log(`[Lora Loader] Node mode changed from ${oldValue} to ${value}`);
|
||||
}
|
||||
});
|
||||
|
||||
// Define the mode change handler
|
||||
this.onModeChange = function(newMode, oldMode) {
|
||||
console.log(`Lora Loader node mode changed: from ${oldMode} to ${newMode}`);
|
||||
|
||||
// Update connected trigger word toggle nodes when mode changes
|
||||
const allActiveLoraNames = collectActiveLorasFromChain(self);
|
||||
updateConnectedTriggerWords(self, allActiveLoraNames);
|
||||
};
|
||||
|
||||
const inputWidget = this.widgets[0];
|
||||
inputWidget.options.getMaxHeight = () => 100;
|
||||
this.inputWidget = inputWidget;
|
||||
|
||||
Reference in New Issue
Block a user