@wordpress/core-data 6.18.1-next.5a1d1283.0 → 6.19.1
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 +2 -0
- package/README.md +13 -1
- package/build/actions.js +38 -32
- package/build/actions.js.map +1 -1
- package/build/entities.js +10 -2
- package/build/entities.js.map +1 -1
- package/build/entity-provider.js +2 -99
- package/build/entity-provider.js.map +1 -1
- package/build/entity-types/helpers.js.map +1 -1
- package/build/footnotes/get-footnotes-order.js +35 -0
- package/build/footnotes/get-footnotes-order.js.map +1 -0
- package/build/footnotes/get-rich-text-values-cached.js +39 -0
- package/build/footnotes/get-rich-text-values-cached.js.map +1 -0
- package/build/footnotes/index.js +96 -0
- package/build/footnotes/index.js.map +1 -0
- package/build/hooks/use-entity-record.js +6 -3
- package/build/hooks/use-entity-record.js.map +1 -1
- package/build/hooks/use-resource-permissions.js.map +1 -1
- package/build/private-selectors.js +4 -17
- package/build/private-selectors.js.map +1 -1
- package/build/reducer.js +33 -145
- package/build/reducer.js.map +1 -1
- package/build/resolvers.js +39 -18
- package/build/resolvers.js.map +1 -1
- package/build/selectors.js +21 -25
- package/build/selectors.js.map +1 -1
- package/build/utils/get-nested-value.js +30 -0
- package/build/utils/get-nested-value.js.map +1 -0
- package/build/utils/index.js +7 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/set-nested-value.js +11 -6
- package/build/utils/set-nested-value.js.map +1 -1
- package/build-module/actions.js +36 -30
- package/build-module/actions.js.map +1 -1
- package/build-module/entities.js +10 -2
- package/build-module/entities.js.map +1 -1
- package/build-module/entity-provider.js +2 -99
- package/build-module/entity-provider.js.map +1 -1
- package/build-module/entity-types/helpers.js.map +1 -1
- package/build-module/footnotes/get-footnotes-order.js +27 -0
- package/build-module/footnotes/get-footnotes-order.js.map +1 -0
- package/build-module/footnotes/get-rich-text-values-cached.js +33 -0
- package/build-module/footnotes/get-rich-text-values-cached.js.map +1 -0
- package/build-module/footnotes/index.js +88 -0
- package/build-module/footnotes/index.js.map +1 -0
- package/build-module/hooks/use-entity-record.js +6 -3
- package/build-module/hooks/use-entity-record.js.map +1 -1
- package/build-module/hooks/use-resource-permissions.js.map +1 -1
- package/build-module/private-selectors.js +3 -15
- package/build-module/private-selectors.js.map +1 -1
- package/build-module/reducer.js +30 -144
- package/build-module/reducer.js.map +1 -1
- package/build-module/resolvers.js +37 -17
- package/build-module/resolvers.js.map +1 -1
- package/build-module/selectors.js +19 -29
- package/build-module/selectors.js.map +1 -1
- package/build-module/utils/get-nested-value.js +24 -0
- package/build-module/utils/get-nested-value.js.map +1 -0
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/set-nested-value.js +11 -6
- package/build-module/utils/set-nested-value.js.map +1 -1
- package/build-types/actions.d.ts +1 -6
- package/build-types/actions.d.ts.map +1 -1
- package/build-types/entities.d.ts.map +1 -1
- package/build-types/entity-provider.d.ts.map +1 -1
- package/build-types/footnotes/get-footnotes-order.d.ts +2 -0
- package/build-types/footnotes/get-footnotes-order.d.ts.map +1 -0
- package/build-types/footnotes/get-rich-text-values-cached.d.ts +2 -0
- package/build-types/footnotes/get-rich-text-values-cached.d.ts.map +1 -0
- package/build-types/footnotes/index.d.ts +4 -0
- package/build-types/footnotes/index.d.ts.map +1 -0
- package/build-types/hooks/use-entity-record.d.ts +2 -0
- package/build-types/hooks/use-entity-record.d.ts.map +1 -1
- package/build-types/index.d.ts +3 -2
- package/build-types/index.d.ts.map +1 -1
- package/build-types/private-selectors.d.ts +3 -13
- package/build-types/private-selectors.d.ts.map +1 -1
- package/build-types/reducer.d.ts +7 -23
- package/build-types/reducer.d.ts.map +1 -1
- package/build-types/resolvers.d.ts +4 -0
- package/build-types/resolvers.d.ts.map +1 -1
- package/build-types/selectors.d.ts +19 -14
- package/build-types/selectors.d.ts.map +1 -1
- package/build-types/utils/get-nested-value.d.ts +14 -0
- package/build-types/utils/get-nested-value.d.ts.map +1 -0
- package/build-types/utils/index.d.ts +1 -0
- package/build-types/utils/set-nested-value.d.ts +8 -4
- package/build-types/utils/set-nested-value.d.ts.map +1 -1
- package/package.json +17 -16
- package/src/actions.js +44 -32
- package/src/entities.js +12 -2
- package/src/entity-provider.js +2 -134
- package/src/entity-types/helpers.ts +2 -2
- package/src/footnotes/get-footnotes-order.js +30 -0
- package/src/footnotes/get-rich-text-values-cached.js +35 -0
- package/src/footnotes/index.js +119 -0
- package/src/hooks/test/use-entity-record.js +4 -0
- package/src/hooks/use-entity-record.ts +12 -3
- package/src/hooks/use-resource-permissions.ts +1 -1
- package/src/private-selectors.ts +4 -17
- package/src/reducer.js +36 -155
- package/src/resolvers.js +59 -32
- package/src/selectors.ts +39 -51
- package/src/test/reducer.js +0 -233
- package/src/test/selectors.js +0 -54
- package/src/utils/get-nested-value.js +27 -0
- package/src/utils/index.js +1 -0
- package/src/utils/set-nested-value.js +12 -6
- package/src/utils/test/get-nested-value.js +61 -0
- package/src/utils/test/set-nested-value.js +7 -0
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/build/reducer.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.currentGlobalStylesId = currentGlobalStylesId;
|
|
|
11
11
|
exports.currentTheme = currentTheme;
|
|
12
12
|
exports.currentUser = currentUser;
|
|
13
13
|
exports.default = void 0;
|
|
14
|
+
exports.editsReference = editsReference;
|
|
14
15
|
exports.embedPreviews = embedPreviews;
|
|
15
16
|
exports.entities = void 0;
|
|
16
17
|
exports.entitiesConfig = entitiesConfig;
|
|
@@ -20,13 +21,14 @@ exports.terms = terms;
|
|
|
20
21
|
exports.themeBaseGlobalStyles = themeBaseGlobalStyles;
|
|
21
22
|
exports.themeGlobalStyleRevisions = themeGlobalStyleRevisions;
|
|
22
23
|
exports.themeGlobalStyleVariations = themeGlobalStyleVariations;
|
|
23
|
-
exports.
|
|
24
|
+
exports.undoManager = undoManager;
|
|
25
|
+
exports.userPatternCategories = userPatternCategories;
|
|
24
26
|
exports.userPermissions = userPermissions;
|
|
25
27
|
exports.users = users;
|
|
26
28
|
var _es = _interopRequireDefault(require("fast-deep-equal/es6"));
|
|
27
29
|
var _compose = require("@wordpress/compose");
|
|
28
30
|
var _data = require("@wordpress/data");
|
|
29
|
-
var
|
|
31
|
+
var _undoManager = require("@wordpress/undo-manager");
|
|
30
32
|
var _utils = require("./utils");
|
|
31
33
|
var _queriedData = require("./queried-data");
|
|
32
34
|
var _entities = require("./entities");
|
|
@@ -202,25 +204,26 @@ function themeGlobalStyleVariations(state = {}, action) {
|
|
|
202
204
|
const withMultiEntityRecordEdits = reducer => (state, action) => {
|
|
203
205
|
if (action.type === 'UNDO' || action.type === 'REDO') {
|
|
204
206
|
const {
|
|
205
|
-
|
|
207
|
+
record
|
|
206
208
|
} = action;
|
|
207
209
|
let newState = state;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
210
|
+
record.forEach(({
|
|
211
|
+
id: {
|
|
212
|
+
kind,
|
|
213
|
+
name,
|
|
214
|
+
recordId
|
|
215
|
+
},
|
|
216
|
+
changes
|
|
215
217
|
}) => {
|
|
216
218
|
newState = reducer(newState, {
|
|
217
219
|
type: 'EDIT_ENTITY_RECORD',
|
|
218
220
|
kind,
|
|
219
221
|
name,
|
|
220
222
|
recordId,
|
|
221
|
-
edits: {
|
|
222
|
-
[
|
|
223
|
-
|
|
223
|
+
edits: Object.entries(changes).reduce((acc, [key, value]) => {
|
|
224
|
+
acc[key] = action.type === 'UNDO' ? value.from : value.to;
|
|
225
|
+
return acc;
|
|
226
|
+
}, {})
|
|
224
227
|
});
|
|
225
228
|
});
|
|
226
229
|
return newState;
|
|
@@ -404,142 +407,18 @@ const entities = (state = {}, action) => {
|
|
|
404
407
|
};
|
|
405
408
|
|
|
406
409
|
/**
|
|
407
|
-
* @
|
|
408
|
-
*
|
|
409
|
-
* @property {number} list The undo stack.
|
|
410
|
-
* @property {number} offset Where in the undo stack we are.
|
|
411
|
-
* @property {Object} cache Cache of unpersisted edits.
|
|
412
|
-
*/
|
|
413
|
-
|
|
414
|
-
/** @typedef {Array<Object> & UndoStateMeta} UndoState */
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* @type {UndoState}
|
|
418
|
-
*
|
|
419
|
-
* @todo Given how we use this we might want to make a custom class for it.
|
|
410
|
+
* @type {UndoManager}
|
|
420
411
|
*/
|
|
421
412
|
exports.entities = entities;
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
/**
|
|
428
|
-
* Reducer keeping track of entity edit undo history.
|
|
429
|
-
*
|
|
430
|
-
* @param {UndoState} state Current state.
|
|
431
|
-
* @param {Object} action Dispatched action.
|
|
432
|
-
*
|
|
433
|
-
* @return {UndoState} Updated state.
|
|
434
|
-
*/
|
|
435
|
-
function undo(state = UNDO_INITIAL_STATE, action) {
|
|
436
|
-
const omitPendingRedos = currentState => {
|
|
437
|
-
return {
|
|
438
|
-
...currentState,
|
|
439
|
-
list: currentState.list.slice(0, currentState.offset || undefined),
|
|
440
|
-
offset: 0
|
|
441
|
-
};
|
|
442
|
-
};
|
|
443
|
-
const appendCachedEditsToLastUndo = currentState => {
|
|
444
|
-
if (!currentState.cache) {
|
|
445
|
-
return currentState;
|
|
446
|
-
}
|
|
447
|
-
let nextState = {
|
|
448
|
-
...currentState,
|
|
449
|
-
list: [...currentState.list]
|
|
450
|
-
};
|
|
451
|
-
nextState = omitPendingRedos(nextState);
|
|
452
|
-
const previousUndoState = nextState.list.pop();
|
|
453
|
-
const updatedUndoState = currentState.cache.reduce(appendEditToStack, previousUndoState);
|
|
454
|
-
nextState.list.push(updatedUndoState);
|
|
455
|
-
return {
|
|
456
|
-
...nextState,
|
|
457
|
-
cache: undefined
|
|
458
|
-
};
|
|
459
|
-
};
|
|
460
|
-
const appendEditToStack = (stack = [], {
|
|
461
|
-
kind,
|
|
462
|
-
name,
|
|
463
|
-
recordId,
|
|
464
|
-
property,
|
|
465
|
-
from,
|
|
466
|
-
to
|
|
467
|
-
}) => {
|
|
468
|
-
const existingEditIndex = stack?.findIndex(({
|
|
469
|
-
kind: k,
|
|
470
|
-
name: n,
|
|
471
|
-
recordId: r,
|
|
472
|
-
property: p
|
|
473
|
-
}) => {
|
|
474
|
-
return k === kind && n === name && r === recordId && p === property;
|
|
475
|
-
});
|
|
476
|
-
const nextStack = [...stack];
|
|
477
|
-
if (existingEditIndex !== -1) {
|
|
478
|
-
// If the edit is already in the stack leave the initial "from" value.
|
|
479
|
-
nextStack[existingEditIndex] = {
|
|
480
|
-
...nextStack[existingEditIndex],
|
|
481
|
-
to
|
|
482
|
-
};
|
|
483
|
-
} else {
|
|
484
|
-
nextStack.push({
|
|
485
|
-
kind,
|
|
486
|
-
name,
|
|
487
|
-
recordId,
|
|
488
|
-
property,
|
|
489
|
-
from,
|
|
490
|
-
to
|
|
491
|
-
});
|
|
492
|
-
}
|
|
493
|
-
return nextStack;
|
|
494
|
-
};
|
|
413
|
+
function undoManager(state = (0, _undoManager.createUndoManager)()) {
|
|
414
|
+
return state;
|
|
415
|
+
}
|
|
416
|
+
function editsReference(state = {}, action) {
|
|
495
417
|
switch (action.type) {
|
|
496
|
-
case '
|
|
497
|
-
return appendCachedEditsToLastUndo(state);
|
|
418
|
+
case 'EDIT_ENTITY_RECORD':
|
|
498
419
|
case 'UNDO':
|
|
499
420
|
case 'REDO':
|
|
500
|
-
{
|
|
501
|
-
const nextState = appendCachedEditsToLastUndo(state);
|
|
502
|
-
return {
|
|
503
|
-
...nextState,
|
|
504
|
-
offset: state.offset + (action.type === 'UNDO' ? -1 : 1)
|
|
505
|
-
};
|
|
506
|
-
}
|
|
507
|
-
case 'EDIT_ENTITY_RECORD':
|
|
508
|
-
{
|
|
509
|
-
if (!action.meta.undo) {
|
|
510
|
-
return state;
|
|
511
|
-
}
|
|
512
|
-
const edits = Object.keys(action.edits).map(key => {
|
|
513
|
-
return {
|
|
514
|
-
kind: action.kind,
|
|
515
|
-
name: action.name,
|
|
516
|
-
recordId: action.recordId,
|
|
517
|
-
property: key,
|
|
518
|
-
from: action.meta.undo.edits[key],
|
|
519
|
-
to: action.edits[key]
|
|
520
|
-
};
|
|
521
|
-
});
|
|
522
|
-
if (action.meta.undo.isCached) {
|
|
523
|
-
return {
|
|
524
|
-
...state,
|
|
525
|
-
cache: edits.reduce(appendEditToStack, state.cache)
|
|
526
|
-
};
|
|
527
|
-
}
|
|
528
|
-
let nextState = omitPendingRedos(state);
|
|
529
|
-
nextState = appendCachedEditsToLastUndo(nextState);
|
|
530
|
-
nextState = {
|
|
531
|
-
...nextState,
|
|
532
|
-
list: [...nextState.list]
|
|
533
|
-
};
|
|
534
|
-
// When an edit is a function it's an optimization to avoid running some expensive operation.
|
|
535
|
-
// We can't rely on the function references being the same so we opt out of comparing them here.
|
|
536
|
-
const comparisonUndoEdits = Object.values(action.meta.undo.edits).filter(edit => typeof edit !== 'function');
|
|
537
|
-
const comparisonEdits = Object.values(action.edits).filter(edit => typeof edit !== 'function');
|
|
538
|
-
if (!(0, _isShallowEqual.default)(comparisonUndoEdits, comparisonEdits)) {
|
|
539
|
-
nextState.list.push(edits);
|
|
540
|
-
}
|
|
541
|
-
return nextState;
|
|
542
|
-
}
|
|
421
|
+
return {};
|
|
543
422
|
}
|
|
544
423
|
return state;
|
|
545
424
|
}
|
|
@@ -623,6 +502,13 @@ function blockPatternCategories(state = [], action) {
|
|
|
623
502
|
}
|
|
624
503
|
return state;
|
|
625
504
|
}
|
|
505
|
+
function userPatternCategories(state = [], action) {
|
|
506
|
+
switch (action.type) {
|
|
507
|
+
case 'RECEIVE_USER_PATTERN_CATEGORIES':
|
|
508
|
+
return action.patternCategories;
|
|
509
|
+
}
|
|
510
|
+
return state;
|
|
511
|
+
}
|
|
626
512
|
function navigationFallbackId(state = null, action) {
|
|
627
513
|
switch (action.type) {
|
|
628
514
|
case 'RECEIVE_NAVIGATION_FALLBACK_ID':
|
|
@@ -660,12 +546,14 @@ var _default = (0, _data.combineReducers)({
|
|
|
660
546
|
themeGlobalStyleRevisions,
|
|
661
547
|
taxonomies,
|
|
662
548
|
entities,
|
|
663
|
-
|
|
549
|
+
editsReference,
|
|
550
|
+
undoManager,
|
|
664
551
|
embedPreviews,
|
|
665
552
|
userPermissions,
|
|
666
553
|
autosaves,
|
|
667
554
|
blockPatterns,
|
|
668
555
|
blockPatternCategories,
|
|
556
|
+
userPatternCategories,
|
|
669
557
|
navigationFallbackId
|
|
670
558
|
});
|
|
671
559
|
exports.default = _default;
|
package/build/reducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_es","_interopRequireDefault","require","_compose","_data","_isShallowEqual","_utils","_queriedData","_entities","terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","map","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","withMultiEntityRecordEdits","reducer","stackedEdits","newState","forEach","kind","name","recordId","property","from","to","edits","entity","entityConfig","compose","ifMatchingAction","replaceAction","key","DEFAULT_ENTITY_KEY","combineReducers","queriedData","queriedDataReducer","_action$query$context","context","query","nextState","record","items","nextEdits","Object","keys","acc","_record$key$raw","fastDeepEqual","raw","persistedEdits","length","saving","pending","error","isAutosave","deleting","entitiesConfig","rootEntitiesConfig","entities","newConfig","config","entitiesDataReducer","entitiesByKind","push","entries","memo","subEntities","kindReducer","kindMemo","newData","records","exports","UNDO_INITIAL_STATE","list","offset","undo","omitPendingRedos","currentState","slice","appendCachedEditsToLastUndo","cache","previousUndoState","pop","updatedUndoState","appendEditToStack","stack","existingEditIndex","findIndex","k","n","r","p","nextStack","meta","isCached","comparisonUndoEdits","values","filter","edit","comparisonEdits","isShallowEqual","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories","navigationFallbackId","fallbackId","themeGlobalStyleRevisions","currentId","revisions","_default","default"],"sources":["@wordpress/core-data/src/reducer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { combineReducers } from '@wordpress/data';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: action.users.map( ( user ) => user.id ),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nconst withMultiEntityRecordEdits = ( reducer ) => ( state, action ) => {\n\tif ( action.type === 'UNDO' || action.type === 'REDO' ) {\n\t\tconst { stackedEdits } = action;\n\n\t\tlet newState = state;\n\t\tstackedEdits.forEach(\n\t\t\t( { kind, name, recordId, property, from, to } ) => {\n\t\t\t\tnewState = reducer( newState, {\n\t\t\t\t\ttype: 'EDIT_ENTITY_RECORD',\n\t\t\t\t\tkind,\n\t\t\t\t\tname,\n\t\t\t\t\trecordId,\n\t\t\t\t\tedits: {\n\t\t\t\t\t\t[ property ]: action.type === 'UNDO' ? from : to,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\t\treturn newState;\n\t}\n\n\treturn reducer( state, action );\n};\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn compose( [\n\t\twithMultiEntityRecordEdits,\n\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! fastDeepEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\trecord[ key ]?.raw ?? record[ key ]\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! fastDeepEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = newConfig.reduce( ( acc, record ) => {\n\t\t\tconst { kind } = record;\n\t\t\tif ( ! acc[ kind ] ) {\n\t\t\t\tacc[ kind ] = [];\n\t\t\t}\n\t\t\tacc[ kind ].push( record );\n\t\t\treturn acc;\n\t\t}, {} );\n\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @typedef {Object} UndoStateMeta\n *\n * @property {number} list The undo stack.\n * @property {number} offset Where in the undo stack we are.\n * @property {Object} cache Cache of unpersisted edits.\n */\n\n/** @typedef {Array<Object> & UndoStateMeta} UndoState */\n\n/**\n * @type {UndoState}\n *\n * @todo Given how we use this we might want to make a custom class for it.\n */\nconst UNDO_INITIAL_STATE = { list: [], offset: 0 };\n\n/**\n * Reducer keeping track of entity edit undo history.\n *\n * @param {UndoState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {UndoState} Updated state.\n */\nexport function undo( state = UNDO_INITIAL_STATE, action ) {\n\tconst omitPendingRedos = ( currentState ) => {\n\t\treturn {\n\t\t\t...currentState,\n\t\t\tlist: currentState.list.slice(\n\t\t\t\t0,\n\t\t\t\tcurrentState.offset || undefined\n\t\t\t),\n\t\t\toffset: 0,\n\t\t};\n\t};\n\n\tconst appendCachedEditsToLastUndo = ( currentState ) => {\n\t\tif ( ! currentState.cache ) {\n\t\t\treturn currentState;\n\t\t}\n\n\t\tlet nextState = {\n\t\t\t...currentState,\n\t\t\tlist: [ ...currentState.list ],\n\t\t};\n\t\tnextState = omitPendingRedos( nextState );\n\t\tconst previousUndoState = nextState.list.pop();\n\t\tconst updatedUndoState = currentState.cache.reduce(\n\t\t\tappendEditToStack,\n\t\t\tpreviousUndoState\n\t\t);\n\t\tnextState.list.push( updatedUndoState );\n\n\t\treturn {\n\t\t\t...nextState,\n\t\t\tcache: undefined,\n\t\t};\n\t};\n\n\tconst appendEditToStack = (\n\t\tstack = [],\n\t\t{ kind, name, recordId, property, from, to }\n\t) => {\n\t\tconst existingEditIndex = stack?.findIndex(\n\t\t\t( { kind: k, name: n, recordId: r, property: p } ) => {\n\t\t\t\treturn (\n\t\t\t\t\tk === kind && n === name && r === recordId && p === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\tconst nextStack = [ ...stack ];\n\t\tif ( existingEditIndex !== -1 ) {\n\t\t\t// If the edit is already in the stack leave the initial \"from\" value.\n\t\t\tnextStack[ existingEditIndex ] = {\n\t\t\t\t...nextStack[ existingEditIndex ],\n\t\t\t\tto,\n\t\t\t};\n\t\t} else {\n\t\t\tnextStack.push( {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\trecordId,\n\t\t\t\tproperty,\n\t\t\t\tfrom,\n\t\t\t\tto,\n\t\t\t} );\n\t\t}\n\t\treturn nextStack;\n\t};\n\n\tswitch ( action.type ) {\n\t\tcase 'CREATE_UNDO_LEVEL':\n\t\t\treturn appendCachedEditsToLastUndo( state );\n\n\t\tcase 'UNDO':\n\t\tcase 'REDO': {\n\t\t\tconst nextState = appendCachedEditsToLastUndo( state );\n\t\t\treturn {\n\t\t\t\t...nextState,\n\t\t\t\toffset: state.offset + ( action.type === 'UNDO' ? -1 : 1 ),\n\t\t\t};\n\t\t}\n\n\t\tcase 'EDIT_ENTITY_RECORD': {\n\t\t\tif ( ! action.meta.undo ) {\n\t\t\t\treturn state;\n\t\t\t}\n\n\t\t\tconst edits = Object.keys( action.edits ).map( ( key ) => {\n\t\t\t\treturn {\n\t\t\t\t\tkind: action.kind,\n\t\t\t\t\tname: action.name,\n\t\t\t\t\trecordId: action.recordId,\n\t\t\t\t\tproperty: key,\n\t\t\t\t\tfrom: action.meta.undo.edits[ key ],\n\t\t\t\t\tto: action.edits[ key ],\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\tif ( action.meta.undo.isCached ) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tcache: edits.reduce( appendEditToStack, state.cache ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tlet nextState = omitPendingRedos( state );\n\t\t\tnextState = appendCachedEditsToLastUndo( nextState );\n\t\t\tnextState = { ...nextState, list: [ ...nextState.list ] };\n\t\t\t// When an edit is a function it's an optimization to avoid running some expensive operation.\n\t\t\t// We can't rely on the function references being the same so we opt out of comparing them here.\n\t\t\tconst comparisonUndoEdits = Object.values(\n\t\t\t\taction.meta.undo.edits\n\t\t\t).filter( ( edit ) => typeof edit !== 'function' );\n\t\t\tconst comparisonEdits = Object.values( action.edits ).filter(\n\t\t\t\t( edit ) => typeof edit !== 'function'\n\t\t\t);\n\t\t\tif ( ! isShallowEqual( comparisonUndoEdits, comparisonEdits ) ) {\n\t\t\t\tnextState.list.push( edits );\n\t\t\t}\n\n\t\t\treturn nextState;\n\t\t}\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport function navigationFallbackId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_NAVIGATION_FALLBACK_ID':\n\t\t\treturn action.fallbackId;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles revisions.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleRevisions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_REVISIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.currentId ]: action.revisions,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\tthemeGlobalStyleRevisions,\n\ttaxonomies,\n\tentities,\n\tundo,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n\tnavigationFallbackId,\n} );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_es","_interopRequireDefault","require","_compose","_data","_undoManager","_utils","_queriedData","_entities","terms","state","action","type","taxonomy","users","byId","queries","reduce","newUsers","user","id","queryID","map","currentUser","taxonomies","currentTheme","undefined","stylesheet","currentGlobalStylesId","themeBaseGlobalStyles","globalStyles","themeGlobalStyleVariations","variations","withMultiEntityRecordEdits","reducer","record","newState","forEach","kind","name","recordId","changes","edits","Object","entries","acc","key","value","from","to","entity","entityConfig","compose","ifMatchingAction","replaceAction","DEFAULT_ENTITY_KEY","combineReducers","queriedData","queriedDataReducer","_action$query$context","context","query","nextState","items","nextEdits","keys","_record$key$raw","fastDeepEqual","raw","persistedEdits","length","saving","pending","error","isAutosave","deleting","entitiesConfig","rootEntitiesConfig","entities","newConfig","config","entitiesDataReducer","entitiesByKind","push","memo","subEntities","kindReducer","kindMemo","newData","records","exports","undoManager","createUndoManager","editsReference","embedPreviews","url","preview","userPermissions","isAllowed","autosaves","postId","autosavesData","blockPatterns","patterns","blockPatternCategories","categories","userPatternCategories","patternCategories","navigationFallbackId","fallbackId","themeGlobalStyleRevisions","currentId","revisions","_default","default"],"sources":["@wordpress/core-data/src/reducer.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { combineReducers } from '@wordpress/data';\nimport { createUndoManager } from '@wordpress/undo-manager';\n\n/**\n * Internal dependencies\n */\nimport { ifMatchingAction, replaceAction } from './utils';\nimport { reducer as queriedDataReducer } from './queried-data';\nimport { rootEntitiesConfig, DEFAULT_ENTITY_KEY } from './entities';\n\n/** @typedef {import('./types').AnyFunction} AnyFunction */\n\n/**\n * Reducer managing terms state. Keyed by taxonomy slug, the value is either\n * undefined (if no request has been made for given taxonomy), null (if a\n * request is in-flight for given taxonomy), or the array of terms for the\n * taxonomy.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function terms( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TERMS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.taxonomy ]: action.terms,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing authors state. Keyed by id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function users( state = { byId: {}, queries: {} }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_QUERY':\n\t\t\treturn {\n\t\t\t\tbyId: {\n\t\t\t\t\t...state.byId,\n\t\t\t\t\t// Key users by their ID.\n\t\t\t\t\t...action.users.reduce(\n\t\t\t\t\t\t( newUsers, user ) => ( {\n\t\t\t\t\t\t\t...newUsers,\n\t\t\t\t\t\t\t[ user.id ]: user,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t{}\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tqueries: {\n\t\t\t\t\t...state.queries,\n\t\t\t\t\t[ action.queryID ]: action.users.map( ( user ) => user.id ),\n\t\t\t\t},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing current user state.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function currentUser( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_USER':\n\t\t\treturn action.currentUser;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing taxonomies.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function taxonomies( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_TAXONOMIES':\n\t\t\treturn action.taxonomies;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current theme.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentTheme( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_THEME':\n\t\t\treturn action.currentTheme.stylesheet;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the current global styles id.\n *\n * @param {string|undefined} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string|undefined} Updated state.\n */\nexport function currentGlobalStylesId( state = undefined, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_CURRENT_GLOBAL_STYLES_ID':\n\t\t\treturn action.id;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme base global styles.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeBaseGlobalStyles( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLES':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.globalStyles,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles variations.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleVariations( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_VARIATIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.stylesheet ]: action.variations,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nconst withMultiEntityRecordEdits = ( reducer ) => ( state, action ) => {\n\tif ( action.type === 'UNDO' || action.type === 'REDO' ) {\n\t\tconst { record } = action;\n\n\t\tlet newState = state;\n\t\trecord.forEach( ( { id: { kind, name, recordId }, changes } ) => {\n\t\t\tnewState = reducer( newState, {\n\t\t\t\ttype: 'EDIT_ENTITY_RECORD',\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\trecordId,\n\t\t\t\tedits: Object.entries( changes ).reduce(\n\t\t\t\t\t( acc, [ key, value ] ) => {\n\t\t\t\t\t\tacc[ key ] =\n\t\t\t\t\t\t\taction.type === 'UNDO' ? value.from : value.to;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t),\n\t\t\t} );\n\t\t} );\n\t\treturn newState;\n\t}\n\n\treturn reducer( state, action );\n};\n\n/**\n * Higher Order Reducer for a given entity config. It supports:\n *\n * - Fetching\n * - Editing\n * - Saving\n *\n * @param {Object} entityConfig Entity config.\n *\n * @return {AnyFunction} Reducer.\n */\nfunction entity( entityConfig ) {\n\treturn compose( [\n\t\twithMultiEntityRecordEdits,\n\n\t\t// Limit to matching action type so we don't attempt to replace action on\n\t\t// an unhandled action.\n\t\tifMatchingAction(\n\t\t\t( action ) =>\n\t\t\t\taction.name &&\n\t\t\t\taction.kind &&\n\t\t\t\taction.name === entityConfig.name &&\n\t\t\t\taction.kind === entityConfig.kind\n\t\t),\n\n\t\t// Inject the entity config into the action.\n\t\treplaceAction( ( action ) => {\n\t\t\treturn {\n\t\t\t\t...action,\n\t\t\t\tkey: entityConfig.key || DEFAULT_ENTITY_KEY,\n\t\t\t};\n\t\t} ),\n\t] )(\n\t\tcombineReducers( {\n\t\t\tqueriedData: queriedDataReducer,\n\n\t\t\tedits: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'RECEIVE_ITEMS':\n\t\t\t\t\t\tconst context = action?.query?.context ?? 'default';\n\t\t\t\t\t\tif ( context !== 'default' ) {\n\t\t\t\t\t\t\treturn state;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst nextState = { ...state };\n\n\t\t\t\t\t\tfor ( const record of action.items ) {\n\t\t\t\t\t\t\tconst recordId = record[ action.key ];\n\t\t\t\t\t\t\tconst edits = nextState[ recordId ];\n\t\t\t\t\t\t\tif ( ! edits ) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst nextEdits = Object.keys( edits ).reduce(\n\t\t\t\t\t\t\t\t( acc, key ) => {\n\t\t\t\t\t\t\t\t\t// If the edited value is still different to the persisted value,\n\t\t\t\t\t\t\t\t\t// keep the edited value in edits.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t// Edits are the \"raw\" attribute values, but records may have\n\t\t\t\t\t\t\t\t\t\t// objects with more properties, so we use `get` here for the\n\t\t\t\t\t\t\t\t\t\t// comparison.\n\t\t\t\t\t\t\t\t\t\t! fastDeepEqual(\n\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\trecord[ key ]?.raw ?? record[ key ]\n\t\t\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\t\t\t// Sometimes the server alters the sent value which means\n\t\t\t\t\t\t\t\t\t\t// we need to also remove the edits before the api request.\n\t\t\t\t\t\t\t\t\t\t( ! action.persistedEdits ||\n\t\t\t\t\t\t\t\t\t\t\t! fastDeepEqual(\n\t\t\t\t\t\t\t\t\t\t\t\tedits[ key ],\n\t\t\t\t\t\t\t\t\t\t\t\taction.persistedEdits[ key ]\n\t\t\t\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tacc[ key ] = edits[ key ];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( Object.keys( nextEdits ).length ) {\n\t\t\t\t\t\t\t\tnextState[ recordId ] = nextEdits;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdelete nextState[ recordId ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn nextState;\n\n\t\t\t\t\tcase 'EDIT_ENTITY_RECORD':\n\t\t\t\t\t\tconst nextEdits = {\n\t\t\t\t\t\t\t...state[ action.recordId ],\n\t\t\t\t\t\t\t...action.edits,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tObject.keys( nextEdits ).forEach( ( key ) => {\n\t\t\t\t\t\t\t// Delete cleared edits so that the properties\n\t\t\t\t\t\t\t// are not considered dirty.\n\t\t\t\t\t\t\tif ( nextEdits[ key ] === undefined ) {\n\t\t\t\t\t\t\t\tdelete nextEdits[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: nextEdits,\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tsaving: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'SAVE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type === 'SAVE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t\tisAutosave: action.isAutosave,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\n\t\t\tdeleting: ( state = {}, action ) => {\n\t\t\t\tswitch ( action.type ) {\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_START':\n\t\t\t\t\tcase 'DELETE_ENTITY_RECORD_FINISH':\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t[ action.recordId ]: {\n\t\t\t\t\t\t\t\tpending:\n\t\t\t\t\t\t\t\t\taction.type ===\n\t\t\t\t\t\t\t\t\t'DELETE_ENTITY_RECORD_START',\n\t\t\t\t\t\t\t\terror: action.error,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn state;\n\t\t\t},\n\t\t} )\n\t);\n}\n\n/**\n * Reducer keeping track of the registered entities.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function entitiesConfig( state = rootEntitiesConfig, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ADD_ENTITIES':\n\t\t\treturn [ ...state, ...action.entities ];\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the registered entities config and data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport const entities = ( state = {}, action ) => {\n\tconst newConfig = entitiesConfig( state.config, action );\n\n\t// Generates a dynamic reducer for the entities.\n\tlet entitiesDataReducer = state.reducer;\n\tif ( ! entitiesDataReducer || newConfig !== state.config ) {\n\t\tconst entitiesByKind = newConfig.reduce( ( acc, record ) => {\n\t\t\tconst { kind } = record;\n\t\t\tif ( ! acc[ kind ] ) {\n\t\t\t\tacc[ kind ] = [];\n\t\t\t}\n\t\t\tacc[ kind ].push( record );\n\t\t\treturn acc;\n\t\t}, {} );\n\n\t\tentitiesDataReducer = combineReducers(\n\t\t\tObject.entries( entitiesByKind ).reduce(\n\t\t\t\t( memo, [ kind, subEntities ] ) => {\n\t\t\t\t\tconst kindReducer = combineReducers(\n\t\t\t\t\t\tsubEntities.reduce(\n\t\t\t\t\t\t\t( kindMemo, entityConfig ) => ( {\n\t\t\t\t\t\t\t\t...kindMemo,\n\t\t\t\t\t\t\t\t[ entityConfig.name ]: entity( entityConfig ),\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tmemo[ kind ] = kindReducer;\n\t\t\t\t\treturn memo;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t)\n\t\t);\n\t}\n\n\tconst newData = entitiesDataReducer( state.records, action );\n\n\tif (\n\t\tnewData === state.records &&\n\t\tnewConfig === state.config &&\n\t\tentitiesDataReducer === state.reducer\n\t) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\treducer: entitiesDataReducer,\n\t\trecords: newData,\n\t\tconfig: newConfig,\n\t};\n};\n\n/**\n * @type {UndoManager}\n */\nexport function undoManager( state = createUndoManager() ) {\n\treturn state;\n}\n\nexport function editsReference( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'EDIT_ENTITY_RECORD':\n\t\tcase 'UNDO':\n\t\tcase 'REDO':\n\t\t\treturn {};\n\t}\n\treturn state;\n}\n\n/**\n * Reducer managing embed preview data.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function embedPreviews( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_EMBED_PREVIEW':\n\t\t\tconst { url, preview } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ url ]: preview,\n\t\t\t};\n\t}\n\treturn state;\n}\n\n/**\n * State which tracks whether the user can perform an action on a REST\n * resource.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function userPermissions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PERMISSION':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.key ]: action.isAllowed,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning autosaves keyed by their parent's post id.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function autosaves( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_AUTOSAVES':\n\t\t\tconst { postId, autosaves: autosavesData } = action;\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ postId ]: autosavesData,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport function blockPatterns( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERNS':\n\t\t\treturn action.patterns;\n\t}\n\n\treturn state;\n}\n\nexport function blockPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_BLOCK_PATTERN_CATEGORIES':\n\t\t\treturn action.categories;\n\t}\n\n\treturn state;\n}\n\nexport function userPatternCategories( state = [], action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_USER_PATTERN_CATEGORIES':\n\t\t\treturn action.patternCategories;\n\t}\n\treturn state;\n}\n\nexport function navigationFallbackId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_NAVIGATION_FALLBACK_ID':\n\t\t\treturn action.fallbackId;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer managing the theme global styles revisions.\n *\n * @param {Record<string, object>} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Record<string, object>} Updated state.\n */\nexport function themeGlobalStyleRevisions( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'RECEIVE_THEME_GLOBAL_STYLE_REVISIONS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ action.currentId ]: action.revisions,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tterms,\n\tusers,\n\tcurrentTheme,\n\tcurrentGlobalStylesId,\n\tcurrentUser,\n\tthemeGlobalStyleVariations,\n\tthemeBaseGlobalStyles,\n\tthemeGlobalStyleRevisions,\n\ttaxonomies,\n\tentities,\n\teditsReference,\n\tundoManager,\n\tembedPreviews,\n\tuserPermissions,\n\tautosaves,\n\tblockPatterns,\n\tblockPatternCategories,\n\tuserPatternCategories,\n\tnavigationFallbackId,\n} );\n"],"mappings":"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"}
|
package/build/resolvers.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.getThemeSupports = exports.getRawEntityRecord = exports.getNavigationFallbackId = exports.getEntityRecords = exports.getEntityRecord = exports.getEmbedPreview = exports.getEditedEntityRecord = exports.getCurrentUser = exports.getCurrentThemeGlobalStylesRevisions = exports.getCurrentTheme = exports.getBlockPatterns = exports.getBlockPatternCategories = exports.getAutosaves = exports.getAutosave = exports.getAuthors = exports.canUserEditEntityRecord = exports.canUser = exports.__experimentalGetTemplateForLink = exports.__experimentalGetCurrentThemeGlobalStylesVariations = exports.__experimentalGetCurrentThemeBaseGlobalStyles = exports.__experimentalGetCurrentGlobalStylesId = void 0;
|
|
7
|
+
exports.getUserPatternCategories = exports.getThemeSupports = exports.getRawEntityRecord = exports.getNavigationFallbackId = exports.getEntityRecords = exports.getEntityRecord = exports.getEmbedPreview = exports.getEditedEntityRecord = exports.getCurrentUser = exports.getCurrentThemeGlobalStylesRevisions = exports.getCurrentTheme = exports.getBlockPatterns = exports.getBlockPatternCategories = exports.getAutosaves = exports.getAutosave = exports.getAuthors = exports.canUserEditEntityRecord = exports.canUser = exports.__experimentalGetTemplateForLink = exports.__experimentalGetCurrentThemeGlobalStylesVariations = exports.__experimentalGetCurrentThemeBaseGlobalStyles = exports.__experimentalGetCurrentGlobalStylesId = void 0;
|
|
8
8
|
var _changeCase = require("change-case");
|
|
9
9
|
var _url = require("@wordpress/url");
|
|
10
10
|
var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
|
|
@@ -80,26 +80,28 @@ const getEntityRecord = (kind, name, key = '', query) => async ({
|
|
|
80
80
|
// Entity supports configs,
|
|
81
81
|
// use the sync algorithm instead of the old fetch behavior.
|
|
82
82
|
if (window.__experimentalEnableSync && entityConfig.syncConfig && !query) {
|
|
83
|
-
|
|
83
|
+
if (process.env.IS_GUTENBERG_PLUGIN) {
|
|
84
|
+
const objectId = entityConfig.getSyncObjectId(key);
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
// Loads the persisted document.
|
|
87
|
+
await (0, _sync.getSyncProvider)().bootstrap(entityConfig.syncObjectType, objectId, record => {
|
|
88
|
+
dispatch.receiveEntityRecords(kind, name, record, query);
|
|
89
|
+
});
|
|
89
90
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
91
|
+
// Boostraps the edited document as well (and load from peers).
|
|
92
|
+
await (0, _sync.getSyncProvider)().bootstrap(entityConfig.syncObjectType + '--edit', objectId, record => {
|
|
93
|
+
dispatch({
|
|
94
|
+
type: 'EDIT_ENTITY_RECORD',
|
|
95
|
+
kind,
|
|
96
|
+
name,
|
|
97
|
+
recordId: key,
|
|
98
|
+
edits: record,
|
|
99
|
+
meta: {
|
|
100
|
+
undo: undefined
|
|
101
|
+
}
|
|
102
|
+
});
|
|
101
103
|
});
|
|
102
|
-
}
|
|
104
|
+
}
|
|
103
105
|
} else {
|
|
104
106
|
if (query !== undefined && query._fields) {
|
|
105
107
|
// If requesting specific fields, items and query association to said
|
|
@@ -527,6 +529,25 @@ const getBlockPatternCategories = () => async ({
|
|
|
527
529
|
});
|
|
528
530
|
};
|
|
529
531
|
exports.getBlockPatternCategories = getBlockPatternCategories;
|
|
532
|
+
const getUserPatternCategories = () => async ({
|
|
533
|
+
dispatch,
|
|
534
|
+
resolveSelect
|
|
535
|
+
}) => {
|
|
536
|
+
const patternCategories = await resolveSelect.getEntityRecords('taxonomy', 'wp_pattern_category', {
|
|
537
|
+
per_page: -1,
|
|
538
|
+
_fields: 'id,name,description,slug'
|
|
539
|
+
});
|
|
540
|
+
const mappedPatternCategories = patternCategories?.map(userCategory => ({
|
|
541
|
+
...userCategory,
|
|
542
|
+
label: userCategory.name,
|
|
543
|
+
name: userCategory.slug
|
|
544
|
+
})) || [];
|
|
545
|
+
dispatch({
|
|
546
|
+
type: 'RECEIVE_USER_PATTERN_CATEGORIES',
|
|
547
|
+
patternCategories: mappedPatternCategories
|
|
548
|
+
});
|
|
549
|
+
};
|
|
550
|
+
exports.getUserPatternCategories = getUserPatternCategories;
|
|
530
551
|
const getNavigationFallbackId = () => async ({
|
|
531
552
|
dispatch,
|
|
532
553
|
select
|