diff --git a/packages/editor/src/components/post-preview-button/index.js b/packages/editor/src/components/post-preview-button/index.js index 9a9aa92d210c3d..7f45e61ee62f21 100644 --- a/packages/editor/src/components/post-preview-button/index.js +++ b/packages/editor/src/components/post-preview-button/index.js @@ -106,8 +106,8 @@ export default function PostPreviewButton( { role, onPreview, } ) { - const { postId, currentPostLink, previewLink, isSaveable, isViewable } = - useSelect( ( select ) => { + const { postId, currentPostLink, previewLink, isViewable } = useSelect( + ( select ) => { const editor = select( editorStore ); const core = select( coreStore ); @@ -119,10 +119,11 @@ export default function PostPreviewButton( { postId: editor.getCurrentPostId(), currentPostLink: editor.getCurrentPostAttribute( 'link' ), previewLink: editor.getEditedPostPreviewLink(), - isSaveable: editor.isEditedPostSaveable(), isViewable: postType?.viewable ?? false, }; - }, [] ); + }, + [] + ); const { __unstableSaveForPreview } = useDispatch( editorStore ); @@ -168,7 +169,6 @@ export default function PostPreviewButton( { className={ className || 'editor-post-preview' } href={ href } target={ targetId } - disabled={ ! isSaveable } onClick={ openPreviewWindow } role={ role } > diff --git a/packages/editor/src/store/selectors.js b/packages/editor/src/store/selectors.js index f7bf1f58bba395..18010511b53902 100644 --- a/packages/editor/src/store/selectors.js +++ b/packages/editor/src/store/selectors.js @@ -495,6 +495,10 @@ export function isEditedPostSaveable( state ) { return false; } + if ( isPostLocked( state ) ) { + return false; + } + // TODO: Post should not be saveable if not dirty. Cannot be added here at // this time since posts where meta boxes are present can be saved even if // the post is not dirty. Currently this restriction is imposed at UI, but