@wordpress/core-data 7.48.1 → 7.49.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.
Files changed (96) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -1
  3. package/build/actions.cjs +1 -7
  4. package/build/actions.cjs.map +3 -3
  5. package/build/entities.cjs +2 -1
  6. package/build/entities.cjs.map +2 -2
  7. package/build/entity-types/helpers.cjs.map +1 -1
  8. package/build/hooks/use-entity-record.cjs +21 -19
  9. package/build/hooks/use-entity-record.cjs.map +3 -3
  10. package/build/hooks/use-entity-records.cjs +22 -20
  11. package/build/hooks/use-entity-records.cjs.map +3 -3
  12. package/build/hooks/use-post-editor-awareness-state.cjs.map +1 -1
  13. package/build/hooks/use-query-select.cjs +2 -20
  14. package/build/hooks/use-query-select.cjs.map +2 -2
  15. package/build/hooks/utils.cjs +53 -0
  16. package/build/hooks/utils.cjs.map +7 -0
  17. package/build/private-selectors.cjs.map +2 -2
  18. package/build/reducer.cjs +17 -9
  19. package/build/reducer.cjs.map +2 -2
  20. package/build/resolvers.cjs +7 -2
  21. package/build/resolvers.cjs.map +2 -2
  22. package/build/types.cjs.map +1 -1
  23. package/build/utils/clear-unchanged-edits.cjs +51 -0
  24. package/build/utils/clear-unchanged-edits.cjs.map +7 -0
  25. package/build/utils/crdt-blocks.cjs.map +1 -1
  26. package/build/utils/crdt-user-selections.cjs.map +1 -1
  27. package/build/utils/crdt-utils.cjs.map +1 -1
  28. package/build/utils/crdt.cjs.map +1 -1
  29. package/build/utils/index.cjs +3 -0
  30. package/build/utils/index.cjs.map +2 -2
  31. package/build/utils/set-nested-value.cjs.map +1 -1
  32. package/build-module/actions.mjs +2 -8
  33. package/build-module/actions.mjs.map +2 -2
  34. package/build-module/entities.mjs +2 -1
  35. package/build-module/entities.mjs.map +2 -2
  36. package/build-module/hooks/use-entity-record.mjs +21 -19
  37. package/build-module/hooks/use-entity-record.mjs.map +2 -2
  38. package/build-module/hooks/use-entity-records.mjs +20 -18
  39. package/build-module/hooks/use-entity-records.mjs.map +2 -2
  40. package/build-module/hooks/use-post-editor-awareness-state.mjs.map +1 -1
  41. package/build-module/hooks/use-query-select.mjs +2 -20
  42. package/build-module/hooks/use-query-select.mjs.map +2 -2
  43. package/build-module/hooks/utils.mjs +28 -0
  44. package/build-module/hooks/utils.mjs.map +7 -0
  45. package/build-module/private-selectors.mjs.map +2 -2
  46. package/build-module/reducer.mjs +18 -10
  47. package/build-module/reducer.mjs.map +2 -2
  48. package/build-module/resolvers.mjs +7 -2
  49. package/build-module/resolvers.mjs.map +2 -2
  50. package/build-module/utils/clear-unchanged-edits.mjs +20 -0
  51. package/build-module/utils/clear-unchanged-edits.mjs.map +7 -0
  52. package/build-module/utils/crdt-blocks.mjs.map +1 -1
  53. package/build-module/utils/crdt-user-selections.mjs.map +1 -1
  54. package/build-module/utils/crdt-utils.mjs.map +1 -1
  55. package/build-module/utils/crdt.mjs.map +1 -1
  56. package/build-module/utils/index.mjs +22 -20
  57. package/build-module/utils/index.mjs.map +2 -2
  58. package/build-module/utils/set-nested-value.mjs.map +1 -1
  59. package/build-types/actions.d.ts.map +1 -1
  60. package/build-types/entities.d.ts.map +1 -1
  61. package/build-types/hooks/use-entity-record.d.ts +4 -1
  62. package/build-types/hooks/use-entity-record.d.ts.map +1 -1
  63. package/build-types/hooks/use-entity-records.d.ts +5 -1
  64. package/build-types/hooks/use-entity-records.d.ts.map +1 -1
  65. package/build-types/hooks/utils.d.ts +22 -0
  66. package/build-types/hooks/utils.d.ts.map +1 -0
  67. package/build-types/index.d.ts +8 -8
  68. package/build-types/private-actions.d.ts.map +1 -1
  69. package/build-types/private-selectors.d.ts +6 -0
  70. package/build-types/private-selectors.d.ts.map +1 -1
  71. package/build-types/reducer.d.ts.map +1 -1
  72. package/build-types/resolvers.d.ts +9 -4
  73. package/build-types/resolvers.d.ts.map +1 -1
  74. package/build-types/selectors.d.ts +8 -8
  75. package/build-types/selectors.d.ts.map +1 -1
  76. package/build-types/utils/clear-unchanged-edits.d.ts +12 -0
  77. package/build-types/utils/clear-unchanged-edits.d.ts.map +1 -0
  78. package/build-types/utils/index.d.ts +1 -0
  79. package/build-types/utils/index.d.ts.map +1 -1
  80. package/package.json +24 -19
  81. package/src/actions.js +2 -10
  82. package/src/entities.js +5 -0
  83. package/src/hooks/test/use-entity-record.js +5 -1
  84. package/src/hooks/use-entity-record.ts +26 -20
  85. package/src/hooks/use-entity-records.ts +26 -18
  86. package/src/hooks/use-query-select.ts +2 -23
  87. package/src/hooks/utils.ts +40 -0
  88. package/src/private-selectors.ts +6 -0
  89. package/src/reducer.js +22 -11
  90. package/src/resolvers.js +14 -4
  91. package/src/test/entities.js +51 -0
  92. package/src/utils/clear-unchanged-edits.ts +34 -0
  93. package/src/utils/index.js +1 -0
  94. package/src/utils/test/clear-unchanged-edits.js +42 -0
  95. package/build-types/utils/on-sub-key.d.ts +0 -4
  96. package/build-types/utils/on-sub-key.d.ts.map +0 -1
