From 6c2e2173f0d8c02030fd9ca3336f6e95094a273e Mon Sep 17 00:00:00 2001 From: "v.pavlov" Date: Fri, 3 Aug 2018 14:30:30 +0300 Subject: [PATCH] Fix: Sorting functionality is broken. --- src/ui/pages/dataset/BrowsePage.tsx | 11 +++++++++-- src/ui/pages/descriptor/BrowsePage.tsx | 17 ++++++++++++----- src/ui/pages/descriptorlist/BrowsePage.tsx | 17 ++++++++++++----- src/ui/pages/partner/BrowsePage.tsx | 15 +++++++++++---- 4 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/ui/pages/dataset/BrowsePage.tsx b/src/ui/pages/dataset/BrowsePage.tsx index 3efcff5..97d88e0 100644 --- a/src/ui/pages/dataset/BrowsePage.tsx +++ b/src/ui/pages/dataset/BrowsePage.tsx @@ -62,12 +62,19 @@ class BrowsePage extends React.Component { } public componentWillReceiveProps(nextProps) { - const {filterCodeToUrl} = this.props; - const {paged} = nextProps; + const {listDatasetsRequest, pagination: oldPagination, filterCodeToUrl} = this.props; + const {pagination, paged} = nextProps; + if (! oldPagination.equals(pagination)) { + log('Paginations differ!', pagination); + if (pagination.filterCode === oldPagination.filterCode) { + listDatasetsRequest(pagination.page, pagination.size, pagination.sort, pagination.filter, pagination.dir); + } + } else { if (paged) { filterCodeToUrl(paged.filterCode); } + } } protected onPaginationChange = (page, results, sortBy, dir) => { diff --git a/src/ui/pages/descriptor/BrowsePage.tsx b/src/ui/pages/descriptor/BrowsePage.tsx index 2d70378..a3ddf62 100644 --- a/src/ui/pages/descriptor/BrowsePage.tsx +++ b/src/ui/pages/descriptor/BrowsePage.tsx @@ -62,12 +62,19 @@ class BrowsePage extends React.Component { } public componentWillReceiveProps(nextProps) { - const {filterCodeToUrl} = this.props; - const {paged} = nextProps; + const {loadDescriptors, pagination: oldPagination, filterCodeToUrl} = this.props; + const {pagination, paged} = nextProps; - if (paged) { - filterCodeToUrl(paged.filterCode); - } + if (! oldPagination.equals(pagination)) { + log('Paginations differ!', pagination); + if (pagination.filterCode === oldPagination.filterCode) { + loadDescriptors(pagination.page, pagination.size, pagination.sort, pagination.filter, pagination.dir); + } + } else { + if (paged) { + filterCodeToUrl(paged.filterCode); + } + } } protected onPaginationChange = (page, results, sortBy, dir) => { diff --git a/src/ui/pages/descriptorlist/BrowsePage.tsx b/src/ui/pages/descriptorlist/BrowsePage.tsx index 26d3e7c..6241308 100644 --- a/src/ui/pages/descriptorlist/BrowsePage.tsx +++ b/src/ui/pages/descriptorlist/BrowsePage.tsx @@ -65,11 +65,18 @@ class BrowsePage extends React.Component { } public componentWillReceiveProps(nextProps) { - const {filterCodeToUrl} = this.props; - const {paged} = nextProps; - - if (paged) { - filterCodeToUrl(paged.filterCode); + const {listDescriptorLists, pagination: oldPagination, filterCodeToUrl} = this.props; + const {pagination, paged} = nextProps; + + if (! oldPagination.equals(pagination)) { + log('Paginations differ!', pagination); + if (pagination.filterCode === oldPagination.filterCode) { + listDescriptorLists(pagination.page, pagination.size, pagination.sort, pagination.filter, pagination.dir); + } + } else { + if (paged) { + filterCodeToUrl(paged.filterCode); + } } } diff --git a/src/ui/pages/partner/BrowsePage.tsx b/src/ui/pages/partner/BrowsePage.tsx index e3593c1..b52f095 100644 --- a/src/ui/pages/partner/BrowsePage.tsx +++ b/src/ui/pages/partner/BrowsePage.tsx @@ -63,11 +63,18 @@ class PartnerListPage extends React.Component { } public componentWillReceiveProps(nextProps) { - const {filterCodeToUrl} = this.props; - const {paged} = nextProps; + const {loadPartners, pagination: oldPagination, filterCodeToUrl} = this.props; + const {pagination, paged} = nextProps; - if (paged) { - filterCodeToUrl(paged.filterCode); + if (! oldPagination.equals(pagination)) { + log('Paginations differ!', pagination); + if (pagination.filterCode === oldPagination.filterCode) { + loadPartners(pagination.page, pagination.size, pagination.sort, pagination.filter, pagination.dir); + } + } else { + if (paged) { + filterCodeToUrl(paged.filterCode); + } } } -- GitLab