Prevent flashing when filter is updated

This commit is contained in:
Infinite
2020-02-07 23:09:18 +01:00
parent 4e5c65f90d
commit a5036ebe5f

View File

@@ -322,7 +322,13 @@ const useList = <QueryResult extends IQueryResult, QueryData extends IDataItem>(
})
: undefined;
const template = (
let template;
if(result.loading || !forageInitialised.current) {
template = <LoadingIndicator />;
} else if(result.error) {
template = <h1>{result.error.message}</h1>;
} else {
template = (
<div>
<ListFilter
onChangePageSize={onChangePageSize}
@@ -342,8 +348,6 @@ const useList = <QueryResult extends IQueryResult, QueryData extends IDataItem>(
{options.renderSelectedOptions && selectedIds.size > 0
? options.renderSelectedOptions(result, selectedIds)
: undefined}
{result.loading && <LoadingIndicator />}
{result.error && <h1>{result.error.message}</h1>}
{options.renderContent(result, filter, selectedIds, zoomIndex)}
<Pagination
itemsPerPage={filter.itemsPerPage}
@@ -353,6 +357,7 @@ const useList = <QueryResult extends IQueryResult, QueryData extends IDataItem>(
/>
</div>
);
}
return { filter, template, onSelectChange };
};