fieldKey = 'tags';
}
var fieldconfig = modelConfig.fields[fieldKey];
+
+ if (fieldconfig && fieldconfig.type === 'virtual') {
+ fieldconfig = fieldconfig.config;
+ }
+
var appName = modelConfig.appName;
var modelName = modelConfig.modelName;
// iterate record fields
Ext.each(modelConfig.fieldKeys, function(key) {
+ var fieldDefinition = modelConfig.fields[key];
+
+ if (fieldDefinition.type === 'virtual') {
+ fieldDefinition = fieldDefinition.config;
+ }
+
// add field to model array
- modelArray.push(this.getField(modelConfig.fields[key], key));
-
- if (modelConfig.fields[key].label) {
+ modelArray.push(this.getField(fieldDefinition, key));
+
+ if (fieldDefinition.label) {
// register grid renderer
if (initial) {
+ var renderer = null;
try {
- var renderer = this.getGridRenderer(modelConfig.fields[key], key, appName, modelName);
+ renderer = this.getGridRenderer(fieldDefinition, key, appName, modelName);
} catch (e) {
Tine.log.err(e);
- var renderer = null;
+ renderer = null;
}
if (Ext.isFunction(renderer)) {
Ext.each(this.modelConfig.fieldKeys, function(key) {
var fieldConfig = this.modelConfig.fields[key];
globalI18n = (fieldConfig && fieldConfig.hasOwnProperty('useGlobalTranslation'));
-
+
+ if (fieldConfig.type === 'virtual') {
+ fieldConfig = fieldConfig.config;
+ }
+
// don't show multiple record fields
if (fieldConfig.type == 'records') {
return true;