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; }); } 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) { 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; }); }