@@ -137,7 +137,7 @@ export declare function getCurrentUser(state: State): ET.User<'view'>;
137
137
  *
138
138
  * @return Users list.
139
139
  */
140
- export declare const getUserQueryResults: ((state: State, queryID: string) => ET.User<'edit'>[]) & import("rememo").EnhancedSelector;
140
+ export declare const getUserQueryResults: ((state: State, queryID: string) => ET.User<'edit'>[]) & import("@wordpress/data").EnhancedSelector;
141
141
  /**
142
142
  * Returns the loaded entities for the given kind.
143
143
  *
@@ -156,7 +156,7 @@ export declare function getEntitiesByKind(state: State, kind: string): Array<any
156
156
  *
157
157
  * @return Array of entities with config matching kind.
158
158
  */
159
- export declare const getEntitiesConfig: ((state: State, kind: string) => Array<any>) & import("rememo").EnhancedSelector;
159
+ export declare const getEntitiesConfig: ((state: State, kind: string) => Array<any>) & import("@wordpress/data").EnhancedSelector;
160
160
  /**
161
161
  * Returns the entity config given its kind and name.
162
162
  *
@@ -259,7 +259,7 @@ export declare function __experimentalGetEntityRecordNoResolver<EntityRecord ext
259
259
  *
260
260
  * @return Object with the entity's raw attributes.
261
261
  */
262
- export declare const getRawEntityRecord: (<EntityRecord extends ET.EntityRecord<any>>(state: State, kind: string, name: string, key: EntityRecordKey) => EntityRecord | undefined) & import("rememo").EnhancedSelector;
262
+ export declare const getRawEntityRecord: (<EntityRecord extends ET.EntityRecord<any>>(state: State, kind: string, name: string, key: EntityRecordKey) => EntityRecord | undefined) & import("@wordpress/data").EnhancedSelector;
263
263
  /**
264
264
  * Returns true if records have been received for the given set of parameters,
265
265
  * or false otherwise.
@@ -334,7 +334,7 @@ type DirtyEntityRecord = {
334
334
  *
335
335
  * @return The list of updated records
336
336
  */
337
- export declare const __experimentalGetDirtyEntityRecords: ((state: State) => Array<DirtyEntityRecord>) & import("rememo").EnhancedSelector;
337
+ export declare const __experimentalGetDirtyEntityRecords: ((state: State) => Array<DirtyEntityRecord>) & import("@wordpress/data").EnhancedSelector;
338
338
  /**
339
339
  * Returns the list of entities currently being saved.
340
340
  *
@@ -342,7 +342,7 @@ export declare const __experimentalGetDirtyEntityRecords: ((state: State) => Arr
342
342
  *
343
343
  * @return The list of records being saved.
344
344
  */
345
- export declare const __experimentalGetEntitiesBeingSaved: ((state: State) => Array<DirtyEntityRecord>) & import("rememo").EnhancedSelector;
345
+ export declare const __experimentalGetEntitiesBeingSaved: ((state: State) => Array<DirtyEntityRecord>) & import("@wordpress/data").EnhancedSelector;
346
346
  /**
347
347
  * Returns the specified entity record's edits.
348
348
  *
@@ -368,7 +368,7 @@ export declare function getEntityRecordEdits(state: State, kind: string, name: s
368
368
  *
369
369
  * @return The entity record's non transient edits.
370
370
  */
371
- export declare const getEntityRecordNonTransientEdits: ((state: State, kind: string, name: string, recordId: EntityRecordKey) => Optional<any>) & import("rememo").EnhancedSelector;
371
+ export declare const getEntityRecordNonTransientEdits: ((state: State, kind: string, name: string, recordId: EntityRecordKey) => Optional<any>) & import("@wordpress/data").EnhancedSelector;
372
372
  /**
373
373
  * Returns true if the specified entity record has edits,
374
374
  * and false otherwise.
@@ -391,7 +391,7 @@ export declare function hasEditsForEntityRecord(state: State, kind: string, name
391
391
  *
392
392
  * @return The entity record, merged with its edits.
393
393
  */
