@@ -11,27 +11,29 @@ type ParameterFormType string
11
11
const (
12
12
ParameterFormTypeDefault ParameterFormType = ""
13
13
ParameterFormTypeRadio ParameterFormType = "radio"
14
+ ParameterFormTypeSlider ParameterFormType = "slider"
14
15
ParameterFormTypeInput ParameterFormType = "input"
15
16
ParameterFormTypeDropdown ParameterFormType = "dropdown"
16
17
ParameterFormTypeCheckbox ParameterFormType = "checkbox"
17
18
ParameterFormTypeSwitch ParameterFormType = "switch"
18
19
ParameterFormTypeMultiSelect ParameterFormType = "multi-select"
19
20
ParameterFormTypeTagInput ParameterFormType = "tag-input"
20
- // ParameterFormTypeTextArea ParameterFormType = "textarea"
21
- ParameterFormTypeError ParameterFormType = "error"
21
+ ParameterFormTypeTextArea ParameterFormType = "textarea"
22
+ ParameterFormTypeError ParameterFormType = "error"
22
23
)
23
24
24
25
func ParameterFormTypes () []ParameterFormType {
25
26
return []ParameterFormType {
26
27
ParameterFormTypeDefault ,
27
28
ParameterFormTypeRadio ,
28
29
ParameterFormTypeInput ,
30
+ ParameterFormTypeSlider ,
29
31
ParameterFormTypeDropdown ,
30
32
ParameterFormTypeCheckbox ,
31
33
ParameterFormTypeSwitch ,
32
34
ParameterFormTypeMultiSelect ,
33
35
ParameterFormTypeTagInput ,
34
- // ParameterFormTypeTextArea,
36
+ ParameterFormTypeTextArea ,
35
37
ParameterFormTypeError ,
36
38
}
37
39
}
@@ -44,6 +46,8 @@ func ParameterFormTypes() []ParameterFormType {
44
46
// | `string` `number` | Y | | `radio` | |
45
47
// | `string` `number` | Y | `dropdown` | `dropdown` | |
46
48
// | `string` `number` | N | | `input` | |
49
+ // | `string` | N | 'textarea' | `textarea` | |
50
+ // | `number` | N | 'slider' | `slider` | min/max validation |
47
51
// | `bool` | Y | | `radio` | |
48
52
// | `bool` | N | | `checkbox` | |
49
53
// | `bool` | N | `switch` | `switch` | |
@@ -53,11 +57,11 @@ func ParameterFormTypes() []ParameterFormType {
53
57
var formTypeTruthTable = map [string ]map [bool ][]ParameterFormType {
54
58
"string" : {
55
59
true : {ParameterFormTypeRadio , ParameterFormTypeDropdown },
56
- false : {ParameterFormTypeInput },
60
+ false : {ParameterFormTypeInput , ParameterFormTypeTextArea },
57
61
},
58
62
"number" : {
59
63
true : {ParameterFormTypeRadio , ParameterFormTypeDropdown },
60
- false : {ParameterFormTypeInput },
64
+ false : {ParameterFormTypeInput , ParameterFormTypeSlider },
61
65
},
62
66
"bool" : {
63
67
true : {ParameterFormTypeRadio },
@@ -71,17 +75,6 @@ var formTypeTruthTable = map[string]map[bool][]ParameterFormType{
71
75
72
76
// ValidateFormType handles the truth table for the valid set of `type` and
73
77
// `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` |
85
78
func ValidateFormType (paramType string , optionCount int , specifiedFormType ParameterFormType ) (string , ParameterFormType , error ) {
86
79
allowed , ok := formTypeTruthTable [paramType ][optionCount > 0 ]
87
80
if ! ok || len (allowed ) == 0 {
0 commit comments