Module: SlackValidBlockKit::Builder::Elements

Included in:
Runner
Defined in:
lib/slack_valid_block_kit/builder/elements.rb

Instance Method Summary collapse

Instance Method Details

#button(text:, action_id:, url: nil, value: nil, style: nil, confirm: nil, accessibility_label: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 6

def button(text:, action_id:, url: nil, value: nil, style: nil, confirm: nil, accessibility_label: nil)
  hash = { type: 'button' }
  hash[:text] = text
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:url] = url unless url.nil?
  hash[:value] = value unless value.nil?
  hash[:style] = style unless style.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:accessibility_label] = accessibility_label unless accessibility_label.nil?
  hash
end

#channels_select(placeholder:, action_id:, initial_channel: nil, confirm: nil, response_url_enabled: nil, focus_on_load: nil) ⇒ Object



190
191
192
193
194
195
196
197
198
199
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 190

def channels_select(placeholder:, action_id:, initial_channel: nil, confirm: nil, response_url_enabled: nil, focus_on_load: nil)
  hash = { type: 'channels_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_channel] = initial_channel unless initial_channel.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:response_url_enabled] = response_url_enabled unless response_url_enabled.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#checkboxes(action_id:, options:, initial_options: nil, confirm: nil, focus_on_load: nil) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 18

def checkboxes(action_id:, options:, initial_options: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'checkboxes' }
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:options] = options
  hash[:initial_options] = initial_options unless initial_options.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#conversations_select(placeholder:, action_id:, initial_conversation: nil, default_to_current_conversation: nil, confirm: nil, response_url_enabled: nil, filter: nil, focus_on_load: nil) ⇒ Object



177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 177

def conversations_select(placeholder:, action_id:, initial_conversation: nil, default_to_current_conversation: nil, confirm: nil, response_url_enabled: nil, filter: nil, focus_on_load: nil)
  hash = { type: 'conversations_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_conversation] = initial_conversation unless initial_conversation.nil?
  hash[:default_to_current_conversation] = default_to_current_conversation unless default_to_current_conversation.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:response_url_enabled] = response_url_enabled unless response_url_enabled.nil?
  hash[:filter] = filter unless filter.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#datepicker(action_id:, placeholder: nil, initial_date: nil, confirm: nil, focus_on_load: nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 28

def datepicker(action_id:, placeholder: nil, initial_date: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'datepicker' }
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:placeholder] = placeholder unless placeholder.nil?
  unless initial_date.nil?
    if initial_date.is_a?(Date)
      hash[:initial_date] = initial_date.to_s
    elsif initial_date.is_a?(Time)
      hash[:initial_date] = initial_date.to_date.to_s
    else
      hash[:initial_date] = initial_date
    end
  end
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#external_select(placeholder:, action_id:, min_query_length: nil, initial_option: nil, confirm: nil, focus_on_load: nil) ⇒ Object



156
157
158
159
160
161
162
163
164
165
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 156