394
- export declare const getEditedEntityRecord: (<EntityRecord extends ET.EntityRecord<any>>(state: State, kind: string, name: string, recordId: EntityRecordKey) => ET.Updatable<EntityRecord> | false) & import("rememo").EnhancedSelector;
394
+ export declare const getEditedEntityRecord: (<EntityRecord extends ET.EntityRecord<any>>(state: State, kind: string, name: string, recordId: EntityRecordKey) => ET.Updatable<EntityRecord> | false) & import("@wordpress/data").EnhancedSelector;
395
395
  /**
396
396
  * Returns true if the specified entity record is autosaving, and false otherwise.
397
397
  *
@@ -727,6 +727,6 @@ export declare function hasRevision(state: State, kind: string, name: string, re
727
727
  *
728
728
  * @return Record.
729
729
  */
730
- export declare const getRevision: ((state: State, kind: string, name: string, recordKey: EntityRecordKey, revisionKey: EntityRecordKey, query?: GetRecordsHttpQuery) => RevisionRecord | Record<PropertyKey, never> | undefined) & import("rememo").EnhancedSelector;
730
+ export declare const getRevision: ((state: State, kind: string, name: string, recordKey: EntityRecordKey, revisionKey: EntityRecordKey, query?: GetRecordsHttpQuery) => RevisionRecord | Record<PropertyKey, never> | undefined) & import("@wordpress/data").EnhancedSelector;
731
731
  export {};
