@wordpress/editor 12.14.0 → 12.14.1-next.d6164808d3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/post-taxonomies/flat-term-selector.js +7 -1
- package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build/components/post-title/index.js +15 -1
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +1 -1
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/hooks/custom-sources-backwards-compatibility.js +8 -5
- package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build/store/actions.js +1 -7
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +17 -9
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +36 -16
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/post-taxonomies/flat-term-selector.js +8 -2
- package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
- package/build-module/components/post-title/index.js +16 -2
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +1 -1
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/hooks/custom-sources-backwards-compatibility.js +9 -6
- package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
- package/build-module/store/actions.js +1 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +17 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +36 -15
- package/build-module/store/selectors.js.map +1 -1
- package/package.json +28 -28
- package/src/components/post-author/test/check.js +7 -7
- package/src/components/post-last-revision/test/check.js +7 -7
- package/src/components/post-pending-status/test/check.js +5 -5
- package/src/components/post-schedule/test/check.js +5 -5
- package/src/components/post-slug/test/check.js +3 -3
- package/src/components/post-sticky/test/index.js +11 -7
- package/src/components/post-taxonomies/flat-term-selector.js +10 -2
- package/src/components/post-title/index.js +16 -2
- package/src/components/post-visibility/test/check.js +16 -8
- package/src/components/provider/use-block-editor-settings.js +1 -0
- package/src/hooks/custom-sources-backwards-compatibility.js +14 -12
- package/src/store/actions.js +1 -6
- package/src/store/reducer.js +16 -10
- package/src/store/selectors.js +29 -28
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { omit, isEqual } from 'lodash';
|
|
5
1
|
/**
|
|
6
2
|
* WordPress dependencies
|
|
7
3
|
*/
|
|
8
|
-
|
|
9
4
|
import { combineReducers } from '@wordpress/data';
|
|
10
5
|
/**
|
|
11
6
|
* Internal dependencies
|
|
@@ -39,7 +34,9 @@ export function getPostRawValue(value) {
|
|
|
39
34
|
*/
|
|
40
35
|
|
|
41
36
|
export function hasSameKeys(a, b) {
|
|
42
|
-
|
|
37
|
+
const keysA = Object.keys(a).sort();
|
|
38
|
+
const keysB = Object.keys(b).sort();
|
|
39
|
+
return keysA.length === keysB.length && keysA.every((key, index) => keysB[index] === key);
|
|
43
40
|
}
|
|
44
41
|
/**
|
|
45
42
|
* Returns true if, given the currently dispatching action and the previously
|
|
@@ -203,7 +200,13 @@ export function postSavingLock() {
|
|
|
203
200
|
};
|
|
204
201
|
|
|
205
202
|
case 'UNLOCK_POST_SAVING':
|
|
206
|
-
|
|
203
|
+
{
|
|
204
|
+
const {
|
|
205
|
+
[action.lockName]: removedLockName,
|
|
206
|
+
...restState
|
|
207
|
+
} = state;
|
|
208
|
+
return restState;
|
|
209
|
+
}
|
|
207
210
|
}
|
|
208
211
|
|
|
209
212
|
return state;
|
|
@@ -230,7 +233,13 @@ export function postAutosavingLock() {
|
|
|
230
233
|
};
|
|
231
234
|
|
|
232
235
|
case 'UNLOCK_POST_AUTOSAVING':
|
|
233
|
-
|
|
236
|
+
{
|
|
237
|
+
const {
|
|
238
|
+
[action.lockName]: removedLockName,
|
|
239
|
+
...restState
|
|
240
|
+
} = state;
|
|
241
|
+
return restState;
|
|
242
|
+
}
|
|
234
243
|
}
|
|
235
244
|
|
|
236
245
|
return state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/reducer.js"],"names":["omit","isEqual","combineReducers","EDITOR_SETTINGS_DEFAULTS","getPostRawValue","value","raw","hasSameKeys","a","b","Object","keys","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","post","id","postType","template","isValid","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","postAutosavingLock","isReady","editorSettings","settings"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { EDITOR_SETTINGS_DEFAULTS } from './defaults';\n\n/**\n * Returns a post attribute value, flattening nested rendered content using its\n * raw value in place of its original object form.\n *\n * @param {*} value Original value.\n *\n * @return {*} Raw value.\n */\nexport function getPostRawValue( value ) {\n\tif ( value && 'object' === typeof value && 'raw' in value ) {\n\t\treturn value.raw;\n\t}\n\n\treturn value;\n}\n\n/**\n * Returns true if the two object arguments have the same keys, or false\n * otherwise.\n *\n * @param {Object} a First object.\n * @param {Object} b Second object.\n *\n * @return {boolean} Whether the two objects have the same keys.\n */\nexport function hasSameKeys( a, b ) {\n\treturn isEqual( Object.keys( a ), Object.keys( b ) );\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are editing the same post property, or\n * false otherwise.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether actions are updating the same post property.\n */\nexport function isUpdatingSamePostProperty( action, previousAction ) {\n\treturn (\n\t\taction.type === 'EDIT_POST' &&\n\t\thasSameKeys( action.edits, previousAction.edits )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are modifying the same property such that\n * undo history should be batched.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether to overwrite present state.\n */\nexport function shouldOverwriteState( action, previousAction ) {\n\tif ( action.type === 'RESET_EDITOR_BLOCKS' ) {\n\t\treturn ! action.shouldCreateUndoLevel;\n\t}\n\n\tif ( ! previousAction || action.type !== previousAction.type ) {\n\t\treturn false;\n\t}\n\n\treturn isUpdatingSamePostProperty( action, previousAction );\n}\n\nexport function postId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.type;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the post blocks match the defined template or not.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function template( state = { isValid: true }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE_VALIDITY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.isValid,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning current network request state (whether a request to\n * the WP REST API is in progress, successful, or failed).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function saving( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_UPDATE_START':\n\t\tcase 'REQUEST_POST_UPDATE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_UPDATE_START',\n\t\t\t\toptions: action.options || {},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Post Lock State.\n *\n * @typedef {Object} PostLockState\n *\n * @property {boolean} isLocked Whether the post is locked.\n * @property {?boolean} isTakeover Whether the post editing has been taken over.\n * @property {?boolean} activePostLock Active post lock value.\n * @property {?Object} user User that took over the post.\n */\n\n/**\n * Reducer returning the post lock status.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postLock( state = { isLocked: false }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_POST_LOCK':\n\t\t\treturn action.lock;\n\t}\n\n\treturn state;\n}\n\n/**\n * Post saving lock.\n *\n * When post saving is locked, the post cannot be published or updated.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postSavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_SAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_SAVING':\n\t\t\treturn omit( state, action.lockName );\n\t}\n\treturn state;\n}\n\n/**\n * Post autosaving lock.\n *\n * When post autosaving is locked, the post will not autosave.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postAutosavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_AUTOSAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_AUTOSAVING':\n\t\t\treturn omit( state, action.lockName );\n\t}\n\treturn state;\n}\n\n/**\n * Reducer returning whether the editor is ready to be rendered.\n * The editor is considered ready to be rendered once\n * the post object is loaded properly and the initial blocks parsed.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nexport function isReady( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn true;\n\n\t\tcase 'TEAR_DOWN_EDITOR':\n\t\t\treturn false;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the post editor setting.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editorSettings( state = EDITOR_SETTINGS_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_EDITOR_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tpostId,\n\tpostType,\n\tsaving,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n} );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/reducer.js"],"names":["combineReducers","EDITOR_SETTINGS_DEFAULTS","getPostRawValue","value","raw","hasSameKeys","a","b","keysA","Object","keys","sort","keysB","length","every","key","index","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","post","id","postType","template","isValid","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","removedLockName","restState","postAutosavingLock","isReady","editorSettings","settings"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { EDITOR_SETTINGS_DEFAULTS } from './defaults';\n\n/**\n * Returns a post attribute value, flattening nested rendered content using its\n * raw value in place of its original object form.\n *\n * @param {*} value Original value.\n *\n * @return {*} Raw value.\n */\nexport function getPostRawValue( value ) {\n\tif ( value && 'object' === typeof value && 'raw' in value ) {\n\t\treturn value.raw;\n\t}\n\n\treturn value;\n}\n\n/**\n * Returns true if the two object arguments have the same keys, or false\n * otherwise.\n *\n * @param {Object} a First object.\n * @param {Object} b Second object.\n *\n * @return {boolean} Whether the two objects have the same keys.\n */\nexport function hasSameKeys( a, b ) {\n\tconst keysA = Object.keys( a ).sort();\n\tconst keysB = Object.keys( b ).sort();\n\treturn (\n\t\tkeysA.length === keysB.length &&\n\t\tkeysA.every( ( key, index ) => keysB[ index ] === key )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are editing the same post property, or\n * false otherwise.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether actions are updating the same post property.\n */\nexport function isUpdatingSamePostProperty( action, previousAction ) {\n\treturn (\n\t\taction.type === 'EDIT_POST' &&\n\t\thasSameKeys( action.edits, previousAction.edits )\n\t);\n}\n\n/**\n * Returns true if, given the currently dispatching action and the previously\n * dispatched action, the two actions are modifying the same property such that\n * undo history should be batched.\n *\n * @param {Object} action Currently dispatching action.\n * @param {Object} previousAction Previously dispatched action.\n *\n * @return {boolean} Whether to overwrite present state.\n */\nexport function shouldOverwriteState( action, previousAction ) {\n\tif ( action.type === 'RESET_EDITOR_BLOCKS' ) {\n\t\treturn ! action.shouldCreateUndoLevel;\n\t}\n\n\tif ( ! previousAction || action.type !== previousAction.type ) {\n\t\treturn false;\n\t}\n\n\treturn isUpdatingSamePostProperty( action, previousAction );\n}\n\nexport function postId( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.id;\n\t}\n\n\treturn state;\n}\n\nexport function postType( state = null, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn action.post.type;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning whether the post blocks match the defined template or not.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {boolean} Updated state.\n */\nexport function template( state = { isValid: true }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_TEMPLATE_VALIDITY':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisValid: action.isValid,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning current network request state (whether a request to\n * the WP REST API is in progress, successful, or failed).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function saving( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'REQUEST_POST_UPDATE_START':\n\t\tcase 'REQUEST_POST_UPDATE_FINISH':\n\t\t\treturn {\n\t\t\t\tpending: action.type === 'REQUEST_POST_UPDATE_START',\n\t\t\t\toptions: action.options || {},\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Post Lock State.\n *\n * @typedef {Object} PostLockState\n *\n * @property {boolean} isLocked Whether the post is locked.\n * @property {?boolean} isTakeover Whether the post editing has been taken over.\n * @property {?boolean} activePostLock Active post lock value.\n * @property {?Object} user User that took over the post.\n */\n\n/**\n * Reducer returning the post lock status.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postLock( state = { isLocked: false }, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_POST_LOCK':\n\t\t\treturn action.lock;\n\t}\n\n\treturn state;\n}\n\n/**\n * Post saving lock.\n *\n * When post saving is locked, the post cannot be published or updated.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postSavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_SAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_SAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Post autosaving lock.\n *\n * When post autosaving is locked, the post will not autosave.\n *\n * @param {PostLockState} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {PostLockState} Updated state.\n */\nexport function postAutosavingLock( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'LOCK_POST_AUTOSAVING':\n\t\t\treturn { ...state, [ action.lockName ]: true };\n\n\t\tcase 'UNLOCK_POST_AUTOSAVING': {\n\t\t\tconst { [ action.lockName ]: removedLockName, ...restState } =\n\t\t\t\tstate;\n\t\t\treturn restState;\n\t\t}\n\t}\n\treturn state;\n}\n\n/**\n * Reducer returning whether the editor is ready to be rendered.\n * The editor is considered ready to be rendered once\n * the post object is loaded properly and the initial blocks parsed.\n *\n * @param {boolean} state\n * @param {Object} action\n *\n * @return {boolean} Updated state.\n */\nexport function isReady( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SETUP_EDITOR_STATE':\n\t\t\treturn true;\n\n\t\tcase 'TEAR_DOWN_EDITOR':\n\t\t\treturn false;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the post editor setting.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editorSettings( state = EDITOR_SETTINGS_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_EDITOR_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tpostId,\n\tpostType,\n\tsaving,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n} );\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { find, get, has, includes, some } from 'lodash';
|
|
5
4
|
import createSelector from 'rememo';
|
|
6
5
|
/**
|
|
7
6
|
* WordPress dependencies
|
|
@@ -132,7 +131,7 @@ export const hasNonPostEntityChanges = createRegistrySelector(select => state =>
|
|
|
132
131
|
type,
|
|
133
132
|
id
|
|
134
133
|
} = getCurrentPost(state);
|
|
135
|
-
return some(
|
|
134
|
+
return dirtyEntityRecords.some(entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
|
|
136
135
|
});
|
|
137
136
|
/**
|
|
138
137
|
* Returns true if there are no unsaved values for the current edit session and
|
|
@@ -202,7 +201,9 @@ export function getCurrentPostId(state) {
|
|
|
202
201
|
*/
|
|
203
202
|
|
|
204
203
|
export function getCurrentPostRevisionsCount(state) {
|
|
205
|
-
|
|
204
|
+
var _getCurrentPost$_link, _getCurrentPost$_link2, _getCurrentPost$_link3, _getCurrentPost$_link4;
|
|
205
|
+
|
|
206
|
+
return (_getCurrentPost$_link = (_getCurrentPost$_link2 = getCurrentPost(state)._links) === null || _getCurrentPost$_link2 === void 0 ? void 0 : (_getCurrentPost$_link3 = _getCurrentPost$_link2['version-history']) === null || _getCurrentPost$_link3 === void 0 ? void 0 : (_getCurrentPost$_link4 = _getCurrentPost$_link3[0]) === null || _getCurrentPost$_link4 === void 0 ? void 0 : _getCurrentPost$_link4.count) !== null && _getCurrentPost$_link !== void 0 ? _getCurrentPost$_link : 0;
|
|
206
207
|
}
|
|
207
208
|
/**
|
|
208
209
|
* Returns the last revision ID of the post currently being edited,
|
|
@@ -214,7 +215,9 @@ export function getCurrentPostRevisionsCount(state) {
|
|
|
214
215
|
*/
|
|
215
216
|
|
|
216
217
|
export function getCurrentPostLastRevisionId(state) {
|
|
217
|
-
|
|
218
|
+
var _getCurrentPost$_link5, _getCurrentPost$_link6, _getCurrentPost$_link7, _getCurrentPost$_link8;
|
|
219
|
+
|
|
220
|
+
return (_getCurrentPost$_link5 = (_getCurrentPost$_link6 = getCurrentPost(state)._links) === null || _getCurrentPost$_link6 === void 0 ? void 0 : (_getCurrentPost$_link7 = _getCurrentPost$_link6['predecessor-version']) === null || _getCurrentPost$_link7 === void 0 ? void 0 : (_getCurrentPost$_link8 = _getCurrentPost$_link7[0]) === null || _getCurrentPost$_link8 === void 0 ? void 0 : _getCurrentPost$_link8.id) !== null && _getCurrentPost$_link5 !== void 0 ? _getCurrentPost$_link5 : null;
|
|
218
221
|
}
|
|
219
222
|
/**
|
|
220
223
|
* Returns any post values which have been changed in the editor but not yet
|
|
@@ -328,13 +331,15 @@ export function getEditedPostAttribute(state, attributeName) {
|
|
|
328
331
|
*/
|
|
329
332
|
|
|
330
333
|
export const getAutosaveAttribute = createRegistrySelector(select => (state, attributeName) => {
|
|
331
|
-
|
|
334
|
+
var _select$getCurrentUse;
|
|
335
|
+
|
|
336
|
+
if (!AUTOSAVE_PROPERTIES.includes(attributeName) && attributeName !== 'preview_link') {
|
|
332
337
|
return;
|
|
333
338
|
}
|
|
334
339
|
|
|
335
340
|
const postType = getCurrentPostType(state);
|
|
336
341
|
const postId = getCurrentPostId(state);
|
|
337
|
-
const currentUserId =
|
|
342
|
+
const currentUserId = (_select$getCurrentUse = select(coreStore).getCurrentUser()) === null || _select$getCurrentUse === void 0 ? void 0 : _select$getCurrentUse.id;
|
|
338
343
|
const autosave = select(coreStore).getAutosave(postType, postId, currentUserId);
|
|
339
344
|
|
|
340
345
|
if (autosave) {
|
|
@@ -499,6 +504,8 @@ export function isEditedPostEmpty(state) {
|
|
|
499
504
|
*/
|
|
500
505
|
|
|
501
506
|
export const isEditedPostAutosaveable = createRegistrySelector(select => state => {
|
|
507
|
+
var _select$getCurrentUse2;
|
|
508
|
+
|
|
502
509
|
// A post must contain a title, an excerpt, or non-empty content to be valid for autosaving.
|
|
503
510
|
if (!isEditedPostSaveable(state)) {
|
|
504
511
|
return false;
|
|
@@ -512,7 +519,7 @@ export const isEditedPostAutosaveable = createRegistrySelector(select => state =
|
|
|
512
519
|
const postType = getCurrentPostType(state);
|
|
513
520
|
const postId = getCurrentPostId(state);
|
|
514
521
|
const hasFetchedAutosave = select(coreStore).hasFetchedAutosaves(postType, postId);
|
|
515
|
-
const currentUserId =
|
|
522
|
+
const currentUserId = (_select$getCurrentUse2 = select(coreStore).getCurrentUser()) === null || _select$getCurrentUse2 === void 0 ? void 0 : _select$getCurrentUse2.id; // Disable reason - this line causes the side-effect of fetching the autosave
|
|
516
523
|
// via a resolver, moving below the return would result in the autosave never
|
|
517
524
|
// being fetched.
|
|
518
525
|
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
|
|
@@ -612,7 +619,7 @@ export const isSavingNonPostEntityChanges = createRegistrySelector(select => sta
|
|
|
612
619
|
type,
|
|
613
620
|
id
|
|
614
621
|
} = getCurrentPost(state);
|
|
615
|
-
return some(
|
|
622
|
+
return entitiesBeingSaved.some(entityRecord => entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id);
|
|
616
623
|
});
|
|
617
624
|
/**
|
|
618
625
|
* Returns true if a previous post save was attempted successfully, or false
|
|
@@ -651,11 +658,13 @@ export const didPostSaveRequestFail = createRegistrySelector(select => state =>
|
|
|
651
658
|
*/
|
|
652
659
|
|
|
653
660
|
export function isAutosavingPost(state) {
|
|
661
|
+
var _state$saving$options;
|
|
662
|
+
|
|
654
663
|
if (!isSavingPost(state)) {
|
|
655
664
|
return false;
|
|
656
665
|
}
|
|
657
666
|
|
|
658
|
-
return
|
|
667
|
+
return Boolean((_state$saving$options = state.saving.options) === null || _state$saving$options === void 0 ? void 0 : _state$saving$options.isAutosave);
|
|
659
668
|
}
|
|
660
669
|
/**
|
|
661
670
|
* Returns true if the post is being previewed, or false otherwise.
|
|
@@ -666,11 +675,13 @@ export function isAutosavingPost(state) {
|
|
|
666
675
|
*/
|
|
667
676
|
|
|
668
677
|
export function isPreviewingPost(state) {
|
|
678
|
+
var _state$saving$options2;
|
|
679
|
+
|
|
669
680
|
if (!isSavingPost(state)) {
|
|
670
681
|
return false;
|
|
671
682
|
}
|
|
672
683
|
|
|
673
|
-
return
|
|
684
|
+
return Boolean((_state$saving$options2 = state.saving.options) === null || _state$saving$options2 === void 0 ? void 0 : _state$saving$options2.isPreview);
|
|
674
685
|
}
|
|
675
686
|
/**
|
|
676
687
|
* Returns the post preview link
|
|
@@ -959,7 +970,9 @@ export function getActivePostLock(state) {
|
|
|
959
970
|
*/
|
|
960
971
|
|
|
961
972
|
export function canUserUseUnfilteredHTML(state) {
|
|
962
|
-
|
|
973
|
+
var _getCurrentPost$_link9;
|
|
974
|
+
|
|
975
|
+
return Boolean((_getCurrentPost$_link9 = getCurrentPost(state)._links) === null || _getCurrentPost$_link9 === void 0 ? void 0 : _getCurrentPost$_link9.hasOwnProperty('wp:action-unfiltered-html'));
|
|
963
976
|
}
|
|
964
977
|
/**
|
|
965
978
|
* Returns whether the pre-publish panel should be shown
|
|
@@ -1405,9 +1418,17 @@ export const __experimentalGetDefaultTemplatePartAreas = createSelector(state =>
|
|
|
1405
1418
|
* @return {Object} The template type.
|
|
1406
1419
|
*/
|
|
1407
1420
|
|
|
1408
|
-
export const __experimentalGetDefaultTemplateType = createSelector((state, slug) =>
|
|
1409
|
-
|
|
1410
|
-
|
|
1421
|
+
export const __experimentalGetDefaultTemplateType = createSelector((state, slug) => {
|
|
1422
|
+
var _Object$values$find;
|
|
1423
|
+
|
|
1424
|
+
const templateTypes = __experimentalGetDefaultTemplateTypes(state);
|
|
1425
|
+
|
|
1426
|
+
if (!templateTypes) {
|
|
1427
|
+
return EMPTY_OBJECT;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
return (_Object$values$find = Object.values(templateTypes).find(type => type.slug === slug)) !== null && _Object$values$find !== void 0 ? _Object$values$find : EMPTY_OBJECT;
|
|
1431
|
+
}, (state, slug) => [__experimentalGetDefaultTemplateTypes(state), slug]);
|
|
1411
1432
|
/**
|
|
1412
1433
|
* Given a template entity, return information about it which is ready to be
|
|
1413
1434
|
* rendered, such as the title, description, and icon.
|
|
@@ -1421,7 +1442,7 @@ export function __experimentalGetTemplateInfo(state, template) {
|
|
|
1421
1442
|
var _experimentalGetDefa;
|
|
1422
1443
|
|
|
1423
1444
|
if (!template) {
|
|
1424
|
-
return
|
|
1445
|
+
return EMPTY_OBJECT;
|
|
1425
1446
|
}
|
|
1426
1447
|
|
|
1427
1448
|
const {
|