def external_select(placeholder:, action_id:, min_query_length: nil, initial_option: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'external_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:min_query_length] = min_query_length unless min_query_length.nil?
  hash[:initial_option] = initial_option unless initial_option.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#image(image_url:, alt_text:) ⇒ Object



46
47
48
49
50
51
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 46

def image(image_url:, alt_text:)
  hash = { type: 'image' }
  hash[:image_url] = image_url
  hash[:alt_text] = alt_text
  hash
end

#multi_channels_select(placeholder:, action_id:, initial_channels: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil) ⇒ Object



102
103
104
105
106
107
108
109
110
111
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 102

def multi_channels_select(placeholder:, action_id:, initial_channels: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil)
  hash = { type: 'multi_channels_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_channels] = initial_channels unless initial_channels.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:max_selected_items] = max_selected_items unless max_selected_items.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#multi_conversations_select(placeholder:, action_id:, initial_conversations: nil, default_to_current_conversation: nil, confirm: nil, max_selected_items: nil, filter: nil, focus_on_load: nil) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 89

def multi_conversations_select(placeholder:, action_id:, initial_conversations: nil, default_to_current_conversation: nil, confirm: nil, max_selected_items: nil, filter: nil, focus_on_load: nil)
  hash = { type: 'multi_conversations_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_conversations] = initial_conversations unless initial_conversations.nil?
  hash[:default_to_current_conversation] = default_to_current_conversation unless default_to_current_conversation.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:max_selected_items] = max_selected_items unless max_selected_items.nil?
  hash[:filter] = filter unless filter.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#multi_external_select(placeholder:, action_id:, min_query_length: nil, initial_options: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 66

def multi_external_select(placeholder:, action_id:, min_query_length: nil, initial_options: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil)
  hash = { type: 'multi_external_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:min_query_length] = min_query_length unless min_query_length.nil?
  hash[:initial_options] = initial_options unless initial_options.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:max_selected_items] = max_selected_items unless max_selected_items.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#multi_static_select(placeholder:, action_id:, options:, option_groups: nil, initial_options: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 53

def multi_static_select(placeholder:, action_id:, options:, option_groups: nil, initial_options: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil)
  hash = { type: 'multi_static_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:options] = options
  hash[:option_groups] = option_groups unless option_groups.nil?
  hash[:initial_options] = initial_options unless initial_options.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:max_selected_items] = max_selected_items unless max_selected_items.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#multi_users_select(placeholder:, action_id:, initial_users: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil) ⇒ Object



78
79
80
81
82
83
84
85
86
87
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 78

def multi_users_select(placeholder:, action_id:, initial_users: nil, confirm: nil, max_selected_items: nil, focus_on_load: nil)
  hash = { type: 'multi_users_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_users] = initial_users unless initial_users.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:max_selected_items] = max_selected_items unless max_selected_items.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#overflow(options:, action_id:, confirm: nil) ⇒ Object



113
114
115
116
117
118
119
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 113

def overflow(options:, action_id:, confirm: nil)
  hash = { type: 'overflow' }
  hash[:options] = options
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:confirm] = confirm unless confirm.nil?
  hash
end

#plain_text_input(action_id:, placeholder: nil, initial_value: nil, multiline: nil, min_length: nil, max_length: nil, dispatch_action_config: nil, focus_on_load: nil) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 121

def plain_text_input(action_id:, placeholder: nil, initial_value: nil, multiline: nil, min_length: nil, max_length: nil, dispatch_action_config: nil, focus_on_load: nil)
  hash = { type: 'plain_text_input' }
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:placeholder] = placeholder unless placeholder.nil?
  hash[:initial_value] = initial_value unless initial_value.nil?
  hash[:multiline] = multiline unless multiline.nil?
  hash[:min_length] = min_length unless min_length.nil?
  hash[:max_length] = max_length unless max_length.nil?
  hash[:dispatch_action_config] = dispatch_action_config unless dispatch_action_config.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#radio_buttons(options:, action_id:, initial_option: nil, confirm: nil, focus_on_load: nil) ⇒ Object



134
135
136
137
138
139
140
141
142
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 134

def radio_buttons(options:, action_id:, initial_option: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'radio_buttons' }
  hash[:options] = options
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_option] = initial_option unless initial_option.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#static_select(placeholder:, action_id:, options:, option_groups: nil, initial_option: nil, confirm: nil, focus_on_load: nil) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 144

def static_select(placeholder:, action_id:, options:, option_groups: nil, initial_option: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'static_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:options] = options
  hash[:option_groups] = option_groups unless option_groups.nil?
  hash[:initial_option] = initial_option unless initial_option.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#timepicker(action_id:, placeholder: nil, initial_time: nil, confirm: nil, focus_on_load: nil) ⇒ Object



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 201

def timepicker(action_id:, placeholder: nil, initial_time: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'timepicker' }
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:placeholder] = placeholder unless placeholder.nil?
  unless initial_time.nil?
    if initial_time.is_a?(Time)
      hash[:initial_time] = initial_time.strftime("%H:%M")
    else
      hash[:initial_time] = initial_time
    end
  end
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end

#users_select(placeholder:, action_id:, initial_user: nil, confirm: nil, focus_on_load: nil) ⇒ Object



167
168
169
170
171
172
173
174
175
# File 'lib/slack_valid_block_kit/builder/elements.rb', line 167

def users_select(placeholder:, action_id:, initial_user: nil, confirm: nil, focus_on_load: nil)
  hash = { type: 'users_select' }
  hash[:placeholder] = placeholder
  hash[:action_id] = action_id.is_a?(Symbol) ? action_id.to_s : action_id
  hash[:initial_user] = initial_user unless initial_user.nil?
  hash[:confirm] = confirm unless confirm.nil?
  hash[:focus_on_load] = focus_on_load unless focus_on_load.nil?
  hash
end