@wordpress/core-data 6.20.1 → 6.21.1-next.f8d8eceb.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +147 -0
- package/build/actions.js +4 -3
- package/build/actions.js.map +1 -1
- package/build/entities.js +14 -2
- package/build/entities.js.map +1 -1
- package/build/hooks/use-entity-records.js +18 -0
- package/build/hooks/use-entity-records.js.map +1 -1
- package/build/private-apis.js +1 -1
- package/build/private-apis.js.map +1 -1
- package/build/queried-data/actions.js +7 -4
- package/build/queried-data/actions.js.map +1 -1
- package/build/queried-data/reducer.js +9 -3
- package/build/queried-data/reducer.js.map +1 -1
- package/build/queried-data/selectors.js +10 -1
- package/build/queried-data/selectors.js.map +1 -1
- package/build/resolvers.js +21 -6
- package/build/resolvers.js.map +1 -1
- package/build/selectors.js +64 -2
- package/build/selectors.js.map +1 -1
- package/build/sync.js +6 -1
- package/build/sync.js.map +1 -1
- package/build/utils/index.js +7 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/is-numeric-id.js +17 -0
- package/build/utils/is-numeric-id.js.map +1 -0
- package/build-module/actions.js +4 -3
- package/build-module/actions.js.map +1 -1
- package/build-module/entities.js +14 -2
- package/build-module/entities.js.map +1 -1
- package/build-module/hooks/use-entity-records.js +18 -0
- package/build-module/hooks/use-entity-records.js.map +1 -1
- package/build-module/private-apis.js +1 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/queried-data/actions.js +7 -4
- package/build-module/queried-data/actions.js.map +1 -1
- package/build-module/queried-data/reducer.js +9 -3
- package/build-module/queried-data/reducer.js.map +1 -1
- package/build-module/queried-data/selectors.js +9 -1
- package/build-module/queried-data/selectors.js.map +1 -1
- package/build-module/resolvers.js +21 -6
- package/build-module/resolvers.js.map +1 -1
- package/build-module/selectors.js +62 -2
- package/build-module/selectors.js.map +1 -1
- package/build-module/sync.js +7 -2
- package/build-module/sync.js.map +1 -1
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/is-numeric-id.js +11 -0
- package/build-module/utils/is-numeric-id.js.map +1 -0
- package/build-types/actions.d.ts +2 -1
- package/build-types/actions.d.ts.map +1 -1
- package/build-types/entities.d.ts +27 -0
- package/build-types/entities.d.ts.map +1 -1
- package/build-types/hooks/use-entity-records.d.ts +8 -0
- package/build-types/hooks/use-entity-records.d.ts.map +1 -1
- package/build-types/index.d.ts +7 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/queried-data/actions.d.ts +4 -2
- package/build-types/queried-data/actions.d.ts.map +1 -1
- package/build-types/queried-data/selectors.d.ts +1 -0
- package/build-types/queried-data/selectors.d.ts.map +1 -1
- package/build-types/resolvers.d.ts.map +1 -1
- package/build-types/selectors.d.ts +29 -0
- package/build-types/selectors.d.ts.map +1 -1
- package/build-types/sync.d.ts.map +1 -1
- package/build-types/utils/index.d.ts +1 -0
- package/build-types/utils/is-numeric-id.d.ts +9 -0
- package/build-types/utils/is-numeric-id.d.ts.map +1 -0
- package/package.json +17 -17
- package/src/actions.js +5 -3
- package/src/entities.js +11 -0
- package/src/hooks/test/use-entity-records.js +4 -0
- package/src/hooks/use-entity-records.ts +37 -0
- package/src/private-apis.js +1 -1
- package/src/queried-data/actions.js +6 -3
- package/src/queried-data/reducer.js +17 -10
- package/src/queried-data/selectors.js +7 -1
- package/src/queried-data/test/reducer.js +9 -9
- package/src/queried-data/test/selectors.js +8 -8
- package/src/resolvers.js +25 -3
- package/src/selectors.ts +85 -1
- package/src/sync.js +11 -2
- package/src/test/resolvers.js +4 -1
- package/src/test/selectors.js +28 -3
- package/src/utils/index.js +1 -0
- package/src/utils/is-numeric-id.js +10 -0
- package/src/utils/test/is-numeric-id.js +22 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -64,6 +64,10 @@ type Optional<T> = T | undefined;
|
|
|
64
64
|
* HTTP Query parameters sent with the API request to fetch the entity records.
|
|
65
65
|
*/
|
|
66
66
|
type GetRecordsHttpQuery = Record<string, any>;
|
|
67
|
+
/**
|
|
68
|
+
* Arguments for EntityRecord selectors.
|
|
69
|
+
*/
|
|
70
|
+
type EntityRecordArgs = [string, string, EntityRecordKey] | [string, string, EntityRecordKey, GetRecordsHttpQuery];
|
|
67
71
|
/**
|
|
68
72
|
* Returns true if a request is in progress for embed preview data, or false
|
|
69
73
|
* otherwise.
|
|
@@ -169,6 +173,7 @@ export declare function getEntityConfig(state: State, kind: string, name: string
|
|
|
169
173
|
export interface GetEntityRecord {
|
|
170
174
|
<EntityRecord extends ET.EntityRecord<any> | Partial<ET.EntityRecord<any>>>(state: State, kind: string, name: string, key: EntityRecordKey, query?: GetRecordsHttpQuery): EntityRecord | undefined;
|
|
171
175
|
CurriedSignature: <EntityRecord extends ET.EntityRecord<any> | Partial<ET.EntityRecord<any>>>(kind: string, name: string, key: EntityRecordKey, query?: GetRecordsHttpQuery) => EntityRecord | undefined;
|
|
176
|
+
__unstableNormalizeArgs?: (args: EntityRecordArgs) => EntityRecordArgs;
|
|
172
177
|
}
|
|
173
178
|
/**
|
|
174
179
|
* Returns the Entity's record object by key. Returns `null` if the value is not
|
|
@@ -244,6 +249,30 @@ export interface GetEntityRecords {
|
|
|
244
249
|
* @return Records.
|
|
245
250
|
*/
|
|
246
251
|
export declare const getEntityRecords: GetEntityRecords;
|
|
252
|
+
/**
|
|
253
|
+
* Returns the Entity's total available records for a given query (ignoring pagination).
|
|
254
|
+
*
|
|
255
|
+
* @param state State tree
|
|
256
|
+
* @param kind Entity kind.
|
|
257
|
+
* @param name Entity name.
|
|
258
|
+
* @param query Optional terms query. If requesting specific
|
|
259
|
+
* fields, fields must always include the ID. For valid query parameters see the [Reference](https://developer.wordpress.org/rest-api/reference/) in the REST API Handbook and select the entity kind. Then see the arguments available for "List [Entity kind]s".
|
|
260
|
+
*
|
|
261
|
+
* @return number | null.
|
|
262
|
+
*/
|
|
263
|
+
export declare const getEntityRecordsTotalItems: (state: State, kind: string, name: string, query: GetRecordsHttpQuery) => number | null;
|
|
264
|
+
/**
|
|
265
|
+
* Returns the number of available pages for the given query.
|
|
266
|
+
*
|
|
267
|
+
* @param state State tree
|
|
268
|
+
* @param kind Entity kind.
|
|
269
|
+
* @param name Entity name.
|
|
270
|
+
* @param query Optional terms query. If requesting specific
|
|
271
|
+
* fields, fields must always include the ID. For valid query parameters see the [Reference](https://developer.wordpress.org/rest-api/reference/) in the REST API Handbook and select the entity kind. Then see the arguments available for "List [Entity kind]s".
|
|
272
|
+
*
|
|
273
|
+
* @return number | null.
|
|
274
|
+
*/
|
|
275
|
+
export declare const getEntityRecordsTotalPages: (state: State, kind: string, name: string, query: GetRecordsHttpQuery) => number | null;
|
|
247
276
|
type DirtyEntityRecord = {
|
|
248
277
|
title: string;
|
|
249
278
|
key: EntityRecordKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.js"],"names":[],"mappings":"AAWA,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.js"],"names":[],"mappings":"AAWA,uCAeC"}
|
|
@@ -8,4 +8,5 @@ export { default as withWeakMapCache } from "./with-weak-map-cache";
|
|
|
8
8
|
export { default as isRawAttribute } from "./is-raw-attribute";
|
|
9
9
|
export { default as setNestedValue } from "./set-nested-value";
|
|
10
10
|
export { default as getNestedValue } from "./get-nested-value";
|
|
11
|
+
export { default as isNumericID } from "./is-numeric-id";
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks argument to determine if it's a numeric ID.
|
|
3
|
+
* For example, '123' is a numeric ID, but '123abc' is not.
|
|
4
|
+
*
|
|
5
|
+
* @param {any} id the argument to determine if it's a numeric ID.
|
|
6
|
+
* @return {boolean} true if the string is a numeric ID, false otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export default function isNumericID(id: any): boolean;
|
|
9
|
+
//# sourceMappingURL=is-numeric-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-numeric-id.d.ts","sourceRoot":"","sources":["../../src/utils/is-numeric-id.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wCAHW,GAAG,GACF,OAAO,CAIlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/core-data",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.21.1-next.f8d8eceb.0",
|
|
4
4
|
"description": "Access to and manipulation of core WordPress entities.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.16.0",
|
|
34
|
-
"@wordpress/api-fetch": "^6.
|
|
35
|
-
"@wordpress/block-editor": "^12.
|
|
36
|
-
"@wordpress/blocks": "^12.
|
|
37
|
-
"@wordpress/compose": "^6.
|
|
38
|
-
"@wordpress/data": "^9.
|
|
39
|
-
"@wordpress/deprecated": "^3.
|
|
40
|
-
"@wordpress/element": "^5.
|
|
41
|
-
"@wordpress/html-entities": "^3.
|
|
42
|
-
"@wordpress/i18n": "^4.
|
|
43
|
-
"@wordpress/is-shallow-equal": "^4.
|
|
44
|
-
"@wordpress/private-apis": "^0.
|
|
45
|
-
"@wordpress/rich-text": "^6.
|
|
46
|
-
"@wordpress/sync": "^0.
|
|
47
|
-
"@wordpress/undo-manager": "^0.
|
|
48
|
-
"@wordpress/url": "^3.
|
|
34
|
+
"@wordpress/api-fetch": "^6.41.1-next.f8d8eceb.0",
|
|
35
|
+
"@wordpress/block-editor": "^12.12.2-next.f8d8eceb.0",
|
|
36
|
+
"@wordpress/blocks": "^12.21.1-next.f8d8eceb.0",
|
|
37
|
+
"@wordpress/compose": "^6.21.1-next.f8d8eceb.0",
|
|
38
|
+
"@wordpress/data": "^9.14.1-next.f8d8eceb.0",
|
|
39
|
+
"@wordpress/deprecated": "^3.44.1-next.f8d8eceb.0",
|
|
40
|
+
"@wordpress/element": "^5.21.1-next.f8d8eceb.0",
|
|
41
|
+
"@wordpress/html-entities": "^3.44.1-next.f8d8eceb.0",
|
|
42
|
+
"@wordpress/i18n": "^4.44.1-next.f8d8eceb.0",
|
|
43
|
+
"@wordpress/is-shallow-equal": "^4.44.1-next.f8d8eceb.0",
|
|
44
|
+
"@wordpress/private-apis": "^0.26.1-next.f8d8eceb.0",
|
|
45
|
+
"@wordpress/rich-text": "^6.21.1-next.f8d8eceb.0",
|
|
46
|
+
"@wordpress/sync": "^0.6.1-next.f8d8eceb.0",
|
|
47
|
+
"@wordpress/undo-manager": "^0.4.1-next.f8d8eceb.0",
|
|
48
|
+
"@wordpress/url": "^3.45.1-next.f8d8eceb.0",
|
|
49
49
|
"change-case": "^4.1.2",
|
|
50
50
|
"equivalent-key-map": "^0.2.2",
|
|
51
51
|
"fast-deep-equal": "^3.1.3",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "8d8fd197e202b8104ffb1cb83048efd0a6c3faf4"
|
|
64
64
|
}
|
package/src/actions.js
CHANGED
|
@@ -80,6 +80,7 @@ export function addEntities( entities ) {
|
|
|
80
80
|
* @param {?Object} query Query Object.
|
|
81
81
|
* @param {?boolean} invalidateCache Should invalidate query caches.
|
|
82
82
|
* @param {?Object} edits Edits to reset.
|
|
83
|
+
* @param {?Object} meta Meta information about pagination.
|
|
83
84
|
* @return {Object} Action object.
|
|
84
85
|
*/
|
|
85
86
|
export function receiveEntityRecords(
|
|
@@ -88,7 +89,8 @@ export function receiveEntityRecords(
|
|
|
88
89
|
records,
|
|
89
90
|
query,
|
|
90
91
|
invalidateCache = false,
|
|
91
|
-
edits
|
|
92
|
+
edits,
|
|
93
|
+
meta
|
|
92
94
|
) {
|
|
93
95
|
// Auto drafts should not have titles, but some plugins rely on them so we can't filter this
|
|
94
96
|
// on the server.
|
|
@@ -102,9 +104,9 @@ export function receiveEntityRecords(
|
|
|
102
104
|
}
|
|
103
105
|
let action;
|
|
104
106
|
if ( query ) {
|
|
105
|
-
action = receiveQueriedItems( records, query, edits );
|
|
107
|
+
action = receiveQueriedItems( records, query, edits, meta );
|
|
106
108
|
} else {
|
|
107
|
-
action = receiveItems( records, edits );
|
|
109
|
+
action = receiveItems( records, edits, meta );
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
return {
|
package/src/entities.js
CHANGED
|
@@ -120,6 +120,7 @@ export const rootEntitiesConfig = [
|
|
|
120
120
|
plural: 'mediaItems',
|
|
121
121
|
label: __( 'Media' ),
|
|
122
122
|
rawAttributes: [ 'caption', 'title', 'description' ],
|
|
123
|
+
supportsPagination: true,
|
|
123
124
|
},
|
|
124
125
|
{
|
|
125
126
|
name: 'taxonomy',
|
|
@@ -223,6 +224,15 @@ export const rootEntitiesConfig = [
|
|
|
223
224
|
baseURLParams: { context: 'edit' },
|
|
224
225
|
key: 'plugin',
|
|
225
226
|
},
|
|
227
|
+
{
|
|
228
|
+
label: __( 'Status' ),
|
|
229
|
+
name: 'status',
|
|
230
|
+
kind: 'root',
|
|
231
|
+
baseURL: '/wp/v2/statuses',
|
|
232
|
+
baseURLParams: { context: 'edit' },
|
|
233
|
+
plural: 'statuses',
|
|
234
|
+
key: 'slug',
|
|
235
|
+
},
|
|
226
236
|
];
|
|
227
237
|
|
|
228
238
|
export const additionalEntityConfigLoaders = [
|
|
@@ -317,6 +327,7 @@ async function loadPostTypeEntities() {
|
|
|
317
327
|
},
|
|
318
328
|
syncObjectType: 'postType/' + postType.name,
|
|
319
329
|
getSyncObjectId: ( id ) => id,
|
|
330
|
+
supportsPagination: true,
|
|
320
331
|
};
|
|
321
332
|
} );
|
|
322
333
|
}
|
|
@@ -51,6 +51,8 @@ describe( 'useEntityRecords', () => {
|
|
|
51
51
|
hasResolved: false,
|
|
52
52
|
isResolving: false,
|
|
53
53
|
status: 'IDLE',
|
|
54
|
+
totalItems: null,
|
|
55
|
+
totalPages: null,
|
|
54
56
|
} );
|
|
55
57
|
|
|
56
58
|
// Fetch request should have been issued
|
|
@@ -65,6 +67,8 @@ describe( 'useEntityRecords', () => {
|
|
|
65
67
|
hasResolved: true,
|
|
66
68
|
isResolving: false,
|
|
67
69
|
status: 'SUCCESS',
|
|
70
|
+
totalItems: null,
|
|
71
|
+
totalPages: null,
|
|
68
72
|
} );
|
|
69
73
|
} );
|
|
70
74
|
} );
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { addQueryArgs } from '@wordpress/url';
|
|
5
5
|
import deprecated from '@wordpress/deprecated';
|
|
6
|
+
import { useSelect } from '@wordpress/data';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Internal dependencies
|
|
@@ -28,6 +29,16 @@ interface EntityRecordsResolution< RecordType > {
|
|
|
28
29
|
|
|
29
30
|
/** Resolution status */
|
|
30
31
|
status: Status;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The total number of available items (if not paginated).
|
|
35
|
+
*/
|
|
36
|
+
totalItems: number | null;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The total number of pages.
|
|
40
|
+
*/
|
|
41
|
+
totalPages: number | null;
|
|
31
42
|
}
|
|
32
43
|
|
|
33
44
|
const EMPTY_ARRAY = [];
|
|
@@ -97,8 +108,34 @@ export default function useEntityRecords< RecordType >(
|
|
|
97
108
|
[ kind, name, queryAsString, options.enabled ]
|
|
98
109
|
);
|
|
99
110
|
|
|
111
|
+
const { totalItems, totalPages } = useSelect(
|
|
112
|
+
( select ) => {
|
|
113
|
+
if ( ! options.enabled ) {
|
|
114
|
+
return {
|
|
115
|
+
totalItems: null,
|
|
116
|
+
totalPages: null,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
totalItems: select( coreStore ).getEntityRecordsTotalItems(
|
|
121
|
+
kind,
|
|
122
|
+
name,
|
|
123
|
+
queryArgs
|
|
124
|
+
),
|
|
125
|
+
totalPages: select( coreStore ).getEntityRecordsTotalPages(
|
|
126
|
+
kind,
|
|
127
|
+
name,
|
|
128
|
+
queryArgs
|
|
129
|
+
),
|
|
130
|
+
};
|
|
131
|
+
},
|
|
132
|
+
[ kind, name, queryAsString, options.enabled ]
|
|
133
|
+
);
|
|
134
|
+
|
|
100
135
|
return {
|
|
101
136
|
records,
|
|
137
|
+
totalItems,
|
|
138
|
+
totalPages,
|
|
102
139
|
...rest,
|
|
103
140
|
};
|
|
104
141
|
}
|
package/src/private-apis.js
CHANGED
|
@@ -5,6 +5,6 @@ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/pri
|
|
|
5
5
|
|
|
6
6
|
export const { lock, unlock } =
|
|
7
7
|
__dangerousOptInToUnstableAPIsOnlyForCoreModules(
|
|
8
|
-
'I know using unstable features means my
|
|
8
|
+
'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',
|
|
9
9
|
'@wordpress/core-data'
|
|
10
10
|
);
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @param {Array} items Items received.
|
|
5
5
|
* @param {?Object} edits Optional edits to reset.
|
|
6
|
+
* @param {?Object} meta Meta information about pagination.
|
|
6
7
|
*
|
|
7
8
|
* @return {Object} Action object.
|
|
8
9
|
*/
|
|
9
|
-
export function receiveItems( items, edits ) {
|
|
10
|
+
export function receiveItems( items, edits, meta ) {
|
|
10
11
|
return {
|
|
11
12
|
type: 'RECEIVE_ITEMS',
|
|
12
13
|
items: Array.isArray( items ) ? items : [ items ],
|
|
13
14
|
persistedEdits: edits,
|
|
15
|
+
meta,
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
|
|
@@ -41,12 +43,13 @@ export function removeItems( kind, name, records, invalidateCache = false ) {
|
|
|
41
43
|
* @param {Array} items Queried items received.
|
|
42
44
|
* @param {?Object} query Optional query object.
|
|
43
45
|
* @param {?Object} edits Optional edits to reset.
|
|
46
|
+
* @param {?Object} meta Meta information about pagination.
|
|
44
47
|
*
|
|
45
48
|
* @return {Object} Action object.
|
|
46
49
|
*/
|
|
47
|
-
export function receiveQueriedItems( items, query = {}, edits ) {
|
|
50
|
+
export function receiveQueriedItems( items, query = {}, edits, meta ) {
|
|
48
51
|
return {
|
|
49
|
-
...receiveItems( items, edits ),
|
|
52
|
+
...receiveItems( items, edits, meta ),
|
|
50
53
|
query,
|
|
51
54
|
};
|
|
52
55
|
}
|
|
@@ -222,19 +222,22 @@ const receiveQueries = compose( [
|
|
|
222
222
|
// Queries shape is shared, but keyed by query `stableKey` part. Original
|
|
223
223
|
// reducer tracks only a single query object.
|
|
224
224
|
onSubKey( 'stableKey' ),
|
|
225
|
-
] )( ( state =
|
|
225
|
+
] )( ( state = {}, action ) => {
|
|
226
226
|
const { type, page, perPage, key = DEFAULT_ENTITY_KEY } = action;
|
|
227
227
|
|
|
228
228
|
if ( type !== 'RECEIVE_ITEMS' ) {
|
|
229
229
|
return state;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
return
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
232
|
+
return {
|
|
233
|
+
itemIds: getMergedItemIds(
|
|
234
|
+
state?.itemIds || [],
|
|
235
|
+
action.items.map( ( item ) => item[ key ] ),
|
|
236
|
+
page,
|
|
237
|
+
perPage
|
|
238
|
+
),
|
|
239
|
+
meta: action.meta,
|
|
240
|
+
};
|
|
238
241
|
} );
|
|
239
242
|
|
|
240
243
|
/**
|
|
@@ -263,9 +266,13 @@ const queries = ( state = {}, action ) => {
|
|
|
263
266
|
Object.entries( contextQueries ).map(
|
|
264
267
|
( [ query, queryItems ] ) => [
|
|
265
268
|
query,
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
+
{
|
|
270
|
+
...queryItems,
|
|
271
|
+
itemIds: queryItems.itemIds.filter(
|
|
272
|
+
( queryId ) =>
|
|
273
|
+
! removedItems[ queryId ]
|
|
274
|
+
),
|
|
275
|
+
},
|
|
269
276
|
]
|
|
270
277
|
)
|
|
271
278
|
),
|
|
@@ -33,7 +33,7 @@ function getQueriedItemsUncached( state, query ) {
|
|
|
33
33
|
let itemIds;
|
|
34
34
|
|
|
35
35
|
if ( state.queries?.[ context ]?.[ stableKey ] ) {
|
|
36
|
-
itemIds = state.queries[ context ][ stableKey ];
|
|
36
|
+
itemIds = state.queries[ context ][ stableKey ].itemIds;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
if ( ! itemIds ) {
|
|
@@ -118,3 +118,9 @@ export const getQueriedItems = createSelector( ( state, query = {} ) => {
|
|
|
118
118
|
queriedItemsCache.set( query, items );
|
|
119
119
|
return items;
|
|
120
120
|
} );
|
|
121
|
+
|
|
122
|
+
export function getQueriedTotalItems( state, query = {} ) {
|
|
123
|
+
const { stableKey, context } = getQueryParts( query );
|
|
124
|
+
|
|
125
|
+
return state.queries?.[ context ]?.[ stableKey ]?.meta?.totalItems ?? null;
|
|
126
|
+
}
|
|
@@ -159,7 +159,7 @@ describe( 'reducer', () => {
|
|
|
159
159
|
default: { 1: true },
|
|
160
160
|
},
|
|
161
161
|
queries: {
|
|
162
|
-
default: { 's=a': [ 1 ] },
|
|
162
|
+
default: { 's=a': { itemIds: [ 1 ] } },
|
|
163
163
|
},
|
|
164
164
|
} );
|
|
165
165
|
} );
|
|
@@ -200,8 +200,8 @@ describe( 'reducer', () => {
|
|
|
200
200
|
},
|
|
201
201
|
queries: {
|
|
202
202
|
default: {
|
|
203
|
-
'': [ 1, 2, 3, 4 ],
|
|
204
|
-
's=a': [ 1, 3 ],
|
|
203
|
+
'': { itemIds: [ 1, 2, 3, 4 ] },
|
|
204
|
+
's=a': { itemIds: [ 1, 3 ] },
|
|
205
205
|
},
|
|
206
206
|
},
|
|
207
207
|
} );
|
|
@@ -218,8 +218,8 @@ describe( 'reducer', () => {
|
|
|
218
218
|
},
|
|
219
219
|
queries: {
|
|
220
220
|
default: {
|
|
221
|
-
'': [ 1, 2, 4 ],
|
|
222
|
-
's=a': [ 1 ],
|
|
221
|
+
'': { itemIds: [ 1, 2, 4 ] },
|
|
222
|
+
's=a': { itemIds: [ 1 ] },
|
|
223
223
|
},
|
|
224
224
|
},
|
|
225
225
|
} );
|
|
@@ -238,8 +238,8 @@ describe( 'reducer', () => {
|
|
|
238
238
|
},
|
|
239
239
|
queries: {
|
|
240
240
|
default: {
|
|
241
|
-
'': [ 'foo//bar1', 'foo//bar2', 'foo//bar3' ],
|
|
242
|
-
's=2': [ 'foo//bar2' ],
|
|
241
|
+
'': { itemIds: [ 'foo//bar1', 'foo//bar2', 'foo//bar3' ] },
|
|
242
|
+
's=2': { itemIds: [ 'foo//bar2' ] },
|
|
243
243
|
},
|
|
244
244
|
},
|
|
245
245
|
} );
|
|
@@ -258,8 +258,8 @@ describe( 'reducer', () => {
|
|
|
258
258
|
},
|
|
259
259
|
queries: {
|
|
260
260
|
default: {
|
|
261
|
-
'': [ 'foo//bar1', 'foo//bar3' ],
|
|
262
|
-
's=2': [],
|
|
261
|
+
'': { itemIds: [ 'foo//bar1', 'foo//bar3' ] },
|
|
262
|
+
's=2': { itemIds: [] },
|
|
263
263
|
},
|
|
264
264
|
},
|
|
265
265
|
} );
|
|
@@ -32,7 +32,7 @@ describe( 'getQueriedItems', () => {
|
|
|
32
32
|
},
|
|
33
33
|
queries: {
|
|
34
34
|
default: {
|
|
35
|
-
'': [ 1, 2 ],
|
|
35
|
+
'': { itemIds: [ 1, 2 ] },
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
};
|
|
@@ -56,7 +56,7 @@ describe( 'getQueriedItems', () => {
|
|
|
56
56
|
2: true,
|
|
57
57
|
},
|
|
58
58
|
},
|
|
59
|
-
queries: [ 1, 2 ],
|
|
59
|
+
queries: { itemIds: [ 1, 2 ] },
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
const resultA = getQueriedItems( state, {} );
|
|
@@ -81,8 +81,8 @@ describe( 'getQueriedItems', () => {
|
|
|
81
81
|
},
|
|
82
82
|
queries: {
|
|
83
83
|
default: {
|
|
84
|
-
'': [ 1, 2 ],
|
|
85
|
-
'include=1': [ 1 ],
|
|
84
|
+
'': { itemIds: [ 1, 2 ] },
|
|
85
|
+
'include=1': { itemIds: [ 1 ] },
|
|
86
86
|
},
|
|
87
87
|
},
|
|
88
88
|
};
|
|
@@ -116,7 +116,7 @@ describe( 'getQueriedItems', () => {
|
|
|
116
116
|
},
|
|
117
117
|
queries: {
|
|
118
118
|
default: {
|
|
119
|
-
'_fields=content': [ 1, 2 ],
|
|
119
|
+
'_fields=content': { itemIds: [ 1, 2 ] },
|
|
120
120
|
},
|
|
121
121
|
},
|
|
122
122
|
};
|
|
@@ -161,7 +161,7 @@ describe( 'getQueriedItems', () => {
|
|
|
161
161
|
},
|
|
162
162
|
queries: {
|
|
163
163
|
default: {
|
|
164
|
-
'_fields=content%2Cmeta.template': [ 1, 2 ],
|
|
164
|
+
'_fields=content%2Cmeta.template': { itemIds: [ 1, 2 ] },
|
|
165
165
|
},
|
|
166
166
|
},
|
|
167
167
|
};
|
|
@@ -198,7 +198,7 @@ describe( 'getQueriedItems', () => {
|
|
|
198
198
|
},
|
|
199
199
|
queries: {
|
|
200
200
|
default: {
|
|
201
|
-
'': [ 1, 2 ],
|
|
201
|
+
'': { itemIds: [ 1, 2 ] },
|
|
202
202
|
},
|
|
203
203
|
},
|
|
204
204
|
};
|
|
@@ -230,7 +230,7 @@ describe( 'getQueriedItems', () => {
|
|
|
230
230
|
},
|
|
231
231
|
queries: {
|
|
232
232
|
default: {
|
|
233
|
-
'': [ 1, 2 ],
|
|
233
|
+
'': { itemIds: [ 1, 2 ] },
|
|
234
234
|
},
|
|
235
235
|
},
|
|
236
236
|
};
|
package/src/resolvers.js
CHANGED
|
@@ -7,6 +7,7 @@ import { camelCase } from 'change-case';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { addQueryArgs } from '@wordpress/url';
|
|
10
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
10
11
|
import apiFetch from '@wordpress/api-fetch';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -228,7 +229,19 @@ export const getEntityRecords =
|
|
|
228
229
|
...query,
|
|
229
230
|
} );
|
|
230
231
|
|
|
231
|
-
let records
|
|
232
|
+
let records, meta;
|
|
233
|
+
if ( entityConfig.supportsPagination && query.per_page !== -1 ) {
|
|
234
|
+
const response = await apiFetch( { path, parse: false } );
|
|
235
|
+
records = Object.values( await response.json() );
|
|
236
|
+
meta = {
|
|
237
|
+
totalItems: parseInt(
|
|
238
|
+
response.headers.get( 'X-WP-Total' )
|
|
239
|
+
),
|
|
240
|
+
};
|
|
241
|
+
} else {
|
|
242
|
+
records = Object.values( await apiFetch( { path } ) );
|
|
243
|
+
}
|
|
244
|
+
|
|
232
245
|
// If we request fields but the result doesn't contain the fields,
|
|
233
246
|
// explicitly set these fields as "undefined"
|
|
234
247
|
// that way we consider the query "fullfilled".
|
|
@@ -244,7 +257,15 @@ export const getEntityRecords =
|
|
|
244
257
|
} );
|
|
245
258
|
}
|
|
246
259
|
|
|
247
|
-
dispatch.receiveEntityRecords(
|
|
260
|
+
dispatch.receiveEntityRecords(
|
|
261
|
+
kind,
|
|
262
|
+
name,
|
|
263
|
+
records,
|
|
264
|
+
query,
|
|
265
|
+
false,
|
|
266
|
+
undefined,
|
|
267
|
+
meta
|
|
268
|
+
);
|
|
248
269
|
|
|
249
270
|
// When requesting all fields, the list of results can be used to
|
|
250
271
|
// resolve the `getEntityRecord` selector in addition to `getEntityRecords`.
|
|
@@ -630,13 +651,14 @@ export const getUserPatternCategories =
|
|
|
630
651
|
{
|
|
631
652
|
per_page: -1,
|
|
632
653
|
_fields: 'id,name,description,slug',
|
|
654
|
+
context: 'view',
|
|
633
655
|
}
|
|
634
656
|
);
|
|
635
657
|
|
|
636
658
|
const mappedPatternCategories =
|
|
637
659
|
patternCategories?.map( ( userCategory ) => ( {
|
|
638
660
|
...userCategory,
|
|
639
|
-
label: userCategory.name,
|
|
661
|
+
label: decodeEntities( userCategory.name ),
|
|
640
662
|
name: userCategory.slug,
|
|
641
663
|
} ) ) || [];
|
|
642
664
|
|