732
732
  //# sourceMappingURL=selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../src/selectors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAoBxD,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAO1C,MAAM,WAAW,KAAK;IACrB,SAAS,EAAE,MAAM,CAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAE,OAAO,CAAE,CAAE,CAAC;IACvD,aAAa,EAAE,KAAK,CAAE,OAAO,CAAE,CAAC;IAChC,sBAAsB,EAAE,KAAK,CAAE,OAAO,CAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,EAAE,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAE,CAAC;IAClD,QAAQ,EAAE,aAAa,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IAChD,0BAA0B,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IACrD,yBAAyB,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IACpD,WAAW,EAAE,WAAW,CAAC;IACzB,oBAAoB,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,eAAe,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,oBAAoB,EAAE,eAAe,CAAC;IACtC,qBAAqB,EAAE,KAAK,CAAE,mBAAmB,CAAE,CAAC;IACpD,gBAAgB,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,GAAG,IAAI,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,GAAG,IAAI,CAAC;IAC3C,sBAAsB,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,gBAAgB,CAAE,CAAC;IAC5D,sBAAsB,EAAE,OAAO,CAAC;IAChC,WAAW,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,CAAE,CAAC;CACrD;AAED,KAAK,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,UAAU,aAAa;IACtB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,MAAM,EAAE,WAAW,CAAE,EAAE,CAAC,YAAY,CAAE,CAAE,CAAE,CAAC;CAC5E;AAED,UAAU,WAAW;IACpB,KAAK,EAAE,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAE,CAAE,CAAC;IAC/D,cAAc,EAAE,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAAE,CAAC;IAChE,OAAO,EAAE,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,KAAK,CAAE,MAAM,CAAE,CAAE,CAAE,CAAC;CACjE;AAED,KAAK,cAAc,GAChB,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAE,CAAE,GACvD,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAE,CAAE,CAAC;AAEnE,UAAU,oBAAoB;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,EAAE,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAAE,CAAC;IAChE,OAAO,EAAE,MAAM,CAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,KAAK,CAAE,MAAM,CAAE,CAAE,CAAE,CAAC;CACjE;AAED,UAAU,WAAW,CAAE,YAAY,SAAS,EAAE,CAAC,YAAY;IAC1D,KAAK,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,YAAY,CAAE,CAAE,CAAC;IACjD,MAAM,EAAE,MAAM,CACb,MAAM,EACN,OAAO,CAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAE,CAClE,CAAC;IACF,QAAQ,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAE,CAAE,CAAC;IAC1E,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,UAAU,SAAS;IAClB,OAAO,EAAE,MAAM,CAAE,MAAM,EAAE,eAAe,EAAE,CAAE,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAE,eAAe,EAAE,EAAE,CAAC,IAAI,CAAE,MAAM,CAAE,CAAE,CAAC;CACnD;AAED,KAAK,aAAa,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,QAAQ,CAAE,CAAC,IAAK,CAAC,GAAG,SAAS,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,CAAC;AAExD;;GAEG;AACH,KAAK,gBAAgB,GAClB,CAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAE,GACnC,CAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,CAAE,CAAC;AAE5D,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAW3E;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;CAOpC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,mBAAmB,GACzB,EAAE,CAAC,IAAI,EAAE,CAWX;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAE,KAAK,EAAE,KAAK,GAAI,EAAE,CAAC,IAAI,CAAE,MAAM,CAAE,CAEhE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,WACtB,KAAK,WAAW,MAAM,KAAI,EAAE,CAAC,IAAI,CAAE,MAAM,CAAE,EAAE,8CAStD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAI,KAAK,CAAE,GAAG,CAAE,CAM5E;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,WACpB,KAAK,QAAQ,MAAM,KAAI,KAAK,CAAE,GAAG,CAAE,8CAK5C,CAAC;AACF;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAI,GAAG,CAMzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACV,GAAG,CAML;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,eAAe;IAC/B,CACC,YAAY,SACT,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,GACtB,OAAO,CAAE,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAE,EAEpC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,eAAe,EACrB,KAAK,CAAC,EAAE,mBAAmB,GACzB,YAAY,GAAG,SAAS,CAAC;IAE5B,gBAAgB,EAAE,CACjB,YAAY,SACT,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,GACtB,OAAO,CAAE,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAE,EAEpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,eAAe,EACrB,KAAK,CAAC,EAAE,mBAAmB,KACvB,YAAY,GAAG,SAAS,CAAC;IAC9B,uBAAuB,CAAC,EAAE,CAAE,IAAI,EAAE,gBAAgB,KAAM,gBAAgB,CAAC;CACzE;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAuDvB,eAAe,CAAC;AAoBrB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,eAAe,EACrB,KAAK,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAkCT;AAED;;;;;;;;;GASG;AACH,wBAAgB,uCAAuC,CACtD,YAAY,SAAS,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,EACzC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,4BAEhE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,IAC5B,YAAY,SAAS,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,SACrC,KAAK,QACN,MAAM,QACN,MAAM,OACP,eAAe,KAClB,YAAY,GAAG,SAAS,8CA+C3B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAGT;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAChC,CACC,YAAY,SACT,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,GACtB,OAAO,CAAE,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAE,EAEpC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,GACzB,YAAY,EAAE,GAAG,IAAI,CAAC;IAEzB,gBAAgB,EAAE,CACjB,YAAY,SACT,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,GACtB,OAAO,CAAE,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAE,EAEpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,KACvB,YAAY,EAAE,GAAG,IAAI,CAAC;IAE3B,uBAAuB,EAAE,CACxB,YAAY,SACT,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,GACtB,OAAO,CAAE,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,CAAE,EAEpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,mBAAmB,KACvB,OAAO,CAAE,YAAY,EAAE,GAAG,IAAI,CAAE,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,EAuBtB,gBAAgB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,UAC/B,KAAK,QACN,MAAM,QACN,MAAM,SACL,mBAAmB,KACxB,MAAM,GAAG,IAWX,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,UAC/B,KAAK,QACN,MAAM,QACN,MAAM,SACL,mBAAmB,KACxB,MAAM,GAAG,IA0BX,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,eAAe,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AACF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,WACtC,KAAK,KAAI,KAAK,CAAE,iBAAiB,CAAE,8CA+C5C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,WACtC,KAAK,KAAI,KAAK,CAAE,iBAAiB,CAAE,8CA0C5C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,QAAQ,CAAE,GAAG,CAAE,CAKjB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,WAEpC,KAAK,QACN,MAAM,QACN,MAAM,YACF,eAAe,KACvB,QAAQ,CAAE,GAAG,CAAE,8CAkBlB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,OAAO,CAQT;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,IAC/B,YAAY,SAAS,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,SACrC,KAAK,QACN,MAAM,QACN,MAAM,YACF,eAAe,KACvB,EAAE,CAAC,SAAS,CAAE,YAAY,CAAE,GAAG,KAAK,8CAkCvC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,OAAO,CAKT;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,OAAO,CAOT;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,OAAO,CAOT;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,GAAG,CAIL;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,GAAG,CAIL;AAGD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAE,KAAK,EAAE,KAAK,GAAI,QAAQ,CAAE,GAAG,CAAE,CAK3D;AAID;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAE,KAAK,EAAE,KAAK,GAAI,QAAQ,CAAE,GAAG,CAAE,CAK3D;AAGD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAE,KAAK,EAAE,KAAK,GAAI,OAAO,CAK/C;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAE,KAAK,EAAE,KAAK,GAAI,OAAO,CAK/C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAE,KAAK,EAAE,KAAK,GAAI,GAAG,CAKnD;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAAE,KAAK,EAAE,KAAK,GAAI,MAAM,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,KAAK,GAAI,GAAG,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAI,GAAG,CAEhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAI,OAAO,CAO3E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,CACtB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,cAAc,EACjC,EAAE,CAAC,EAAE,eAAe,GAClB,OAAO,GAAG,SAAS,CAYrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACvB,OAAO,GAAG,SAAS,CAOrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACrB,KAAK,CAAE,GAAG,CAAE,GAAG,SAAS,CAE1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAE,YAAY,SAAS,EAAE,CAAC,YAAY,CAAE,GAAG,CAAE,EACvE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,eAAe,GACvB,YAAY,GAAG,SAAS,CAU1B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;CAY/B,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAE,KAAK,KAAA,OAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,CAC5D,KAAK,EAAE,KAAK,GACV,GAAG,CAML;AAED;;;;;;GAMG;AACH,wBAAgB,mDAAmD,CAClE,KAAK,EAAE,KAAK,GACV,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,KAAK,GAAI,KAAK,CAAE,GAAG,CAAE,CAE7D;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,KAAK,GAAI,KAAK,CAAE,GAAG,CAAE,CAEtE;AAED;;;;;;GAMG;AAEH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,GACV,KAAK,CAAE,mBAAmB,CAAE,CAE9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oCAAoC,CACnD,KAAK,EAAE,KAAK,GACV,KAAK,CAAE,MAAM,CAAE,GAAG,IAAI,CAcxB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,GAClB,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,UACjB,KAAK,QACN,MAAM,QACN,MAAM,aACD,eAAe,UAClB,mBAAmB,KACzB,cAAc,EAAE,GAAG,IASrB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,eAAe,EAC1B,WAAW,EAAE,eAAe,EAC5B,KAAK,CAAC,EAAE,mBAAmB,GACzB,OAAO,CA+BT;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,WAEf,KAAK,QACN,MAAM,QACN,MAAM,aACD,eAAe,eACb,eAAe,UACpB,mBAAmB,KACzB,cAAc,GAAG,MAAM,CAAE,WAAW,EAAE,KAAK,CAAE,GAAG,SAAS,8CAoD5D,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a copy of `edits` where any value equal to its persisted counterpart
