diff --git a/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts b/src/Explorer/Tables/DataTable/TableEntityListViewModel.ts index db442bb98..c6545d604 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(this.cache.data); } if (currentRetry >= TableEntityListViewModel._maximumNumberOfPrefetchRetries) { result.ExceedMaximumRetries = true; - return Promise.resolve(result); + 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 406cdaaaa..e65c148b4 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); } @@ -561,6 +566,7 @@ class QueryTablesTabComponent extends Component { this.setState({ isLoading: true, + rowSelected: false, }); this.loadEntities(false, false); });