@wordpress/core-commands 0.26.0 → 0.27.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.
@@ -6,7 +6,7 @@ import { __ } from '@wordpress/i18n';
6
6
  import { useMemo, useEffect, useState } from '@wordpress/element';
7
7
  import { useSelect } from '@wordpress/data';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
- import { post, page, layout, symbolFilled, styles, navigation } from '@wordpress/icons';
9
+ import { post, page, layout, symbol, symbolFilled, styles, navigation } from '@wordpress/icons';
10
10
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  import { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';
12
12
  import { useDebounce } from '@wordpress/compose';
@@ -14,7 +14,7 @@ import { useDebounce } from '@wordpress/compose';
14
14
  /**
15
15
  * Internal dependencies
16
16
  */
17
- import { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';
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 {
@@ -152,8 +152,9 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
152
152
  if (!isBlockBasedTheme && !templateType === 'wp_template_part') {
153
153
  return [];
154
154
  }
155
- return orderedRecords.map(record => {
156
- const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
155
+ const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
156
+ const result = [];
157
+ result.push(...orderedRecords.map(record => {
157
158
  const extraArgs = isSiteEditor ? {
158
159
  canvas: getQueryArg(window.location.href, 'canvas')
159
160
  } : {};
@@ -180,7 +181,31 @@ const getNavigationCommandLoaderPerTemplate = templateType => function useNaviga
180
181
  close();
181
182
  }
182
183
  };
183
- });
184
+ }));
185
+ if (orderedRecords?.length > 0 && templateType === 'wp_template_part') {
186
+ result.push({
187
+ name: 'core/edit-site/open-template-parts',
188
+ label: __('Template parts'),
189
+ icon: symbolFilled,
190
+ callback: ({
191
+ close
192
+ }) => {
193
+ const args = {
194
+ path: '/patterns',
195
+ categoryType: 'wp_template_part',
196
+ categoryId: 'all-parts'
197
+ };
198
+ const targetUrl = addQueryArgs('site-editor.php', args);
199
+ if (isSiteEditor) {
200
+ history.push(args);
201
+ } else {
202
+ document.location = targetUrl;
203
+ }
204
+ close();
205
+ }
206
+ });
207
+ }
208
+ return result;
184
209
  }, [isBlockBasedTheme, orderedRecords, history]);
