3 var data = app.ns("data");
5 data.ResultDataSourceInterface = data.DataSourceInterface.extend({
6 results: function(res) {
11 this.fire("data", this);
13 _getData: function(res) {
14 var columns = this.columns = [];
15 this.data = res.hits.hits.map(function(hit) {
16 var row = (function(path, spec, row) {
17 for(var prop in spec) {
18 if(acx.isObject(spec[prop])) {
19 arguments.callee(path.concat(prop), spec[prop], row);
20 } else if(acx.isArray(spec[prop])) {
21 if(spec[prop].length) {
22 arguments.callee(path.concat(prop), spec[prop][0], row)
25 var dpath = path.concat(prop).join(".");
26 if(! columns.contains(dpath)) {
29 row[dpath] = (spec[prop] || "null").toString();
33 })([ hit._type ], hit, {});