@wordpress/editor 14.29.0 → 14.29.1-next.e256d081a.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.
Files changed (29) hide show
  1. package/build/components/commands/index.js +0 -28
  2. package/build/components/commands/index.js.map +1 -1
  3. package/build/components/post-transform-panel/hooks.js +13 -5
  4. package/build/components/post-transform-panel/hooks.js.map +1 -1
  5. package/build/components/post-transform-panel/index.js +14 -5
  6. package/build/components/post-transform-panel/index.js.map +1 -1
  7. package/build/store/selectors.js +1 -1
  8. package/build/store/selectors.js.map +1 -1
  9. package/build-module/components/commands/index.js +0 -28
  10. package/build-module/components/commands/index.js.map +1 -1
  11. package/build-module/components/post-transform-panel/hooks.js +13 -5
  12. package/build-module/components/post-transform-panel/hooks.js.map +1 -1
  13. package/build-module/components/post-transform-panel/index.js +14 -5
  14. package/build-module/components/post-transform-panel/index.js.map +1 -1
  15. package/build-module/store/selectors.js +1 -1
  16. package/build-module/store/selectors.js.map +1 -1
  17. package/build-types/components/commands/index.d.ts.map +1 -1
  18. package/build-types/components/post-template/hooks.d.ts +1 -1
  19. package/build-types/components/post-transform-panel/hooks.d.ts +5 -1
  20. package/build-types/components/post-transform-panel/hooks.d.ts.map +1 -1
  21. package/build-types/components/post-transform-panel/index.d.ts.map +1 -1
  22. package/build-types/store/selectors.d.ts +2 -2
  23. package/build-types/store/selectors.d.ts.map +1 -1
  24. package/package.json +37 -37
  25. package/src/components/commands/index.js +0 -29
  26. package/src/components/post-transform-panel/hooks.js +16 -9
  27. package/src/components/post-transform-panel/index.js +8 -4
  28. package/src/store/selectors.js +1 -1
  29. package/tsconfig.tsbuildinfo +1 -1
@@ -25,7 +25,6 @@ import { store as noticesStore } from '@wordpress/notices';
25
25
  import { store as blockEditorStore } from '@wordpress/block-editor';
26
26
  import { store as coreStore, useEntityRecord } from '@wordpress/core-data';
27
27
  import { store as interfaceStore } from '@wordpress/interface';
28
- import { getPath } from '@wordpress/url';
29
28
  import { decodeEntities } from '@wordpress/html-entities';
30
29
 
31
30
  /**
@@ -91,19 +90,6 @@ const getEditorCommandLoader = () =>
91
90
  const { openModal, enableComplementaryArea, disableComplementaryArea } =
92
91
  useDispatch( interfaceStore );
93
92
  const { getCurrentPostId } = useSelect( editorStore );
94
- const { isBlockBasedTheme, canCreateTemplate } = useSelect(
95
- ( select ) => {
96
- return {
97
- isBlockBasedTheme:
98
- select( coreStore ).getCurrentTheme()?.is_block_theme,
99
- canCreateTemplate: select( coreStore ).canUser( 'create', {
100
- kind: 'postType',
101
- name: 'wp_template',
102
- } ),
103
- };
104
- },
105
- []
106
- );
107
93
  const allowSwitchEditorMode =
108
94
  isCodeEditingEnabled && isRichEditingEnabled;
109
95
 
@@ -285,21 +271,6 @@ const getEditorCommandLoader = () =>
285
271
  },
286
272
  } );
287
273
  }
288
- if ( canCreateTemplate && isBlockBasedTheme ) {
289
- const isSiteEditor = getPath( window.location.href )?.includes(
290
- 'site-editor.php'
291
- );
292
- if ( ! isSiteEditor ) {
293
- commands.push( {
294
- name: 'core/go-to-site-editor',
295
- label: __( 'Open Site Editor' ),
296
- callback: ( { close } ) => {
297
- close();
298
- document.location = 'site-editor.php';
299
- },
300
- } );
301
- }
302
- }
303
274
 
304
275
  return {
305
276
  commands,
@@ -40,7 +40,7 @@ function injectThemeAttributeInBlockTemplateContent(
40
40
  * Filter all patterns and return only the ones that are compatible with the current template.
41
41
  *
42
42
  * @param {Array} patterns An array of patterns.
43
- * @param {Object} template The current template.
43
+ * @param {Object} template The current template. Required values are `area`, `name`, and `slug`.
44
44
  * @return {Array} Array of patterns that are compatible with the current template.
45
45
  */
