From a5e3ef7a721639ff36a353a297ba62f661546fa5 Mon Sep 17 00:00:00 2001 From: amercader Date: Mon, 9 Jul 2012 15:36:42 +0100 Subject: [PATCH 1/3] [backend/es][xs] Prevent exception if ElasticSearch did not return a valid mapping --- src/backend.elasticsearch.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend.elasticsearch.js b/src/backend.elasticsearch.js index b9333c54..16a66570 100644 --- a/src/backend.elasticsearch.js +++ b/src/backend.elasticsearch.js @@ -166,6 +166,12 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {}; var es = new my.Wrapper(dataset.url, my.esOptions); var dfd = $.Deferred(); es.mapping().done(function(schema) { + + if (!schema){ + dfd.reject({'message':'Elastic Search did not return a mapping'}); + return; + } + // only one top level key in ES = the type so we can ignore it var key = _.keys(schema)[0]; var fieldData = _.map(schema[key].properties, function(dict, fieldName) { From 073c998f122b9a2ff5e0c9699dcd23e932afc35c Mon Sep 17 00:00:00 2001 From: Joseph Reisinger Date: Mon, 9 Jul 2012 15:43:22 -0700 Subject: [PATCH 2/3] fix a bug where columns don't sort properly in slickgrid --- src/view.slickgrid.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/view.slickgrid.js b/src/view.slickgrid.js index fd846420..e1f82065 100644 --- a/src/view.slickgrid.js +++ b/src/view.slickgrid.js @@ -107,10 +107,10 @@ my.SlickGrid = Backbone.View.extend({ // Order them if there is ordering info on the state if (this.state.get('columnsOrder')){ visibleColumns = visibleColumns.sort(function(a,b){ - return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id); + return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id) ? 1 : -1; }); columns = columns.sort(function(a,b){ - return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id); + return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id) ? 1 : -1; }); } From b48b0eeb85681774abc10fdb89ef8a82d42cdb03 Mon Sep 17 00:00:00 2001 From: amercader Date: Tue, 10 Jul 2012 12:45:35 +0100 Subject: [PATCH 3/3] [build][s]: usual build --- dist/recline.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dist/recline.js b/dist/recline.js index 6a052346..f5b4090b 100644 --- a/dist/recline.js +++ b/dist/recline.js @@ -419,6 +419,12 @@ this.recline.Backend.ElasticSearch = this.recline.Backend.ElasticSearch || {}; var es = new my.Wrapper(dataset.url, my.esOptions); var dfd = $.Deferred(); es.mapping().done(function(schema) { + + if (!schema){ + dfd.reject({'message':'Elastic Search did not return a mapping'}); + return; + } + // only one top level key in ES = the type so we can ignore it var key = _.keys(schema)[0]; var fieldData = _.map(schema[key].properties, function(dict, fieldName) { @@ -3333,10 +3339,10 @@ my.SlickGrid = Backbone.View.extend({ // Order them if there is ordering info on the state if (this.state.get('columnsOrder')){ visibleColumns = visibleColumns.sort(function(a,b){ - return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id); + return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id) ? 1 : -1; }); columns = columns.sort(function(a,b){ - return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id); + return _.indexOf(self.state.get('columnsOrder'),a.id) > _.indexOf(self.state.get('columnsOrder'),b.id) ? 1 : -1; }); }