3
+ * is set to `undefined`. The edits reducer treats `undefined` as a signal to
4
+ * drop the edit, so the property is no longer considered dirty.
5
+ *
6
+ * @param edits Edits keyed by property name.
7
+ * @param persistedRecord Persisted entity record to compare against.
8
+ *
9
+ * @return Edits with unchanged properties set to `undefined`.
10
+ */
11
+ export default function clearUnchangedEdits(edits: Record<string, unknown>, persistedRecord: Record<string, any> | undefined): Record<string, unknown>;
12
+ //# sourceMappingURL=clear-unchanged-edits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clear-unchanged-edits.d.ts","sourceRoot":"","sources":["../../src/utils/clear-unchanged-edits.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAC1C,KAAK,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,EAChC,eAAe,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,GAAG,SAAS,GAChD,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAe3B"}
@@ -1,3 +1,4 @@
1
+ export { default as clearUnchangedEdits } from './clear-unchanged-edits';
1
2
  export { default as conservativeMapItem } from './conservative-map-item';
2
3
  export { default as getNormalizedCommaSeparable } from './get-normalized-comma-separable';
3
4
  export { default as ifMatchingAction } from './if-matching-action';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,yBAAyB,EACzB,iCAAiC,EACjC,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACN,yBAAyB,EACzB,iCAAiC,EACjC,wBAAwB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-data",
3
- "version": "7.48.1",
3
+ "version": "7.49.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",
@@ -48,23 +48,22 @@
48
48
  "build-module/index.mjs"
49
49
  ],
50
50
  "dependencies": {
51
- "@types/react": "^18.3.27",
52
- "@wordpress/api-fetch": "^7.48.1",
53
- "@wordpress/block-editor": "^15.21.1",
54
- "@wordpress/blocks": "^15.21.1",
55
- "@wordpress/compose": "^8.1.1",
56
- "@wordpress/data": "^10.48.1",
57
- "@wordpress/deprecated": "^4.48.1",
58
- "@wordpress/element": "^8.0.1",
59
- "@wordpress/html-entities": "^4.48.1",
60
- "@wordpress/i18n": "^6.21.1",
61
- "@wordpress/is-shallow-equal": "^5.48.1",
62
- "@wordpress/private-apis": "^1.48.1",
63
- "@wordpress/rich-text": "^7.48.1",
64
- "@wordpress/sync": "^1.48.1",
65
- "@wordpress/undo-manager": "^1.48.1",
66
- "@wordpress/url": "^4.48.1",
67
- "@wordpress/warning": "^3.48.1",
51
+ "@wordpress/api-fetch": "^7.49.0",
52
+ "@wordpress/block-editor": "^15.22.0",
53
+ "@wordpress/blocks": "^15.22.0",
54
+ "@wordpress/compose": "^8.2.0",
55
+ "@wordpress/data": "^10.49.0",
56
+ "@wordpress/deprecated": "^4.49.0",
57
+ "@wordpress/element": "^8.1.0",
58
+ "@wordpress/html-entities": "^4.49.0",
59
+ "@wordpress/i18n": "^6.22.0",
60
+ "@wordpress/is-shallow-equal": "^5.49.0",
61
+ "@wordpress/private-apis": "^1.49.0",
62
+ "@wordpress/rich-text": "^7.49.0",
63
+ "@wordpress/sync": "^1.49.0",
64
+ "@wordpress/undo-manager": "^1.49.0",
65
+ "@wordpress/url": "^4.49.0",
66
+ "@wordpress/warning": "^3.49.0",
68
67
  "change-case": "^4.1.2",
69
68
  "equivalent-key-map": "^0.2.2",
70
69
  "fast-deep-equal": "^3.1.3",
@@ -80,11 +79,17 @@
80
79
  "deep-freeze": "^0.0.1"
81
80
  },
82
81
  "peerDependencies": {
82
+ "@types/react": "^18.3.27",
83
83
  "react": "^18.0.0",
84
84
  "react-dom": "^18.0.0"
85
85
  },
86
+ "peerDependenciesMeta": {
87
+ "@types/react": {
88
+ "optional": true
89
+ }
90
+ },
86
91
  "publishConfig": {
87
92
  "access": "public"
88
93
  },
89
- "gitHead": "99df7432c5c7cb83ba41146fd1f57f3c19004305"
94
+ "gitHead": "0e7112a4f4fde4ea15bd9060489b8f6fe11eb6ca"
90
95
  }
