@wordpress/editor 12.2.0 → 12.2.2
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/editor-help/index.native.js +3 -3
- package/build/components/editor-help/index.native.js.map +1 -1
- package/build/components/local-autosave-monitor/index.js +5 -5
- package/build/components/local-autosave-monitor/index.js.map +1 -1
- package/build/components/post-saved-state/index.js +1 -1
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-switch-to-draft-button/index.js +19 -14
- package/build/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build/components/post-trash/index.js +15 -29
- package/build/components/post-trash/index.js.map +1 -1
- package/build/components/provider/index.native.js +17 -8
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +3 -2
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/store/actions.js +231 -225
- package/build/store/actions.js.map +1 -1
- package/build/store/actions.native.js +6 -4
- package/build/store/actions.native.js.map +1 -1
- package/build/store/index.js +1 -8
- package/build/store/index.js.map +1 -1
- package/build/store/{controls.js → local-autosave.js} +1 -18
- package/build/store/local-autosave.js.map +1 -0
- package/build/store/reducer.js +0 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/utils/notice-builder.js +5 -0
- package/build/store/utils/notice-builder.js.map +1 -1
- package/build-module/components/editor-help/index.native.js +4 -4
- package/build-module/components/editor-help/index.native.js.map +1 -1
- package/build-module/components/local-autosave-monitor/index.js +1 -1
- package/build-module/components/local-autosave-monitor/index.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +1 -1
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-switch-to-draft-button/index.js +22 -16
- package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
- package/build-module/components/post-trash/index.js +15 -27
- package/build-module/components/post-trash/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +19 -10
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +3 -2
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/store/actions.js +208 -207
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/actions.native.js +3 -3
- package/build-module/store/actions.native.js.map +1 -1
- package/build-module/store/index.js +1 -6
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/{controls.js → local-autosave.js} +1 -15
- package/build-module/store/local-autosave.js.map +1 -0
- package/build-module/store/reducer.js +0 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/utils/notice-builder.js +5 -0
- package/build-module/store/utils/notice-builder.js.map +1 -1
- package/package.json +14 -15
- package/src/components/editor-help/index.native.js +6 -6
- package/src/components/local-autosave-monitor/index.js +4 -1
- package/src/components/post-saved-state/index.js +1 -1
- package/src/components/post-switch-to-draft-button/index.js +35 -24
- package/src/components/post-trash/index.js +12 -24
- package/src/components/provider/index.native.js +20 -16
- package/src/components/provider/use-block-editor-settings.js +2 -0
- package/src/store/actions.js +137 -249
- package/src/store/actions.native.js +3 -3
- package/src/store/index.js +0 -6
- package/src/store/{controls.js → local-autosave.js} +0 -8
- package/src/store/reducer.js +0 -2
- package/src/store/test/actions.js +244 -416
- package/src/store/utils/notice-builder.js +5 -0
- package/src/store/utils/test/notice-builder.js +1 -0
- package/build/store/controls.js.map +0 -1
- package/build-module/store/controls.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/actions.js"],"names":["setupEditor","post","edits","template","resetPost","type","setupEditorState","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","keys","some","key","editPost","__experimentalTearDownEditor","__experimentalRequestPostUpdateStart","options","__experimentalRequestPostUpdateFinish","updatePost","since","alternative","id","controls","select","STORE_NAME","dispatch","coreStore","savePost","isAutosave","undoIgnore","previousRecord","error","args","length","noticesStore","updatedRecord","previousPost","postType","resolveSelect","blockEditorStore","refreshPost","version","trashPost","postTypeSlug","TRASH_POST_NOTICE_ID","path","rest_base","method","autosave","local","isPostNew","title","excerpt","postId","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","blocksForSerialization","updateEditorSettings","settings","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","clearSelectedBlock","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"mappings":"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ACA;AACA;;;AACO,UAAU6B,IAAV,GAAiB;AACvB,QAAMjC,eAASG,QAAT,CAAmBC,eAAnB,EAA8B,MAA9B,CAAN;AACA;AAED;AACA;AACA;AACA;AACA;;;AACO,SAAS8B,eAAT,GAA2B;AACjC,2BAAY,mDAAZ,EAAiE;AAChErC,IAAAA,KAAK,EAAE,KADyD;AAEhEsB,IAAAA,OAAO,EAAE,KAFuD;AAGhErB,IAAAA,WAAW,EAAE;AAHmD,GAAjE;AAKA,SAAO;AAAEpB,IAAAA,IAAI,EAAE;AAAR,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASyD,cAAT,CAAyBC,IAAzB,EAAgC;AACtC,SAAO;AACN1D,IAAAA,IAAI,EAAE,kBADA;AAEN0D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,GAAgC;AACtC,SAAO;AACN3D,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS4D,qBAAT,GAAiC;AACvC,SAAO;AACN5D,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS6D,cAAT,CAAyBC,QAAzB,EAAoC;AAC1C,SAAO;AACN9D,IAAAA,IAAI,EAAE,kBADA;AAEN8D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BD,QAA3B,EAAsC;AAC5C,SAAO;AACN9D,IAAAA,IAAI,EAAE,oBADA;AAEN8D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","sourcesContent":["/**\n * External dependencies\n */\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { controls } from '@wordpress/data';\nimport { apiFetch } from '@wordpress/data-controls';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME, TRASH_POST_NOTICE_ID } from './constants';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport function* setupEditor( post, edits, template ) {\n\tyield resetPost( post );\n\tyield {\n\t\ttype: 'SETUP_EDITOR',\n\t\tpost,\n\t\tedits,\n\t\ttemplate,\n\t};\n\tyield setupEditorState( post );\n\t// Apply a template for new posts only, if exists.\n\tconst isNewPost = post.status === 'auto-draft';\n\tif ( isNewPost && template ) {\n\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t// included as part of editor setup action. Assume edited content as\n\t\t// canonical if provided, falling back to post.\n\t\tlet content;\n\t\tif ( has( edits, [ 'content' ] ) ) {\n\t\t\tcontent = edits.content;\n\t\t} else {\n\t\t\tcontent = post.content.raw;\n\t\t}\n\t\tlet blocks = parse( content );\n\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\tyield resetEditorBlocks( blocks, {\n\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t} );\n\t}\n\tif (\n\t\tedits &&\n\t\tObject.keys( edits ).some(\n\t\t\t( key ) =>\n\t\t\t\tedits[ key ] !==\n\t\t\t\t( has( post, [ key, 'raw' ] ) ? post[ key ].raw : post[ key ] )\n\t\t)\n\t) {\n\t\tyield editPost( edits );\n\t}\n}\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\treturn { type: 'TEAR_DOWN_EDITOR' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @param {Object} post Post object.\n *\n * @return {Object} Action object.\n */\nexport function resetPost( post ) {\n\treturn {\n\t\ttype: 'RESET_POST',\n\t\tpost,\n\t};\n}\n\n/**\n * Action for dispatching that a post update request has started.\n *\n * @param {Object} options\n *\n * @return {Object} An action object\n */\nexport function __experimentalRequestPostUpdateStart( options = {} ) {\n\treturn {\n\t\ttype: 'REQUEST_POST_UPDATE_START',\n\t\toptions,\n\t};\n}\n\n/**\n * Action for dispatching that a post update request has finished.\n *\n * @param {Object} options\n *\n * @return {Object} An action object\n */\nexport function __experimentalRequestPostUpdateFinish( options = {} ) {\n\treturn {\n\t\ttype: 'REQUEST_POST_UPDATE_FINISH',\n\t\toptions,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Returns an action object used to setup the editor state when first opening\n * an editor.\n *\n * @param {Object} post Post object.\n *\n * @return {Object} Action object.\n */\nexport function setupEditorState( post ) {\n\treturn {\n\t\ttype: 'SETUP_EDITOR_STATE',\n\t\tpost,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n *\n * @yield {Object} Action object or control.\n */\nexport function* editPost( edits, options ) {\n\tconst { id, type } = yield controls.select( STORE_NAME, 'getCurrentPost' );\n\tyield controls.dispatch(\n\t\tcoreStore,\n\t\t'editEntityRecord',\n\t\t'postType',\n\t\ttype,\n\t\tid,\n\t\tedits,\n\t\toptions\n\t);\n}\n\n/**\n * Action generator for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport function* savePost( options = {} ) {\n\tif ( ! ( yield controls.select( STORE_NAME, 'isEditedPostSaveable' ) ) ) {\n\t\treturn;\n\t}\n\tlet edits = {\n\t\tcontent: yield controls.select( STORE_NAME, 'getEditedPostContent' ),\n\t};\n\tif ( ! options.isAutosave ) {\n\t\tyield controls.dispatch( STORE_NAME, 'editPost', edits, {\n\t\t\tundoIgnore: true,\n\t\t} );\n\t}\n\n\tyield __experimentalRequestPostUpdateStart( options );\n\tconst previousRecord = yield controls.select(\n\t\tSTORE_NAME,\n\t\t'getCurrentPost'\n\t);\n\tedits = {\n\t\tid: previousRecord.id,\n\t\t...( yield controls.select(\n\t\t\tcoreStore,\n\t\t\t'getEntityRecordNonTransientEdits',\n\t\t\t'postType',\n\t\t\tpreviousRecord.type,\n\t\t\tpreviousRecord.id\n\t\t) ),\n\t\t...edits,\n\t};\n\tyield controls.dispatch(\n\t\tcoreStore,\n\t\t'saveEntityRecord',\n\t\t'postType',\n\t\tpreviousRecord.type,\n\t\tedits,\n\t\toptions\n\t);\n\tyield __experimentalRequestPostUpdateFinish( options );\n\n\tconst error = yield controls.select(\n\t\tcoreStore,\n\t\t'getLastEntitySaveError',\n\t\t'postType',\n\t\tpreviousRecord.type,\n\t\tpreviousRecord.id\n\t);\n\tif ( error ) {\n\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\tpost: previousRecord,\n\t\t\tedits,\n\t\t\terror,\n\t\t} );\n\t\tif ( args.length ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createErrorNotice',\n\t\t\t\t...args\n\t\t\t);\n\t\t}\n\t} else {\n\t\tconst updatedRecord = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'getCurrentPost'\n\t\t);\n\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\tpreviousPost: previousRecord,\n\t\t\tpost: updatedRecord,\n\t\t\tpostType: yield controls.resolveSelect(\n\t\t\t\tcoreStore,\n\t\t\t\t'getPostType',\n\t\t\t\tupdatedRecord.type\n\t\t\t),\n\t\t\toptions,\n\t\t} );\n\t\tif ( args.length ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tnoticesStore,\n\t\t\t\t'createSuccessNotice',\n\t\t\t\t...args\n\t\t\t);\n\t\t}\n\t\t// Make sure that any edits after saving create an undo level and are\n\t\t// considered for change detection.\n\t\tif ( ! options.isAutosave ) {\n\t\t\tyield controls.dispatch(\n\t\t\t\tblockEditorStore,\n\t\t\t\t'__unstableMarkLastChangeAsPersistent'\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action generator for trashing the current post in the editor.\n */\nexport function* trashPost() {\n\tconst postTypeSlug = yield controls.select(\n\t\tSTORE_NAME,\n\t\t'getCurrentPostType'\n\t);\n\tconst postType = yield controls.resolveSelect(\n\t\tcoreStore,\n\t\t'getPostType',\n\t\tpostTypeSlug\n\t);\n\tyield controls.dispatch(\n\t\tnoticesStore,\n\t\t'removeNotice',\n\t\tTRASH_POST_NOTICE_ID\n\t);\n\ttry {\n\t\tconst post = yield controls.select( STORE_NAME, 'getCurrentPost' );\n\t\tyield apiFetch( {\n\t\t\tpath: `/wp/v2/${ postType.rest_base }/${ post.id }`,\n\t\t\tmethod: 'DELETE',\n\t\t} );\n\n\t\tyield controls.dispatch( STORE_NAME, 'savePost' );\n\t} catch ( error ) {\n\t\tyield controls.dispatch(\n\t\t\tnoticesStore,\n\t\t\t'createErrorNotice',\n\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t);\n\t}\n}\n\n/**\n * Action generator used in signalling that the post should autosave. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport function* autosave( { local = false, ...options } = {} ) {\n\tif ( local ) {\n\t\tconst post = yield controls.select( STORE_NAME, 'getCurrentPost' );\n\t\tconst isPostNew = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'isEditedPostNew'\n\t\t);\n\t\tconst title = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'getEditedPostAttribute',\n\t\t\t'title'\n\t\t);\n\t\tconst content = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'getEditedPostAttribute',\n\t\t\t'content'\n\t\t);\n\t\tconst excerpt = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'getEditedPostAttribute',\n\t\t\t'excerpt'\n\t\t);\n\t\tyield {\n\t\t\ttype: 'LOCAL_AUTOSAVE_SET',\n\t\t\tpostId: post.id,\n\t\t\tisPostNew,\n\t\t\ttitle,\n\t\t\tcontent,\n\t\t\texcerpt,\n\t\t};\n\t} else {\n\t\tyield controls.dispatch( STORE_NAME, 'savePost', {\n\t\t\tisAutosave: true,\n\t\t\t...options,\n\t\t} );\n\t}\n}\n\n/**\n * Returns an action object used in signalling that undo history should\n * restore last popped state.\n *\n * @yield {Object} Action object.\n */\nexport function* redo() {\n\tyield controls.dispatch( coreStore, 'redo' );\n}\n\n/**\n * Returns an action object used in signalling that undo history should pop.\n *\n * @yield {Object} Action object.\n */\nexport function* undo() {\n\tyield controls.dispatch( coreStore, 'undo' );\n}\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used to lock the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n *\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has enabled the\n * publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function enablePublishSidebar() {\n\treturn {\n\t\ttype: 'ENABLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used in signalling that the user has disabled the\n * publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function disablePublishSidebar() {\n\treturn {\n\t\ttype: 'DISABLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Returns an action object used to signal that post saving is locked.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that post saving is unlocked.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that post autosaving is locked.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that post autosaving is unlocked.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n *\n * @yield {Object} Action object\n */\nexport function* resetEditorBlocks( blocks, options = {} ) {\n\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\tconst edits = { blocks, selection };\n\n\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\tconst { id, type } = yield controls.select(\n\t\t\tSTORE_NAME,\n\t\t\t'getCurrentPost'\n\t\t);\n\t\tconst noChange =\n\t\t\t( yield controls.select(\n\t\t\t\tcoreStore,\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t'postType',\n\t\t\t\ttype,\n\t\t\t\tid\n\t\t\t) ).blocks === edits.blocks;\n\t\tif ( noChange ) {\n\t\t\treturn yield controls.dispatch(\n\t\t\t\tcoreStore,\n\t\t\t\t'__unstableCreateUndoLevel',\n\t\t\t\t'postType',\n\t\t\t\ttype,\n\t\t\t\tid\n\t\t\t);\n\t\t}\n\n\t\t// We create a new function here on every persistent edit\n\t\t// to make sure the edit makes the post dirty and creates\n\t\t// a new undo level.\n\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t}\n\tyield* editPost( edits );\n}\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction = ( name ) =>\n\tfunction* ( ...args ) {\n\t\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\t\tsince: '5.3',\n\t\t\talternative:\n\t\t\t\t\"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\t\tversion: '6.2',\n\t\t} );\n\t\tyield controls.dispatch( blockEditorStore, name, ...args );\n\t};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/actions.js"],"names":["setupEditor","post","edits","template","dispatch","setupEditorState","isNewPost","status","content","raw","blocks","resetEditorBlocks","__unstableShouldCreateUndoLevel","Object","values","some","key","edit","editPost","__experimentalTearDownEditor","type","resetPost","since","version","alternative","updatePost","options","select","registry","id","getCurrentPost","coreStore","editEntityRecord","savePost","isEditedPostSaveable","getEditedPostContent","isAutosave","undoIgnore","previousRecord","getEntityRecordNonTransientEdits","saveEntityRecord","error","getLastEntitySaveError","args","length","noticesStore","createErrorNotice","updatedRecord","previousPost","postType","resolveSelect","getPostType","createSuccessNotice","blockEditorStore","__unstableMarkLastChangeAsPersistent","refreshPost","trashPost","postTypeSlug","getCurrentPostType","removeNotice","TRASH_POST_NOTICE_ID","path","rest_base","method","autosave","local","isPostNew","isEditedPostNew","title","getEditedPostAttribute","excerpt","redo","undo","createUndoLevel","updatePostLock","lock","enablePublishSidebar","disablePublishSidebar","lockPostSaving","lockName","unlockPostSaving","lockPostAutosaving","unlockPostAutosaving","selection","noChange","getEditedEntityRecord","__unstableCreateUndoLevel","blocksForSerialization","updateEditorSettings","settings","getBlockEditorAction","name","resetBlocks","receiveBlocks","updateBlock","updateBlockAttributes","selectBlock","startMultiSelect","stopMultiSelect","multiSelect","clearSelectedBlock","toggleSelection","replaceBlocks","replaceBlock","moveBlocksDown","moveBlocksUp","moveBlockToPosition","insertBlock","insertBlocks","showInsertionPoint","hideInsertionPoint","setTemplateValidity","synchronizeTemplate","mergeBlocks","removeBlocks","removeBlock","toggleBlockMode","startTyping","stopTyping","enterFormattedText","exitFormattedText","insertDefaultBlock","updateBlockListSettings"],"mappings":"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,EAAE,KADyD;AAEhEC,IAAAA,OAAO,EAAE,KAFuD;AAGhEC,IAAAA,WAAW,EAAE;AAHmD,GAAjE;AAKA,SAAO;AAAEJ,IAAAA,IAAI,EAAE;AAAR,GAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASsD,cAAT,CAAyBC,IAAzB,EAAgC;AACtC,SAAO;AACNvD,IAAAA,IAAI,EAAE,kBADA;AAENuD,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASC,oBAAT,GAAgC;AACtC,SAAO;AACNxD,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASyD,qBAAT,GAAiC;AACvC,SAAO;AACNzD,IAAAA,IAAI,EAAE;AADA,GAAP;AAGA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS0D,cAAT,CAAyBC,QAAzB,EAAoC;AAC1C,SAAO;AACN3D,IAAAA,IAAI,EAAE,kBADA;AAEN2D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,gBAAT,CAA2BD,QAA3B,EAAsC;AAC5C,SAAO;AACN3D,IAAAA,IAAI,EAAE,oBADA;AAEN2D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASE,kBAAT,CAA6BF,QAA7B,EAAwC;AAC9C,SAAO;AACN3D,IAAAA,IAAI,EAAE,sBADA;AAEN2D,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASG,o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","sourcesContent":["/**\n * External dependencies\n */\nimport { has } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tparse,\n\tsynchronizeBlocksWithTemplate,\n\t__unstableSerializeAndClean,\n} from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { TRASH_POST_NOTICE_ID } from './constants';\nimport { localAutosaveSet } from './local-autosave';\nimport {\n\tgetNotificationArgumentsForSaveSuccess,\n\tgetNotificationArgumentsForSaveFail,\n\tgetNotificationArgumentsForTrashFail,\n} from './utils/notice-builder';\n\n/**\n * Returns an action generator used in signalling that editor has initialized with\n * the specified post object and editor settings.\n *\n * @param {Object} post Post object.\n * @param {Object} edits Initial edited attributes object.\n * @param {Array?} template Block Template.\n */\nexport const setupEditor = ( post, edits, template ) => ( { dispatch } ) => {\n\tdispatch.setupEditorState( post );\n\t// Apply a template for new posts only, if exists.\n\tconst isNewPost = post.status === 'auto-draft';\n\tif ( isNewPost && template ) {\n\t\t// In order to ensure maximum of a single parse during setup, edits are\n\t\t// included as part of editor setup action. Assume edited content as\n\t\t// canonical if provided, falling back to post.\n\t\tlet content;\n\t\tif ( has( edits, [ 'content' ] ) ) {\n\t\t\tcontent = edits.content;\n\t\t} else {\n\t\t\tcontent = post.content.raw;\n\t\t}\n\t\tlet blocks = parse( content );\n\t\tblocks = synchronizeBlocksWithTemplate( blocks, template );\n\t\tdispatch.resetEditorBlocks( blocks, {\n\t\t\t__unstableShouldCreateUndoLevel: false,\n\t\t} );\n\t}\n\tif (\n\t\tedits &&\n\t\tObject.values( edits ).some(\n\t\t\t( [ key, edit ] ) => edit !== ( post[ key ]?.raw ?? post[ key ] )\n\t\t)\n\t) {\n\t\tdispatch.editPost( edits );\n\t}\n};\n\n/**\n * Returns an action object signalling that the editor is being destroyed and\n * that any necessary state or side-effect cleanup should occur.\n *\n * @return {Object} Action object.\n */\nexport function __experimentalTearDownEditor() {\n\treturn { type: 'TEAR_DOWN_EDITOR' };\n}\n\n/**\n * Returns an action object used in signalling that the latest version of the\n * post has been received, either by initialization or save.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function resetPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).resetPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Initialize the editor with the setupEditorState action',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Returns an action object used in signalling that a patch of updates for the\n * latest version of the post have been received.\n *\n * @return {Object} Action object.\n * @deprecated since Gutenberg 9.7.0.\n */\nexport function updatePost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).updatePost\", {\n\t\tsince: '5.7',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn {\n\t\ttype: 'DO_NOTHING',\n\t};\n}\n\n/**\n * Returns an action object used to setup the editor state when first opening\n * an editor.\n *\n * @param {Object} post Post object.\n *\n * @return {Object} Action object.\n */\nexport function setupEditorState( post ) {\n\treturn {\n\t\ttype: 'SETUP_EDITOR_STATE',\n\t\tpost,\n\t};\n}\n\n/**\n * Returns an action object used in signalling that attributes of the post have\n * been edited.\n *\n * @param {Object} edits Post attributes to edit.\n * @param {Object} options Options for the edit.\n */\nexport const editPost = ( edits, options ) => ( { select, registry } ) => {\n\tconst { id, type } = select.getCurrentPost();\n\tregistry\n\t\t.dispatch( coreStore )\n\t\t.editEntityRecord( 'postType', type, id, edits, options );\n};\n\n/**\n * Action for saving the current post in the editor.\n *\n * @param {Object} options\n */\nexport const savePost = ( options = {} ) => async ( {\n\tselect,\n\tdispatch,\n\tregistry,\n} ) => {\n\tif ( ! select.isEditedPostSaveable() ) {\n\t\treturn;\n\t}\n\n\tconst content = select.getEditedPostContent();\n\n\tif ( ! options.isAutosave ) {\n\t\tdispatch.editPost( { content }, { undoIgnore: true } );\n\t}\n\n\tconst previousRecord = select.getCurrentPost();\n\tconst edits = {\n\t\tid: previousRecord.id,\n\t\t...registry\n\t\t\t.select( coreStore )\n\t\t\t.getEntityRecordNonTransientEdits(\n\t\t\t\t'postType',\n\t\t\t\tpreviousRecord.type,\n\t\t\t\tpreviousRecord.id\n\t\t\t),\n\t\tcontent,\n\t};\n\tdispatch( { type: 'REQUEST_POST_UPDATE_START', options } );\n\tawait registry\n\t\t.dispatch( coreStore )\n\t\t.saveEntityRecord( 'postType', previousRecord.type, edits, options );\n\tdispatch( { type: 'REQUEST_POST_UPDATE_FINISH', options } );\n\n\tconst error = registry\n\t\t.select( coreStore )\n\t\t.getLastEntitySaveError(\n\t\t\t'postType',\n\t\t\tpreviousRecord.type,\n\t\t\tpreviousRecord.id\n\t\t);\n\tif ( error ) {\n\t\tconst args = getNotificationArgumentsForSaveFail( {\n\t\t\tpost: previousRecord,\n\t\t\tedits,\n\t\t\terror,\n\t\t} );\n\t\tif ( args.length ) {\n\t\t\tregistry.dispatch( noticesStore ).createErrorNotice( ...args );\n\t\t}\n\t} else {\n\t\tconst updatedRecord = select.getCurrentPost();\n\t\tconst args = getNotificationArgumentsForSaveSuccess( {\n\t\t\tpreviousPost: previousRecord,\n\t\t\tpost: updatedRecord,\n\t\t\tpostType: await registry\n\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t.getPostType( updatedRecord.type ),\n\t\t\toptions,\n\t\t} );\n\t\tif ( args.length ) {\n\t\t\tregistry.dispatch( noticesStore ).createSuccessNotice( ...args );\n\t\t}\n\t\t// Make sure that any edits after saving create an undo level and are\n\t\t// considered for change detection.\n\t\tif ( ! options.isAutosave ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( blockEditorStore )\n\t\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t\t}\n\t}\n};\n\n/**\n * Action for refreshing the current post.\n *\n * @deprecated Since WordPress 6.0.\n */\nexport function refreshPost() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).refreshPost\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action for trashing the current post in the editor.\n */\nexport const trashPost = () => async ( { select, dispatch, registry } ) => {\n\tconst postTypeSlug = select.getCurrentPostType();\n\tconst postType = await registry\n\t\t.resolveSelect( coreStore )\n\t\t.getPostType( postTypeSlug );\n\tregistry.dispatch( noticesStore ).removeNotice( TRASH_POST_NOTICE_ID );\n\ttry {\n\t\tconst post = select.getCurrentPost();\n\t\tawait apiFetch( {\n\t\t\tpath: `/wp/v2/${ postType.rest_base }/${ post.id }`,\n\t\t\tmethod: 'DELETE',\n\t\t} );\n\n\t\tawait dispatch.savePost();\n\t} catch ( error ) {\n\t\tregistry\n\t\t\t.dispatch( noticesStore )\n\t\t\t.createErrorNotice(\n\t\t\t\t...getNotificationArgumentsForTrashFail( { error } )\n\t\t\t);\n\t}\n};\n\n/**\n * Action that autosaves the current post. This\n * includes server-side autosaving (default) and client-side (a.k.a. local)\n * autosaving (e.g. on the Web, the post might be committed to Session\n * Storage).\n *\n * @param {Object?} options Extra flags to identify the autosave.\n */\nexport const autosave = ( { local = false, ...options } = {} ) => async ( {\n\tselect,\n\tdispatch,\n} ) => {\n\tif ( local ) {\n\t\tconst post = select.getCurrentPost();\n\t\tconst isPostNew = select.isEditedPostNew();\n\t\tconst title = select.getEditedPostAttribute( 'title' );\n\t\tconst content = select.getEditedPostAttribute( 'content' );\n\t\tconst excerpt = select.getEditedPostAttribute( 'excerpt' );\n\t\tlocalAutosaveSet( post.id, isPostNew, title, content, excerpt );\n\t} else {\n\t\tawait dispatch.savePost( { isAutosave: true, ...options } );\n\t}\n};\n\n/**\n * Action that restores last popped state in undo history.\n */\nexport const redo = () => ( { registry } ) => {\n\tregistry.dispatch( coreStore ).redo();\n};\n\n/**\n * Action that pops a record from undo history and undoes the edit.\n */\nexport const undo = () => ( { registry } ) => {\n\tregistry.dispatch( coreStore ).undo();\n};\n\n/**\n * Action that creates an undo history record.\n *\n * @deprecated Since WordPress 6.0\n */\nexport function createUndoLevel() {\n\tdeprecated( \"wp.data.dispatch( 'core/editor' ).createUndoLevel\", {\n\t\tsince: '6.0',\n\t\tversion: '6.3',\n\t\talternative: 'Use the core entities store instead',\n\t} );\n\treturn { type: 'DO_NOTHING' };\n}\n\n/**\n * Action that locks the editor.\n *\n * @param {Object} lock Details about the post lock status, user, and nonce.\n * @return {Object} Action object.\n */\nexport function updatePostLock( lock ) {\n\treturn {\n\t\ttype: 'UPDATE_POST_LOCK',\n\t\tlock,\n\t};\n}\n\n/**\n * Action that enables the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function enablePublishSidebar() {\n\treturn {\n\t\ttype: 'ENABLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Action that disables the publish sidebar.\n *\n * @return {Object} Action object\n */\nexport function disablePublishSidebar() {\n\treturn {\n\t\ttype: 'DISABLE_PUBLISH_SIDEBAR',\n\t};\n}\n\n/**\n * Action that locks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * const { subscribe } = wp.data;\n *\n * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n *\n * // Only allow publishing posts that are set to a future date.\n * if ( 'publish' !== initialPostStatus ) {\n *\n * \t// Track locking.\n * \tlet locked = false;\n *\n * \t// Watch for the publish event.\n * \tlet unssubscribe = subscribe( () => {\n * \t\tconst currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );\n * \t\tif ( 'publish' !== currentPostStatus ) {\n *\n * \t\t\t// Compare the post date to the current date, lock the post if the date isn't in the future.\n * \t\t\tconst postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );\n * \t\t\tconst currentDate = new Date();\n * \t\t\tif ( postDate.getTime() <= currentDate.getTime() ) {\n * \t\t\t\tif ( ! locked ) {\n * \t\t\t\t\tlocked = true;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t} else {\n * \t\t\t\tif ( locked ) {\n * \t\t\t\t\tlocked = false;\n * \t\t\t\t\twp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );\n * \t\t\t\t}\n * \t\t\t}\n * \t\t}\n * \t} );\n * }\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post saving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostSaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_SAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that locks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Lock post autosaving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function lockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'LOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Action that unlocks post autosaving.\n *\n * @param {string} lockName The lock name.\n *\n * @example\n * ```\n * // Unlock post saving with the lock key `mylock`:\n * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );\n * ```\n *\n * @return {Object} Action object\n */\nexport function unlockPostAutosaving( lockName ) {\n\treturn {\n\t\ttype: 'UNLOCK_POST_AUTOSAVING',\n\t\tlockName,\n\t};\n}\n\n/**\n * Returns an action object used to signal that the blocks have been updated.\n *\n * @param {Array} blocks Block Array.\n * @param {?Object} options Optional options.\n */\nexport const resetEditorBlocks = ( blocks, options = {} ) => ( {\n\tselect,\n\tdispatch,\n\tregistry,\n} ) => {\n\tconst { __unstableShouldCreateUndoLevel, selection } = options;\n\tconst edits = { blocks, selection };\n\n\tif ( __unstableShouldCreateUndoLevel !== false ) {\n\t\tconst { id, type } = select.getCurrentPost();\n\t\tconst noChange =\n\t\t\tregistry\n\t\t\t\t.select( coreStore )\n\t\t\t\t.getEditedEntityRecord( 'postType', type, id ).blocks ===\n\t\t\tedits.blocks;\n\t\tif ( noChange ) {\n\t\t\tregistry\n\t\t\t\t.dispatch( coreStore )\n\t\t\t\t.__unstableCreateUndoLevel( 'postType', type, id );\n\t\t\treturn;\n\t\t}\n\n\t\t// We create a new function here on every persistent edit\n\t\t// to make sure the edit makes the post dirty and creates\n\t\t// a new undo level.\n\t\tedits.content = ( { blocks: blocksForSerialization = [] } ) =>\n\t\t\t__unstableSerializeAndClean( blocksForSerialization );\n\t}\n\n\tdispatch.editPost( edits );\n};\n\n/*\n * Returns an action object used in signalling that the post editor settings have been updated.\n *\n * @param {Object} settings Updated settings\n *\n * @return {Object} Action object\n */\nexport function updateEditorSettings( settings ) {\n\treturn {\n\t\ttype: 'UPDATE_EDITOR_SETTINGS',\n\t\tsettings,\n\t};\n}\n\n/**\n * Backward compatibility\n */\n\nconst getBlockEditorAction = ( name ) => ( ...args ) => ( { registry } ) => {\n\tdeprecated( \"`wp.data.dispatch( 'core/editor' ).\" + name + '`', {\n\t\tsince: '5.3',\n\t\talternative: \"`wp.data.dispatch( 'core/block-editor' ).\" + name + '`',\n\t\tversion: '6.2',\n\t} );\n\tregistry.dispatch( blockEditorStore )[ name ]( ...args );\n};\n\n/**\n * @see resetBlocks in core/block-editor store.\n */\nexport const resetBlocks = getBlockEditorAction( 'resetBlocks' );\n\n/**\n * @see receiveBlocks in core/block-editor store.\n */\nexport const receiveBlocks = getBlockEditorAction( 'receiveBlocks' );\n\n/**\n * @see updateBlock in core/block-editor store.\n */\nexport const updateBlock = getBlockEditorAction( 'updateBlock' );\n\n/**\n * @see updateBlockAttributes in core/block-editor store.\n */\nexport const updateBlockAttributes = getBlockEditorAction(\n\t'updateBlockAttributes'\n);\n\n/**\n * @see selectBlock in core/block-editor store.\n */\nexport const selectBlock = getBlockEditorAction( 'selectBlock' );\n\n/**\n * @see startMultiSelect in core/block-editor store.\n */\nexport const startMultiSelect = getBlockEditorAction( 'startMultiSelect' );\n\n/**\n * @see stopMultiSelect in core/block-editor store.\n */\nexport const stopMultiSelect = getBlockEditorAction( 'stopMultiSelect' );\n\n/**\n * @see multiSelect in core/block-editor store.\n */\nexport const multiSelect = getBlockEditorAction( 'multiSelect' );\n\n/**\n * @see clearSelectedBlock in core/block-editor store.\n */\nexport const clearSelectedBlock = getBlockEditorAction( 'clearSelectedBlock' );\n\n/**\n * @see toggleSelection in core/block-editor store.\n */\nexport const toggleSelection = getBlockEditorAction( 'toggleSelection' );\n\n/**\n * @see replaceBlocks in core/block-editor store.\n */\nexport const replaceBlocks = getBlockEditorAction( 'replaceBlocks' );\n\n/**\n * @see replaceBlock in core/block-editor store.\n */\nexport const replaceBlock = getBlockEditorAction( 'replaceBlock' );\n\n/**\n * @see moveBlocksDown in core/block-editor store.\n */\nexport const moveBlocksDown = getBlockEditorAction( 'moveBlocksDown' );\n\n/**\n * @see moveBlocksUp in core/block-editor store.\n */\nexport const moveBlocksUp = getBlockEditorAction( 'moveBlocksUp' );\n\n/**\n * @see moveBlockToPosition in core/block-editor store.\n */\nexport const moveBlockToPosition = getBlockEditorAction(\n\t'moveBlockToPosition'\n);\n\n/**\n * @see insertBlock in core/block-editor store.\n */\nexport const insertBlock = getBlockEditorAction( 'insertBlock' );\n\n/**\n * @see insertBlocks in core/block-editor store.\n */\nexport const insertBlocks = getBlockEditorAction( 'insertBlocks' );\n\n/**\n * @see showInsertionPoint in core/block-editor store.\n */\nexport const showInsertionPoint = getBlockEditorAction( 'showInsertionPoint' );\n\n/**\n * @see hideInsertionPoint in core/block-editor store.\n */\nexport const hideInsertionPoint = getBlockEditorAction( 'hideInsertionPoint' );\n\n/**\n * @see setTemplateValidity in core/block-editor store.\n */\nexport const setTemplateValidity = getBlockEditorAction(\n\t'setTemplateValidity'\n);\n\n/**\n * @see synchronizeTemplate in core/block-editor store.\n */\nexport const synchronizeTemplate = getBlockEditorAction(\n\t'synchronizeTemplate'\n);\n\n/**\n * @see mergeBlocks in core/block-editor store.\n */\nexport const mergeBlocks = getBlockEditorAction( 'mergeBlocks' );\n\n/**\n * @see removeBlocks in core/block-editor store.\n */\nexport const removeBlocks = getBlockEditorAction( 'removeBlocks' );\n\n/**\n * @see removeBlock in core/block-editor store.\n */\nexport const removeBlock = getBlockEditorAction( 'removeBlock' );\n\n/**\n * @see toggleBlockMode in core/block-editor store.\n */\nexport const toggleBlockMode = getBlockEditorAction( 'toggleBlockMode' );\n\n/**\n * @see startTyping in core/block-editor store.\n */\nexport const startTyping = getBlockEditorAction( 'startTyping' );\n\n/**\n * @see stopTyping in core/block-editor store.\n */\nexport const stopTyping = getBlockEditorAction( 'stopTyping' );\n\n/**\n * @see enterFormattedText in core/block-editor store.\n */\nexport const enterFormattedText = getBlockEditorAction( 'enterFormattedText' );\n\n/**\n * @see exitFormattedText in core/block-editor store.\n */\nexport const exitFormattedText = getBlockEditorAction( 'exitFormattedText' );\n\n/**\n * @see insertDefaultBlock in core/block-editor store.\n */\nexport const insertDefaultBlock = getBlockEditorAction( 'insertDefaultBlock' );\n\n/**\n * @see updateBlockListSettings in core/block-editor store.\n */\nexport const updateBlockListSettings = getBlockEditorAction(\n\t'updateBlockListSettings'\n);\n"]}
|
|
@@ -9,7 +9,7 @@ var _exportNames = {
|
|
|
9
9
|
togglePostTitleSelection: true,
|
|
10
10
|
autosave: true
|
|
11
11
|
};
|
|
12
|
-
exports.autosave =
|
|
12
|
+
exports.autosave = void 0;
|
|
13
13
|
exports.togglePostTitleSelection = togglePostTitleSelection;
|
|
14
14
|
|
|
15
15
|
var _reactNativeBridge = _interopRequireDefault(require("@wordpress/react-native-bridge"));
|
|
@@ -47,11 +47,13 @@ function togglePostTitleSelection() {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
|
-
* Action
|
|
50
|
+
* Action that autosaves the post.
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
const autosave = () => () => {
|
|
55
55
|
_reactNativeBridge.default.editorDidAutosave();
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.autosave = autosave;
|
|
57
59
|
//# sourceMappingURL=actions.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/actions.native.js"],"names":["togglePostTitleSelection","isSelected","type","autosave","RNReactNativeGutenbergBridge","editorDidAutosave"],"mappings":";;;;;;;;;;;;;;AAGA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,wBAAT,GAAuD;AAAA,MAApBC,UAAoB,uEAAP,IAAO;AAC7D,SAAO;AACNC,IAAAA,IAAI,EAAE,6BADA;AAEND,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;;;AACO,
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/actions.native.js"],"names":["togglePostTitleSelection","isSelected","type","autosave","RNReactNativeGutenbergBridge","editorDidAutosave"],"mappings":";;;;;;;;;;;;;;AAGA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,wBAAT,GAAuD;AAAA,MAApBC,UAAoB,uEAAP,IAAO;AAC7D,SAAO;AACNC,IAAAA,IAAI,EAAE,6BADA;AAEND,IAAAA;AAFM,GAAP;AAIA;AAED;AACA;AACA;;;AACO,MAAME,QAAQ,GAAG,MAAM,MAAM;AACnCC,6BAA6BC,iBAA7B;AACA,CAFM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport RNReactNativeGutenbergBridge from '@wordpress/react-native-bridge';\n\nexport * from './actions.js';\n\n/**\n * Returns an action object that enables or disables post title selection.\n *\n * @param {boolean} [isSelected=true] Whether post title is currently selected.\n *\n * @return {Object} Action object.\n */\nexport function togglePostTitleSelection( isSelected = true ) {\n\treturn {\n\t\ttype: 'TOGGLE_POST_TITLE_SELECTION',\n\t\tisSelected,\n\t};\n}\n\n/**\n * Action that autosaves the post.\n */\nexport const autosave = () => () => {\n\tRNReactNativeGutenbergBridge.editorDidAutosave();\n};\n"]}
|
package/build/store/index.js
CHANGED
|
@@ -9,16 +9,12 @@ exports.storeConfig = exports.store = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _data = require("@wordpress/data");
|
|
11
11
|
|
|
12
|
-
var _dataControls = require("@wordpress/data-controls");
|
|
13
|
-
|
|
14
12
|
var _reducer = _interopRequireDefault(require("./reducer"));
|
|
15
13
|
|
|
16
14
|
var selectors = _interopRequireWildcard(require("./selectors"));
|
|
17
15
|
|
|
18
16
|
var actions = _interopRequireWildcard(require("./actions"));
|
|
19
17
|
|
|
20
|
-
var _controls = _interopRequireDefault(require("./controls"));
|
|
21
|
-
|
|
22
18
|
var _constants = require("./constants");
|
|
23
19
|
|
|
24
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -43,10 +39,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
43
39
|
const storeConfig = {
|
|
44
40
|
reducer: _reducer.default,
|
|
45
41
|
selectors,
|
|
46
|
-
actions
|
|
47
|
-
controls: { ..._dataControls.controls,
|
|
48
|
-
..._controls.default
|
|
49
|
-
}
|
|
42
|
+
actions
|
|
50
43
|
};
|
|
51
44
|
/**
|
|
52
45
|
* Store definition for the editor namespace.
|
package/build/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/index.js"],"names":["storeConfig","reducer","selectors","actions","
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/index.js"],"names":["storeConfig","reducer","selectors","actions","store","STORE_NAME","persist"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAG;AAC1BC,EAAAA,OAAO,EAAPA,gBAD0B;AAE1BC,EAAAA,SAF0B;AAG1BC,EAAAA;AAH0B,CAApB;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,KAAK,GAAG,4BAAkBC,qBAAlB,EAA8B,EAClD,GAAGL,WAD+C;AAElDM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFyC,CAA9B,CAAd,C,CAKP;AACA;;;AACA,yBAAeD,qBAAf,EAA2B,EAC1B,GAAGL,WADuB;AAE1BM,EAAAA,OAAO,EAAE,CAAE,aAAF;AAFiB,CAA3B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createReduxStore, registerStore } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport reducer from './reducer';\nimport * as selectors from './selectors';\nimport * as actions from './actions';\nimport { STORE_NAME } from './constants';\n\n/**\n * Post editor data store configuration.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore\n *\n * @type {Object}\n */\nexport const storeConfig = {\n\treducer,\n\tselectors,\n\tactions,\n};\n\n/**\n * Store definition for the editor namespace.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore\n *\n * @type {Object}\n */\nexport const store = createReduxStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n\n// Once we build a more generic persistence plugin that works across types of stores\n// we'd be able to replace this with a register call.\nregisterStore( STORE_NAME, {\n\t...storeConfig,\n\tpersist: [ 'preferences' ],\n} );\n"]}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
7
6
|
exports.localAutosaveClear = localAutosaveClear;
|
|
8
7
|
exports.localAutosaveGet = localAutosaveGet;
|
|
9
8
|
exports.localAutosaveSet = localAutosaveSet;
|
|
@@ -41,20 +40,4 @@ function localAutosaveSet(postId, isPostNew, title, content, excerpt) {
|
|
|
41
40
|
function localAutosaveClear(postId, isPostNew) {
|
|
42
41
|
window.sessionStorage.removeItem(postKey(postId, isPostNew));
|
|
43
42
|
}
|
|
44
|
-
|
|
45
|
-
const controls = {
|
|
46
|
-
LOCAL_AUTOSAVE_SET(_ref) {
|
|
47
|
-
let {
|
|
48
|
-
postId,
|
|
49
|
-
isPostNew,
|
|
50
|
-
title,
|
|
51
|
-
content,
|
|
52
|
-
excerpt
|
|
53
|
-
} = _ref;
|
|
54
|
-
localAutosaveSet(postId, isPostNew, title, content, excerpt);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
var _default = controls;
|
|
59
|
-
exports.default = _default;
|
|
60
|
-
//# sourceMappingURL=controls.js.map
|
|
43
|
+
//# sourceMappingURL=local-autosave.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/local-autosave.js"],"names":["postKey","postId","isPostNew","localAutosaveGet","window","sessionStorage","getItem","localAutosaveSet","title","content","excerpt","setItem","JSON","stringify","post_title","localAutosaveClear","removeItem"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAT,CAAkBC,MAAlB,EAA0BC,SAA1B,EAAsC;AACrC,SAAQ,iCACPA,SAAS,GAAG,YAAH,GAAkBD,MAC3B,EAFD;AAGA;;AAEM,SAASE,gBAAT,CAA2BF,MAA3B,EAAmCC,SAAnC,EAA+C;AACrD,SAAOE,MAAM,CAACC,cAAP,CAAsBC,OAAtB,CAA+BN,OAAO,CAAEC,MAAF,EAAUC,SAAV,CAAtC,CAAP;AACA;;AAEM,SAASK,gBAAT,CAA2BN,MAA3B,EAAmCC,SAAnC,EAA8CM,KAA9C,EAAqDC,OAArD,EAA8DC,OAA9D,EAAwE;AAC9EN,EAAAA,MAAM,CAACC,cAAP,CAAsBM,OAAtB,CACCX,OAAO,CAAEC,MAAF,EAAUC,SAAV,CADR,EAECU,IAAI,CAACC,SAAL,CAAgB;AACfC,IAAAA,UAAU,EAAEN,KADG;AAEfC,IAAAA,OAFe;AAGfC,IAAAA;AAHe,GAAhB,CAFD;AAQA;;AAEM,SAASK,kBAAT,CAA6Bd,MAA7B,EAAqCC,SAArC,EAAiD;AACvDE,EAAAA,MAAM,CAACC,cAAP,CAAsBW,UAAtB,CAAkChB,OAAO,CAAEC,MAAF,EAAUC,SAAV,CAAzC;AACA","sourcesContent":["/**\n * Function returning a sessionStorage key to set or retrieve a given post's\n * automatic session backup.\n *\n * Keys are crucially prefixed with 'wp-autosave-' so that wp-login.php's\n * `loggedout` handler can clear sessionStorage of any user-private content.\n *\n * @see https://github.com/WordPress/wordpress-develop/blob/6dad32d2aed47e6c0cf2aee8410645f6d7aba6bd/src/wp-login.php#L103\n *\n * @param {string} postId Post ID.\n * @param {boolean} isPostNew Whether post new.\n *\n * @return {string} sessionStorage key\n */\nfunction postKey( postId, isPostNew ) {\n\treturn `wp-autosave-block-editor-post-${\n\t\tisPostNew ? 'auto-draft' : postId\n\t}`;\n}\n\nexport function localAutosaveGet( postId, isPostNew ) {\n\treturn window.sessionStorage.getItem( postKey( postId, isPostNew ) );\n}\n\nexport function localAutosaveSet( postId, isPostNew, title, content, excerpt ) {\n\twindow.sessionStorage.setItem(\n\t\tpostKey( postId, isPostNew ),\n\t\tJSON.stringify( {\n\t\t\tpost_title: title,\n\t\t\tcontent,\n\t\t\texcerpt,\n\t\t} )\n\t);\n}\n\nexport function localAutosaveClear( postId, isPostNew ) {\n\twindow.sessionStorage.removeItem( postKey( postId, isPostNew ) );\n}\n"]}
|
package/build/store/reducer.js
CHANGED
|
@@ -111,7 +111,6 @@ function postId() {
|
|
|
111
111
|
|
|
112
112
|
switch (action.type) {
|
|
113
113
|
case 'SETUP_EDITOR_STATE':
|
|
114
|
-
case 'RESET_POST':
|
|
115
114
|
return action.post.id;
|
|
116
115
|
}
|
|
117
116
|
|
|
@@ -124,7 +123,6 @@ function postType() {
|
|
|
124
123
|
|
|
125
124
|
switch (action.type) {
|
|
126
125
|
case 'SETUP_EDITOR_STATE':
|
|
127
|
-
case 'RESET_POST':
|
|
128
126
|
return action.post.type;
|
|
129
127
|
}
|
|
130
128
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/reducer.js"],"names":["getPostRawValue","value","raw","hasSameKeys","a","b","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","post","id","postType","template","isValid","preferences","PREFERENCES_DEFAULTS","isPublishSidebarEnabled","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","postAutosavingLock","isReady","editorSettings","EDITOR_SETTINGS_DEFAULTS","settings"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit, keys, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { PREFERENCES_DEFAULTS, 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( keys( a ), 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\tcase 'RESET_POST':\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\tcase 'RESET_POST':\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 the user preferences.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function preferences( state = PREFERENCES_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ENABLE_PUBLISH_SIDEBAR':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisPublishSidebarEnabled: true,\n\t\t\t};\n\n\t\tcase 'DISABLE_PUBLISH_SIDEBAR':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisPublishSidebarEnabled: false,\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\tpreferences,\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":["getPostRawValue","value","raw","hasSameKeys","a","b","isUpdatingSamePostProperty","action","previousAction","type","edits","shouldOverwriteState","shouldCreateUndoLevel","postId","state","post","id","postType","template","isValid","preferences","PREFERENCES_DEFAULTS","isPublishSidebarEnabled","saving","pending","options","postLock","isLocked","lock","postSavingLock","lockName","postAutosavingLock","isReady","editorSettings","EDITOR_SETTINGS_DEFAULTS","settings"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit, keys, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { PREFERENCES_DEFAULTS, 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( keys( a ), 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 the user preferences.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {string} Updated state.\n */\nexport function preferences( state = PREFERENCES_DEFAULTS, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'ENABLE_PUBLISH_SIDEBAR':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisPublishSidebarEnabled: true,\n\t\t\t};\n\n\t\tcase 'DISABLE_PUBLISH_SIDEBAR':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tisPublishSidebarEnabled: false,\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\tpreferences,\n\tsaving,\n\tpostLock,\n\ttemplate,\n\tpostSavingLock,\n\tisReady,\n\teditorSettings,\n\tpostAutosavingLock,\n} );\n"]}
|
|
@@ -42,6 +42,11 @@ function getNotificationArgumentsForSaveSuccess(data) {
|
|
|
42
42
|
|
|
43
43
|
if ((0, _lodash.get)(data.options, ['isAutosave'])) {
|
|
44
44
|
return [];
|
|
45
|
+
} // No notice is shown after trashing a post
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if (post.status === 'trash' && previousPost.status !== 'trash') {
|
|
49
|
+
return [];
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
const publishStatus = ['publish', 'private', 'future'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/store/utils/notice-builder.js"],"names":["getNotificationArgumentsForSaveSuccess","data","previousPost","post","postType","options","
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/store/utils/notice-builder.js"],"names":["getNotificationArgumentsForSaveSuccess","data","previousPost","post","postType","options","status","publishStatus","isPublished","willPublish","noticeMessage","shouldShowLink","labels","item_reverted_to_draft","publish","item_published","private","item_published_privately","future","item_scheduled","item_updated","actions","push","label","view_item","url","link","id","SAVE_POST_NOTICE_ID","type","getNotificationArgumentsForSaveFail","edits","error","code","indexOf","messages","message","test","join","getNotificationArgumentsForTrashFail","TRASH_POST_NOTICE_ID"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAKA;;AAbA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sCAAT,CAAiDC,IAAjD,EAAwD;AAC9D,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,IAAhB;AAAsBC,IAAAA;AAAtB,MAAmCH,IAAzC,CAD8D,CAE9D;;AACA,MAAK,iBAAKA,IAAI,CAACI,OAAV,EAAmB,CAAE,YAAF,CAAnB,CAAL,EAA6C;AAC5C,WAAO,EAAP;AACA,GAL6D,CAO9D;;;AACA,MAAKF,IAAI,CAACG,MAAL,KAAgB,OAAhB,IAA2BJ,YAAY,CAACI,MAAb,KAAwB,OAAxD,EAAkE;AACjE,WAAO,EAAP;AACA;;AAED,QAAMC,aAAa,GAAG,CAAE,SAAF,EAAa,SAAb,EAAwB,QAAxB,CAAtB;AACA,QAAMC,WAAW,GAAG,sBAAUD,aAAV,EAAyBL,YAAY,CAACI,MAAtC,CAApB;AACA,QAAMG,WAAW,GAAG,sBAAUF,aAAV,EAAyBJ,IAAI,CAACG,MAA9B,CAApB;AAEA,MAAII,aAAJ;AACA,MAAIC,cAAc,GAAG,iBAAKP,QAAL,EAAe,CAAE,UAAF,CAAf,EAA+B,KAA/B,CAArB,CAjB8D,CAmB9D;;AACA,MAAK,CAAEI,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC;AACAC,IAAAA,aAAa,GAAG,cAAI,aAAJ,CAAhB;AACAC,IAAAA,cAAc,GAAG,KAAjB;AACA,GAJD,MAIO,IAAKH,WAAW,IAAI,CAAEC,WAAtB,EAAoC;AAC1C;AACAC,IAAAA,aAAa,GAAGN,QAAQ,CAACQ,MAAT,CAAgBC,sBAAhC;AACAF,IAAAA,cAAc,GAAG,KAAjB;AACA,GAJM,MAIA,IAAK,CAAEH,WAAF,IAAiBC,WAAtB,EAAoC;AAC1C;AACA;AACAC,IAAAA,aAAa,GAAG;AACfI,MAAAA,OAAO,EAAEV,QAAQ,CAACQ,MAAT,CAAgBG,cADV;AAEfC,MAAAA,OAAO,EAAEZ,QAAQ,CAACQ,MAAT,CAAgBK,wBAFV;AAGfC,MAAAA,MAAM,EAAEd,QAAQ,CAACQ,MAAT,CAAgBO;AAHT,MAIbhB,IAAI,CAACG,MAJQ,CAAhB;AAKA,GARM,MAQA;AACN;AACAI,IAAAA,aAAa,GAAGN,QAAQ,CAACQ,MAAT,CAAgBQ,YAAhC;AACA;;AAED,QAAMC,OAAO,GAAG,EAAhB;;AACA,MAAKV,cAAL,EAAsB;AACrBU,IAAAA,OAAO,CAACC,IAAR,CAAc;AACbC,MAAAA,KAAK,EAAEnB,QAAQ,CAACQ,MAAT,CAAgBY,SADV;AAEbC,MAAAA,GAAG,EAAEtB,IAAI,CAACuB;AAFG,KAAd;AAIA;;AACD,SAAO,CACNhB,aADM,EAEN;AACCiB,IAAAA,EAAE,EAAEC,8BADL;AAECC,IAAAA,IAAI,EAAE,UAFP;AAGCR,IAAAA;AAHD,GAFM,CAAP;AAQA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASS,mCAAT,CAA8C7B,IAA9C,EAAqD;AAC3D,QAAM;AAAEE,IAAAA,IAAF;AAAQ4B,IAAAA,KAAR;AAAeC,IAAAA;AAAf,MAAyB/B,IAA/B;;AACA,MAAK+B,KAAK,IAAI,+BAA+BA,KAAK,CAACC,IAAnD,EAA0D;AACzD;AACA;AACA,WAAO,EAAP;AACA;;AAED,QAAM1B,aAAa,GAAG,CAAE,SAAF,EAAa,SAAb,EAAwB,QAAxB,CAAtB;AACA,QAAMC,WAAW,GAAGD,aAAa,CAAC2B,OAAd,CAAuB/B,IAAI,CAACG,MAA5B,MAAyC,CAAC,CAA9D,CAT2D,CAU3D;AACA;;AACA,QAAM6B,QAAQ,GAAG;AAChBrB,IAAAA,OAAO,EAAE,cAAI,oBAAJ,CADO;AAEhBE,IAAAA,OAAO,EAAE,cAAI,oBAAJ,CAFO;AAGhBE,IAAAA,MAAM,EAAE,cAAI,oBAAJ;AAHQ,GAAjB;AAKA,MAAIR,aAAa,GAChB,CAAEF,WAAF,IAAiBD,aAAa,CAAC2B,OAAd,CAAuBH,KAAK,CAACzB,MAA7B,MAA0C,CAAC,CAA5D,GACG6B,QAAQ,CAAEJ,KAAK,CAACzB,MAAR,CADX,GAEG,cAAI,kBAAJ,CAHJ,CAjB2D,CAsB3D;AACA;;AACA,MAAK0B,KAAK,CAACI,OAAN,IAAiB,CAAE,aAAaC,IAAb,CAAmBL,KAAK,CAACI,OAAzB,CAAxB,EAA6D;AAC5D1B,IAAAA,aAAa,GAAG,CAAEA,aAAF,EAAiBsB,KAAK,CAACI,OAAvB,EAAiCE,IAAjC,CAAuC,GAAvC,CAAhB;AACA;;AACD,SAAO,CACN5B,aADM,EAEN;AACCiB,IAAAA,EAAE,EAAEC;AADL,GAFM,CAAP;AAMA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASW,oCAAT,CAA+CtC,IAA/C,EAAsD;AAC5D,SAAO,CACNA,IAAI,CAAC+B,KAAL,CAAWI,OAAX,IAAsBnC,IAAI,CAAC+B,KAAL,CAAWC,IAAX,KAAoB,eAA1C,GACGhC,IAAI,CAAC+B,KAAL,CAAWI,OADd,GAEG,cAAI,iBAAJ,CAHG,EAIN;AACCT,IAAAA,EAAE,EAAEa;AADL,GAJM,CAAP;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { SAVE_POST_NOTICE_ID, TRASH_POST_NOTICE_ID } from '../constants';\n\n/**\n * External dependencies\n */\nimport { get, includes } from 'lodash';\n\n/**\n * Builds the arguments for a success notification dispatch.\n *\n * @param {Object} data Incoming data to build the arguments from.\n *\n * @return {Array} Arguments for dispatch. An empty array signals no\n * notification should be sent.\n */\nexport function getNotificationArgumentsForSaveSuccess( data ) {\n\tconst { previousPost, post, postType } = data;\n\t// Autosaves are neither shown a notice nor redirected.\n\tif ( get( data.options, [ 'isAutosave' ] ) ) {\n\t\treturn [];\n\t}\n\n\t// No notice is shown after trashing a post\n\tif ( post.status === 'trash' && previousPost.status !== 'trash' ) {\n\t\treturn [];\n\t}\n\n\tconst publishStatus = [ 'publish', 'private', 'future' ];\n\tconst isPublished = includes( publishStatus, previousPost.status );\n\tconst willPublish = includes( publishStatus, post.status );\n\n\tlet noticeMessage;\n\tlet shouldShowLink = get( postType, [ 'viewable' ], false );\n\n\t// Always should a notice, which will be spoken for accessibility.\n\tif ( ! isPublished && ! willPublish ) {\n\t\t// If saving a non-published post, don't show notice.\n\t\tnoticeMessage = __( 'Draft saved' );\n\t\tshouldShowLink = false;\n\t} else if ( isPublished && ! willPublish ) {\n\t\t// If undoing publish status, show specific notice\n\t\tnoticeMessage = postType.labels.item_reverted_to_draft;\n\t\tshouldShowLink = false;\n\t} else if ( ! isPublished && willPublish ) {\n\t\t// If publishing or scheduling a post, show the corresponding\n\t\t// publish message\n\t\tnoticeMessage = {\n\t\t\tpublish: postType.labels.item_published,\n\t\t\tprivate: postType.labels.item_published_privately,\n\t\t\tfuture: postType.labels.item_scheduled,\n\t\t}[ post.status ];\n\t} else {\n\t\t// Generic fallback notice\n\t\tnoticeMessage = postType.labels.item_updated;\n\t}\n\n\tconst actions = [];\n\tif ( shouldShowLink ) {\n\t\tactions.push( {\n\t\t\tlabel: postType.labels.view_item,\n\t\t\turl: post.link,\n\t\t} );\n\t}\n\treturn [\n\t\tnoticeMessage,\n\t\t{\n\t\t\tid: SAVE_POST_NOTICE_ID,\n\t\t\ttype: 'snackbar',\n\t\t\tactions,\n\t\t},\n\t];\n}\n\n/**\n * Builds the fail notification arguments for dispatch.\n *\n * @param {Object} data Incoming data to build the arguments with.\n *\n * @return {Array} Arguments for dispatch. An empty array signals no\n * notification should be sent.\n */\nexport function getNotificationArgumentsForSaveFail( data ) {\n\tconst { post, edits, error } = data;\n\tif ( error && 'rest_autosave_no_changes' === error.code ) {\n\t\t// Autosave requested a new autosave, but there were no changes. This shouldn't\n\t\t// result in an error notice for the user.\n\t\treturn [];\n\t}\n\n\tconst publishStatus = [ 'publish', 'private', 'future' ];\n\tconst isPublished = publishStatus.indexOf( post.status ) !== -1;\n\t// If the post was being published, we show the corresponding publish error message\n\t// Unless we publish an \"updating failed\" message\n\tconst messages = {\n\t\tpublish: __( 'Publishing failed.' ),\n\t\tprivate: __( 'Publishing failed.' ),\n\t\tfuture: __( 'Scheduling failed.' ),\n\t};\n\tlet noticeMessage =\n\t\t! isPublished && publishStatus.indexOf( edits.status ) !== -1\n\t\t\t? messages[ edits.status ]\n\t\t\t: __( 'Updating failed.' );\n\n\t// Check if message string contains HTML. Notice text is currently only\n\t// supported as plaintext, and stripping the tags may muddle the meaning.\n\tif ( error.message && ! /<\\/?[^>]*>/.test( error.message ) ) {\n\t\tnoticeMessage = [ noticeMessage, error.message ].join( ' ' );\n\t}\n\treturn [\n\t\tnoticeMessage,\n\t\t{\n\t\t\tid: SAVE_POST_NOTICE_ID,\n\t\t},\n\t];\n}\n\n/**\n * Builds the trash fail notification arguments for dispatch.\n *\n * @param {Object} data\n *\n * @return {Array} Arguments for dispatch.\n */\nexport function getNotificationArgumentsForTrashFail( data ) {\n\treturn [\n\t\tdata.error.message && data.error.code !== 'unknown_error'\n\t\t\t? data.error.message\n\t\t\t: __( 'Trashing failed' ),\n\t\t{\n\t\t\tid: TRASH_POST_NOTICE_ID,\n\t\t},\n\t];\n}\n"]}
|
|
@@ -13,7 +13,7 @@ import { TransitionPresets } from '@react-navigation/stack';
|
|
|
13
13
|
|
|
14
14
|
import { BottomSheet, BottomSheetConsumer, PanelBody } from '@wordpress/components';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
|
-
import { helpFilled, plusCircleFilled,
|
|
16
|
+
import { helpFilled, plusCircleFilled, alignJustify, trash, cog } from '@wordpress/icons';
|
|
17
17
|
import { useSelect } from '@wordpress/data';
|
|
18
18
|
import { store as editorStore } from '@wordpress/editor';
|
|
19
19
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
@@ -41,15 +41,15 @@ const HELP_TOPICS = [{
|
|
|
41
41
|
view: createElement(AddBlocks, null)
|
|
42
42
|
}, {
|
|
43
43
|
label: __('Move blocks'),
|
|
44
|
-
icon:
|
|
44
|
+
icon: alignJustify,
|
|
45
45
|
view: createElement(MoveBlocks, null)
|
|
46
46
|
}, {
|
|
47
47
|
label: __('Remove blocks'),
|
|
48
|
-
icon:
|
|
48
|
+
icon: trash,
|
|
49
49
|
view: createElement(RemoveBlocks, null)
|
|
50
50
|
}, {
|
|
51
51
|
label: __('Customize blocks'),
|
|
52
|
-
icon:
|
|
52
|
+
icon: cog,
|
|
53
53
|
view: createElement(CustomizeBlocks, null)
|
|
54
54
|
}];
|
|
55
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/editor-help/index.native.js"],"names":["kebabCase","Text","SafeAreaView","ScrollView","StyleSheet","View","TransitionPresets","BottomSheet","BottomSheetConsumer","PanelBody","__","helpFilled","plusCircleFilled","alignJustifyAlt","trashFilled","cogAlt","useSelect","store","editorStore","usePreferredColorSchemeStyle","requestContactCustomerSupport","requestGotoCustomerSupportOptions","styles","HelpDetailNavigationScreen","HelpTopicRow","HelpGetSupportButton","IntroToBlocks","AddBlocks","MoveBlocks","RemoveBlocks","CustomizeBlocks","HELP_TOPICS","label","icon","view","EditorHelpTopics","close","isVisible","onClose","postType","select","getEditedPostAttribute","sectionTitle","helpDetailSectionHeading","helpDetailSectionHeadingDark","title","contentContainer","navigationContainer","container","listProps","contentContainerStyle","flatten","paddingBottom","Math","max","safeAreaBottomInset","marginTop","map","labelSlug","gestureEnabled","DefaultTransition"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\nimport { Text, SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';\nimport { TransitionPresets } from '@react-navigation/stack';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBottomSheet,\n\tBottomSheetConsumer,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\thelpFilled,\n\tplusCircleFilled,\n\talignJustifyAlt,\n\ttrashFilled,\n\tcogAlt,\n} from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\trequestContactCustomerSupport,\n\trequestGotoCustomerSupportOptions,\n} from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport HelpDetailNavigationScreen from './help-detail-navigation-screen';\nimport HelpTopicRow from './help-topic-row';\nimport HelpGetSupportButton from './help-get-support-button';\nimport IntroToBlocks from './intro-to-blocks';\nimport AddBlocks from './add-blocks';\nimport MoveBlocks from './move-blocks';\nimport RemoveBlocks from './remove-blocks';\nimport CustomizeBlocks from './customize-blocks';\n\nconst HELP_TOPICS = [\n\t{\n\t\tlabel: __( 'What is a block?' ),\n\t\ticon: helpFilled,\n\t\tview: <IntroToBlocks />,\n\t},\n\t{\n\t\tlabel: __( 'Add blocks' ),\n\t\ticon: plusCircleFilled,\n\t\tview: <AddBlocks />,\n\t},\n\t{ label: __( 'Move blocks' ), icon: alignJustifyAlt, view: <MoveBlocks /> },\n\t{ label: __( 'Remove blocks' ), icon: trashFilled, view: <RemoveBlocks /> },\n\t{\n\t\tlabel: __( 'Customize blocks' ),\n\t\ticon: cogAlt,\n\t\tview: <CustomizeBlocks />,\n\t},\n];\n\nfunction EditorHelpTopics( { close, isVisible, onClose } ) {\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst sectionTitle = usePreferredColorSchemeStyle(\n\t\tstyles.helpDetailSectionHeading,\n\t\tstyles.helpDetailSectionHeadingDark\n\t);\n\n\tconst title =\n\t\tpostType === 'page'\n\t\t\t? __( 'How to edit your page' )\n\t\t\t: __( 'How to edit your post' );\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ isVisible }\n\t\t\tonClose={ onClose }\n\t\t\thideHeader\n\t\t\thasNavigation\n\t\t\tcontentStyle={ styles.contentContainer }\n\t\t\ttestID=\"editor-help-modal\"\n\t\t>\n\t\t\t<SafeAreaView>\n\t\t\t\t<BottomSheet.NavigationContainer\n\t\t\t\t\tanimate\n\t\t\t\t\tmain\n\t\t\t\t\tstyle={ styles.navigationContainer }\n\t\t\t\t>\n\t\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\t\tisScrollable\n\t\t\t\t\t\tfullScreen\n\t\t\t\t\t\tname=\"help-topics\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t\t\t\t<BottomSheet.NavBar.DismissButton\n\t\t\t\t\t\t\t\t\tonPress={ close }\n\t\t\t\t\t\t\t\t\tiosText={ __( 'Close' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t\t{ ( { listProps } ) => {\n\t\t\t\t\t\t\t\t\tconst contentContainerStyle = StyleSheet.flatten(\n\t\t\t\t\t\t\t\t\t\tlistProps.contentContainerStyle\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\t\t\t\t{ ...listProps }\n\t\t\t\t\t\t\t\t\t\t\tcontentContainerStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...contentContainerStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tpaddingBottom: Math.max(\n\t\t\t\t\t\t\t\t\t\t\t\t\tlistProps.safeAreaBottomInset,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentContainerStyle.paddingBottom\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t\t\t\t * Remove margin set via `hideHeader`. Combining a header\n\t\t\t\t\t\t\t\t\t\t\t\t * and navigation in this bottom sheet is at odds with the\n\t\t\t\t\t\t\t\t\t\t\t\t * current `BottomSheet` implementation.\n\t\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={ sectionTitle }>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'The basics' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t{ /* Print out help topics */ }\n\t\t\t\t\t\t\t\t\t\t\t\t{ HELP_TOPICS.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( { label, icon } ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst labelSlug = kebabCase(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpTopicRow\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabelSlug\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenName={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabelSlug\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={ sectionTitle }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Get support' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpGetSupportButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Contact support'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonPress={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequestContactCustomerSupport\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpGetSupportButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'More support options'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonPress={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequestGotoCustomerSupportOptions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t\t\t\t</ScrollView>\n\t\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</BottomSheetConsumer>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t\t{ /* Print out help detail screens */ }\n\t\t\t\t\t{ HELP_TOPICS.map( ( { view, label } ) => {\n\t\t\t\t\t\tconst labelSlug = kebabCase( label );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<HelpDetailNavigationScreen\n\t\t\t\t\t\t\t\tkey={ labelSlug }\n\t\t\t\t\t\t\t\tname={ labelSlug }\n\t\t\t\t\t\t\t\tcontent={ view }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\toptions={ {\n\t\t\t\t\t\t\t\t\tgestureEnabled: false,\n\t\t\t\t\t\t\t\t\t...TransitionPresets.DefaultTransition,\n\t\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\t\t\t\t</BottomSheet.NavigationContainer>\n\t\t\t</SafeAreaView>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default EditorHelpTopics;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/editor-help/index.native.js"],"names":["kebabCase","Text","SafeAreaView","ScrollView","StyleSheet","View","TransitionPresets","BottomSheet","BottomSheetConsumer","PanelBody","__","helpFilled","plusCircleFilled","alignJustify","trash","cog","useSelect","store","editorStore","usePreferredColorSchemeStyle","requestContactCustomerSupport","requestGotoCustomerSupportOptions","styles","HelpDetailNavigationScreen","HelpTopicRow","HelpGetSupportButton","IntroToBlocks","AddBlocks","MoveBlocks","RemoveBlocks","CustomizeBlocks","HELP_TOPICS","label","icon","view","EditorHelpTopics","close","isVisible","onClose","postType","select","getEditedPostAttribute","sectionTitle","helpDetailSectionHeading","helpDetailSectionHeadingDark","title","contentContainer","navigationContainer","container","listProps","contentContainerStyle","flatten","paddingBottom","Math","max","safeAreaBottomInset","marginTop","map","labelSlug","gestureEnabled","DefaultTransition"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,QAA1B;AACA,SAASC,IAAT,EAAeC,YAAf,EAA6BC,UAA7B,EAAyCC,UAAzC,EAAqDC,IAArD,QAAiE,cAAjE;AACA,SAASC,iBAAT,QAAkC,yBAAlC;AAEA;AACA;AACA;;AACA,SACCC,WADD,EAECC,mBAFD,EAGCC,SAHD,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,UADD,EAECC,gBAFD,EAGCC,YAHD,EAICC,KAJD,EAKCC,GALD,QAMO,kBANP;AAOA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SACCC,6BADD,EAECC,iCAFD,QAGO,gCAHP;AAKA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,OAAOC,0BAAP,MAAuC,iCAAvC;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,aAAP,MAA0B,mBAA1B;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AAEA,MAAMC,WAAW,GAAG,CACnB;AACCC,EAAAA,KAAK,EAAEtB,EAAE,CAAE,kBAAF,CADV;AAECuB,EAAAA,IAAI,EAAEtB,UAFP;AAGCuB,EAAAA,IAAI,EAAE,cAAC,aAAD;AAHP,CADmB,EAMnB;AACCF,EAAAA,KAAK,EAAEtB,EAAE,CAAE,YAAF,CADV;AAECuB,EAAAA,IAAI,EAAErB,gBAFP;AAGCsB,EAAAA,IAAI,EAAE,cAAC,SAAD;AAHP,CANmB,EAWnB;AAAEF,EAAAA,KAAK,EAAEtB,EAAE,CAAE,aAAF,CAAX;AAA8BuB,EAAAA,IAAI,EAAEpB,YAApC;AAAkDqB,EAAAA,IAAI,EAAE,cAAC,UAAD;AAAxD,CAXmB,EAYnB;AAAEF,EAAAA,KAAK,EAAEtB,EAAE,CAAE,eAAF,CAAX;AAAgCuB,EAAAA,IAAI,EAAEnB,KAAtC;AAA6CoB,EAAAA,IAAI,EAAE,cAAC,YAAD;AAAnD,CAZmB,EAanB;AACCF,EAAAA,KAAK,EAAEtB,EAAE,CAAE,kBAAF,CADV;AAECuB,EAAAA,IAAI,EAAElB,GAFP;AAGCmB,EAAAA,IAAI,EAAE,cAAC,eAAD;AAHP,CAbmB,CAApB;;AAoBA,SAASC,gBAAT,OAA2D;AAAA,MAAhC;AAAEC,IAAAA,KAAF;AAASC,IAAAA,SAAT;AAAoBC,IAAAA;AAApB,GAAgC;AAC1D,QAAM;AAAEC,IAAAA;AAAF,MAAevB,SAAS,CAAIwB,MAAF,KAAgB;AAC/CD,IAAAA,QAAQ,EAAEC,MAAM,CAAEtB,WAAF,CAAN,CAAsBuB,sBAAtB,CAA8C,MAA9C;AADqC,GAAhB,CAAF,CAA9B;AAIA,QAAMC,YAAY,GAAGvB,4BAA4B,CAChDG,MAAM,CAACqB,wBADyC,EAEhDrB,MAAM,CAACsB,4BAFyC,CAAjD;AAKA,QAAMC,KAAK,GACVN,QAAQ,KAAK,MAAb,GACG7B,EAAE,CAAE,uBAAF,CADL,GAEGA,EAAE,CAAE,uBAAF,CAHN;AAKA,SACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAG2B,SADb;AAEC,IAAA,OAAO,EAAGC,OAFX;AAGC,IAAA,UAAU,MAHX;AAIC,IAAA,aAAa,MAJd;AAKC,IAAA,YAAY,EAAGhB,MAAM,CAACwB,gBALvB;AAMC,IAAA,MAAM,EAAC;AANR,KAQC,cAAC,YAAD,QACC,cAAC,WAAD,CAAa,mBAAb;AACC,IAAA,OAAO,MADR;AAEC,IAAA,IAAI,MAFL;AAGC,IAAA,KAAK,EAAGxB,MAAM,CAACyB;AAHhB,KAKC,cAAC,WAAD,CAAa,gBAAb;AACC,IAAA,YAAY,MADb;AAEC,IAAA,UAAU,MAFX;AAGC,IAAA,IAAI,EAAC;AAHN,KAKC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGzB,MAAM,CAAC0B;AAArB,KACC,cAAC,WAAD,CAAa,MAAb,QACC,cAAC,WAAD,CAAa,MAAb,CAAoB,aAApB;AACC,IAAA,OAAO,EAAGZ,KADX;AAEC,IAAA,OAAO,EAAG1B,EAAE,CAAE,OAAF;AAFb,IADD,EAKC,cAAC,WAAD,CAAa,MAAb,CAAoB,OAApB,QACGmC,KADH,CALD,CADD,EAUC,cAAC,mBAAD,QACG,SAAqB;AAAA,QAAnB;AAAEI,MAAAA;AAAF,KAAmB;AACtB,UAAMC,qBAAqB,GAAG9C,UAAU,CAAC+C,OAAX,CAC7BF,SAAS,CAACC,qBADmB,CAA9B;AAGA,WACC,cAAC,UAAD,eACMD,SADN;AAEC,MAAA,qBAAqB,EAAG,EACvB,GAAGC,qBADoB;AAEvBE,QAAAA,aAAa,EAAEC,IAAI,CAACC,GAAL,CACdL,SAAS,CAACM,mBADI,EAEdL,qBAAqB,CAACE,aAFR,CAFQ;;AAMvB;AACZ;AACA;AACA;AACA;AACYI,QAAAA,SAAS,EAAE;AAXY;AAFzB,QAgBC,cAAC,SAAD,QACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGd;AAAd,OACGhC,EAAE,CAAE,YAAF,CADL,CADD,EAKGqB,WAAW,CAAC0B,GAAZ,CACD,SAAuB;AAAA,UAArB;AAAEzB,QAAAA,KAAF;AAASC,QAAAA;AAAT,OAAqB;AACtB,YAAMyB,SAAS,GAAG1D,SAAS,CAC1BgC,KAD0B,CAA3B;AAGA,aACC,cAAC,YAAD;AACC,QAAA,GAAG,EACF0B,SAFF;AAIC,QAAA,KAAK,EAAG1B,KAJT;AAKC,QAAA,IAAI,EAAGC,IALR;AAMC,QAAA,UAAU,EACTyB;AAPF,QADD;AAYA,KAjBA,CALH,EAyBE,cAAC,IAAD;AACC,MAAA,KAAK,EAAGhB;AADT,OAGGhC,EAAE,CAAE,aAAF,CAHL,CAzBF,EAgCE,cAAC,oBAAD;AACC,MAAA,KAAK,EAAGA,EAAE,CACT,iBADS,CADX;AAIC,MAAA,OAAO,EACNU;AALF,MAhCF,EA0CE,cAAC,oBAAD;AACC,MAAA,KAAK,EAAGV,EAAE,CACT,sBADS,CADX;AAIC,MAAA,OAAO,EACNW;AALF,MA1CF,CAhBD,CADD;AAuEA,GA5EF,CAVD,CALD,CALD,EAqGGU,WAAW,CAAC0B,GAAZ,CAAiB,SAAuB;AAAA,QAArB;AAAEvB,MAAAA,IAAF;AAAQF,MAAAA;AAAR,KAAqB;AACzC,UAAM0B,SAAS,GAAG1D,SAAS,CAAEgC,KAAF,CAA3B;AACA,WACC,cAAC,0BAAD;AACC,MAAA,GAAG,EAAG0B,SADP;AAEC,MAAA,IAAI,EAAGA,SAFR;AAGC,MAAA,OAAO,EAAGxB,IAHX;AAIC,MAAA,KAAK,EAAGF,KAJT;AAKC,MAAA,OAAO,EAAG;AACT2B,QAAAA,cAAc,EAAE,KADP;AAET,WAAGrD,iBAAiB,CAACsD;AAFZ;AALX,MADD;AAYA,GAdC,CArGH,CADD,CARD,CADD;AAkIA;;AAED,eAAezB,gBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\nimport { Text, SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';\nimport { TransitionPresets } from '@react-navigation/stack';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBottomSheet,\n\tBottomSheetConsumer,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\thelpFilled,\n\tplusCircleFilled,\n\talignJustify,\n\ttrash,\n\tcog,\n} from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\trequestContactCustomerSupport,\n\trequestGotoCustomerSupportOptions,\n} from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport HelpDetailNavigationScreen from './help-detail-navigation-screen';\nimport HelpTopicRow from './help-topic-row';\nimport HelpGetSupportButton from './help-get-support-button';\nimport IntroToBlocks from './intro-to-blocks';\nimport AddBlocks from './add-blocks';\nimport MoveBlocks from './move-blocks';\nimport RemoveBlocks from './remove-blocks';\nimport CustomizeBlocks from './customize-blocks';\n\nconst HELP_TOPICS = [\n\t{\n\t\tlabel: __( 'What is a block?' ),\n\t\ticon: helpFilled,\n\t\tview: <IntroToBlocks />,\n\t},\n\t{\n\t\tlabel: __( 'Add blocks' ),\n\t\ticon: plusCircleFilled,\n\t\tview: <AddBlocks />,\n\t},\n\t{ label: __( 'Move blocks' ), icon: alignJustify, view: <MoveBlocks /> },\n\t{ label: __( 'Remove blocks' ), icon: trash, view: <RemoveBlocks /> },\n\t{\n\t\tlabel: __( 'Customize blocks' ),\n\t\ticon: cog,\n\t\tview: <CustomizeBlocks />,\n\t},\n];\n\nfunction EditorHelpTopics( { close, isVisible, onClose } ) {\n\tconst { postType } = useSelect( ( select ) => ( {\n\t\tpostType: select( editorStore ).getEditedPostAttribute( 'type' ),\n\t} ) );\n\n\tconst sectionTitle = usePreferredColorSchemeStyle(\n\t\tstyles.helpDetailSectionHeading,\n\t\tstyles.helpDetailSectionHeadingDark\n\t);\n\n\tconst title =\n\t\tpostType === 'page'\n\t\t\t? __( 'How to edit your page' )\n\t\t\t: __( 'How to edit your post' );\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ isVisible }\n\t\t\tonClose={ onClose }\n\t\t\thideHeader\n\t\t\thasNavigation\n\t\t\tcontentStyle={ styles.contentContainer }\n\t\t\ttestID=\"editor-help-modal\"\n\t\t>\n\t\t\t<SafeAreaView>\n\t\t\t\t<BottomSheet.NavigationContainer\n\t\t\t\t\tanimate\n\t\t\t\t\tmain\n\t\t\t\t\tstyle={ styles.navigationContainer }\n\t\t\t\t>\n\t\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\t\tisScrollable\n\t\t\t\t\t\tfullScreen\n\t\t\t\t\t\tname=\"help-topics\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t<BottomSheet.NavBar>\n\t\t\t\t\t\t\t\t<BottomSheet.NavBar.DismissButton\n\t\t\t\t\t\t\t\t\tonPress={ close }\n\t\t\t\t\t\t\t\t\tiosText={ __( 'Close' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t\t\t\t\t</BottomSheet.NavBar>\n\t\t\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t\t\t{ ( { listProps } ) => {\n\t\t\t\t\t\t\t\t\tconst contentContainerStyle = StyleSheet.flatten(\n\t\t\t\t\t\t\t\t\t\tlistProps.contentContainerStyle\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\t\t\t\t{ ...listProps }\n\t\t\t\t\t\t\t\t\t\t\tcontentContainerStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t...contentContainerStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tpaddingBottom: Math.max(\n\t\t\t\t\t\t\t\t\t\t\t\t\tlistProps.safeAreaBottomInset,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontentContainerStyle.paddingBottom\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t\t\t\t * Remove margin set via `hideHeader`. Combining a header\n\t\t\t\t\t\t\t\t\t\t\t\t * and navigation in this bottom sheet is at odds with the\n\t\t\t\t\t\t\t\t\t\t\t\t * current `BottomSheet` implementation.\n\t\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t\t\t\t\t\t<Text style={ sectionTitle }>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'The basics' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t{ /* Print out help topics */ }\n\t\t\t\t\t\t\t\t\t\t\t\t{ HELP_TOPICS.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( { label, icon } ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst labelSlug = kebabCase(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpTopicRow\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabelSlug\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenName={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabelSlug\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={ sectionTitle }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Get support' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpGetSupportButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Contact support'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonPress={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequestContactCustomerSupport\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t<HelpGetSupportButton\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'More support options'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonPress={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequestGotoCustomerSupportOptions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t\t\t\t</ScrollView>\n\t\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</BottomSheetConsumer>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t\t{ /* Print out help detail screens */ }\n\t\t\t\t\t{ HELP_TOPICS.map( ( { view, label } ) => {\n\t\t\t\t\t\tconst labelSlug = kebabCase( label );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<HelpDetailNavigationScreen\n\t\t\t\t\t\t\t\tkey={ labelSlug }\n\t\t\t\t\t\t\t\tname={ labelSlug }\n\t\t\t\t\t\t\t\tcontent={ view }\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\toptions={ {\n\t\t\t\t\t\t\t\t\tgestureEnabled: false,\n\t\t\t\t\t\t\t\t\t...TransitionPresets.DefaultTransition,\n\t\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\t\t\t\t</BottomSheet.NavigationContainer>\n\t\t\t</SafeAreaView>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default EditorHelpTopics;\n"]}
|
|
@@ -19,7 +19,7 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
import AutosaveMonitor from '../autosave-monitor';
|
|
22
|
-
import { localAutosaveGet, localAutosaveClear } from '../../store/
|
|
22
|
+
import { localAutosaveGet, localAutosaveClear } from '../../store/local-autosave';
|
|
23
23
|
import { store as editorStore } from '../../store';
|
|
24
24
|
const requestIdleCallback = window.requestIdleCallback ? window.requestIdleCallback : window.requestAnimationFrame;
|
|
25
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/editor/src/components/local-autosave-monitor/index.js"],"names":["once","uniqueId","omit","useCallback","useEffect","useRef","ifCondition","usePrevious","useSelect","useDispatch","__","parse","store","noticesStore","AutosaveMonitor","localAutosaveGet","localAutosaveClear","editorStore","requestIdleCallback","window","requestAnimationFrame","hasSessionStorageSupport","sessionStorage","setItem","removeItem","error","useAutosaveNotice","postId","isEditedPostNew","hasRemoteAutosave","select","getCurrentPostId","getEditorSettings","autosave","getEditedPostAttribute","createWarningNotice","removeNotice","editPost","resetEditorBlocks","localAutosave","JSON","post_title","title","content","excerpt","edits","hasDifference","Object","keys","some","key","noticeId","id","actions","label","onClick","useAutosavePurge","isDirty","isAutosaving","didError","isEditedPostDirty","isAutosavingPost","didPostSaveRequestFail","lastIsDirty","lastIsAutosaving","current","wasEditedPostNew","prevPostId","LocalAutosaveMonitor","deferredAutosave","local","localAutosaveInterval","__experimentalLocalAutosaveInterval"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { once, uniqueId, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { ifCondition, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport AutosaveMonitor from '../autosave-monitor';\nimport { localAutosaveGet, localAutosaveClear } from '../../store/controls';\nimport { store as editorStore } from '../../store';\n\nconst requestIdleCallback = window.requestIdleCallback\n\t? window.requestIdleCallback\n\t: window.requestAnimationFrame;\n\n/**\n * Function which returns true if the current environment supports browser\n * sessionStorage, or false otherwise. The result of this function is cached and\n * reused in subsequent invocations.\n */\nconst hasSessionStorageSupport = once( () => {\n\ttry {\n\t\t// Private Browsing in Safari 10 and earlier will throw an error when\n\t\t// attempting to set into sessionStorage. The test here is intentional in\n\t\t// causing a thrown error as condition bailing from local autosave.\n\t\twindow.sessionStorage.setItem( '__wpEditorTestSessionStorage', '' );\n\t\twindow.sessionStorage.removeItem( '__wpEditorTestSessionStorage' );\n\t\treturn true;\n\t} catch ( error ) {\n\t\treturn false;\n\t}\n} );\n\n/**\n * Custom hook which manages the creation of a notice prompting the user to\n * restore a local autosave, if one exists.\n */\nfunction useAutosaveNotice() {\n\tconst { postId, isEditedPostNew, hasRemoteAutosave } = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\thasRemoteAutosave: !! select( editorStore ).getEditorSettings()\n\t\t\t\t.autosave,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { getEditedPostAttribute } = useSelect( editorStore );\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { editPost, resetEditorBlocks } = useDispatch( editorStore );\n\n\tuseEffect( () => {\n\t\tlet localAutosave = localAutosaveGet( postId, isEditedPostNew );\n\t\tif ( ! localAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tlocalAutosave = JSON.parse( localAutosave );\n\t\t} catch ( error ) {\n\t\t\t// Not usable if it can't be parsed.\n\t\t\treturn;\n\t\t}\n\n\t\tconst { post_title: title, content, excerpt } = localAutosave;\n\t\tconst edits = { title, content, excerpt };\n\n\t\t{\n\t\t\t// Only display a notice if there is a difference between what has been\n\t\t\t// saved and that which is stored in sessionStorage.\n\t\t\tconst hasDifference = Object.keys( edits ).some( ( key ) => {\n\t\t\t\treturn edits[ key ] !== getEditedPostAttribute( key );\n\t\t\t} );\n\n\t\t\tif ( ! hasDifference ) {\n\t\t\t\t// If there is no difference, it can be safely ejected from storage.\n\t\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( hasRemoteAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst noticeId = uniqueId( 'wpEditorAutosaveRestore' );\n\t\tcreateWarningNotice(\n\t\t\t__(\n\t\t\t\t'The backup of this post in your browser is different from the version below.'\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: noticeId,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Restore the backup' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\teditPost( omit( edits, [ 'content' ] ) );\n\t\t\t\t\t\t\tresetEditorBlocks( parse( edits.content ) );\n\t\t\t\t\t\t\tremoveNotice( noticeId );\n\t\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}, [ isEditedPostNew, postId ] );\n}\n\n/**\n * Custom hook which ejects a local autosave after a successful save occurs.\n */\nfunction useAutosavePurge() {\n\tconst {\n\t\tpostId,\n\t\tisEditedPostNew,\n\t\tisDirty,\n\t\tisAutosaving,\n\t\tdidError,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\tisDirty: select( editorStore ).isEditedPostDirty(),\n\t\t\tisAutosaving: select( editorStore ).isAutosavingPost(),\n\t\t\tdidError: select( editorStore ).didPostSaveRequestFail(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst lastIsDirty = useRef( isDirty );\n\tconst lastIsAutosaving = useRef( isAutosaving );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! didError &&\n\t\t\t( ( lastIsAutosaving.current && ! isAutosaving ) ||\n\t\t\t\t( lastIsDirty.current && ! isDirty ) )\n\t\t) {\n\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t}\n\n\t\tlastIsDirty.current = isDirty;\n\t\tlastIsAutosaving.current = isAutosaving;\n\t}, [ isDirty, isAutosaving, didError ] );\n\n\t// Once the isEditedPostNew changes from true to false, let's clear the auto-draft autosave.\n\tconst wasEditedPostNew = usePrevious( isEditedPostNew );\n\tconst prevPostId = usePrevious( postId );\n\tuseEffect( () => {\n\t\tif ( prevPostId === postId && wasEditedPostNew && ! isEditedPostNew ) {\n\t\t\tlocalAutosaveClear( postId, true );\n\t\t}\n\t}, [ isEditedPostNew, postId ] );\n}\n\nfunction LocalAutosaveMonitor() {\n\tconst { autosave } = useDispatch( editorStore );\n\tconst deferredAutosave = useCallback( () => {\n\t\trequestIdleCallback( () => autosave( { local: true } ) );\n\t}, [] );\n\tuseAutosaveNotice();\n\tuseAutosavePurge();\n\n\tconst { localAutosaveInterval } = useSelect(\n\t\t( select ) => ( {\n\t\t\tlocalAutosaveInterval: select( editorStore ).getEditorSettings()\n\t\t\t\t.__experimentalLocalAutosaveInterval,\n\t\t} ),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<AutosaveMonitor\n\t\t\tinterval={ localAutosaveInterval }\n\t\t\tautosave={ deferredAutosave }\n\t\t/>\n\t);\n}\n\nexport default ifCondition( hasSessionStorageSupport )( LocalAutosaveMonitor );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/editor/src/components/local-autosave-monitor/index.js"],"names":["once","uniqueId","omit","useCallback","useEffect","useRef","ifCondition","usePrevious","useSelect","useDispatch","__","parse","store","noticesStore","AutosaveMonitor","localAutosaveGet","localAutosaveClear","editorStore","requestIdleCallback","window","requestAnimationFrame","hasSessionStorageSupport","sessionStorage","setItem","removeItem","error","useAutosaveNotice","postId","isEditedPostNew","hasRemoteAutosave","select","getCurrentPostId","getEditorSettings","autosave","getEditedPostAttribute","createWarningNotice","removeNotice","editPost","resetEditorBlocks","localAutosave","JSON","post_title","title","content","excerpt","edits","hasDifference","Object","keys","some","key","noticeId","id","actions","label","onClick","useAutosavePurge","isDirty","isAutosaving","didError","isEditedPostDirty","isAutosavingPost","didPostSaveRequestFail","lastIsDirty","lastIsAutosaving","current","wasEditedPostNew","prevPostId","LocalAutosaveMonitor","deferredAutosave","local","localAutosaveInterval","__experimentalLocalAutosaveInterval"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,QAAf,EAAyBC,IAAzB,QAAqC,QAArC;AAEA;AACA;AACA;;AACA,SAASC,WAAT,EAAsBC,SAAtB,EAAiCC,MAAjC,QAA+C,oBAA/C;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,oBAAzC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,mBAAtB;AACA,SAASC,KAAK,IAAIC,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AACA,SACCC,gBADD,EAECC,kBAFD,QAGO,4BAHP;AAIA,SAASJ,KAAK,IAAIK,WAAlB,QAAqC,aAArC;AAEA,MAAMC,mBAAmB,GAAGC,MAAM,CAACD,mBAAP,GACzBC,MAAM,CAACD,mBADkB,GAEzBC,MAAM,CAACC,qBAFV;AAIA;AACA;AACA;AACA;AACA;;AACA,MAAMC,wBAAwB,GAAGrB,IAAI,CAAE,MAAM;AAC5C,MAAI;AACH;AACA;AACA;AACAmB,IAAAA,MAAM,CAACG,cAAP,CAAsBC,OAAtB,CAA+B,8BAA/B,EAA+D,EAA/D;AACAJ,IAAAA,MAAM,CAACG,cAAP,CAAsBE,UAAtB,CAAkC,8BAAlC;AACA,WAAO,IAAP;AACA,GAPD,CAOE,OAAQC,KAAR,EAAgB;AACjB,WAAO,KAAP;AACA;AACD,CAXoC,CAArC;AAaA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,GAA6B;AAC5B,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,eAAV;AAA2BC,IAAAA;AAA3B,MAAiDrB,SAAS,CAC7DsB,MAAF,KAAgB;AACfH,IAAAA,MAAM,EAAEG,MAAM,CAAEb,WAAF,CAAN,CAAsBc,gBAAtB,EADO;AAEfH,IAAAA,eAAe,EAAEE,MAAM,CAAEb,WAAF,CAAN,CAAsBW,eAAtB,EAFF;AAGfC,IAAAA,iBAAiB,EAAE,CAAC,CAAEC,MAAM,CAAEb,WAAF,CAAN,CAAsBe,iBAAtB,GACpBC;AAJa,GAAhB,CAD+D,EAO/D,EAP+D,CAAhE;AASA,QAAM;AAAEC,IAAAA;AAAF,MAA6B1B,SAAS,CAAES,WAAF,CAA5C;AAEA,QAAM;AAAEkB,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAAwC3B,WAAW,CAAEI,YAAF,CAAzD;AACA,QAAM;AAAEwB,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAkC7B,WAAW,CAAEQ,WAAF,CAAnD;AAEAb,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAImC,aAAa,GAAGxB,gBAAgB,CAAEY,MAAF,EAAUC,eAAV,CAApC;;AACA,QAAK,CAAEW,aAAP,EAAuB;AACtB;AACA;;AAED,QAAI;AACHA,MAAAA,aAAa,GAAGC,IAAI,CAAC7B,KAAL,CAAY4B,aAAZ,CAAhB;AACA,KAFD,CAEE,OAAQd,KAAR,EAAgB;AACjB;AACA;AACA;;AAED,UAAM;AAAEgB,MAAAA,UAAU,EAAEC,KAAd;AAAqBC,MAAAA,OAArB;AAA8BC,MAAAA;AAA9B,QAA0CL,aAAhD;AACA,UAAMM,KAAK,GAAG;AAAEH,MAAAA,KAAF;AAASC,MAAAA,OAAT;AAAkBC,MAAAA;AAAlB,KAAd;AAEA;AACC;AACA;AACA,YAAME,aAAa,GAAGC,MAAM,CAACC,IAAP,CAAaH,KAAb,EAAqBI,IAArB,CAA6BC,GAAF,IAAW;AAC3D,eAAOL,KAAK,CAAEK,GAAF,CAAL,KAAiBhB,sBAAsB,CAAEgB,GAAF,CAA9C;AACA,OAFqB,CAAtB;;AAIA,UAAK,CAAEJ,aAAP,EAAuB;AACtB;AACA9B,QAAAA,kBAAkB,CAAEW,MAAF,EAAUC,eAAV,CAAlB;AACA;AACA;AACD;;AAED,QAAKC,iBAAL,EAAyB;AACxB;AACA;;AAED,UAAMsB,QAAQ,GAAGlD,QAAQ,CAAE,yBAAF,CAAzB;AACAkC,IAAAA,mBAAmB,CAClBzB,EAAE,CACD,8EADC,CADgB,EAIlB;AACC0C,MAAAA,EAAE,EAAED,QADL;AAECE,MAAAA,OAAO,EAAE,CACR;AACCC,QAAAA,KAAK,EAAE5C,EAAE,CAAE,oBAAF,CADV;;AAEC6C,QAAAA,OAAO,GAAG;AACTlB,UAAAA,QAAQ,CAAEnC,IAAI,CAAE2C,KAAF,EAAS,CAAE,SAAF,CAAT,CAAN,CAAR;AACAP,UAAAA,iBAAiB,CAAE3B,KAAK,CAAEkC,KAAK,CAACF,OAAR,CAAP,CAAjB;AACAP,UAAAA,YAAY,CAAEe,QAAF,CAAZ;AACA;;AANF,OADQ;AAFV,KAJkB,CAAnB;AAkBA,GArDQ,EAqDN,CAAEvB,eAAF,EAAmBD,MAAnB,CArDM,CAAT;AAsDA;AAED;AACA;AACA;;;AACA,SAAS6B,gBAAT,GAA4B;AAC3B,QAAM;AACL7B,IAAAA,MADK;AAELC,IAAAA,eAFK;AAGL6B,IAAAA,OAHK;AAILC,IAAAA,YAJK;AAKLC,IAAAA;AALK,MAMFnD,SAAS,CACVsB,MAAF,KAAgB;AACfH,IAAAA,MAAM,EAAEG,MAAM,CAAEb,WAAF,CAAN,CAAsBc,gBAAtB,EADO;AAEfH,IAAAA,eAAe,EAAEE,MAAM,CAAEb,WAAF,CAAN,CAAsBW,eAAtB,EAFF;AAGf6B,IAAAA,OAAO,EAAE3B,MAAM,CAAEb,WAAF,CAAN,CAAsB2C,iBAAtB,EAHM;AAIfF,IAAAA,YAAY,EAAE5B,MAAM,CAAEb,WAAF,CAAN,CAAsB4C,gBAAtB,EAJC;AAKfF,IAAAA,QAAQ,EAAE7B,MAAM,CAAEb,WAAF,CAAN,CAAsB6C,sBAAtB;AALK,GAAhB,CADY,EAQZ,EARY,CANb;AAiBA,QAAMC,WAAW,GAAG1D,MAAM,CAAEoD,OAAF,CAA1B;AACA,QAAMO,gBAAgB,GAAG3D,MAAM,CAAEqD,YAAF,CAA/B;AAEAtD,EAAAA,SAAS,CAAE,MAAM;AAChB,QACC,CAAEuD,QAAF,KACIK,gBAAgB,CAACC,OAAjB,IAA4B,CAAEP,YAAhC,IACCK,WAAW,CAACE,OAAZ,IAAuB,CAAER,OAF5B,CADD,EAIE;AACDzC,MAAAA,kBAAkB,CAAEW,MAAF,EAAUC,eAAV,CAAlB;AACA;;AAEDmC,IAAAA,WAAW,CAACE,OAAZ,GAAsBR,OAAtB;AACAO,IAAAA,gBAAgB,CAACC,OAAjB,GAA2BP,YAA3B;AACA,GAXQ,EAWN,CAAED,OAAF,EAAWC,YAAX,EAAyBC,QAAzB,CAXM,CAAT,CArB2B,CAkC3B;;AACA,QAAMO,gBAAgB,GAAG3D,WAAW,CAAEqB,eAAF,CAApC;AACA,QAAMuC,UAAU,GAAG5D,WAAW,CAAEoB,MAAF,CAA9B;AACAvB,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK+D,UAAU,KAAKxC,MAAf,IAAyBuC,gBAAzB,IAA6C,CAAEtC,eAApD,EAAsE;AACrEZ,MAAAA,kBAAkB,CAAEW,MAAF,EAAU,IAAV,CAAlB;AACA;AACD,GAJQ,EAIN,CAAEC,eAAF,EAAmBD,MAAnB,CAJM,CAAT;AAKA;;AAED,SAASyC,oBAAT,GAAgC;AAC/B,QAAM;AAAEnC,IAAAA;AAAF,MAAexB,WAAW,CAAEQ,WAAF,CAAhC;AACA,QAAMoD,gBAAgB,GAAGlE,WAAW,CAAE,MAAM;AAC3Ce,IAAAA,mBAAmB,CAAE,MAAMe,QAAQ,CAAE;AAAEqC,MAAAA,KAAK,EAAE;AAAT,KAAF,CAAhB,CAAnB;AACA,GAFmC,EAEjC,EAFiC,CAApC;AAGA5C,EAAAA,iBAAiB;AACjB8B,EAAAA,gBAAgB;AAEhB,QAAM;AAAEe,IAAAA;AAAF,MAA4B/D,SAAS,CACxCsB,MAAF,KAAgB;AACfyC,IAAAA,qBAAqB,EAAEzC,MAAM,CAAEb,WAAF,CAAN,CAAsBe,iBAAtB,GACrBwC;AAFa,GAAhB,CAD0C,EAK1C,EAL0C,CAA3C;AAQA,SACC,cAAC,eAAD;AACC,IAAA,QAAQ,EAAGD,qBADZ;AAEC,IAAA,QAAQ,EAAGF;AAFZ,IADD;AAMA;;AAED,eAAe/D,WAAW,CAAEe,wBAAF,CAAX,CAAyC+C,oBAAzC,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { once, uniqueId, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { ifCondition, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport AutosaveMonitor from '../autosave-monitor';\nimport {\n\tlocalAutosaveGet,\n\tlocalAutosaveClear,\n} from '../../store/local-autosave';\nimport { store as editorStore } from '../../store';\n\nconst requestIdleCallback = window.requestIdleCallback\n\t? window.requestIdleCallback\n\t: window.requestAnimationFrame;\n\n/**\n * Function which returns true if the current environment supports browser\n * sessionStorage, or false otherwise. The result of this function is cached and\n * reused in subsequent invocations.\n */\nconst hasSessionStorageSupport = once( () => {\n\ttry {\n\t\t// Private Browsing in Safari 10 and earlier will throw an error when\n\t\t// attempting to set into sessionStorage. The test here is intentional in\n\t\t// causing a thrown error as condition bailing from local autosave.\n\t\twindow.sessionStorage.setItem( '__wpEditorTestSessionStorage', '' );\n\t\twindow.sessionStorage.removeItem( '__wpEditorTestSessionStorage' );\n\t\treturn true;\n\t} catch ( error ) {\n\t\treturn false;\n\t}\n} );\n\n/**\n * Custom hook which manages the creation of a notice prompting the user to\n * restore a local autosave, if one exists.\n */\nfunction useAutosaveNotice() {\n\tconst { postId, isEditedPostNew, hasRemoteAutosave } = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\thasRemoteAutosave: !! select( editorStore ).getEditorSettings()\n\t\t\t\t.autosave,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { getEditedPostAttribute } = useSelect( editorStore );\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { editPost, resetEditorBlocks } = useDispatch( editorStore );\n\n\tuseEffect( () => {\n\t\tlet localAutosave = localAutosaveGet( postId, isEditedPostNew );\n\t\tif ( ! localAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tlocalAutosave = JSON.parse( localAutosave );\n\t\t} catch ( error ) {\n\t\t\t// Not usable if it can't be parsed.\n\t\t\treturn;\n\t\t}\n\n\t\tconst { post_title: title, content, excerpt } = localAutosave;\n\t\tconst edits = { title, content, excerpt };\n\n\t\t{\n\t\t\t// Only display a notice if there is a difference between what has been\n\t\t\t// saved and that which is stored in sessionStorage.\n\t\t\tconst hasDifference = Object.keys( edits ).some( ( key ) => {\n\t\t\t\treturn edits[ key ] !== getEditedPostAttribute( key );\n\t\t\t} );\n\n\t\t\tif ( ! hasDifference ) {\n\t\t\t\t// If there is no difference, it can be safely ejected from storage.\n\t\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( hasRemoteAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst noticeId = uniqueId( 'wpEditorAutosaveRestore' );\n\t\tcreateWarningNotice(\n\t\t\t__(\n\t\t\t\t'The backup of this post in your browser is different from the version below.'\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: noticeId,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Restore the backup' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\teditPost( omit( edits, [ 'content' ] ) );\n\t\t\t\t\t\t\tresetEditorBlocks( parse( edits.content ) );\n\t\t\t\t\t\t\tremoveNotice( noticeId );\n\t\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}, [ isEditedPostNew, postId ] );\n}\n\n/**\n * Custom hook which ejects a local autosave after a successful save occurs.\n */\nfunction useAutosavePurge() {\n\tconst {\n\t\tpostId,\n\t\tisEditedPostNew,\n\t\tisDirty,\n\t\tisAutosaving,\n\t\tdidError,\n\t} = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\tisDirty: select( editorStore ).isEditedPostDirty(),\n\t\t\tisAutosaving: select( editorStore ).isAutosavingPost(),\n\t\t\tdidError: select( editorStore ).didPostSaveRequestFail(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst lastIsDirty = useRef( isDirty );\n\tconst lastIsAutosaving = useRef( isAutosaving );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! didError &&\n\t\t\t( ( lastIsAutosaving.current && ! isAutosaving ) ||\n\t\t\t\t( lastIsDirty.current && ! isDirty ) )\n\t\t) {\n\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t}\n\n\t\tlastIsDirty.current = isDirty;\n\t\tlastIsAutosaving.current = isAutosaving;\n\t}, [ isDirty, isAutosaving, didError ] );\n\n\t// Once the isEditedPostNew changes from true to false, let's clear the auto-draft autosave.\n\tconst wasEditedPostNew = usePrevious( isEditedPostNew );\n\tconst prevPostId = usePrevious( postId );\n\tuseEffect( () => {\n\t\tif ( prevPostId === postId && wasEditedPostNew && ! isEditedPostNew ) {\n\t\t\tlocalAutosaveClear( postId, true );\n\t\t}\n\t}, [ isEditedPostNew, postId ] );\n}\n\nfunction LocalAutosaveMonitor() {\n\tconst { autosave } = useDispatch( editorStore );\n\tconst deferredAutosave = useCallback( () => {\n\t\trequestIdleCallback( () => autosave( { local: true } ) );\n\t}, [] );\n\tuseAutosaveNotice();\n\tuseAutosavePurge();\n\n\tconst { localAutosaveInterval } = useSelect(\n\t\t( select ) => ( {\n\t\t\tlocalAutosaveInterval: select( editorStore ).getEditorSettings()\n\t\t\t\t.__experimentalLocalAutosaveInterval,\n\t\t} ),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<AutosaveMonitor\n\t\t\tinterval={ localAutosaveInterval }\n\t\t\tautosave={ deferredAutosave }\n\t\t/>\n\t);\n}\n\nexport default ifCondition( hasSessionStorageSupport )( LocalAutosaveMonitor );\n"]}
|
|
@@ -143,7 +143,7 @@ export default function PostSavedState(_ref) {
|
|
|
143
143
|
shortcut: displayShortcut.primary('s'),
|
|
144
144
|
variant: isLargeViewport ? 'tertiary' : undefined,
|
|
145
145
|
icon: isLargeViewport ? undefined : cloudUpload,
|
|
146
|
-
label: label,
|
|
146
|
+
label: showIconLabels ? undefined : label,
|
|
147
147
|
"aria-disabled": isDisabled
|
|
148
148
|
}, isSavedState && createElement(Icon, {
|
|
149
149
|
icon: isSaved ? check : cloud
|