@wordpress/edit-post 6.11.0 → 6.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -7
- package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build/components/header/header-toolbar/index.js +2 -1
- package/build/components/header/header-toolbar/index.js.map +1 -1
- package/build/components/header/template-title/delete-template.js +1 -1
- package/build/components/header/template-title/delete-template.js.map +1 -1
- package/build/components/sidebar/post-template/form.js +9 -4
- package/build/components/sidebar/post-template/form.js.map +1 -1
- package/build/components/sidebar/post-template/index.js +11 -13
- package/build/components/sidebar/post-template/index.js.map +1 -1
- package/build/components/visual-editor/index.js +19 -8
- package/build/components/visual-editor/index.js.map +1 -1
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -6
- package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
- package/build-module/components/header/header-toolbar/index.js +2 -1
- package/build-module/components/header/header-toolbar/index.js.map +1 -1
- package/build-module/components/header/template-title/delete-template.js +1 -1
- package/build-module/components/header/template-title/delete-template.js.map +1 -1
- package/build-module/components/sidebar/post-template/form.js +9 -4
- package/build-module/components/sidebar/post-template/form.js.map +1 -1
- package/build-module/components/sidebar/post-template/index.js +10 -13
- package/build-module/components/sidebar/post-template/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +20 -9
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/package.json +27 -27
- package/src/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -6
- package/src/components/header/header-toolbar/index.js +1 -0
- package/src/components/header/template-title/delete-template.js +1 -1
- package/src/components/preferences-modal/options/test/__snapshots__/enable-custom-fields.js.snap +28 -0
- package/src/components/sidebar/post-template/form.js +13 -16
- package/src/components/sidebar/post-template/index.js +7 -8
- package/src/components/visual-editor/index.js +31 -25
- package/src/test/editor.native.js +3 -1
|
@@ -25,29 +25,26 @@ export default function PostTemplateForm( { onClose } ) {
|
|
|
25
25
|
canCreate,
|
|
26
26
|
canEdit,
|
|
27
27
|
} = useSelect( ( select ) => {
|
|
28
|
+
const { canUser, getEntityRecord, getEntityRecords } =
|
|
29
|
+
select( coreStore );
|
|
28
30
|
const editorSettings = select( editorStore ).getEditorSettings();
|
|
29
|
-
const siteSettings =
|
|
30
|
-
'root',
|
|
31
|
-
|
|
32
|
-
);
|
|
31
|
+
const siteSettings = canUser( 'read', 'settings' )
|
|
32
|
+
? getEntityRecord( 'root', 'site' )
|
|
33
|
+
: undefined;
|
|
33
34
|
const _isPostsPage =
|
|
34
35
|
select( editorStore ).getCurrentPostId() ===
|
|
35
36
|
siteSettings?.page_for_posts;
|
|
36
|
-
const canCreateTemplates =
|
|
37
|
-
|
|
38
|
-
'templates'
|
|
39
|
-
);
|
|
37
|
+
const canCreateTemplates = canUser( 'create', 'templates' );
|
|
38
|
+
|
|
40
39
|
return {
|
|
41
40
|
isPostsPage: _isPostsPage,
|
|
42
41
|
availableTemplates: editorSettings.availableTemplates,
|
|
43
|
-
fetchedTemplates:
|
|
44
|
-
'postType',
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
),
|
|
42
|
+
fetchedTemplates: canCreateTemplates
|
|
43
|
+
? getEntityRecords( 'postType', 'wp_template', {
|
|
44
|
+
post_type: select( editorStore ).getCurrentPostType(),
|
|
45
|
+
per_page: -1,
|
|
46
|
+
} )
|
|
47
|
+
: undefined,
|
|
51
48
|
selectedTemplateSlug:
|
|
52
49
|
select( editorStore ).getEditedPostAttribute( 'template' ),
|
|
53
50
|
canCreate:
|
|
@@ -12,6 +12,7 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
14
|
import PostTemplateForm from './form';
|
|
15
|
+
import { store as editPostStore } from '../../../store';
|
|
15
16
|
|
|
16
17
|
export default function PostTemplate() {
|
|
17
18
|
const anchorRef = useRef();
|
|
@@ -72,16 +73,14 @@ function PostTemplateToggle( { isOpen, onClick } ) {
|
|
|
72
73
|
const templateSlug =
|
|
73
74
|
select( editorStore ).getEditedPostAttribute( 'template' );
|
|
74
75
|
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
const { supportsTemplateMode, availableTemplates } =
|
|
77
|
+
select( editorStore ).getEditorSettings();
|
|
78
|
+
if ( ! supportsTemplateMode && availableTemplates[ templateSlug ] ) {
|
|
79
|
+
return availableTemplates[ templateSlug ];
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
const template = select(
|
|
81
|
-
|
|
82
|
-
?.find( ( { slug } ) => slug === templateSlug );
|
|
83
|
-
|
|
84
|
-
return template?.title.rendered;
|
|
82
|
+
const template = select( editPostStore ).getEditedPostTemplate();
|
|
83
|
+
return template?.title ?? template?.slug;
|
|
85
84
|
}, [] );
|
|
86
85
|
|
|
87
86
|
return (
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
__experimentalLayoutStyle as LayoutStyle,
|
|
28
28
|
__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,
|
|
29
29
|
__unstableIframe as Iframe,
|
|
30
|
-
|
|
30
|
+
__experimentalRecursionProvider as RecursionProvider,
|
|
31
31
|
} from '@wordpress/block-editor';
|
|
32
32
|
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
33
33
|
import { Button, __unstableMotion as motion } from '@wordpress/components';
|
|
@@ -118,13 +118,15 @@ export default function VisualEditor( { styles } ) {
|
|
|
118
118
|
( select ) => select( editPostStore ).hasMetaBoxes(),
|
|
119
119
|
[]
|
|
120
120
|
);
|
|
121
|
-
const { themeSupportsLayout, assets } =
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
121
|
+
const { themeHasDisabledLayoutStyles, themeSupportsLayout, assets } =
|
|
122
|
+
useSelect( ( select ) => {
|
|
123
|
+
const _settings = select( blockEditorStore ).getSettings();
|
|
124
|
+
return {
|
|
125
|
+
themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
|
|
126
|
+
themeSupportsLayout: _settings.supportsLayout,
|
|
127
|
+
assets: _settings.__unstableResolvedAssets,
|
|
128
|
+
};
|
|
129
|
+
}, [] );
|
|
128
130
|
const { clearSelectedBlock } = useDispatch( blockEditorStore );
|
|
129
131
|
const { setIsEditingTemplate } = useDispatch( editPostStore );
|
|
130
132
|
const desktopCanvasStyles = {
|
|
@@ -173,21 +175,18 @@ export default function VisualEditor( { styles } ) {
|
|
|
173
175
|
|
|
174
176
|
const blockSelectionClearerRef = useBlockSelectionClearer();
|
|
175
177
|
|
|
176
|
-
const [ , RecursionProvider ] = useNoRecursiveRenders(
|
|
177
|
-
wrapperUniqueId,
|
|
178
|
-
wrapperBlockName
|
|
179
|
-
);
|
|
180
|
-
|
|
181
178
|
const layout = useMemo( () => {
|
|
182
179
|
if ( isTemplateMode ) {
|
|
183
180
|
return { type: 'default' };
|
|
184
181
|
}
|
|
185
182
|
|
|
186
183
|
if ( themeSupportsLayout ) {
|
|
187
|
-
|
|
184
|
+
// We need to ensure support for wide and full alignments,
|
|
185
|
+
// so we add the constrained type.
|
|
186
|
+
return { ...defaultLayout, type: 'constrained' };
|
|
188
187
|
}
|
|
189
|
-
|
|
190
|
-
return
|
|
188
|
+
// Set constrained layout for classic themes so all alignments are supported.
|
|
189
|
+
return { type: 'constrained' };
|
|
191
190
|
}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );
|
|
192
191
|
|
|
193
192
|
const titleRef = useRef();
|
|
@@ -241,13 +240,17 @@ export default function VisualEditor( { styles } ) {
|
|
|
241
240
|
assets={ assets }
|
|
242
241
|
style={ { paddingBottom } }
|
|
243
242
|
>
|
|
244
|
-
{ themeSupportsLayout &&
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
243
|
+
{ themeSupportsLayout &&
|
|
244
|
+
! themeHasDisabledLayoutStyles &&
|
|
245
|
+
! isTemplateMode && (
|
|
246
|
+
<LayoutStyle
|
|
247
|
+
selector=".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container"
|
|
248
|
+
layout={ layout }
|
|
249
|
+
layoutDefinitions={
|
|
250
|
+
defaultLayout?.definitions
|
|
251
|
+
}
|
|
252
|
+
/>
|
|
253
|
+
) }
|
|
251
254
|
{ ! isTemplateMode && (
|
|
252
255
|
<div
|
|
253
256
|
className="edit-post-visual-editor__post-title-wrapper"
|
|
@@ -256,12 +259,15 @@ export default function VisualEditor( { styles } ) {
|
|
|
256
259
|
<PostTitle ref={ titleRef } />
|
|
257
260
|
</div>
|
|
258
261
|
) }
|
|
259
|
-
<RecursionProvider
|
|
262
|
+
<RecursionProvider
|
|
263
|
+
blockName={ wrapperBlockName }
|
|
264
|
+
uniqueId={ wrapperUniqueId }
|
|
265
|
+
>
|
|
260
266
|
<BlockList
|
|
261
267
|
className={
|
|
262
268
|
isTemplateMode
|
|
263
269
|
? 'wp-site-blocks'
|
|
264
|
-
: 'is-layout-
|
|
270
|
+
: 'is-layout-constrained' // Ensure root level blocks receive default/flow blockGap styling rules.
|
|
265
271
|
}
|
|
266
272
|
__experimentalLayout={ layout }
|
|
267
273
|
/>
|
|
@@ -35,7 +35,9 @@ afterAll( () => {
|
|
|
35
35
|
} );
|
|
36
36
|
|
|
37
37
|
describe( 'Editor', () => {
|
|
38
|
-
beforeAll(
|
|
38
|
+
beforeAll( () => {
|
|
39
|
+
registerCoreBlocks();
|
|
40
|
+
} );
|
|
39
41
|
|
|
40
42
|
it( 'detects unsupported block and sends hasUnsupportedBlocks true to native', () => {
|
|
41
43
|
RNReactNativeGutenbergBridge.editorDidMount = jest.fn();
|