From 4f6569fedfb7cc413c90cca085012efac0c3dc25 Mon Sep 17 00:00:00 2001 From: Douglas Muraoka Date: Mon, 23 Dec 2019 21:09:41 -0300 Subject: [PATCH] fix(Browser): Inifite scroll not working After #1334, the infinite scroll is no longer loading the next set of objects. This commit undoes #1334, and tries another approach in order to fix the original problem. --- src/dashboard/Data/Browser/Browser.react.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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) => {