Skip to content

Commit cbb5c4d

Browse files
Merge pull request #6 from DSACMS/nat/more-components
Components: Added date-time and boolean components
2 parents 85ae94e + 41df81f commit cbb5c4d

3 files changed

Lines changed: 74 additions & 1 deletion

File tree

js/generateFormComponents.js

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

schemas/schema.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,15 @@
8080
"type": "string",
8181
"description": "Maintenance status",
8282
"enum": ["internal", "contract", "community", "none"]
83+
},
84+
"lastModified": {
85+
"type": "string",
86+
"format": "date-time",
87+
"description": "Date when the project was last modified"
88+
},
89+
"localisation": {
90+
"type": "boolean",
91+
"description": "Indicates if the project supports multiple languages"
8392
}
8493
}
8594
}

schemas/template-code.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@
99
"categories": [""],
1010
"softwareType": [""],
1111
"languages": [""],
12-
"maintenance": ""
12+
"maintenance": "",
13+
"lastModified": "",
14+
"localisation": ""
1315
}

0 commit comments

Comments
 (0)