package/src/actions.js CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import fastDeepEqual from 'fast-deep-equal/es6/index.js';
5
4
  import { v4 as uuid } from 'uuid';
6
5
 
7
6
  /**
@@ -14,7 +13,7 @@ import deprecated from '@wordpress/deprecated';
14
13
  /**
15
14
  * Internal dependencies
16
15
  */
17
- import { getNestedValue, setNestedValue } from './utils';
16
+ import { clearUnchangedEdits, getNestedValue, setNestedValue } from './utils';
18
17
  import { receiveItems, removeItems, receiveQueriedItems } from './queried-data';
19
18
  import { DEFAULT_ENTITY_KEY } from './entities';
20
19
  import { createBatch } from './batch';
@@ -421,14 +420,7 @@ export const editEntityRecord =
421
420
  recordId,
422
421
  // Clear edits when they are equal to their persisted counterparts
423
422
  // so that the property is not considered dirty.
424
- edits: Object.keys( edits ).reduce( ( acc, key ) => {
425
- const recordValue = record[ key ];
426
- const value = editsWithMerges[ key ];
427
- acc[ key ] = fastDeepEqual( recordValue, value )
428
- ? undefined
429
- : value;
430
- return acc;
431
- }, {} ),
423
+ edits: clearUnchangedEdits( editsWithMerges, record ),
432
424
  };
433
425
  if ( entityConfig.syncConfig ) {
434
426
  const objectType = `${ kind }/${ name }`;
package/src/entities.js CHANGED
@@ -464,6 +464,11 @@ async function loadPostTypeEntities() {
464
464
  null
465
465
  );
466
466
  },
467
+ shouldSync: () =>
468
+ ! (
469
+ Array.isArray( window._wpCollaborationDisabledPostTypes ) &&
470
+ window._wpCollaborationDisabledPostTypes.includes( name )
471
+ ),
467
472
  };
468
473
 
469
474
  return entity;
