@@ -35,7 +35,12 @@ function determineType(field) {
3535 return "radio" ;
3636 } else if ( field . type === "number" ) {
3737 return "number" ;
38+ } else if ( field . type === "boolean" ) {
39+ return "select-boolean" ;
3840 } else if ( field . type === "string" ) {
41+ if ( field . format == "date-time" ) {
42+ return "datetime" ;
43+ }
3944 return "textfield" ;
4045 }
4146}
@@ -110,6 +115,63 @@ function createComponent(fieldName, fieldObject) {
110115 inputType : "checkbox" ,
111116 description : fieldObject [ "description" ]
112117 } ;
118+ case "datetime" :
119+ return {
120+ "label" : fieldName ,
121+ "tableView" : false ,
122+ "datePicker" : {
123+ "disableWeekends" : false ,
124+ "disableWeekdays" : false
125+ } ,
126+ "enableMinDateInput" : false ,
127+ "enableMaxDateInput" : false ,
128+ "validateWhenHidden" : false ,
129+ "key" : fieldName ,
130+ "type" : "datetime" ,
131+ "input" : true ,
132+ "widget" : {
133+ "type" : "calendar" ,
134+ "displayInTimezone" : "viewer" ,
135+ "locale" : "en" ,
136+ "useLocaleSettings" : false ,
137+ "allowInput" : true ,
138+ "mode" : "single" ,
139+ "enableTime" : true ,
140+ "noCalendar" : false ,
141+ "format" : "yyyy-MM-dd hh:mm a" ,
142+ "hourIncrement" : 1 ,
143+ "minuteIncrement" : 1 ,
144+ "time_24hr" : false ,
145+ "minDate" : null ,
146+ "disableWeekends" : false ,
147+ "disableWeekdays" : false ,
148+ "maxDate" : null
149+ } ,
150+ description : fieldObject [ "description" ]
151+ }
152+ case "select-boolean" :
153+ return {
154+ "label" : fieldName ,
155+ "widget" : "html5" ,
156+ "tableView" : true ,
157+ "data" : {
158+ "values" : [
159+ {
160+ "label" : "True" ,
161+ "value" : "true"
162+ } ,
163+ {
164+ "label" : "False" ,
165+ "value" : "false"
166+ }
167+ ]
168+ } ,
169+ "validateWhenHidden" : false ,
170+ "key" : fieldName ,
171+ "type" : "select" ,
172+ "input" : true ,
173+ description : fieldObject [ "description" ]
174+ }
113175 default :
114176 break ;
115177 }
0 commit comments