Class: Slack::BlockKit::Element::StaticSelect
- Inherits:
-
Object
- Object
- Slack::BlockKit::Element::StaticSelect
- Defined in:
- lib/slack/block_kit/element/static_select.rb
Overview
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
Constant Summary collapse
- TYPE =
'static_select'
Instance Attribute Summary collapse
-
#confirm ⇒ Object
Returns the value of attribute confirm.
-
#initial_option ⇒ Object
Returns the value of attribute initial_option.
-
#option_groups ⇒ Object
Returns the value of attribute option_groups.
-
#options ⇒ Object
Returns the value of attribute options.
Instance Method Summary collapse
- #as_json ⇒ Object
- #confirmation_dialog {|@confirm| ... } ⇒ Object
- #initial(value:, text:, emoji: nil) ⇒ Object
-
#initialize(placeholder:, action_id:, emoji: nil) {|_self| ... } ⇒ StaticSelect
constructor
A new instance of StaticSelect.
- #option(value:, text:, emoji: nil) ⇒ Object
- #option_group(label:, emoji: nil) {|option_group| ... } ⇒ Object
Constructor Details
#initialize(placeholder:, action_id:, emoji: nil) {|_self| ... } ⇒ StaticSelect
Returns a new instance of StaticSelect.
20 21 22 23 24 25 |
# 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 |
Instance Attribute Details
#confirm ⇒ Object
Returns the value of attribute confirm.
18 19 20 |
# File 'lib/slack/block_kit/element/static_select.rb', line 18 def confirm @confirm end |
#initial_option ⇒ Object
Returns the value of attribute initial_option.
18 19 20 |
# File 'lib/slack/block_kit/element/static_select.rb', line 18 def initial_option @initial_option end |
#option_groups ⇒ Object
Returns the value of attribute option_groups.
18 19 20 |
# File 'lib/slack/block_kit/element/static_select.rb', line 18 def option_groups @option_groups end |
#options ⇒ Object
Returns the value of attribute options.
18 19 20 |
# File 'lib/slack/block_kit/element/static_select.rb', line 18 def end |
Instance Method Details
#as_json ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 |
# 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: &.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| ... } ⇒ Object
27 28 29 30 31 32 33 |
# 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) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# 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) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/slack/block_kit/element/static_select.rb', line 35 def option(value:, text:, emoji: nil) ||= [] << Composition::Option.new( value: value, text: text, emoji: emoji ) self end |
#option_group(label:, emoji: nil) {|option_group| ... } ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# 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 |