2020-03-01 11:59:19 -08:00
|
|
|
package slack
|
|
|
|
|
2020-03-28 15:50:47 -07:00
|
|
|
// InputBlock defines data that is used to display user input fields.
|
2020-03-01 11:59:19 -08:00
|
|
|
//
|
2020-03-28 15:50:47 -07:00
|
|
|
// More Information: https://api.slack.com/reference/block-kit/blocks#input
|
2020-03-01 11:59:19 -08:00
|
|
|
type InputBlock struct {
|
2021-03-20 14:40:23 -07:00
|
|
|
Type MessageBlockType `json:"type"`
|
|
|
|
BlockID string `json:"block_id,omitempty"`
|
|
|
|
Label *TextBlockObject `json:"label"`
|
|
|
|
Element BlockElement `json:"element"`
|
|
|
|
Hint *TextBlockObject `json:"hint,omitempty"`
|
|
|
|
Optional bool `json:"optional,omitempty"`
|
|
|
|
DispatchAction bool `json:"dispatch_action,omitempty"`
|
2020-03-01 11:59:19 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
// BlockType returns the type of the block
|
|
|
|
func (s InputBlock) BlockType() MessageBlockType {
|
|
|
|
return s.Type
|
|
|
|
}
|
|
|
|
|
2020-03-28 15:50:47 -07:00
|
|
|
// NewInputBlock returns a new instance of an input block
|
2020-03-01 11:59:19 -08:00
|
|
|
func NewInputBlock(blockID string, label *TextBlockObject, element BlockElement) *InputBlock {
|
|
|
|
return &InputBlock{
|
|
|
|
Type: MBTInput,
|
|
|
|
BlockID: blockID,
|
|
|
|
Label: label,
|
|
|
|
Element: element,
|
|
|
|
}
|
|
|
|
}
|