Skip to content

Commit

Permalink
Get records total pages as derived data
Browse files Browse the repository at this point in the history
  • Loading branch information
ntsekouras committed Oct 12, 2023
1 parent 0c3b9ab commit f496132
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 15 deletions.
6 changes: 0 additions & 6 deletions packages/core-data/src/queried-data/selectors.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,3 @@ export function getQueriedTotalItems( state, query = {} ) {

return state.queries?.[ context ]?.[ stableKey ]?.meta?.totalItems ?? null;
}

export function getQueriedTotalPages( state, query = {} ) {
const { stableKey, context } = getQueryParts( query );

return state.queries?.[ context ]?.[ stableKey ]?.meta?.totalPages ?? null;
}
3 changes: 0 additions & 3 deletions packages/core-data/src/resolvers.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,6 @@ export const getEntityRecords =
const response = await apiFetch( { path, parse: false } );
records = Object.values( await response.json() );
meta = {
totalPages: parseInt(
response.headers.get( 'X-WP-TotalPages' )
),
totalItems: parseInt(
response.headers.get( 'X-WP-Total' )
),
Expand Down
11 changes: 5 additions & 6 deletions packages/core-data/src/selectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ import deprecated from '@wordpress/deprecated';
* Internal dependencies
*/
import { STORE_NAME } from './name';
import {
getQueriedItems,
getQueriedTotalItems,
getQueriedTotalPages,
} from './queried-data';
import { getQueriedItems, getQueriedTotalItems } from './queried-data';
import { DEFAULT_ENTITY_KEY } from './entities';
import {
getNormalizedCommaSeparable,
Expand Down Expand Up @@ -578,7 +574,10 @@ export const getEntityRecordsTotalPages = (
if ( ! queriedState ) {
return null;
}
return getQueriedTotalPages( queriedState, query );
if ( query.per_page === -1 ) return 1;
const totalItems = getQueriedTotalItems( queriedState, query );
if ( ! totalItems ) return totalItems;
return Math.ceil( totalItems / query.per_page );
};

type DirtyEntityRecord = {
Expand Down

0 comments on commit f496132

Please sign in to comment.