From 1f2e528f468327b4c6691e1f6e381762b2cdeb68 Mon Sep 17 00:00:00 2001 From: vaidankarswapnil Date: Mon, 16 Aug 2021 21:16:51 +0530 Subject: [PATCH 1/2] Fixed issue of return type --- .../DataTable/TableEntityListViewModel.ts | 11 +----- .../QueryTablesTabComponent.tsx | 37 +++++++++++-------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts index db442bb98..8722a51e2 100644 --- a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts +++ b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts @@ -151,7 +151,6 @@ export default class TableEntityListViewModel extends DataTableViewModel { // If number remaining pages in cache falls below prefetchThreshold prefetch will be triggered. var prefetchThreshold = 10; var tableQuery = this.tableQuery; - // Try cache if valid. if (this.isCacheValid(tableQuery)) { // Check if prefetch needed. @@ -484,12 +483,6 @@ export default class TableEntityListViewModel extends DataTableViewModel { if (this.isCacheValid(tableQuery)) { // Append to cache. this.cache.data = this.cache.data.concat(entities.slice(0)); - var p = new Promise((resolve) => { - if (this.cache.data) { - resolve(this.cache.data); - } - }); - return p; } else { // Create cache. this.cache.data = entities; @@ -504,12 +497,12 @@ export default class TableEntityListViewModel extends DataTableViewModel { } if (this.allDownloaded || nextDownloadSize === 0) { - return Promise.resolve(result); + return Promise.resolve(result.Results); } if (currentRetry >= TableEntityListViewModel._maximumNumberOfPrefetchRetries) { result.ExceedMaximumRetries = true; - return Promise.resolve(result); + return Promise.resolve(result.Results); } return this.prefetchData(tableQuery, nextDownloadSize, currentRetry + 1); } diff --git a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx index 406cdaaaa..2a6932c70 100644 --- a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx +++ b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx @@ -293,12 +293,14 @@ class QueryTablesTabComponent extends Component 0) { + documentItems = this.generateDetailsList(entities); + filteredItems = documentItems.slice(0, PAGESIZE); - const queryTableRowsClone = [...queryTableRows]; - const updatedQueryTableRows = queryTableRowsClone.map((queryTableRow) => { - const queryTableRowClone = { ...queryTableRow }; - queryTableRowClone.fieldOptions = getformattedOptions(headers); - return queryTableRowClone; - }); + const queryTableRowsClone = [...queryTableRows]; + updatedQueryTableRows = queryTableRowsClone.map((queryTableRow) => { + const queryTableRowClone = { ...queryTableRow }; + queryTableRowClone.fieldOptions = getformattedOptions(headers); + return queryTableRowClone; + }); + } this.setState( { @@ -408,10 +413,10 @@ class QueryTablesTabComponent extends Component 0 ? updatedQueryTableRows : [], }, () => { - if (isInitialLoad && headers.length > 0) { + if (entities.length > 0 && isInitialLoad && headers.length > 0) { this.loadFilterExample(); this.onItemsSelectionChanged(true); } From 30fa40c50ec69f81d9828d3520be7e3c33d8a981 Mon Sep 17 00:00:00 2001 From: vaidankarswapnil Date: Tue, 17 Aug 2021 14:26:28 +0530 Subject: [PATCH 2/2] Row selection issue fix --- src/Explorer/Tables/DataTable/TableEntityListViewModel.ts | 4 ++-- src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts index 8722a51e2..c6545d604 100644 --- a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts +++ b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts @@ -497,12 +497,12 @@ export default class TableEntityListViewModel extends DataTableViewModel { } if (this.allDownloaded || nextDownloadSize === 0) { - return Promise.resolve(result.Results); + return Promise.resolve(this.cache.data); } if (currentRetry >= TableEntityListViewModel._maximumNumberOfPrefetchRetries) { result.ExceedMaximumRetries = true; - return Promise.resolve(result.Results); + return Promise.resolve(this.cache.data); } return this.prefetchData(tableQuery, nextDownloadSize, currentRetry + 1); } diff --git a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx index 2a6932c70..e65c148b4 100644 --- a/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx +++ b/src/Explorer/Tabs/QueryTablesTab/QueryTablesTabComponent.tsx @@ -566,6 +566,7 @@ class QueryTablesTabComponent extends Component { this.setState({ isLoading: true, + rowSelected: false, }); this.loadEntities(false, false); });