class Slack::BlockKit::Layout::Input
A block that collects information from users - it can hold a plain-text input element, a checkbox element, a radio button element, a select menu element, a multi-select menu element, or a datepicker.
Constants
- TYPE
Attributes
block_id[RW]
element[RW]
emoji[RW]
hint[RW]
label[RW]
optional[RW]
Public Class Methods
new( label:, element: nil, block_id: nil, hint: nil, optional: nil, emoji: nil, dispatch_action: nil )
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 16 def initialize( label:, element: nil, block_id: nil, hint: nil, optional: nil, emoji: nil, dispatch_action: nil ) @label = Composition::PlainText.new(text: label, emoji: emoji) if label @hint = Composition::PlainText.new(text: hint, emoji: emoji) if hint @block_id = block_id @optional = optional @element = element @dispatch_action = dispatch_action end
Public Instance Methods
as_json(*)
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 226 def as_json(*) { type: TYPE, element: @element.as_json, label: @label&.as_json, hint: @hint&.as_json, block_id: @block_id, optional: optional, dispatch_action: @dispatch_action }.compact end
channels_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 60 def channels_select(placeholder:, action_id:, initial: nil, emoji: nil) @element = Element::ChannelsSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji ) yield(@element) if block_given? self end
checkboxes(action_id:) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 73 def checkboxes(action_id:) @element = Element::Checkboxes.new(action_id: action_id) yield(@element) if block_given? self end
conversation_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 33 def conversation_select(placeholder:, action_id:, initial: nil, emoji: nil) @element = Element::ConversationsSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji ) yield(@element) if block_given? self end
datepicker(action_id:, placeholder: nil, initial: nil, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 81 def datepicker(action_id:, placeholder: nil, initial: nil, emoji: nil) @element = Element::DatePicker.new( action_id: action_id, placeholder: placeholder, initial: initial, emoji: emoji ) yield(@element) if block_given? self end
external_select(placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 133 def external_select(placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil) @element = Element::ExternalSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, min_query_length: min_query_length, emoji: emoji ) yield(@element) if block_given? self end
multi_channels_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 94 def multi_channels_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) @element = Element::MultiChannelsSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji, max_selected_items: max_selected_items ) yield(@element) if block_given? self end
multi_conversations_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 46 def multi_conversations_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) @element = Element::MultiConversationsSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji, max_selected_items: max_selected_items ) yield(@element) if block_given? self end
multi_external_select( placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil, max_selected_items: nil ) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 147 def multi_external_select( placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil, max_selected_items: nil ) @element = Element::MultiExternalSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, min_query_length: min_query_length, emoji: emoji, max_selected_items: max_selected_items ) yield(@element) if block_given? self end
multi_static_select(placeholder:, action_id:, emoji: nil, max_selected_items: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 120 def multi_static_select(placeholder:, action_id:, emoji: nil, max_selected_items: nil) @element = Element::MultiStaticSelect.new( placeholder: placeholder, action_id: action_id, emoji: emoji, max_selected_items: max_selected_items ) yield(@element) if block_given? self end
multi_users_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 212 def multi_users_select(placeholder:, action_id:, initial: nil, emoji: nil, max_selected_items: nil) @element = Element::MultiUsersSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji, max_selected_items: max_selected_items ) yield(@element) if block_given? self end
plain_text_input( action_id:, placeholder: nil, emoji: nil, initial_value: nil, multiline: nil, min_length: nil, max_length: nil )
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 169 def plain_text_input( action_id:, placeholder: nil, emoji: nil, initial_value: nil, multiline: nil, min_length: nil, max_length: nil ) @element = Element::PlainTextInput.new( action_id: action_id, placeholder: placeholder, emoji: emoji, initial_value: initial_value, multiline: multiline, min_length: min_length, max_length: max_length ) self end
static_select(placeholder:, action_id:, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 108 def static_select(placeholder:, action_id:, emoji: nil) @element = Element::StaticSelect.new( placeholder: placeholder, action_id: action_id, emoji: emoji ) yield(@element) if block_given? self end
users_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... }
click to toggle source
# File lib/slack/block_kit/layout/input.rb, line 199 def users_select(placeholder:, action_id:, initial: nil, emoji: nil) @element = Element::UsersSelect.new( placeholder: placeholder, action_id: action_id, initial: initial, emoji: emoji ) yield(@element) if block_given? self end