2 * Copyright 2010-2013 Ben Birch
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this software except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 var data = app.ns("data");
20 data.ResultDataSourceInterface = data.DataSourceInterface.extend({
21 results: function(res) {
22 this._getSummary(res);
26 this.fire("data", this);
28 _getData: function(res) {
29 var columns = this.columns = [];
30 this.data = res.hits.hits.map(function(hit) {
31 var row = (function(path, spec, row) {
32 for(var prop in spec) {
33 if(acx.isObject(spec[prop])) {
34 arguments.callee(path.concat(prop), spec[prop], row);
35 } else if(acx.isArray(spec[prop])) {
36 if(spec[prop].length) {
37 arguments.callee(path.concat(prop), spec[prop][0], row)
40 var dpath = path.concat(prop).join(".");
41 if(! columns.contains(dpath)) {
44 row[dpath] = (spec[prop] || "null").toString();
48 })([ hit._type ], hit, {});