mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-05-06 16:36:00 +01:00
Merge branch 'migrate_querytablestab__to_react' of https://github.com/Azure/cosmos-explorer into migrate_querytablestab__to_react
This commit is contained in:
commit
43b6e25e86
@ -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<Entities.ITableEntity[]>((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);
|
||||
}
|
||||
|
@ -293,12 +293,14 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
|
||||
if (!isRunQuery) {
|
||||
try {
|
||||
documents = await tableEntityListViewModel.renderNextPageAndupdateCache();
|
||||
if (userContext.apiType === "Cassandra") {
|
||||
headers = documents?.length ? this.getFormattedHeaders(documents) : ["userid", "name", "email"];
|
||||
this.setupIntialEntities(headers, documents, isInitialLoad);
|
||||
} else {
|
||||
headers = documents?.length ? this.getFormattedHeaders(documents) : ["RowKey", "PartitionKey", "Timestamp"];
|
||||
this.setupIntialEntities(headers, documents, isInitialLoad);
|
||||
if (documents) {
|
||||
if (userContext.apiType === "Cassandra") {
|
||||
headers = documents?.length ? this.getFormattedHeaders(documents) : ["userid", "name", "email"];
|
||||
this.setupIntialEntities(headers, documents, isInitialLoad);
|
||||
} else {
|
||||
headers = documents?.length ? this.getFormattedHeaders(documents) : ["RowKey", "PartitionKey", "Timestamp"];
|
||||
this.setupIntialEntities(headers, documents, isInitialLoad);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
this.setState({
|
||||
@ -351,6 +353,7 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
|
||||
let maxWidth: number;
|
||||
let documentItems: IDocument[] = [];
|
||||
let filteredItems: IDocument[] = [];
|
||||
let updatedQueryTableRows: IQueryTableRowsType[] = [];
|
||||
this.columns = [];
|
||||
const { queryTableRows } = this.state;
|
||||
|
||||
@ -385,15 +388,17 @@ class QueryTablesTabComponent extends Component<IQueryTablesTabComponentProps, I
|
||||
});
|
||||
});
|
||||
|
||||
documentItems = this.generateDetailsList(entities);
|
||||
filteredItems = documentItems.slice(0, PAGESIZE);
|
||||
if (entities.length > 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<IQueryTablesTabComponentProps, I
|
||||
fromDocument: 0,
|
||||
toDocument: PAGESIZE,
|
||||
currentStartIndex: PAGESIZE,
|
||||
queryTableRows: updatedQueryTableRows,
|
||||
queryTableRows: entities.length > 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<IQueryTablesTabComponentProps, I
|
||||
return this.state.tableEntityListViewModel.removeEntitiesFromCache(entitiesToDelete).then(() => {
|
||||
this.setState({
|
||||
isLoading: true,
|
||||
rowSelected: false,
|
||||
});
|
||||
this.loadEntities(false, false);
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user