46
46
  function filterPatterns( patterns, template ) {
@@ -83,7 +83,7 @@ function preparePatterns( patterns, currentThemeStylesheet ) {
83
83
  } ) );
84
84
  }
85
85
 
86
- export function useAvailablePatterns( template ) {
86
+ export function useAvailablePatterns( { area, name, slug } ) {
87
87
  const { blockPatterns, restBlockPatterns, currentThemeStylesheet } =
88
88
  useSelect( ( select ) => {
89
89
  const { getEditorSettings } = select( editorStore );
@@ -104,11 +104,18 @@ export function useAvailablePatterns( template ) {
104
104
  ...( blockPatterns || [] ),
105
105
  ...( restBlockPatterns || [] ),
106
106
  ];
107
- const filteredPatterns = filterPatterns( mergedPatterns, template );
108
- return preparePatterns(
109
- filteredPatterns,
110
- template,
111
- currentThemeStylesheet
112
- );
113
- }, [ blockPatterns, restBlockPatterns, template, currentThemeStylesheet ] );
107
+ const filteredPatterns = filterPatterns( mergedPatterns, {
108
+ area,
109
+ name,
110
+ slug,
111
+ } );
112
+ return preparePatterns( filteredPatterns, currentThemeStylesheet );
113
+ }, [
114
+ area,
115
+ name,
116
+ slug,
117
+ blockPatterns,
118
+ restBlockPatterns,
119
+ currentThemeStylesheet,
120
+ ] );
114
121
  }
@@ -34,19 +34,23 @@ function TemplatesList( { availableTemplates, onSelect } ) {
34
34
  }
35
35
 
36
36
  function PostTransform() {
37
- const { record, postType, postId } = useSelect( ( select ) => {
37
+ const { area, name, slug, postType, postId } = useSelect( ( select ) => {
38
38
  const { getCurrentPostType, getCurrentPostId } = select( editorStore );
39
39
  const { getEditedEntityRecord } = select( coreStore );
40
40
  const type = getCurrentPostType();
41
41
  const id = getCurrentPostId();
42
+ const record = getEditedEntityRecord( 'postType', type, id );
43
+
42
44
  return {
45
+ area: record?.area,
46
+ name: record?.name,
47
+ slug: record?.slug,
43
48
  postType: type,
44
49
  postId: id,
45
- record: getEditedEntityRecord( 'postType', type, id ),
46
50
  };
47
51
  }, [] );
48
52
  const { editEntityRecord } = useDispatch( coreStore );
49
- const availablePatterns = useAvailablePatterns( record );
53
+ const availablePatterns = useAvailablePatterns( { area, name, slug } );
50
54
  const onTemplateSelect = async ( selectedTemplate ) => {
51
55
  await editEntityRecord( 'postType', postType, postId, {
52
56
  blocks: selectedTemplate.blocks,
@@ -60,7 +64,7 @@ function PostTransform() {
60
64
  return (
61
65
  <PanelBody
62
66
  title={ __( 'Design' ) }
63
- initialOpen={ record.type === TEMPLATE_PART_POST_TYPE }
67
+ initialOpen={ postType === TEMPLATE_PART_POST_TYPE }
64
68
  >
65
69
  <TemplatesList
66
70
  availableTemplates={ availablePatterns }
@@ -195,7 +195,7 @@ export function getCurrentPostType( state ) {
195
195
  *
196
196
  * @param {Object} state Global application state.
197
197
  *
198
- * @return {?number} ID of current post.
198
+ * @return {?(number|string)} The current post ID (number) or template slug (string).
199
199
  */
200
200
  export function getCurrentPostId( state ) {
201
201
  return state.postId;