File tree Expand file tree Collapse file tree 5 files changed +40
-3
lines changed
frontend/packages/pydantic-forms/src/components Expand file tree Collapse file tree 5 files changed +40
-3
lines changed Original file line number Diff line number Diff line change @@ -18,4 +18,5 @@ __pycache__/
1818.vscode
1919test
2020.idea
21- todo.md
21+ todo.md
22+ venv
Original file line number Diff line number Diff line change @@ -101,9 +101,10 @@ class TestForm(FormPage):
101101 label : Label = "Label"
102102 hidden : Hidden = "Hidden"
103103 # When there are > 3 choices a dropdown will be rendered
104- dropdown : DropdownChoices = ( "2" )
104+ dropdown : DropdownChoices = "2"
105105 # When there are <= 3 choices a radio group will be rendered
106- radio : RadioChoices = ("3" )
106+ radio : RadioChoices = "3"
107+ checkbox : bool = True
107108
108109 form_data_1 = yield TestForm
109110
Original file line number Diff line number Diff line change 44 * We will search for the first field that returns a positive match
55 */
66import {
7+ CheckboxField ,
78 DividerField ,
89 DropdownField ,
910 HiddenField ,
@@ -114,6 +115,17 @@ const defaultComponentMatchers: PydanticComponentMatcher[] = [
114115 ) ;
115116 } ,
116117 } ,
118+ {
119+ id : 'checkbox' ,
120+ ElementMatch : {
121+ Element : CheckboxField ,
122+ isControlledElement : true ,
123+ } ,
124+ matcher ( field ) {
125+ return field . type === PydanticFormFieldType . BOOLEAN ;
126+ } ,
127+ } ,
117128] ;
129+
118130// If nothing matches, it defaults to Text field in the mapToComponent function
119131export default defaultComponentMatchers ;
Original file line number Diff line number Diff line change 1+ import React from 'react' ;
2+
3+ import { PydanticFormControlledElementProps } from '@/types' ;
4+
5+ export const CheckboxField = ( {
6+ onChange,
7+ onBlur,
8+ value,
9+ name,
10+ disabled,
11+ } : PydanticFormControlledElementProps ) => {
12+ return (
13+ < input
14+ type = "checkbox"
15+ checked = { value }
16+ onChange = { ( ) => onChange ( ! value ) }
17+ onBlur = { onBlur }
18+ name = { name }
19+ disabled = { disabled }
20+ />
21+ ) ;
22+ } ;
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ export * from './FormRow';
33export * from './TextField' ;
44export * from './IntegerField' ;
55export * from './TextAreaField' ;
6+ export * from './CheckboxField' ;
67export * from './LabelField' ;
78export * from './DividerField' ;
89export * from './HiddenField' ;
You can’t perform that action at this time.
0 commit comments