app/assets/javascripts/fastui/app/view/vfield/VFieldFactory.js in fastui-0.1.2 vs app/assets/javascripts/fastui/app/view/vfield/VFieldFactory.js in fastui-0.1.3
- old
+ new
@@ -20,58 +20,89 @@
VList: 'Fastui::MList',
VLookup: 'Fastui::MRelation'
},
buildField: function (field, winCtx, winId, rest) {
- var dt = field.datatype;
+ field.datatype = field.datatype || '';
switch (field.datatype) {
case 'VText':
return Ext.create('FastUI.view.vfield.VText', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VTree':
return Ext.create('FastUI.view.vfield.VTree', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VDate':
return Ext.create('FastUI.view.vfield.VDate', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VHtmlEditor':
return Ext.create('FastUI.view.vfield.VHtmlEditor', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VSingleChoice':
return Ext.create('FastUI.view.vfield.VSingleChoice', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VMultipleChoice':
return Ext.create('FastUI.view.vfield.VMultipleChoice', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
- case this.VType.VLongCombobox:
- return Ext.create('FastUI.view.vfield.VLongCombobox', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
+ case 'VRadio':
+ return Ext.create('FastUI.view.vfield.VRadio', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
+
case 'VTextArea':
return Ext.create('FastUI.view.vfield.VTextArea', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VNumber':
return Ext.create('FastUI.view.vfield.VNumber', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
+ case 'VBool':
+ return Ext.create('FastUI.view.vfield.VBool', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
+
case 'VCheckbox':
return Ext.create('FastUI.view.vfield.VCheckbox', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
- case 'VCheckboxGroup':
- return Ext.create('FastUI.view.vfield.VCheckboxGroup', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VSexSelect':
return Ext.create('FastUI.view.vfield.VSexSelect', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VFile':
return Ext.create('FastUI.view.vfield.VFile', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VYesOrNo':
return Ext.create('FastUI.view.vfield.VYesOrNo', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VList':
return Ext.create('FastUI.view.vfield.VCombobox', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
case 'VLookup':
return Ext.create('FastUI.view.vfield.VLookup', {valueObject: field, winCtx: winCtx, winId: winId, rest: rest});
- break;
+
+ case 'VGroup':
+ var box = Ext.create('Ext.form.FieldSet',{
+ title: field.title,
+ collapsible: true,
+ defaults: {
+ labelWidth: 89,
+ layout: {
+ type: 'hbox',
+ defaultMargins: {top: 0, right: 0, bottom: 5, left: 0}
+ }
+ },
+ defaultType: 'textfield'
+ });
+ Ext.each(field.members, function(member){
+ box.add(this.buildField(member, winCtx, winId, rest));
+ },this);
+ return box;
+
+ default:
+ if(Array.isArray(field)){
+ var line = Ext.create('Ext.container.Container', {
+ layout: 'hbox',
+ margin: '0 0 5 0',
+ defaultType: 'textfield'
+ });
+ Ext.each(field, function(f){
+ line.add(this.buildField(f, winCtx, winId, rest));
+ },this);
+ return line;
+ }
+
}
}
});