@@ -22,7 +22,21 @@ <h2>[[ label ]]</h2>
2222 </ div >
2323
2424 < div class ="form-row field-data " v-for ="item in currentSchema " v-if ="!isRawEditOn ">
25- < div v-if ="item.type === 'string' ">
25+ < div v-if ="item.enum.length ">
26+ < label :class ="{required: item.required} "
27+ :for ="`id_custom_json_${item.name}` "
28+ >
29+ [[ item.title ]]:
30+ </ label >
31+ < select :name ="item.name "
32+ :id ="`id_custom_json_${item.name}` "
33+ v-model ="bindValues[item.name] "
34+ >
35+ < option :value ="opt " v-for ="opt in item.enum "> [[ opt ]]</ option >
36+ </ select >
37+ </ div >
38+
39+ < div v-else-if ="item.type === 'string' ">
2640 < label :class ="{required: item.required} "
2741 :for ="`id_custom_json_${item.name}` "
2842 >
@@ -37,7 +51,7 @@ <h2>[[ label ]]</h2>
3751 >
3852 </ div >
3953
40- < div v-if ="item.type === 'integer' || item.type === 'number' ">
54+ < div v-else- if ="item.type === 'integer' || item.type === 'number' ">
4155 < label :for ="`id_custom_json_${item.name}` "
4256 :class ="{required: item.required} "
4357 > [[ item.title ]]:</ label >
@@ -49,7 +63,7 @@ <h2>[[ label ]]</h2>
4963 >
5064 </ div >
5165
52- < div v-if ="item.type === 'boolean' ">
66+ < div v-else- if ="item.type === 'boolean' ">
5367 < input type ="checkbox "
5468 :name ="item.name "
5569 :id ="`id_custom_json_${item.name}` "
@@ -188,6 +202,7 @@ <h2>[[ label ]]</h2>
188202 description : field . description ?? "" ,
189203 default : defaultValue ,
190204 required : schema . required . includes ( fieldName ) ,
205+ enum : field . enum ?? [ ] ,
191206 } ) ;
192207 }
193208 }
0 commit comments