+
+ var d = [];
+
+ for (var k in data) {
+ var r = data[k];
+ var has_s = typeof(r.relates_to_schema) != 'undefined';
+
+ var rt = '', rc = '', rs = [];
+
+ if(has_s){
+ for (var kk in r.relates_to_schema) {
+ var rr = r.relates_to_schema[kk];
+
+ rt = r.relates_to_table;
+ rc = r.relates_to_col;
+
+ rs.push([rr.Field]);
+
+ }
+ }
+
+ var o = {
+ active : !has_s,
+ dataIndex : r.Field,
+ type : r.Type,
+ title : r.Field,
+ width : 100,
+ ftype : 'TextField',
+ display_field : rc, //r.Field + '_display_name',
+ relates_to_table : rt,
+ relates_to_col : rc,
+ relates_to_schema : rs
+ };
+
+ d.push(o);
+
+ if (!has_s) {
+ continue;
+ }
+
+ for (var kk in r.relates_to_schema) {
+ var rr = r.relates_to_schema[kk];
+ if (rr.Field == r.relates_to_col) {
+ continue;
+ }
+
+ var o = {
+ active : false,
+ dataIndex : r.Field + '_'+ rr.Field,
+ type : r.Type,
+ title : r.Field,
+ width : 100
+ };
+
+ d.push(o);
+ }
+ }
+