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. |
||
---|---|---|
.. | ||
src | ||
test | ||
.eslintrc.js | ||
package.json | ||
README.md | ||
tsconfig.json |
Bookshelf Repository
Usage
Develop
This is a monorepo package.
Follow the instructions for the top-level repo.
git clone
this repo &cd
into it as usual- Run
yarn
to install top-level dependencies.
Test
yarn lint
run just eslintyarn test
run lint and tests