summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/dialog_select.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/nlopes/slack/dialog_select.go')
-rw-r--r--vendor/github.com/nlopes/slack/dialog_select.go101
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,
- }
-}