diff options
Diffstat (limited to 'vendor/github.com/nlopes/slack/dialog_select.go')
-rw-r--r-- | vendor/github.com/nlopes/slack/dialog_select.go | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/vendor/github.com/nlopes/slack/dialog_select.go b/vendor/github.com/nlopes/slack/dialog_select.go deleted file mode 100644 index 385cef68..00000000 --- a/vendor/github.com/nlopes/slack/dialog_select.go +++ /dev/null @@ -1,101 +0,0 @@ -package slack - -// SelectDataSource types of select datasource -type SelectDataSource string - -const ( - // DialogDataSourceStatic menu with static Options/OptionGroups - DialogDataSourceStatic SelectDataSource = "static" - // DialogDataSourceExternal dynamic datasource - DialogDataSourceExternal SelectDataSource = "external" - // DialogDataSourceConversations provides a list of conversations - DialogDataSourceConversations SelectDataSource = "conversations" - // DialogDataSourceChannels provides a list of channels - DialogDataSourceChannels SelectDataSource = "channels" - // DialogDataSourceUsers provides a list of users - DialogDataSourceUsers SelectDataSource = "users" -) - -// DialogInputSelect dialog support for select boxes. -type DialogInputSelect struct { - DialogInput - Value string `json:"value,omitempty"` //Optional. - DataSource SelectDataSource `json:"data_source,omitempty"` //Optional. Allowed values: "users", "channels", "conversations", "external". - SelectedOptions []DialogSelectOption `json:"selected_options,omitempty"` //Optional. May hold at most one element, for use with "external" only. - Options []DialogSelectOption `json:"options,omitempty"` //One of options or option_groups is required. - OptionGroups []DialogOptionGroup `json:"option_groups,omitempty"` //Provide up to 100 options. - MinQueryLength int `json:"min_query_length,omitempty"` //Optional. minimum characters before query is sent. - Hint string `json:"hint,omitempty"` //Optional. Additional hint text. -} - -// DialogSelectOption is an option for the user to select from the menu -type DialogSelectOption struct { - Label string `json:"label"` - Value string `json:"value"` -} - -// DialogOptionGroup is a collection of options for creating a segmented table -type DialogOptionGroup struct { - Label string `json:"label"` - Options []DialogSelectOption `json:"options"` -} - -// NewStaticSelectDialogInput constructor for a `static` datasource menu input -func NewStaticSelectDialogInput(name, label string, options []DialogSelectOption) *DialogInputSelect { - return &DialogInputSelect{ - DialogInput: DialogInput{ - Type: InputTypeSelect, - Name: name, - Label: label, - Optional: true, - }, - DataSource: DialogDataSourceStatic, - Options: options, - } -} - -// NewGroupedSelectDialogInput creates grouped options select input for Dialogs. -func NewGroupedSelectDialogInput(name, label string, options []DialogOptionGroup) *DialogInputSelect { - return &DialogInputSelect{ - DialogInput: DialogInput{ - Type: InputTypeSelect, - Name: name, - Label: label, - }, - DataSource: DialogDataSourceStatic, - OptionGroups: options} -} - -// NewDialogOptionGroup creates a DialogOptionGroup from several select options -func NewDialogOptionGroup(label string, options ...DialogSelectOption) DialogOptionGroup { - return DialogOptionGroup{ - Label: label, - Options: options, - } -} - -// NewConversationsSelect returns a `Conversations` select -func NewConversationsSelect(name, label string) *DialogInputSelect { - return newPresetSelect(name, label, DialogDataSourceConversations) -} - -// NewChannelsSelect returns a `Channels` select -func NewChannelsSelect(name, label string) *DialogInputSelect { - return newPresetSelect(name, label, DialogDataSourceChannels) -} - -// NewUsersSelect returns a `Users` select -func NewUsersSelect(name, label string) *DialogInputSelect { - return newPresetSelect(name, label, DialogDataSourceUsers) -} - -func newPresetSelect(name, label string, dataSourceType SelectDataSource) *DialogInputSelect { - return &DialogInputSelect{ - DialogInput: DialogInput{ - Type: InputTypeSelect, - Label: label, - Name: name, - }, - DataSource: dataSourceType, - } -} |