diff --git a/src/dashboard/Data/Browser/Browser.react.js b/src/dashboard/Data/Browser/Browser.react.js index 053fdf18a0..1838d6cbdc 100644 --- a/src/dashboard/Data/Browser/Browser.react.js +++ b/src/dashboard/Data/Browser/Browser.react.js @@ -405,7 +405,7 @@ class Browser extends DashboardView { let className = this.props.params.className; let source = this.state.relation || className; let query = queryFromFilters(source, this.state.filters); - if (this.state.ordering !== 'createdAt') { + if (this.state.ordering !== '-createdAt') { // Construct complex pagination query let equalityQuery = queryFromFilters(source, this.state.filters); let field = this.state.ordering; @@ -421,8 +421,12 @@ class Browser extends DashboardView { } else { query.greaterThan(field, comp); } - equalityQuery.equalTo(field, comp); - equalityQuery.lessThan('createdAt', this.state.data[this.state.data.length - 1].get('createdAt')); + if (field === 'createdAt') { + equalityQuery.greaterThan('createdAt', this.state.data[this.state.data.length - 1].get('createdAt')); + } else { + equalityQuery.lessThan('createdAt', this.state.data[this.state.data.length - 1].get('createdAt')); + equalityQuery.equalTo(field, comp); + } query = Parse.Query.or(query, equalityQuery); if (ascending) { query.ascending(this.state.ordering); @@ -431,8 +435,8 @@ class Browser extends DashboardView { } } else { query.lessThan('createdAt', this.state.data[this.state.data.length - 1].get('createdAt')); + query.addDescending('createdAt'); } - query.addDescending('createdAt'); query.limit(MAX_ROWS_FETCHED); query.find({ useMasterKey: true }).then((nextPage) => {