class Slack::BlockKit::Element::StaticSelect
A select menu, just as with a standard HTML <select> tag, creates a drop down menu with a list of options for a user to choose. The select menu also includes type-ahead functionality, where a user can type a part or all of an option string to filter the list.
This is the simplest form of select menu, with a static list of options passed in when defining the element.
api.slack.com/reference/messaging/block-elements#static-select
Constants
- TYPE
Attributes
confirm[RW]
initial_option[RW]
option_groups[RW]
options[RW]
Public Class Methods
new(placeholder:, action_id:, emoji: nil) { |self| ... }
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 20 def initialize(placeholder:, action_id:, emoji: nil) @placeholder = Composition::PlainText.new(text: placeholder, emoji: emoji) @action_id = action_id yield(self) if block_given? end
Public Instance Methods
as_json(*)
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 67 def as_json(*) { type: TYPE, placeholder: @placeholder.as_json, action_id: @action_id, options: @options&.map(&:as_json), option_groups: @option_groups&.map(&:as_json), initial_option: @initial_option&.as_json, confirm: @confirm&.as_json }.compact end
confirmation_dialog() { |confirm| ... }
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 27 def confirmation_dialog @confirm = Composition::ConfirmationDialog.new yield(@confirm) if block_given? self end
initial(value:, text:, emoji: nil)
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 57 def initial(value:, text:, emoji: nil) @initial_option = Composition::Option.new( value: value, text: text, emoji: emoji ) self end
option(value:, text:, emoji: nil)
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 35 def option(value:, text:, emoji: nil) @options ||= [] @options << Composition::Option.new( value: value, text: text, emoji: emoji ) self end
option_group(label:, emoji: nil) { |option_group| ... }
click to toggle source
# File lib/slack/block_kit/element/static_select.rb, line 46 def option_group(label:, emoji: nil) option_group = Composition::OptionGroup.new(label: label, emoji: emoji) yield(option_group) if block_given? @option_groups ||= [] @option_groups << option_group self end