185
210
  return {
186
211
  commands,
@@ -194,91 +219,116 @@ const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerTemp
194
219
  function useSiteEditorBasicNavigationCommands() {
195
220
  const history = useHistory();
196
221
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
197
- const isTemplatesAccessible = useIsTemplatesAccessible();
222
+ const canCreateTemplate = useSelect(select => {
223
+ return select(coreStore).canUser('create', 'templates');
224
+ }, []);
198
225
  const isBlockBasedTheme = useIsBlockBasedTheme();
199
226
  const commands = useMemo(() => {
200
227
  const result = [];
201
- if (!isTemplatesAccessible || !isBlockBasedTheme) {
202
- return result;
203
- }
204
- result.push({
205
- name: 'core/edit-site/open-navigation',
206
- label: __('Navigation'),
207
- icon: navigation,
208
- callback: ({
209
- close
210
- }) => {
211
- const args = {
212
- path: '/navigation'
213
- };
214
- const targetUrl = addQueryArgs('site-editor.php', args);
215
- if (isSiteEditor) {
216
- history.push(args);
217
- } else {
218
- document.location = targetUrl;
228
+ if (canCreateTemplate && isBlockBasedTheme) {
229
+ result.push({
230
+ name: 'core/edit-site/open-navigation',
231
+ label: __('Navigation'),
232
+ icon: navigation,
233
+ callback: ({
234
+ close
235
+ }) => {
236
+ const args = {
237
+ path: '/navigation'
238
+ };
239
+ const targetUrl = addQueryArgs('site-editor.php', args);
240
+ if (isSiteEditor) {
241
+ history.push(args);
242
+ } else {
243
+ document.location = targetUrl;
244
+ }
245
+ close();
219
246
  }
220
- close();
221
- }
222
- });
223
- result.push({
224
- name: 'core/edit-site/open-styles',
225
- label: __('Styles'),
226
- icon: styles,
227
- callback: ({
228
- close
229
- }) => {
230
- const args = {
231
- path: '/wp_global_styles'
232
- };
233
- const targetUrl = addQueryArgs('site-editor.php', args);
234
- if (isSiteEditor) {
235
- history.push(args);
236
- } else {
237
- document.location = targetUrl;
247
+ });
248
+ result.push({
249
+ name: 'core/edit-site/open-styles',
250
+ label: __('Styles'),
251
+ icon: styles,
252
+ callback: ({
253
+ close
254
+ }) => {
255
+ const args = {
256
+ path: '/wp_global_styles'
257
+ };
258
+ const targetUrl = addQueryArgs('site-editor.php', args);
259
+ if (isSiteEditor) {
260
+ history.push(args);
261
+ } else {
262
+ document.location = targetUrl;
263
+ }
264
+ close();
238
265
  }
239
- close();
240
- }
241
- });
242
- result.push({
243
- name: 'core/edit-site/open-pages',
244
- label: __('Pages'),
245
- icon: page,
246
- callback: ({
247
- close
248
- }) => {
249
- const args = {
250
- path: '/page'
251
- };
252
- const targetUrl = addQueryArgs('site-editor.php', args);
253
- if (isSiteEditor) {
254
- history.push(args);
255
- } else {
256
- document.location = targetUrl;
266
+ });
267
+ result.push({
268
+ name: 'core/edit-site/open-pages',
269
+ label: __('Pages'),
270
+ icon: page,
271
+ callback: ({
272
+ close
273
+ }) => {
274
+ const args = {
275
+ path: '/page'
276
+ };
277
+ const targetUrl = addQueryArgs('site-editor.php', args);
278
+ if (isSiteEditor) {
279
+ history.push(args);
280
+ } else {
281
+ document.location = targetUrl;
282
+ }
283
+ close();
257
284
  }
258
- close();
259
- }
260
- });
285
+ });
286
+ result.push({
287
+ name: 'core/edit-site/open-templates',
288
+ label: __('Templates'),
289
+ icon: layout,
290
+ callback: ({
291
+ close
292
+ }) => {
293
+ const args = {
294
+ path: '/wp_template'
295
+ };
296
+ const targetUrl = addQueryArgs('site-editor.php', args);
297
+ if (isSiteEditor) {
298
+ history.push(args);
299
+ } else {
300
+ document.location = targetUrl;
301
+ }
302
+ close();
303
+ }
304
+ });
305
+ }
261
306
  result.push({
262
- name: 'core/edit-site/open-templates',
263
- label: __('Templates'),
264
- icon: layout,
307
+ name: 'core/edit-site/open-patterns',
308
+ label: __('Patterns'),
309
+ icon: symbol,
265
310
  callback: ({
266
311
  close
267
312
  }) => {
268
- const args = {
269
- path: '/wp_template'
270
- };
271
- const targetUrl = addQueryArgs('site-editor.php', args);
272
- if (isSiteEditor) {
273
- history.push(args);
313
+ if (canCreateTemplate) {
314
+ const args = {
315
+ path: '/patterns'
316
+ };
317
+ const targetUrl = addQueryArgs('site-editor.php', args);
318
+ if (isSiteEditor) {
319
+ history.push(args);
320
+ } else {
321
+ document.location = targetUrl;
322
+ }
323
+ close();
274
324
  } else {
275
- document.location = targetUrl;
325
+ // If a user cannot access the site editor
326
+ document.location.href = 'edit.php?post_type=wp_block';
276
327
  }
277
- close();
278
328
  }
279
329
  });
280
330
  return result;
281
- }, [history, isSiteEditor, isTemplatesAccessible, isBlockBasedTheme]);
331
+ }, [history, isSiteEditor, canCreateTemplate, isBlockBasedTheme]);
282
332
  return {
283
333
  commands,
284
334
  isLoading: false
@@ -1 +1 @@
1
- {"version":3,"names":["useCommandLoader","__","useMemo","useEffect","useState","useSelect","store","coreStore","post","page","layout","symbolFilled","styles","navigation","privateApis","routerPrivateApis","getQueryArg","addQueryArgs","getPath","useDebounce","useIsTemplatesAccessible","useIsBlockBasedTheme","unlock","orderEntityRecordsBySearch","useHistory","useLocation","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","extraArgs","canvas","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","slice","undefined","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","isTemplatesAccessible","result","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\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useIsTemplatesAccessible, useIsBlockBasedTheme } from './hooks';\nimport { unlock } from './lock-unlock';\nimport { orderEntityRecordsBySearch } from './utils/order-entity-records-by-search';\n\nconst { useHistory, useLocation } = 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\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\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\t...extraArgs,\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 location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\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\treturn orderedRecords.map( ( record ) => {\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\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\n\t\t\t\treturn {\n\t\t\t\t\tname: templateType + '-' + 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[ templateType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType: templateType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...extraArgs,\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}, [ 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 isTemplatesAccessible = useIsTemplatesAccessible();\n\tconst isBlockBasedTheme = useIsBlockBasedTheme();\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\n\t\tif ( ! isTemplatesAccessible || ! isBlockBasedTheme ) {\n\t\t\treturn result;\n\t\t}\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\tlabel: __( 'Navigation' ),\n\t\t\ticon: navigation,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/navigation',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-styles',\n\t\t\tlabel: __( 'Styles' ),\n\t\t\ticon: styles,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-pages',\n\t\t\tlabel: __( 'Pages' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/page',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-templates',\n\t\t\tlabel: __( 'Templates' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\treturn result;\n\t}, [ history, isSiteEditor, isTemplatesAccessible, 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","getQueryArg","addQueryArgs","getPath","useDebounce","useIsBlockBasedTheme","unlock","orderEntityRecordsBySearch","useHistory","useLocation","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","extraArgs","canvas","postId","push","getNavigationCommandLoaderPerTemplate","templateType","isPatternsPage","params","path","didAccessPatternsPage","orderedRecords","slice","result","undefined","length","categoryType","categoryId","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","canCreateTemplate","canUser","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 { getQueryArg, 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, useLocation } = 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\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t }\n\t\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\t...extraArgs,\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 location = useLocation();\n\n\t\tconst isPatternsPage =\n\t\t\tlocation?.params?.path === '/patterns' ||\n\t\t\tlocation?.params?.postType === 'wp_block';\n\t\tconst didAccessPatternsPage =\n\t\t\t!! location?.params?.didAccessPatternsPage;\n\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\tconst extraArgs = isSiteEditor\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcanvas: getQueryArg(\n\t\t\t\t\t\t\t\t\twindow.location.href,\n\t\t\t\t\t\t\t\t\t'canvas'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {};\n\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\tdidAccessPatternsPage:\n\t\t\t\t\t\t\t\t\t! isBlockBasedTheme &&\n\t\t\t\t\t\t\t\t\t( isPatternsPage || didAccessPatternsPage )\n\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t...extraArgs,\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\tpath: '/patterns',\n\t\t\t\t\t\t\tcategoryType: '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\tpath: '/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\tpath: '/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\tpath: '/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\tpath: '/patterns',\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": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,17 +27,17 @@
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/block-editor": "^12.25.0",
31
- "@wordpress/commands": "^0.28.0",
32
- "@wordpress/compose": "^6.34.0",
33
- "@wordpress/core-data": "^6.34.0",
34
- "@wordpress/data": "^9.27.0",
35
- "@wordpress/element": "^5.34.0",
36
- "@wordpress/i18n": "^4.57.0",
37
- "@wordpress/icons": "^9.48.0",
38
- "@wordpress/private-apis": "^0.39.0",
39
- "@wordpress/router": "^0.26.0",
40
- "@wordpress/url": "^3.58.0"
30
+ "@wordpress/block-editor": "^12.26.0",
31
+ "@wordpress/commands": "^0.29.0",
32
+ "@wordpress/compose": "^6.35.0",
33
+ "@wordpress/core-data": "^6.35.0",
34
+ "@wordpress/data": "^9.28.0",
35
+ "@wordpress/element": "^5.35.0",
36
+ "@wordpress/i18n": "^4.58.0",
37
+ "@wordpress/icons": "^9.49.0",
38
+ "@wordpress/private-apis": "^0.40.0",
39
+ "@wordpress/router": "^0.27.0",
40
+ "@wordpress/url": "^3.59.0"
41
41
  },
42
42
  "peerDependencies": {
43
43
  "react": "^18.0.0",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "581d8a5580dba8f600b7268d51eb554771ae482c"
49
+ "gitHead": "42f38f287506a6b3ed8ccba839b18ad066821044"
50
50
  }
@@ -3,26 +3,9 @@
3
3
  */
4
4
  import { useCommand } from '@wordpress/commands';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { plus, symbol } from '@wordpress/icons';
7
- import { addQueryArgs, getPath } from '@wordpress/url';
8
- import { privateApis as routerPrivateApis } from '@wordpress/router';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import { useIsTemplatesAccessible } from './hooks';
14
- import { unlock } from './lock-unlock';
15
-
16
- const { useHistory } = unlock( routerPrivateApis );
6
+ import { plus } from '@wordpress/icons';
17
7
 
18
8
  export function useAdminNavigationCommands() {
19
- const history = useHistory();
20
- const isTemplatesAccessible = useIsTemplatesAccessible();
21
-
22
- const isSiteEditor = getPath( window.location.href )?.includes(
23
- 'site-editor.php'
24
- );
25
-
26
9
  useCommand( {
27
10
  name: 'core/add-new-post',
28
11
  label: __( 'Add new post' ),
@@ -39,28 +22,4 @@ export function useAdminNavigationCommands() {
39
22
  document.location.href = 'post-new.php?post_type=page';
40
23
  },
41
24
  } );
42
- useCommand( {
43
- name: 'core/manage-reusable-blocks',
44
- label: __( 'Patterns' ),
45
- icon: symbol,
46
- callback: ( { close } ) => {
47
- // The site editor and templates both check whether the user
48
- // can read templates. We can leverage that here and this
49
- // command links to the classic dashboard manage patterns page
50
- // if the user can't access it.
51
- if ( isTemplatesAccessible ) {
52
- const args = {
53
- path: '/patterns',
54
- };
55
- if ( isSiteEditor ) {
56
- history.push( args );
57
- } else {
58
- document.location = addQueryArgs( 'site-editor.php', args );
59
- }
60
- close();
61
- } else {
62
- document.location.href = 'edit.php?post_type=wp_block';
63
- }
64
- },
65
- } );
66
25
  }
package/src/hooks.js CHANGED
@@ -4,13 +4,6 @@
4
4
  import { store as coreStore } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
6
 
7
- export function useIsTemplatesAccessible() {
8
- return useSelect(
9
- ( select ) => select( coreStore ).canUser( 'read', 'templates' ),
10
- []
11
- );
12
- }
13
-
14
7
  export function useIsBlockBasedTheme() {
15
8
  return useSelect(
16
9
  ( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,