@wordpress/core-commands 1.2.0 → 1.4.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 CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.4.0 (2024-07-24)
6
+
7
+ ## 1.3.0 (2024-07-10)
8
+
5
9
  ## 1.2.0 (2024-06-26)
6
10
 
7
11
  ## 1.1.0 (2024-06-15)
@@ -13,7 +13,7 @@ var _icons = require("@wordpress/icons");
13
13
  var _router = require("@wordpress/router");
14
14
  var _url = require("@wordpress/url");
15
15
  var _compose = require("@wordpress/compose");
16
- var _hooks = require("./hooks");
16
+ var _htmlEntities = require("@wordpress/html-entities");
17
17
  var _lockUnlock = require("./lock-unlock");
18
18
  var _orderEntityRecordsBySearch = require("./utils/order-entity-records-by-search");
19
19
  /**
@@ -46,7 +46,18 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
46
46
  search
47
47
  }) {
48
48
  const history = useHistory();
49
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
49
+ const {
50
+ isBlockBasedTheme,
51
+ canCreateTemplate
52
+ } = (0, _data.useSelect)(select => {
53
+ return {
54
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
55
+ canCreateTemplate: select(_coreData.store).canUser('create', {
56
+ kind: 'postType',
57
+ name: 'wp_template'
58
+ })
59
+ };
60
+ }, []);
50
61
  const delayedSearch = useDebouncedValue(search);
51
62
  const {
52
63
  records,
@@ -73,10 +84,10 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
73
84
  const command = {
74
85
  name: postType + '-' + record.id,
75
86
  searchLabel: record.title?.rendered + ' ' + record.id,
76
- label: record.title?.rendered ? record.title?.rendered : (0, _i18n.__)('(no title)'),
87
+ label: record.title?.rendered ? (0, _htmlEntities.decodeEntities)(record.title?.rendered) : (0, _i18n.__)('(no title)'),
77
88
  icon: icons[postType]
78
89
  };
79
- if (postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
90
+ if (!canCreateTemplate || postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
80
91
  return {
81
92
  ...command,
82
93
  callback: ({
@@ -113,7 +124,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
113
124
  }
114
125
  };
115
126
  });
116
- }, [records, isBlockBasedTheme, history]);
127
+ }, [canCreateTemplate, records, isBlockBasedTheme, history]);
117
128
  return {
118
129
  commands,
119
130
  isLoading
@@ -123,7 +134,18 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
123
134
  search
124
135
  }) {
125
136
  const history = useHistory();
126
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
137
+ const {
138
+ isBlockBasedTheme,
139
+ canCreateTemplate
140
+ } = (0, _data.useSelect)(select => {
141
+ return {
142
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
143
+ canCreateTemplate: select(_coreData.store).canUser('create', {
144
+ kind: 'postType',
145
+ name: templateType
146
+ })
147
+ };
148
+ }, []);
127
149
  const {
128
150
  records,
129
151
  isLoading
@@ -149,7 +171,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
149
171
  return (0, _orderEntityRecordsBySearch.orderEntityRecordsBySearch)(records, search).slice(0, 10);
150
172
  }, [records, search]);
151
173
  const commands = (0, _element.useMemo)(() => {
152
- if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
174
+ if (!canCreateTemplate || !isBlockBasedTheme && !templateType === 'wp_template_part') {
153
175
  return [];
154
176
  }
155
177
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
@@ -201,7 +223,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
201
223
  });
202
224
  }
203
225
  return result;
204
- }, [isBlockBasedTheme, orderedRecords, history]);
226
+ }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]);
205
227
  return {
206
228
  commands,
207
229
  isLoading
@@ -214,10 +236,18 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
214
236
  function useSiteEditorBasicNavigationCommands() {
215
237
  const history = useHistory();
216
238
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
217
- const canCreateTemplate = (0, _data.useSelect)(select => {
218
- return select(_coreData.store).canUser('create', 'templates');
239
+ const {
240
+ isBlockBasedTheme,
241
+ canCreateTemplate
242
+ } = (0, _data.useSelect)(select => {
243
+ return {
244
+ isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
245
+ canCreateTemplate: select(_coreData.store).canUser('create', {
246
+ kind: 'postType',
247
+ name: 'wp_template'
248
+ })
249
+ };
219
250
  }, []);
220
- const isBlockBasedTheme = (0, _hooks.useIsBlockBasedTheme)();
221
251
  const commands = (0, _element.useMemo)(() => {
222
252
  const result = [];
223
253
  if (canCreateTemplate && isBlockBasedTheme) {
@@ -267,7 +297,7 @@ function useSiteEditorBasicNavigationCommands() {
267
297
  close
268
298
  }) => {
269
299
  const args = {
270
- post_type: 'page'
300
+ postType: 'page'
271
301
  };
272
302
  const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
273
303
  if (isSiteEditor) {
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_hooks","_lockUnlock","_orderEntityRecordsBySearch","useHistory","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","useIsBlockBasedTheme","delayedSearch","records","isLoading","useSelect","select","query","per_page","orderby","status","coreStore","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","name","id","searchLabel","title","rendered","label","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","navigation","styles","path","post_type","symbol","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst canCreateTemplate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', 'templates' );\n\t}, [] );\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpost_type: 'page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_block',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_element","_data","_coreData","_icons","_router","_url","_compose","_htmlEntities","_lockUnlock","_orderEntityRecordsBySearch","useHistory","unlock","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","useDebouncedValue","value","debouncedValue","setDebouncedValue","useState","debounced","useDebounce","useEffect","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","canCreateTemplate","useSelect","select","coreStore","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","useMemo","map","record","command","id","searchLabel","title","rendered","label","decodeEntities","__","icon","callback","close","args","action","targetUrl","addQueryArgs","document","location","isSiteEditor","getPath","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","navigation","styles","path","symbol","useSiteEditorNavigationCommands","useCommandLoader","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? decodeEntities( record.title?.rendered )\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t! canCreateTemplate ||\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ canCreateTemplate, records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! templateType === 'wp_template_part' )\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tisBlockBasedTheme:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_block',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,11 +10,11 @@ import { post, page, layout, symbol, symbolFilled, styles, navigation } from '@w
10
10
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  import { addQueryArgs, getPath } from '@wordpress/url';
12
12
  import { useDebounce } from '@wordpress/compose';
13
+ import { decodeEntities } from '@wordpress/html-entities';
13
14
 
14
15
  /**
15
16
  * Internal dependencies
16
17
  */
