"elements": list(elements)
}
+def checkbox_block(label, text, name, checked=False):
+
+ element = {
+ "type": "checkboxes",
+ "options": [
+ {
+ "value": name,
+ "text": {
+ "type": "plain_text",
+ "text": text
+ }
+ }
+ ]
+ }
+
+ if checked:
+ element["initial_options"] = [{
+ "value": name,
+ "text": {
+ "type": "plain_text",
+ "text": text
+ }
+ }]
+
+ return {
+ "type": "input",
+ "block_id": name,
+ "element": element,
+ "optional": True,
+ "label": {
+ "type": "plain_text",
+ "text": label
+ }
+ }
+
def button_block(label, name, extra=None):
block = {
}
}
-def input_block(label, name, placeholder, optional=False):
+def input_block(label, name, placeholder, initial_value=None, optional=False):
+
+ element = {
+ "type": "plain_text_input",
+ "action_id": name,
+ "placeholder": {
+ "type": "plain_text",
+ "text": placeholder,
+ }
+ }
+
+ if initial_value:
+ element["initial_value"] = initial_value
+
return {
"type": "input",
"block_id": name,
"optional": optional,
- "element": {
- "type": "plain_text_input",
- "action_id": name,
- "placeholder": {
- "type": "plain_text",
- "text": placeholder,
- }
- },
+ "element": element,
"label": {
"type": "plain_text",
"text": label
}
}
-def multi_select_block(label, name, placeholder, options, default=None):
+def multi_select_block(label, name, placeholder, options,
+ initial_options=None):
- multi_select = {
+ multi_select = {
"action_id": name,
"type": "multi_static_select",
"placeholder": {
]
}
+ if initial_options:
+ multi_select["initial_options"] = [
+ {
+ "text": {
+ "type": "plain_text",
+ "text": option
+ },
+ "value": option
+ } for option in initial_options
+ ]
+
return accessory_block(
section_block(text_block("*{}*".format(label)), block_id=name),
multi_select