mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-01-31 02:32:57 +08:00
pass csv_mode
This commit is contained in:
parent
8d9ca46e0a
commit
299eb54308
@ -440,21 +440,21 @@ class Script(scripts.Script):
|
|||||||
xz_swap_args = [x_type, x_values, x_values_dropdown, z_type, z_values, z_values_dropdown]
|
xz_swap_args = [x_type, x_values, x_values_dropdown, z_type, z_values, z_values_dropdown]
|
||||||
swap_xz_axes_button.click(swap_axes, inputs=xz_swap_args, outputs=xz_swap_args)
|
swap_xz_axes_button.click(swap_axes, inputs=xz_swap_args, outputs=xz_swap_args)
|
||||||
|
|
||||||
def fill(axis_type):
|
def fill(axis_type, csv_mode):
|
||||||
axis = self.current_axis_options[axis_type]
|
axis = self.current_axis_options[axis_type]
|
||||||
if axis.choices:
|
if axis.choices:
|
||||||
if csv_mode.value:
|
if csv_mode:
|
||||||
return list_to_csv_string(axis.choices()), gr.update()
|
return list_to_csv_string(axis.choices()), gr.update()
|
||||||
else:
|
else:
|
||||||
return gr.update(), axis.choices()
|
return gr.update(), axis.choices()
|
||||||
else:
|
else:
|
||||||
return gr.update(), gr.update()
|
return gr.update(), gr.update()
|
||||||
|
|
||||||
fill_x_button.click(fn=fill, inputs=[x_type], outputs=[x_values, x_values_dropdown])
|
fill_x_button.click(fn=fill, inputs=[x_type, csv_mode], outputs=[x_values, x_values_dropdown])
|
||||||
fill_y_button.click(fn=fill, inputs=[y_type], outputs=[y_values, y_values_dropdown])
|
fill_y_button.click(fn=fill, inputs=[y_type, csv_mode], outputs=[y_values, y_values_dropdown])
|
||||||
fill_z_button.click(fn=fill, inputs=[z_type], outputs=[z_values, z_values_dropdown])
|
fill_z_button.click(fn=fill, inputs=[z_type, csv_mode], outputs=[z_values, z_values_dropdown])
|
||||||
|
|
||||||
def select_axis(axis_type, axis_values, axis_values_dropdown):
|
def select_axis(axis_type, axis_values, axis_values_dropdown, csv_mode):
|
||||||
choices = self.current_axis_options[axis_type].choices
|
choices = self.current_axis_options[axis_type].choices
|
||||||
has_choices = choices is not None
|
has_choices = choices is not None
|
||||||
|
|
||||||
@ -462,25 +462,24 @@ class Script(scripts.Script):
|
|||||||
current_dropdown_values = axis_values_dropdown
|
current_dropdown_values = axis_values_dropdown
|
||||||
if has_choices:
|
if has_choices:
|
||||||
choices = choices()
|
choices = choices()
|
||||||
if csv_mode.value:
|
if csv_mode:
|
||||||
current_dropdown_values = list(filter(lambda x: x in choices, current_dropdown_values))
|
current_dropdown_values = list(filter(lambda x: x in choices, current_dropdown_values))
|
||||||
current_values = list_to_csv_string(current_dropdown_values)
|
current_values = list_to_csv_string(current_dropdown_values)
|
||||||
else:
|
else:
|
||||||
current_dropdown_values = [x.strip() for x in chain.from_iterable(csv.reader(StringIO(axis_values)))]
|
current_dropdown_values = [x.strip() for x in chain.from_iterable(csv.reader(StringIO(axis_values)))]
|
||||||
current_dropdown_values = list(filter(lambda x: x in choices, current_dropdown_values))
|
current_dropdown_values = list(filter(lambda x: x in choices, current_dropdown_values))
|
||||||
|
|
||||||
return (gr.Button.update(visible=has_choices), gr.Textbox.update(visible=not has_choices or csv_mode.value, value=current_values),
|
return (gr.Button.update(visible=has_choices), gr.Textbox.update(visible=not has_choices or csv_mode, value=current_values),
|
||||||
gr.update(choices=choices if has_choices else None, visible=has_choices and not csv_mode.value, value=current_dropdown_values))
|
gr.update(choices=choices if has_choices else None, visible=has_choices and not csv_mode, value=current_dropdown_values))
|
||||||
|
|
||||||
x_type.change(fn=select_axis, inputs=[x_type, x_values, x_values_dropdown], outputs=[fill_x_button, x_values, x_values_dropdown])
|
x_type.change(fn=select_axis, inputs=[x_type, x_values, x_values_dropdown, csv_mode], outputs=[fill_x_button, x_values, x_values_dropdown])
|
||||||
y_type.change(fn=select_axis, inputs=[y_type, y_values, y_values_dropdown], outputs=[fill_y_button, y_values, y_values_dropdown])
|
y_type.change(fn=select_axis, inputs=[y_type, y_values, y_values_dropdown, csv_mode], outputs=[fill_y_button, y_values, y_values_dropdown])
|
||||||
z_type.change(fn=select_axis, inputs=[z_type, z_values, z_values_dropdown], outputs=[fill_z_button, z_values, z_values_dropdown])
|
z_type.change(fn=select_axis, inputs=[z_type, z_values, z_values_dropdown, csv_mode], outputs=[fill_z_button, z_values, z_values_dropdown])
|
||||||
|
|
||||||
def change_choice_mode(_csv_mode, x_type, x_values, x_values_dropdown, y_type, y_values, y_values_dropdown, z_type, z_values, z_values_dropdown):
|
def change_choice_mode(csv_mode, x_type, x_values, x_values_dropdown, y_type, y_values, y_values_dropdown, z_type, z_values, z_values_dropdown):
|
||||||
csv_mode.value = _csv_mode
|
_fill_x_button, _x_values, _x_values_dropdown = select_axis(x_type, x_values, x_values_dropdown, csv_mode)
|
||||||
_fill_x_button, _x_values, _x_values_dropdown = select_axis(x_type, x_values, x_values_dropdown)
|
_fill_y_button, _y_values, _y_values_dropdown = select_axis(y_type, y_values, y_values_dropdown, csv_mode)
|
||||||
_fill_y_button, _y_values, _y_values_dropdown = select_axis(y_type, y_values, y_values_dropdown)
|
_fill_z_button, _z_values, _z_values_dropdown = select_axis(z_type, z_values, z_values_dropdown, csv_mode)
|
||||||
_fill_z_button, _z_values, _z_values_dropdown = select_axis(z_type, z_values, z_values_dropdown)
|
|
||||||
return _fill_x_button, _x_values, _x_values_dropdown, _fill_y_button, _y_values, _y_values_dropdown, _fill_z_button, _z_values, _z_values_dropdown
|
return _fill_x_button, _x_values, _x_values_dropdown, _fill_y_button, _y_values, _y_values_dropdown, _fill_z_button, _z_values, _z_values_dropdown
|
||||||
|
|
||||||
csv_mode.change(fn=change_choice_mode, inputs=[csv_mode, x_type, x_values, x_values_dropdown, y_type, y_values, y_values_dropdown, z_type, z_values, z_values_dropdown], outputs=[fill_x_button, x_values, x_values_dropdown, fill_y_button, y_values, y_values_dropdown, fill_z_button, z_values, z_values_dropdown])
|
csv_mode.change(fn=change_choice_mode, inputs=[csv_mode, x_type, x_values, x_values_dropdown, y_type, y_values, y_values_dropdown, z_type, z_values, z_values_dropdown], outputs=[fill_x_button, x_values, x_values_dropdown, fill_y_button, y_values, y_values_dropdown, fill_z_button, z_values, z_values_dropdown])
|
||||||
|
Loading…
Reference in New Issue
Block a user