Sort tiles on display rather than on receipt #445
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This removes the tile sorting algorithm from being triggered by the receipt of tiles over the websocket to being done as part of the pull of search results from the stack to be rendered. This means that we can sort based on a larger set of data and with ranking potentially available.
Each time there is a call to load more items into the feed, the section of the result stack which is currently not displayed is sorted according to its ranking data (provided by
lambda-ian-rankin
). The toppageSize
results are then displayed (pageSize
currently defaults to 5).On first load of a new search results are loaded into the feed as follows:
initialPageSize
prop)The loading is also simplified by removing the notion of page number, in favour of just loading "more" results whenever they are requested. This is equivalent to the old behaviour anyway as the page number was always incremented on loading of more results.