17
- import { useIsBlockBasedTheme } from './hooks';
18
18
  import { unlock } from './lock-unlock';
19
19
  import { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';
20
20
  const {
@@ -39,7 +39,18 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
39
39
  search
40
40
  }) {
41
41
  const history = useHistory();
42
- const isBlockBasedTheme = useIsBlockBasedTheme();
42
+ const {
43
+ isBlockBasedTheme,
44
+ canCreateTemplate
45
+ } = useSelect(select => {
46
+ return {
47
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
48
+ canCreateTemplate: select(coreStore).canUser('create', {
49
+ kind: 'postType',
50
+ name: 'wp_template'
51
+ })
52
+ };
53
+ }, []);
43
54
  const delayedSearch = useDebouncedValue(search);
44
55
  const {
45
56
  records,
@@ -66,10 +77,10 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
66
77
  const command = {
67
78
  name: postType + '-' + record.id,
68
79
  searchLabel: record.title?.rendered + ' ' + record.id,
69
- label: record.title?.rendered ? record.title?.rendered : __('(no title)'),
80
+ label: record.title?.rendered ? decodeEntities(record.title?.rendered) : __('(no title)'),
70
81
  icon: icons[postType]
71
82
  };
72
- if (postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
83
+ if (!canCreateTemplate || postType === 'post' || postType === 'page' && !isBlockBasedTheme) {
73
84
  return {
74
85
  ...command,
75
86
  callback: ({
@@ -106,7 +117,7 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
106
117
  }
107
118
  };
108
119
  });
109
- }, [records, isBlockBasedTheme, history]);
120
+ }, [canCreateTemplate, records, isBlockBasedTheme, history]);
110
121
  return {
111
122
  commands,
112
123
  isLoading
@@ -116,7 +127,18 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
116
127
  search
117
128
  }) {
118
129
  const history = useHistory();
119
- const isBlockBasedTheme = useIsBlockBasedTheme();
130
+ const {
131
+ isBlockBasedTheme,
132
+ canCreateTemplate
133
+ } = useSelect(select => {
134
+ return {
135
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
136
+ canCreateTemplate: select(coreStore).canUser('create', {
137
+ kind: 'postType',
138
+ name: templateType
139
+ })
140
+ };
141
+ }, []);
120
142
  const {
121
143
  records,
122
144
  isLoading
@@ -142,7 +164,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
142
164
  return orderEntityRecordsBySearch(records, search).slice(0, 10);
143
165
  }, [records, search]);
