Ghost/ghost
Simon Backx 669be72673
Wired up pagination to recommendations (#18018)
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.
2023-09-08 12:32:06 +02:00
..
adapter-cache-memory-ttl Updated linting and testing packages 2023-09-01 15:51:17 +02:00
adapter-cache-redis Fixed test coverage checks in adapter-cache-redis package 2023-09-07 13:32:00 +08:00
adapter-manager Updated linting and testing packages 2023-09-01 15:51:17 +02:00
admin Updated AdminX to load via ES Modules to enable code splitting (#17971) 2023-09-07 06:38:20 +00:00
announcement-bar-settings Updated linting and testing packages 2023-09-01 15:51:17 +02:00
api-framework Updated linting and testing packages 2023-09-01 15:51:17 +02:00
api-version-compatibility-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
audience-feedback Updated linting and testing packages 2023-09-01 15:51:17 +02:00
bookshelf-repository Wired up pagination to recommendations (#18018) 2023-09-08 12:32:06 +02:00
bootstrap-socket Updated linting and testing packages 2023-09-01 15:51:17 +02:00
collections fixup! Added logging to collections event handlers 2023-09-08 14:46:38 +07:00
constants Updated linting and testing packages 2023-09-01 15:51:17 +02:00
core Wired up pagination to recommendations (#18018) 2023-09-08 12:32:06 +02:00
custom-theme-settings-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
data-generator Updated linting and testing packages 2023-09-01 15:51:17 +02:00
domain-events Fixed @tryghost/domain-events relying on NODE_ENV 2023-09-02 16:58:48 +07:00
donations Update dependency typescript to v5.2.2 2023-08-29 07:37:08 +01:00
dynamic-routing-events Updated linting and testing packages 2023-09-01 15:51:17 +02:00
email-analytics-provider-mailgun Update Test & linting packages 2023-07-11 15:26:07 +02:00
email-analytics-service Update Test & linting packages 2023-07-11 15:26:07 +02:00
email-content-generator Updated linting and testing packages 2023-09-01 15:51:17 +02:00
email-events Updated linting and testing packages 2023-09-01 15:51:17 +02:00
email-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
email-suppression-list Updated linting and testing packages 2023-09-01 15:51:17 +02:00
event-aware-cache-wrapper Updated linting and testing packages 2023-09-01 15:51:17 +02:00
express-dynamic-redirects Updated linting and testing packages 2023-09-01 15:51:17 +02:00
external-media-inliner Updated linting and testing packages 2023-09-01 15:51:17 +02:00
extract-api-key Updated to use assert/strict everywhere (#17047) 2023-06-21 09:56:59 +01:00
html-to-plaintext Updated linting and testing packages 2023-09-01 15:51:17 +02:00
i18n Updated recommendation modal copy when triggered after signup (#17985) 2023-09-05 18:50:34 +00:00
importer-handler-content-files Updated linting and testing packages 2023-09-01 15:51:17 +02:00
importer-revue 📦 Updated koenig dependencies (#17728) 2023-08-15 11:38:41 -05:00
in-memory-repository Updated linting and testing packages 2023-09-01 15:51:17 +02:00
job-manager Updated linting and testing packages 2023-09-01 15:51:17 +02:00
link-redirects Updated linting and testing packages 2023-09-01 15:51:17 +02:00
link-replacer Updated linting and testing packages 2023-09-01 15:51:17 +02:00
link-tracking Updated linting and testing packages 2023-09-01 15:51:17 +02:00
magic-link Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mail-events Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mailgun-client Updated linting and testing packages 2023-09-01 15:51:17 +02:00
member-attribution Updated linting and testing packages 2023-09-01 15:51:17 +02:00
member-events Updated linting and testing packages 2023-09-01 15:51:17 +02:00
members-api Added support for multiple newsletters in custom signup form (#18023) 2023-09-08 11:09:44 +01:00
members-csv Updated linting and testing packages 2023-09-01 15:51:17 +02:00
members-events-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
members-importer Updated linting and testing packages 2023-09-01 15:51:17 +02:00
members-ssr Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mentions-email-report Updated linting and testing packages 2023-09-01 15:51:17 +02:00
milestones Updated linting and testing packages 2023-09-01 15:51:17 +02:00
minifier Update dependency terser to v5.19.4 2023-09-04 16:04:36 +00:00
model-to-domain-event-interceptor Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-api-version-mismatch Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-cache-control Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-error-handler Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-session-from-token Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-update-user-last-seen Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-version-match Updated linting and testing packages 2023-09-01 15:51:17 +02:00
mw-vhost Updated linting and testing packages 2023-09-01 15:51:17 +02:00
nql-filter-expansions Updated linting and testing packages 2023-09-01 15:51:17 +02:00
oembed-service 🐛 Fixed bookmark card creation and pasted link unfurls (#17990) 2023-09-06 11:30:56 +01:00
offers Moved OfferRepository to core 2023-09-02 16:58:48 +07:00
package-json Updated linting and testing packages 2023-09-01 15:51:17 +02:00
payments Updated linting and testing packages 2023-09-01 15:51:17 +02:00
post-events Updated linting and testing packages 2023-09-01 15:51:17 +02:00
post-revisions Updated linting and testing packages 2023-09-01 15:51:17 +02:00
posts-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
recommendations Wired up pagination to recommendations (#18018) 2023-09-08 12:32:06 +02:00
referrers Updated linting and testing packages 2023-09-01 15:51:17 +02:00
security Updated linting and testing packages 2023-09-01 15:51:17 +02:00
session-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
settings-path-manager Updated linting and testing packages 2023-09-01 15:51:17 +02:00
slack-notifications Updated linting and testing packages 2023-09-01 15:51:17 +02:00
staff-service Update dependency handlebars to v4.7.8 2023-08-31 13:26:36 +00:00
stats-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
stripe Updated linting and testing packages 2023-09-01 15:51:17 +02:00
tiers Updated linting and testing packages 2023-09-01 15:51:17 +02:00
update-check-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
verification-trigger Updated linting and testing packages 2023-09-01 15:51:17 +02:00
version-notifications-data-service Updated linting and testing packages 2023-09-01 15:51:17 +02:00
webmentions Updated linting and testing packages 2023-09-01 15:51:17 +02:00
tsconfig.json Disabled TypeScript incremental building 2023-08-09 18:27:56 +02:00