669be72673
fixes https://github.com/TryGhost/Product/issues/3822 fixes https://github.com/TryGhost/Product/issues/3838 This PR became a bit big because it affected multiple parts of Ghost that needed to be updated to prevent breaking anything. ### Backend - Added pagination to the recommendations API's - Updated BookshelfRepository template implementation to handle pagination - Allow to pass `page` and `limit` options to Models `findAll`, to allow fetching a page without also fetching the count/metadata (=> in the repository pattern we prefer to fetch the count explicitly if we need pagination metadata) - Added E2E tests for public recommendations API (content API) - Extended E2E tests of admin recommendations API ### Portal - Corrected recommendations always loaded in Portal. Instead they are now only fetched when the recommendations page is opened. ### Admin-X - Added `usePagination` hook: internally used in the new `usePaginatedQuery` hook. This automatically adds working pagination to a query that can be used to display in a table by passing the `pagination` and `isLoading` results to the `<Table>` - Added placeholder `<LoadingIndicator>` component - Added a loading indicator to `<Table>`. This remembers the previous height of the table, to avoid layout jumps when going to the next page. |
||
---|---|---|
.. | ||
admin-x-settings | ||
announcement-bar | ||
comments-ui | ||
portal | ||
signup-form | ||
sodo-search |