@@ -11,27 +11,29 @@ type ParameterFormType string
1111const (
1212 ParameterFormTypeDefault ParameterFormType = ""
1313 ParameterFormTypeRadio ParameterFormType = "radio"
14+ ParameterFormTypeSlider ParameterFormType = "slider"
1415 ParameterFormTypeInput ParameterFormType = "input"
1516 ParameterFormTypeDropdown ParameterFormType = "dropdown"
1617 ParameterFormTypeCheckbox ParameterFormType = "checkbox"
1718 ParameterFormTypeSwitch ParameterFormType = "switch"
1819 ParameterFormTypeMultiSelect ParameterFormType = "multi-select"
1920 ParameterFormTypeTagInput ParameterFormType = "tag-input"
20- // ParameterFormTypeTextArea ParameterFormType = "textarea"
21- ParameterFormTypeError ParameterFormType = "error"
21+ ParameterFormTypeTextArea ParameterFormType = "textarea"
22+ ParameterFormTypeError ParameterFormType = "error"
2223)
2324
2425func ParameterFormTypes () []ParameterFormType {
2526 return []ParameterFormType {
2627 ParameterFormTypeDefault ,
2728 ParameterFormTypeRadio ,
2829 ParameterFormTypeInput ,
30+ ParameterFormTypeSlider ,
2931 ParameterFormTypeDropdown ,
3032 ParameterFormTypeCheckbox ,
3133 ParameterFormTypeSwitch ,
3234 ParameterFormTypeMultiSelect ,
3335 ParameterFormTypeTagInput ,
34- // ParameterFormTypeTextArea,
36+ ParameterFormTypeTextArea ,
3537 ParameterFormTypeError ,
3638 }
3739}
@@ -44,6 +46,8 @@ func ParameterFormTypes() []ParameterFormType {
4446// | `string` `number` | Y | | `radio` | |
4547// | `string` `number` | Y | `dropdown` | `dropdown` | |
4648// | `string` `number` | N | | `input` | |
49+ // | `string` | N | 'textarea' | `textarea` | |
50+ // | `number` | N | 'slider' | `slider` | min/max validation |
4751// | `bool` | Y | | `radio` | |
4852// | `bool` | N | | `checkbox` | |
4953// | `bool` | N | `switch` | `switch` | |
@@ -53,11 +57,11 @@ func ParameterFormTypes() []ParameterFormType {
5357var formTypeTruthTable = map [string ]map [bool ][]ParameterFormType {
5458 "string" : {
5559 true : {ParameterFormTypeRadio , ParameterFormTypeDropdown },
56- false : {ParameterFormTypeInput },
60+ false : {ParameterFormTypeInput , ParameterFormTypeTextArea },
5761 },
5862 "number" : {
5963 true : {ParameterFormTypeRadio , ParameterFormTypeDropdown },
60- false : {ParameterFormTypeInput },
64+ false : {ParameterFormTypeInput , ParameterFormTypeSlider },
6165 },
6266 "bool" : {
6367 true : {ParameterFormTypeRadio },
@@ -71,17 +75,6 @@ var formTypeTruthTable = map[string]map[bool][]ParameterFormType{
7175
7276// ValidateFormType handles the truth table for the valid set of `type` and
7377// `form_type` options.
74- // | Type | Options | Specified Form Type | form_type | Notes |
75- // |-------------------|---------|---------------------|----------------|--------------------------------|
76- // | `string` `number` | Y | | `radio` | |
77- // | `string` `number` | Y | `dropdown` | `dropdown` | |
78- // | `string` `number` | N | | `input` | |
79- // | `bool` | Y | | `radio` | |
80- // | `bool` | N | | `checkbox` | |
81- // | `bool` | N | `switch` | `switch` | |
82- // | `list(string)` | Y | | `radio` | |
83- // | `list(string)` | N | | `tag-select` | |
84- // | `list(string)` | Y | `multi-select` | `multi-select` | Option values will be `string` |
8578func ValidateFormType (paramType string , optionCount int , specifiedFormType ParameterFormType ) (string , ParameterFormType , error ) {
8679 allowed , ok := formTypeTruthTable [paramType ][optionCount > 0 ]
8780 if ! ok || len (allowed ) == 0 {
0 commit comments