refresh widget bugfix

This commit is contained in:
Lt.Dr.Data 2023-03-21 15:24:53 +09:00
parent 93bcd7ce12
commit a364bcdce0
4 changed files with 32 additions and 36 deletions

View File

@ -9,9 +9,8 @@ import folder_paths
class UpscaleModelLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "model_name": (folder_paths.get_filename_list("upscale_models"), ),
"Refresh": ("REFRESH", [("model_name", "upscale_models")]),
}}
return {"required": { "model_name": (folder_paths.get_filename_list("upscale_models"), )},
"widget": { "Refresh": ("REFRESH", [("model_name", "upscale_models")]) }}
RETURN_TYPES = ("UPSCALE_MODEL",)
FUNCTION = "load_model"

View File

@ -191,8 +191,8 @@ class CheckpointLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "config_name": (folder_paths.get_filename_list("configs"), ),
"ckpt_name": (folder_paths.get_filename_list("checkpoints"), ),
"Refresh": ("REFRESH", [("config_name", "configs"), ("ckpt_name", "checkpoints")]) }}
"ckpt_name": (folder_paths.get_filename_list("checkpoints"), ) },
"widget": { "Refresh": ("REFRESH", [("config_name", "configs"), ("ckpt_name", "checkpoints")]) }}
RETURN_TYPES = ("MODEL", "CLIP", "VAE")
FUNCTION = "load_checkpoint"
@ -206,8 +206,8 @@ class CheckpointLoader:
class CheckpointLoaderSimple:
@classmethod
def INPUT_TYPES(s):
return {"required": { "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ),
"Refresh": ("REFRESH", [("ckpt_name", "checkpoints")]) }}
return {"required": { "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ) },
"widget": { "Refresh": ("REFRESH", [("ckpt_name", "checkpoints")]) }}
RETURN_TYPES = ("MODEL", "CLIP", "VAE")
FUNCTION = "load_checkpoint"
@ -241,9 +241,8 @@ class LoraLoader:
"clip": ("CLIP", ),
"lora_name": (folder_paths.get_filename_list("loras"), ),
"strength_model": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}),
"strength_clip": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}),
"Refresh": ("REFRESH", [("lora_name", "loras")])
}}
"strength_clip": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}) },
"widget": { "Refresh": ("REFRESH", [("lora_name", "loras")]) }}
RETURN_TYPES = ("MODEL", "CLIP")
FUNCTION = "load_lora"
@ -257,9 +256,8 @@ class LoraLoader:
class VAELoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "vae_name": (folder_paths.get_filename_list("vae"), ),
"Refresh": ("REFRESH", [("vae_name", "vae")])
}}
return {"required": { "vae_name": (folder_paths.get_filename_list("vae"), ) },
"widget": { "Refresh": ("REFRESH", [("vae_name", "vae")]) }}
RETURN_TYPES = ("VAE",)
FUNCTION = "load_vae"
@ -274,9 +272,8 @@ class VAELoader:
class ControlNetLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "control_net_name": (folder_paths.get_filename_list("controlnet"), ),
"Refresh": ("REFRESH", [("control_net_name", "controlnet")])
}}
return {"required": { "control_net_name": (folder_paths.get_filename_list("controlnet"), )},
"widget": { "Refresh": ("REFRESH", [("control_net_name", "controlnet")]) }}
RETURN_TYPES = ("CONTROL_NET",)
FUNCTION = "load_controlnet"
@ -292,9 +289,8 @@ class DiffControlNetLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "model": ("MODEL",),
"control_net_name": (folder_paths.get_filename_list("controlnet"), ),
"Refresh": ("REFRESH", [("control_net_name", "controlnet")])
}}
"control_net_name": (folder_paths.get_filename_list("controlnet"), )},
"widget": { "Refresh": ("REFRESH", [("control_net_name", "controlnet")]) }}
RETURN_TYPES = ("CONTROL_NET",)
FUNCTION = "load_controlnet"
@ -336,9 +332,8 @@ class ControlNetApply:
class CLIPLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "clip_name": (folder_paths.get_filename_list("clip"), ),
"Refresh": ("REFRESH", [("clip_name", "clip")])
}}
return {"required": { "clip_name": (folder_paths.get_filename_list("clip"), ),},
"widget": { "Refresh": ("REFRESH", [("clip_name", "clip")]) }}
RETURN_TYPES = ("CLIP",)
FUNCTION = "load_clip"
@ -352,9 +347,9 @@ class CLIPLoader:
class CLIPVisionLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "clip_name": (folder_paths.get_filename_list("clip_vision"), ),
"Refresh": ("REFRESH", [("clip_name", "clip_vision")])
}}
return {"required": { "clip_name": (folder_paths.get_filename_list("clip_vision"), )},
"widget": { "Refresh": ("REFRESH", [("clip_name", "clip_vision")]) } }
RETURN_TYPES = ("CLIP_VISION",)
FUNCTION = "load_clip"
@ -383,9 +378,8 @@ class CLIPVisionEncode:
class StyleModelLoader:
@classmethod
def INPUT_TYPES(s):
return {"required": { "style_model_name": (folder_paths.get_filename_list("style_models"), ),
"Refresh": ("REFRESH", [("style_model_name", "style_models")])
}}
return {"required": { "style_model_name": (folder_paths.get_filename_list("style_models"), )},
"widget": { "Refresh": ("REFRESH", [("style_model_name", "style_models")]) }}
RETURN_TYPES = ("STYLE_MODEL",)
FUNCTION = "load_style_model"
@ -817,12 +811,8 @@ class LoadImage:
def INPUT_TYPES(s):
if not os.path.exists(s.input_dir):
os.makedirs(s.input_dir)
return {"required":
{"image": (sorted(os.listdir(s.input_dir)), ),
"Refresh": ("REFRESH", [("image", "input")])
},
}
return {"required": {"image": (sorted(os.listdir(s.input_dir)), )},
"widget": { "Refresh": ("REFRESH", [("image", "input")]) } }
CATEGORY = "image"

View File

@ -576,6 +576,15 @@ class ComfyApp {
}
}
const input_widgets = nodeData["input"]["widget"];
for (const inputName in input_widgets) {
const inputData = input_widgets[inputName];
const type = inputData[0];
console.log(widgets[type])
Object.assign(config, widgets[type](this, inputName, inputData, app) || {});
}
for (const output of nodeData["output"]) {
this.addOutput(output, output);
}

View File

@ -40,8 +40,6 @@ function refreshWidget(node, name, data) {
}
}
console.log(name);
const refresh = node.addWidget("button", name, true, function(v) { refresh_callback(); }, {});
return { refresh };
}