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