144
166
  const commands = useMemo(() => {
145
- if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
167
+ if (!canCreateTemplate || !isBlockBasedTheme && !templateType === 'wp_template_part') {
146
168
  return [];
147
169
  }
148
170
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
@@ -194,7 +216,7 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
194
216
  });
195
217
  }
196
218
  return result;
197
- }, [isBlockBasedTheme, orderedRecords, history]);
219
+ }, [canCreateTemplate, isBlockBasedTheme, orderedRecords, history]);
198
220
  return {
199
221
  commands,
200
222
  isLoading
@@ -207,10 +229,18 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
207
229
  function useSiteEditorBasicNavigationCommands() {
208
230
  const history = useHistory();
209
231
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
210
- const canCreateTemplate = useSelect(select => {
211
- return select(coreStore).canUser('create', 'templates');
232
+ const {
233
+ isBlockBasedTheme,
234
+ canCreateTemplate
235
+ } = useSelect(select => {
236
+ return {
237
+ isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
238
+ canCreateTemplate: select(coreStore).canUser('create', {
239
+ kind: 'postType',
240
+ name: 'wp_template'
241
+ })
242
+ };
212
243
  }, []);
213
- const isBlockBasedTheme = useIsBlockBasedTheme();
214
244
  const commands = useMemo(() => {
215
245
  const result = [];
216
246
  if (canCreateTemplate && isBlockBasedTheme) {
@@ -260,7 +290,7 @@ function useSiteEditorBasicNavigationCommands() {
260
290
  close
261
291
  }) => {
262
292
  const args = {
263
- post_type: 'page'
293
+ postType: 'page'
264
294
  };
265
295
  const targetUrl = addQueryArgs('site-editor.php', args);
266
296
  if (isSiteEditor) {
@@ -1 +1 @@
1
- {"version":3,"names":["useCommandLoader","__","useMemo","useEffect","useState","useSelect","store","coreStore","post","page","layout","symbol","symbolFilled","styles","navigation","privateApis","routerPrivateApis","addQueryArgs","getPath","useDebounce","useIsBlockBasedTheme","unlock","orderEntityRecordsBySearch","useHistory","icons","wp_template","wp_template_part","useDebouncedValue","value","debouncedValue","setDebouncedValue","debounced","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","delayedSearch","records","isLoading","select","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","map","record","command","name","id","searchLabel","title","rendered","label","icon","callback","close","args","action","targetUrl","document","location","isSiteEditor","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","path","post_type","useSiteEditorNavigationCommands","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t! templateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst canCreateTemplate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', 'templates' );\n\t}, [] );\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpost_type: 'page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_block',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCommandLoader","__","useMemo","useEffect","useState","useSelect","store","coreStore","post","page","layout","symbol","symbolFilled","styles","navigation","privateApis","routerPrivateApis","addQueryArgs","getPath","useDebounce","decodeEntities","unlock","orderEntityRecordsBySearch","useHistory","icons","wp_template","wp_template_part","useDebouncedValue","value","debouncedValue","setDebouncedValue","debounced","cancel","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","isBlockBasedTheme","canCreateTemplate","select","getCurrentTheme","is_block_theme","canUser","kind","name","delayedSearch","records","isLoading","query","per_page","orderby","status","getEntityRecords","hasFinishedResolution","commands","map","record","command","id","searchLabel","title","rendered","label","icon","callback","close","args","action","targetUrl","document","location","isSiteEditor","window","href","includes","postId","canvas","push","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","length","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","path","useSiteEditorNavigationCommands","hook","context"],"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbol,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nfunction useDebouncedValue( value ) {\n\tconst [ debouncedValue, setDebouncedValue ] = useState( '' );\n\tconst debounced = useDebounce( setDebouncedValue, 250 );\n\n\tuseEffect( () => {\n\t\tdebounced( value );\n\t\treturn () => debounced.cancel();\n\t}, [ debounced, value ] );\n\n\treturn debouncedValue;\n}\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_template',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst delayedSearch = useDebouncedValue( search );\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! delayedSearch ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tisLoading: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst query = {\n\t\t\t\t\tsearch: delayedSearch,\n\t\t\t\t\tper_page: 10,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\tstatus: [\n\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t'future',\n\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t'private',\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\trecords: select( coreStore ).getEntityRecords(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tquery\n\t\t\t\t\t),\n\t\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\t[ 'postType', postType, query ]\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ delayedSearch ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).map( ( record ) => {\n\t\t\t\tconst command = {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? decodeEntities( record.title?.rendered )\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t};\n\n\t\t\t\tif (\n\t\t\t\t\t! canCreateTemplate ||\n\t\t\t\t\tpostType === 'post' ||\n\t\t\t\t\t( postType === 'page' && ! isBlockBasedTheme )\n\t\t\t\t) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...command,\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpost: record.id,\n\t\t\t\t\t\t\t\taction: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs( 'post.php', args );\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\t...command,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ canCreateTemplate, records, isBlockBasedTheme, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst getNavigationCommandLoaderPerTemplate = ( templateType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\treturn {\n\t\t\t\t\tisBlockBasedTheme:\n\t\t\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: templateType,\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { records, isLoading } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\treturn {\n\t\t\t\trecords: getEntityRecords( 'postType', templateType, query ),\n\t\t\t\tisLoading: ! select( coreStore ).hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'postType', templateType, query ]\n\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\t\t/*\n\t\t * wp_template and wp_template_part endpoints do not support per_page or orderby parameters.\n\t\t * We need to sort the results based on the search query to avoid removing relevant\n\t\t * records below using .slice().\n\t\t */\n\t\tconst orderedRecords = useMemo( () => {\n\t\t\treturn orderEntityRecordsBySearch( records, search ).slice( 0, 10 );\n\t\t}, [ records, search ] );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif (\n\t\t\t\t! canCreateTemplate ||\n\t\t\t\t( ! isBlockBasedTheme && ! templateType === 'wp_template_part' )\n\t\t\t) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t'site-editor.php'\n\t\t\t);\n\t\t\tconst result = [];\n\t\t\tresult.push(\n\t\t\t\t...orderedRecords.map( ( record ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tname: templateType + '-' + record.id,\n\t\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\t\ticon: icons[ templateType ],\n\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\targs\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} )\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\torderedRecords?.length > 0 &&\n\t\t\t\ttemplateType === 'wp_template_part'\n\t\t\t) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\t\t\tlabel: __( 'Template parts' ),\n\t\t\t\t\ticon: symbolFilled,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn result;\n\t\t}, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerTemplate( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tisBlockBasedTheme:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tcanCreateTemplate: select( coreStore ).canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_template',\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\ticon: navigation,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_navigation',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\ticon: styles,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\ticon: page,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'page',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\ticon: layout,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_template',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\tlabel: __( 'Patterns' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\tconst args = {\n\t\t\t\t\t\tpostType: 'wp_block',\n\t\t\t\t\t};\n\t\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t}\n\t\t\t\t\tclose();\n\t\t\t\t} else {\n\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t}\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-commands",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,17 +28,18 @@
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.16.0",
31
- "@wordpress/block-editor": "^13.2.0",
32
- "@wordpress/commands": "^1.2.0",
33
- "@wordpress/compose": "^7.2.0",
34
- "@wordpress/core-data": "^7.2.0",
35
- "@wordpress/data": "^10.2.0",
36
- "@wordpress/element": "^6.2.0",
37
- "@wordpress/i18n": "^5.2.0",
38
- "@wordpress/icons": "^10.2.0",
39
- "@wordpress/private-apis": "^1.2.0",
40
- "@wordpress/router": "^1.2.0",
41
- "@wordpress/url": "^4.2.0"
31
+ "@wordpress/block-editor": "^13.4.0",
32
+ "@wordpress/commands": "^1.4.0",
33
+ "@wordpress/compose": "^7.4.0",
34
+ "@wordpress/core-data": "^7.4.0",
35
+ "@wordpress/data": "^10.4.0",
36
+ "@wordpress/element": "^6.4.0",
37
+ "@wordpress/html-entities": "^4.4.0",
38
+ "@wordpress/i18n": "^5.4.0",
39
+ "@wordpress/icons": "^10.4.0",
40
+ "@wordpress/private-apis": "^1.4.0",
41
+ "@wordpress/router": "^1.4.0",
42
+ "@wordpress/url": "^4.4.0"
42
43
  },
43
44
  "peerDependencies": {
44
45
  "react": "^18.0.0",
@@ -47,5 +48,5 @@
47
48
  "publishConfig": {
48
49
  "access": "public"
49
50
  },
50
- "gitHead": "aa5b14bb5bdbb8d8a02914e154c3bc1c2f18ace6"
51
+ "gitHead": "363edb39b8dda8727f652e42cbb8497732693ed2"
51
52
  }
@@ -18,11 +18,11 @@ import {
18
18
  import { privateApis as routerPrivateApis } from '@wordpress/router';
19
19
  import { addQueryArgs, getPath } from '@wordpress/url';
20
20
  import { useDebounce } from '@wordpress/compose';
21
+ import { decodeEntities } from '@wordpress/html-entities';
21
22
 
22
23
  /**
23
24
  * Internal dependencies
24
25
  */
25
- import { useIsBlockBasedTheme } from './hooks';
26
26
  import { unlock } from './lock-unlock';
27
27
  import { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';
28
28
 
@@ -50,7 +50,19 @@ function useDebouncedValue( value ) {
50
50
  const getNavigationCommandLoaderPerPostType = ( postType ) =>
51
51
  function useNavigationCommandLoader( { search } ) {
52
52
  const history = useHistory();
53
- const isBlockBasedTheme = useIsBlockBasedTheme();
53
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect(
54
+ ( select ) => {
55
+ return {
56
+ isBlockBasedTheme:
57
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
58
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
59
+ kind: 'postType',
60
+ name: 'wp_template',
61
+ } ),
62
+ };
63
+ },
64
+ []
65
+ );
54
66
  const delayedSearch = useDebouncedValue( search );
55
67
  const { records, isLoading } = useSelect(
56
68
  ( select ) => {
@@ -93,12 +105,13 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
93
105
  name: postType + '-' + record.id,
94
106
  searchLabel: record.title?.rendered + ' ' + record.id,
95
107
  label: record.title?.rendered
96
- ? record.title?.rendered
108
+ ? decodeEntities( record.title?.rendered )
97
109
  : __( '(no title)' ),
98
110
  icon: icons[ postType ],
99
111
  };
100
112
 
101
113
  if (
114
+ ! canCreateTemplate ||
102
115
  postType === 'post' ||
103
116
  ( postType === 'page' && ! isBlockBasedTheme )
104
117
  ) {
@@ -141,7 +154,7 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
141
154
  },
142
155
  };
143
156
  } );
144
- }, [ records, isBlockBasedTheme, history ] );
157
+ }, [ canCreateTemplate, records, isBlockBasedTheme, history ] );
145
158
 
146
159
  return {
147
160
  commands,
@@ -152,7 +165,19 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
152
165
  const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
153
166
  function useNavigationCommandLoader( { search } ) {
154
167
  const history = useHistory();
155
- const isBlockBasedTheme = useIsBlockBasedTheme();
168
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect(
169
+ ( select ) => {
170
+ return {
171
+ isBlockBasedTheme:
172
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
173
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
174
+ kind: 'postType',
175
+ name: templateType,
176
+ } ),
177
+ };
178
+ },
179
+ []
180
+ );
156
181
  const { records, isLoading } = useSelect( ( select ) => {
157
182
  const { getEntityRecords } = select( coreStore );
158
183
  const query = { per_page: -1 };
@@ -176,8 +201,8 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
176
201
 
177
202
  const commands = useMemo( () => {
178
203
  if (
179
- ! isBlockBasedTheme &&
180
- ! templateType === 'wp_template_part'
204
+ ! canCreateTemplate ||
205
+ ( ! isBlockBasedTheme && ! templateType === 'wp_template_part' )
181
206
  ) {
182
207
  return [];
183
208
  }
@@ -242,7 +267,7 @@ const getNavigationCommandLoaderPerTemplate = ( templateType ) =>
242
267
  } );
243
268
  }
244
269
  return result;
245
- }, [ isBlockBasedTheme, orderedRecords, history ] );
270
+ }, [ canCreateTemplate, isBlockBasedTheme, orderedRecords, history ] );
246
271
 
247
272
  return {
248
273
  commands,
@@ -264,10 +289,16 @@ function useSiteEditorBasicNavigationCommands() {
264
289
  const isSiteEditor = getPath( window.location.href )?.includes(
265
290
  'site-editor.php'
266
291
  );
267
- const canCreateTemplate = useSelect( ( select ) => {
268
- return select( coreStore ).canUser( 'create', 'templates' );
292
+ const { isBlockBasedTheme, canCreateTemplate } = useSelect( ( select ) => {
293
+ return {
294
+ isBlockBasedTheme:
295
+ select( coreStore ).getCurrentTheme()?.is_block_theme,
296
+ canCreateTemplate: select( coreStore ).canUser( 'create', {
297
+ kind: 'postType',
298
+ name: 'wp_template',
299
+ } ),
300
+ };
269
301
  }, [] );
270
- const isBlockBasedTheme = useIsBlockBasedTheme();
271
302
  const commands = useMemo( () => {
272
303
  const result = [];
273
304
 
@@ -314,7 +345,7 @@ function useSiteEditorBasicNavigationCommands() {
314
345
  icon: page,
315
346
  callback: ( { close } ) => {
316
347
  const args = {
317
- post_type: 'page',
348
+ postType: 'page',
318
349
  };
319
350
  const targetUrl = addQueryArgs( 'site-editor.php', args );
320
351
  if ( isSiteEditor ) {
package/build/hooks.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useIsBlockBasedTheme = useIsBlockBasedTheme;
7
- var _coreData = require("@wordpress/core-data");
8
- var _data = require("@wordpress/data");
9
- /**
10
- * WordPress dependencies
11
- */
12
-
13
- function useIsBlockBasedTheme() {
14
- return (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
15
- }
16
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_coreData","require","_data","useIsBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIO,SAASE,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { useSelect } from '@wordpress/data';
6
- export function useIsBlockBasedTheme() {
7
- return useSelect(select => select(coreStore).getCurrentTheme()?.is_block_theme, []);
8
- }
9
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["store","coreStore","useSelect","useIsBlockBasedTheme","select","getCurrentTheme","is_block_theme"],"sources":["@wordpress/core-commands/src/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport function useIsBlockBasedTheme() {\n\treturn useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAOD,SAAS,CACbE,MAAM,IAAMA,MAAM,CAAEH,SAAU,CAAC,CAACI,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;AACF","ignoreList":[]}
package/src/hooks.js DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { useSelect } from '@wordpress/data';
6
-
7
- export function useIsBlockBasedTheme() {
8
- return useSelect(
9
- ( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,
10
- []
11
- );
12
- }