}
}
-def section_block(block):
- return {
+def section_block(block, block_id=None):
+
+ block = {
"type": "section",
**block
}
+ if block_id:
+ block['block_id'] = block_id
+
+ return block
+
def actions_block(*elements):
return {
"type": "actions",
}
def multi_select_block(label, name, placeholder, options, default=None):
- return {
- "type": "section",
- "block_id": name,
- "text": {
- "type": "mrkdwn",
- "text": "*{}*".format(label)
+
+ multi_select = {
+ "action_id": name,
+ "type": "multi_static_select",
+ "placeholder": {
+ "type": "plain_text",
+ "text": placeholder
},
- "accessory": {
- "action_id": name,
- "type": "multi_static_select",
- "placeholder": {
- "type": "plain_text",
- "text": placeholder
- },
- "options": [
- {
- "text": {
- "type": "plain_text",
- "text": option
- },
- "value": option
- } for option in options
- ]
- }
+ "options": [
+ {
+ "text": {
+ "type": "plain_text",
+ "text": option
+ },
+ "value": option
+ } for option in options
+ ]
}
+
+ return accessory_block(
+ section_block(text_block("*{}*".format(label)), block_id=name),
+ multi_select
+ )