diff --git a/packages/edit-post/src/components/welcome-guide/index.js b/packages/edit-post/src/components/welcome-guide/index.js
index 9543fde137308..56c4f499043e4 100644
--- a/packages/edit-post/src/components/welcome-guide/index.js
+++ b/packages/edit-post/src/components/welcome-guide/index.js
@@ -12,17 +12,17 @@ import WelcomeGuideTemplate from './template';
import { store as editPostStore } from '../../store';
export default function WelcomeGuide() {
- const { isActive, isTemplateMode } = useSelect( ( select ) => {
+ const { isActive, isEditingTemplate } = useSelect( ( select ) => {
const { isFeatureActive } = select( editPostStore );
- const { getRenderingMode } = select( editorStore );
- const _isTemplateMode = getRenderingMode() === 'template-only';
- const feature = _isTemplateMode
+ const { getCurrentPostType } = select( editorStore );
+ const _isEditingTemplate = getCurrentPostType() === 'wp_template';
+ const feature = _isEditingTemplate
? 'welcomeGuideTemplate'
: 'welcomeGuide';
return {
isActive: isFeatureActive( feature ),
- isTemplateMode: _isTemplateMode,
+ isEditingTemplate: _isEditingTemplate,
};
}, [] );
@@ -30,5 +30,9 @@ export default function WelcomeGuide() {
return null;
}
- return isTemplateMode ?
:
;
+ return isEditingTemplate ? (
+
+ ) : (
+
+ );
}
diff --git a/packages/edit-post/src/plugins/welcome-guide-menu-item/index.js b/packages/edit-post/src/plugins/welcome-guide-menu-item/index.js
index e43f7910b5ffc..c454fee8588db 100644
--- a/packages/edit-post/src/plugins/welcome-guide-menu-item/index.js
+++ b/packages/edit-post/src/plugins/welcome-guide-menu-item/index.js
@@ -7,16 +7,16 @@ import { __ } from '@wordpress/i18n';
import { store as editorStore } from '@wordpress/editor';
export default function WelcomeGuideMenuItem() {
- const isTemplateMode = useSelect(
+ const isEditingTemplate = useSelect(
( select ) =>
- select( editorStore ).getRenderingMode() === 'template-only',
+ select( editorStore ).getCurrentPostType() === 'wp_template',
[]
);
return (
);
diff --git a/packages/edit-post/src/store/actions.js b/packages/edit-post/src/store/actions.js
index a4ca78f95e59c..7a7bb187f3fb8 100644
--- a/packages/edit-post/src/store/actions.js
+++ b/packages/edit-post/src/store/actions.js
@@ -498,15 +498,6 @@ export function setIsEditingTemplate() {
return { type: 'NOTHING' };
}
-/**
- * Switches to the template mode.
- */
-export const __unstableSwitchToTemplateMode =
- () =>
- ( { registry } ) => {
- registry.dispatch( editorStore ).setRenderingMode( 'template-only' );
- };
-
/**
* Create a block based template.
*
diff --git a/packages/editor/src/components/document-bar/index.js b/packages/editor/src/components/document-bar/index.js
index fdf9cbe55dbca..3ab50be2d8e51 100644
--- a/packages/editor/src/components/document-bar/index.js
+++ b/packages/editor/src/components/document-bar/index.js
@@ -48,27 +48,15 @@ const icons = {
};
export default function DocumentBar() {
- const {
- isEditingTemplate,
- templateId,
- postType,
- postId,
- goBack,
- getEditorSettings,
- } = useSelect( ( select ) => {
+ const { postType, postId, goBack } = useSelect( ( select ) => {
const {
- getRenderingMode,
- getCurrentTemplateId,
getCurrentPostId,
getCurrentPostType,
getEditorSettings: getSettings,
} = select( editorStore );
- const _templateId = getCurrentTemplateId();
const back = getSettings().goBack;
+
return {
- isEditingTemplate:
- !! _templateId && getRenderingMode() === 'template-only',
- templateId: _templateId,
postType: getCurrentPostType(),
postId: getCurrentPostId(),
goBack: typeof back === 'function' ? back : undefined,
@@ -76,13 +64,7 @@ export default function DocumentBar() {
};
}, [] );
- const { setRenderingMode } = useDispatch( editorStore );
-
const handleOnBack = () => {
- if ( isEditingTemplate ) {
- setRenderingMode( getEditorSettings().defaultRenderingMode );
- return;
- }
if ( goBack ) {
goBack();
}
@@ -90,9 +72,9 @@ export default function DocumentBar() {
return (
);
}
diff --git a/packages/editor/src/components/editor-canvas/index.js b/packages/editor/src/components/editor-canvas/index.js
index e5e663f821a64..db187aabdacf6 100644
--- a/packages/editor/src/components/editor-canvas/index.js
+++ b/packages/editor/src/components/editor-canvas/index.js
@@ -91,7 +91,7 @@ function EditorCanvas( {
wrapperBlockName,
wrapperUniqueId,
deviceType,
- hasHistory,
+ showEditorPadding,
} = useSelect( ( select ) => {
const {
getCurrentPostId,
@@ -138,7 +138,8 @@ function EditorCanvas( {
wrapperBlockName: _wrapperBlockName,
wrapperUniqueId: getCurrentPostId(),
deviceType: getDeviceType(),
- hasHistory: !! editorSettings.goBack,
+ showEditorPadding:
+ !! editorSettings.goBack && postTypeSlug !== 'wp_template',
};
}, [] );
const { isCleanNewPost } = useSelect( editorStore );
@@ -302,7 +303,7 @@ function EditorCanvas( {
height="100%"
iframeProps={ {
className: classnames( 'editor-canvas__iframe', {
- 'has-history': hasHistory,
+ 'has-editor-padding': showEditorPadding,
} ),
...iframeProps,
style: {
diff --git a/packages/editor/src/components/editor-canvas/style.scss b/packages/editor/src/components/editor-canvas/style.scss
index d5baf48012452..1474dff2c1699 100644
--- a/packages/editor/src/components/editor-canvas/style.scss
+++ b/packages/editor/src/components/editor-canvas/style.scss
@@ -1,5 +1,5 @@
.editor-canvas__iframe {
- &.has-history {
+ &.has-editor-padding {
padding: $grid-unit-60 $grid-unit-60 0;
}
}
diff --git a/packages/editor/src/components/post-template/block-theme.js b/packages/editor/src/components/post-template/block-theme.js
index dcd269af1a431..d63a99e99ad38 100644
--- a/packages/editor/src/components/post-template/block-theme.js
+++ b/packages/editor/src/components/post-template/block-theme.js
@@ -24,10 +24,13 @@ const POPOVER_PROPS = {
};
export default function BlockThemeControl( { id } ) {
- const { isTemplateHidden } = useSelect( ( select ) => {
+ const { isTemplateHidden, getPostLinkProps } = useSelect( ( select ) => {
+ const { getEditorSettings } = select( editorStore );
const { getRenderingMode } = unlock( select( editorStore ) );
+
return {
isTemplateHidden: getRenderingMode() === 'post-only',
+ getPostLinkProps: getEditorSettings().getPostLinkProps,
};
}, [] );
const { editedRecord: template, hasResolved } = useEntityRecord(
@@ -35,9 +38,16 @@ export default function BlockThemeControl( { id } ) {
'wp_template',
id
);
- const { getEditorSettings } = useSelect( editorStore );
+
const { createSuccessNotice } = useDispatch( noticesStore );
const { setRenderingMode } = useDispatch( editorStore );
+ const editTemplate = getPostLinkProps
+ ? getPostLinkProps( {
+ postId: template.wp_id,
+ postType: 'wp_template',
+ canvas: 'edit',
+ } )
+ : {};
if ( ! hasResolved ) {
return null;
@@ -58,8 +68,8 @@ export default function BlockThemeControl( { id } ) {
<>