35 lines
1.0 KiB
Python
Raw Normal View History

2023-12-18 09:17:32 +08:00
from typing import List, Tuple
from .iobase import pipe_interaction
from .multi_selections import checkbox_answer
from .single_select import radio_answer
from .text_edit import editor_answer
def ui_group(ui_message: List[Tuple]) -> Tuple:
"""
ui_message: List[Tuple]
[
("editor", "editor ui message", "editor_id"),
("checkbox", "checkbox ui message", ["id1", "id2"]),
("radio", "radio ui message", ["id1", "id2"]),
]
2023-12-18 09:24:09 +08:00
items in ui_message are created by functions like:make_checkbox_control
2023-12-18 09:17:32 +08:00
"""
ui_message = "\n".join([m[1] for m in ui_message])
response = pipe_interaction(ui_message)
2023-12-18 09:24:09 +08:00
results = []
for m in ui_message:
if m[0] == "editor":
result = editor_answer(response, m[2])
elif m[0] == "checkbox":
result = checkbox_answer(response, m[2])
elif m[0] == "radio":
result = radio_answer(response, m[2])
else:
result = None
results.append(result)
return tuple(results)