@@ -49,7 +49,7 @@ describe( 'useEntityRecord', () => {
49
49
  editedRecord: false,
50
50
  hasEdits: false,
51
51
  edits: {},
52
- record: undefined,
52
+ record: null,
53
53
  save: expect.any( Function ),
54
54
  hasResolved: false,
55
55
  hasStarted: false,
@@ -158,6 +158,10 @@ describe( 'useEntityRecord', () => {
158
158
  edits: {},
159
159
  record: null,
160
160
  save: expect.any( Function ),
161
+ hasResolved: false,
162
+ hasStarted: false,
163
+ isResolving: false,
164
+ status: 'IDLE',
161
165
  } );
162
166
 
163
167
  // The same delay.
@@ -8,9 +8,9 @@ import { useMemo } from '@wordpress/element';
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
- import useQuerySelect from './use-query-select';
12
11
  import { store as coreStore } from '../';
13
12
  import type { Status } from './constants';
13
+ import { getResolutionStatus } from './utils';
14
14
 
15
15
  export interface EntityRecordResolution< RecordType > {
16
16
  /** The requested entity record */
@@ -38,6 +38,11 @@ export interface EntityRecordResolution< RecordType > {
38
38
  */
39
39
  hasEdits: boolean;
40
40
 
41
+ /**
42
+ * Has the resolution started?
43
+ */
44
+ hasStarted: boolean;
45
+
41
46
  /**
42
47
  * Is the record resolved by now?
43
48
  */
@@ -126,7 +131,6 @@ const EMPTY_OBJECT = {};
126
131
  * return (
127
132
  * <form onSubmit={ onRename }>
128
133
  * <TextControl
129
- * __next40pxDefaultSize
130
134
  * label={ __( 'Name' ) }
131
135
  * value={ page.editedRecord.title }
132
136
  * onChange={ setTitle }
@@ -169,57 +173,59 @@ export default function useEntityRecord< RecordType >(
169
173
  [ editEntityRecord, kind, name, recordId, saveEditedEntityRecord ]
170
174
  );
171
175
 
172
- const { editedRecord, hasEdits, edits } = useSelect(
176
+ const { record, editedRecord, hasEdits, edits, ...resolution } = useSelect(
173
177
  ( select ) => {
174
178
  if ( ! options.enabled ) {
175
179
  return {
180
+ record: null,
176
181
  editedRecord: EMPTY_OBJECT,
177
182
  hasEdits: false,
178
183
  edits: EMPTY_OBJECT,
184
+ ...getResolutionStatus(),
179
185
  };
180
186
  }
181
187
 
188
+ const storeSelectors = select( coreStore );
189
+ const resolutionStatus = storeSelectors.getResolutionState(
190
+ 'getEntityRecord',
191
+ [ kind, name, recordId ]
192
+ )?.status;
193
+
182
194
  return {
183
- editedRecord: select( coreStore ).getEditedEntityRecord(
195
+ record: ( storeSelectors.getEntityRecord(
196
+ kind,
197
+ name,
198
+ recordId
199
+ ) ?? null ) as RecordType | null,
200
+ editedRecord: storeSelectors.getEditedEntityRecord(
184
201
  kind,
185
202
  name,
186
203
  recordId
187
204
  ),
188
- hasEdits: select( coreStore ).hasEditsForEntityRecord(
205
+ hasEdits: storeSelectors.hasEditsForEntityRecord(
189
206
  kind,
190
207
  name,
191
208
  recordId
192
209
  ),
193
- edits: select( coreStore ).getEntityRecordNonTransientEdits(
210
+ edits: storeSelectors.getEntityRecordNonTransientEdits(
194
211
  kind,
195
212
  name,
196
213
  recordId
197
214
  ),
215
+ ...getResolutionStatus( resolutionStatus ),
198
216
  };
199
217
  },
200
218
  [ kind, name, recordId, options.enabled ]
201
219
  );
202
220
 
203
- const { data: record, ...querySelectRest } = useQuerySelect(
204
- ( query ) => {
205
- if ( ! options.enabled ) {
206
- return {
207
- data: null,
208
- };
209
- }
210
- return query( coreStore ).getEntityRecord( kind, name, recordId );
211
- },
212
- [ kind, name, recordId, options.enabled ]
213
- );
214
-
215
221
  return {
216
222
  record,
217
223
  editedRecord,
218
224
  hasEdits,
219
225
  edits,
220
- ...querySelectRest,
226
+ ...resolution,
221
227
  ...mutations,
222
- };
228
+ } as EntityRecordResolution< RecordType >;
223
229
  }
224
230
 
225
231
  export function useDeprecatedEntityRecord(
@@ -9,14 +9,14 @@ import { useMemo } from '@wordpress/element';
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
- import useQuerySelect from './use-query-select';
13
12
  import { store as coreStore } from '../';
14
13
  import type { Options } from './use-entity-record';
15
14
  import type { Status } from './constants';
15
+ import { getResolutionStatus } from './utils';
16
16
  import { unlock } from '../lock-unlock';
17
17
  import { getNormalizedCommaSeparable } from '../utils';
18
18
 
19
- interface EntityRecordsResolution< RecordType > {
19
+ export interface EntityRecordsResolution< RecordType > {
20
20
  /** The requested entity records */
21
21
  records: RecordType[] | null;
22
22
 
@@ -25,6 +25,11 @@ interface EntityRecordsResolution< RecordType > {
25
25
  */
26
26
  isResolving: boolean;
27
27
 
28
+ /**
29
+ * Has the resolution started?
30
+ */
31
+ hasStarted: boolean;
32
+
28
33
  /**
29
34
  * Is the record resolved by now?
30
35
  */
@@ -108,38 +113,41 @@ export default function useEntityRecords< RecordType >(
108
113
  // if the values remain the same.
109
114
  const queryAsString = addQueryArgs( '', queryArgs );
110
115
 
111
- const { data: records, ...rest } = useQuerySelect(
112
- ( query ) => {
113
- if ( ! options.enabled ) {
114
- return {
115
- // Avoiding returning a new reference on every execution.
116
- data: EMPTY_ARRAY,
117
- };
118
- }
119
- return query( coreStore ).getEntityRecords( kind, name, queryArgs );
120
- },
121
- [ kind, name, queryAsString, options.enabled ]
122
- );
123
-
124
- const { totalItems, totalPages } = useSelect(
116
+ const { records, totalItems, totalPages, ...rest } = useSelect(
125
117
  ( select ) => {
126
118
  if ( ! options.enabled ) {
127
119
  return {
120
+ // Avoiding returning a new reference on every execution.
121
+ records: EMPTY_ARRAY,
128
122
  totalItems: null,
129
123
  totalPages: null,
124
+ ...getResolutionStatus(),
130
125
  };
131
126
  }
127
+
128
+ const storeSelectors = select( coreStore );
129
+ const resolutionStatus = storeSelectors.getResolutionState(
130
+ 'getEntityRecords',
131
+ [ kind, name, queryArgs ]
132
+ )?.status;
133
+
132
134
  return {
133
- totalItems: select( coreStore ).getEntityRecordsTotalItems(
135
+ records: storeSelectors.getEntityRecords(
136
+ kind,
137
+ name,
138
+ queryArgs
139
+ ) as RecordType[] | null,
140
+ totalItems: storeSelectors.getEntityRecordsTotalItems(
134
141
  kind,
135
142
  name,
136
143
  queryArgs
137
144
  ),
138
- totalPages: select( coreStore ).getEntityRecordsTotalPages(
145
+ totalPages: storeSelectors.getEntityRecordsTotalPages(
139
146
  kind,
140
147
  name,
141
148
  queryArgs
142
149
  ),
150
+ ...getResolutionStatus( resolutionStatus ),
143
151
  };
144
152
  },
145
153
  [ kind, name, queryAsString, options.enabled ]
@@ -7,7 +7,7 @@ import { useSelect } from '@wordpress/data';
7
7
  * Internal dependencies
8
8
  */
9
9
  import memoize from 'memize';
10
- import { Status } from './constants';
10
+ import { getResolutionStatus } from './utils';
11
11
 
12
12
  export const META_SELECTORS = [
13
13
  'getIsResolving',
@@ -114,30 +114,9 @@ const enrichSelectors = memoize( ( ( selectors ) => {
114
114
  args
115
115
  )?.status;
116
116
 
117
- let status;
118
- switch ( resolutionStatus ) {
119
- case 'resolving':
120
- status = Status.Resolving;
121
- break;
122
- case 'finished':
123
- status = Status.Success;
124
- break;
125
- case 'error':
126
- status = Status.Error;
127
- break;
128
- case undefined:
129
- status = Status.Idle;
130
- break;
131
- }
132
-
133
117
  return {
134
118
  data,
135
- status,
136
- isResolving: status === Status.Resolving,
137
- hasStarted: status !== Status.Idle,
138
- hasResolved:
139
- status === Status.Success ||
140
- status === Status.Error,
119
+ ...getResolutionStatus( resolutionStatus ),
141
120
  };
142
121
  },
143
122
  } );
@@ -0,0 +1,40 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { ResolutionStatus } from '@wordpress/data';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { Status } from './constants';
10
+
11
+ /**
12
+ * Normalizes a resolution status from the store into the resolution info
13
+ * shared by the entity record hooks and `useQuerySelect`.
14
+ *
15
+ * @param resolutionStatus Status returned by the `getResolutionState` selector.
16
+ * @return Resolution info object.
17
+ */
18
+ export function getResolutionStatus( resolutionStatus?: ResolutionStatus ) {
19
+ let status: Status;
20
+ switch ( resolutionStatus ) {
21
+ case 'resolving':
22
+ status = Status.Resolving;
23
+ break;
24
+ case 'finished':
25
+ status = Status.Success;
26
+ break;
27
+ case 'error':
28
+ status = Status.Error;
29
+ break;
30
+ default:
31
+ status = Status.Idle;
32
+ }
33
+
34
+ return {
35
+ status,
36
+ isResolving: status === Status.Resolving,
37
+ hasStarted: status !== Status.Idle,
38
+ hasResolved: status === Status.Success || status === Status.Error,
39
+ };
40
+ }
@@ -316,6 +316,12 @@ export function isCollaborationSupported( state: State ): boolean {
316
316
  /**
317
317
  * Returns the view configuration for the given entity type.
318
318
  *
319
+ * An optional fourth argument (e.g. `{ fields }`) may be passed when selecting;
320
+ * it is consumed by the `getViewConfig` resolver to request a subset of the
321
+ * config via the REST API `_fields` parameter and does not affect what is read
322
+ * here. Partial responses are merged in the reducer, so the returned object may
323
+ * accumulate properties across requests for the same entity.
324
+ *
319
325
  * @param state Data state.
320
326
  * @param kind Entity kind.
321
327
  * @param name Entity name.
package/src/reducer.js CHANGED
@@ -13,7 +13,7 @@ import { createUndoManager } from '@wordpress/undo-manager';
13
13
  /**
14
14
  * Internal dependencies
15
15
  */
16
- import { ifMatchingAction, replaceAction } from './utils';
16
+ import { clearUnchangedEdits, ifMatchingAction, replaceAction } from './utils';
17
17
  import { reducer as queriedDataReducer } from './queried-data';
18
18
  import { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';
19
19
  import { ConnectionErrorCode } from './sync';
@@ -150,19 +150,23 @@ const withMultiEntityRecordEdits = ( reducer ) => ( state, action ) => {
150
150
 
151
151
  let newState = state;
152
152
  record.forEach( ( { id: { kind, name, recordId }, changes } ) => {
153
+ const persistedRecord =
154
+ state?.queriedData?.items?.default?.[ recordId ];
155
+ const edits = Object.fromEntries(
156
+ Object.entries( changes ).map( ( [ key, value ] ) => [
157
+ key,
158
+ action.type === 'UNDO' ? value.from : value.to,
159
+ ] )
160
+ );
161
+
153
162
  newState = reducer( newState, {
154
163
  type: 'EDIT_ENTITY_RECORD',
155
164
  kind,
156
165
  name,
157
166
  recordId,
158
- edits: Object.entries( changes ).reduce(
159
- ( acc, [ key, value ] ) => {
160
- acc[ key ] =
161
- action.type === 'UNDO' ? value.from : value.to;
162
- return acc;
163
- },
164
- {}
165
- ),
167
+ // Clear edits matching the persisted record so the entity is
168
+ // no longer dirty after undoing back to its saved state.
169
+ edits: clearUnchangedEdits( edits, persistedRecord ),
166
170
  } );
167
171
  } );
168
172
  return newState;
@@ -747,11 +751,18 @@ export function collaborationSupported( state = true, action ) {
747
751
  */
748
752
  export function viewConfigs( state = {}, action ) {
749
753
  switch ( action.type ) {
750
- case 'RECEIVE_VIEW_CONFIG':
754
+ case 'RECEIVE_VIEW_CONFIG': {
755
+ const key = `${ action.kind }/${ action.name }`;
756
+ // Merge so a partial (`_fields`) response doesn't clobber
757
+ // properties already received for the same entity.
751
758
  return {
752
759
  ...state,
753
- [ `${ action.kind }/${ action.name }` ]: action.config,
760
+ [ key ]: {
761
+ ...state[ key ],
762
+ ...action.config,
763
+ },
754
764
  };
765
+ }
755
766
  }
756
767
  return state;
757
768
  }