@wordpress/core-commands 1.29.1-next.e256d081a.0 → 1.30.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,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.30.0 (2025-09-03)
6
+
5
7
  ## 1.29.0 (2025-08-20)
6
8
 
7
9
  ## 1.28.0 (2025-08-07)
@@ -26,6 +26,10 @@ const {
26
26
  useHistory
27
27
  } = (0, _lockUnlock.unlock)(_router.privateApis);
28
28
  const getAddNewPageCommand = () => function useAddNewPageCommand() {
29
+ const canCreatePage = (0, _data.useSelect)(select => select(_coreData.store).canUser('create', {
30
+ kind: 'postType',
31
+ name: 'page'
32
+ }), []);
29
33
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
30
34
  const history = useHistory();
31
35
  const isBlockBasedTheme = (0, _data.useSelect)(select => {
@@ -59,6 +63,9 @@ const getAddNewPageCommand = () => function useAddNewPageCommand() {
59
63
  }
60
64
  }, [createErrorNotice, history, saveEntityRecord]);
61
65
  const commands = (0, _element.useMemo)(() => {
66
+ if (!canCreatePage) {
67
+ return [];
68
+ }
62
69
  const addNewPage = isSiteEditor && isBlockBasedTheme ? createPageEntity : () => document.location.href = 'post-new.php?post_type=page';
63
70
  return [{
64
71
  name: 'core/add-new-page',
@@ -67,7 +74,7 @@ const getAddNewPageCommand = () => function useAddNewPageCommand() {
67
74
  callback: addNewPage,
68
75
  keywords: [(0, _i18n.__)('page'), (0, _i18n.__)('new'), (0, _i18n.__)('add'), (0, _i18n.__)('create')]
69
76
  }];
70
- }, [createPageEntity, isSiteEditor, isBlockBasedTheme]);
77
+ }, [createPageEntity, isSiteEditor, isBlockBasedTheme, canCreatePage]);
71
78
  return {
72
79
  isLoading: false,
73
80
  commands
@@ -130,15 +137,34 @@ const getDashboardCommand = () => function useDashboardCommand() {
130
137
  commands
131
138
  };
132
139
  };
140
+ const getAddNewPostCommand = () => function useAddNewPostCommand() {
141
+ const canCreatePost = (0, _data.useSelect)(select => select(_coreData.store).canUser('create', {
142
+ kind: 'postType',
143
+ name: 'post'
144
+ }), []);
145
+ const commands = (0, _element.useMemo)(() => {
146
+ if (!canCreatePost) {
147
+ return [];
148
+ }
149
+ return [{
150
+ name: 'core/add-new-post',
151
+ label: (0, _i18n.__)('Add Post'),
152
+ icon: _icons.plus,
153
+ callback: () => {
154
+ document.location.assign('post-new.php');
155
+ },
156
+ keywords: [(0, _i18n.__)('post'), (0, _i18n.__)('new'), (0, _i18n.__)('add'), (0, _i18n.__)('create')]
157
+ }];
158
+ }, [canCreatePost]);
159
+ return {
160
+ isLoading: false,
161
+ commands
162
+ };
163
+ };
133
164
  function useAdminNavigationCommands() {
134
- (0, _commands.useCommand)({
165
+ (0, _commands.useCommandLoader)({
135
166
  name: 'core/add-new-post',
136
- label: (0, _i18n.__)('Add Post'),
137
- icon: _icons.plus,
138
- callback: () => {
139
- document.location.assign('post-new.php');
140
- },
141
- keywords: [(0, _i18n.__)('post'), (0, _i18n.__)('new'), (0, _i18n.__)('add'), (0, _i18n.__)('create')]
167
+ hook: getAddNewPostCommand()
142
168
  });
143
169
  (0, _commands.useCommandLoader)({
144
170
  name: 'core/dashboard',
@@ -1 +1 @@
1
- {"version":3,"names":["_commands","require","_i18n","_icons","_url","_coreData","_data","_element","_notices","_router","_lockUnlock","useHistory","unlock","routerPrivateApis","getAddNewPageCommand","useAddNewPageCommand","isSiteEditor","getPath","window","location","href","includes","history","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","saveEntityRecord","useDispatch","createErrorNotice","noticesStore","createPageEntity","useCallback","close","page","status","throwOnError","id","navigate","error","errorMessage","message","code","__","type","commands","useMemo","addNewPage","document","name","label","icon","plus","callback","keywords","isLoading","getAdminBasicNavigationCommands","useAdminBasicNavigationCommands","canCreateTemplate","canUser","kind","getDashboardCommand","useDashboardCommand","currentPath","isEditorScreen","dashboard","assign","useAdminNavigationCommands","useCommand","useCommandLoader","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand, useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, dashboard } from '@wordpress/icons';\nimport { getPath } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst getAddNewPageCommand = () =>\n\tfunction useAddNewPageCommand() {\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t\t}, [] );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\t\tconst createPageEntity = useCallback(\n\t\t\tasync ( { close } ) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst page = await saveEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( page?.id ) {\n\t\t\t\t\t\thistory.navigate( `/page/${ page.id }?canvas=edit` );\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while creating the item.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t} finally {\n\t\t\t\t\tclose();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ createErrorNotice, history, saveEntityRecord ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tconst addNewPage =\n\t\t\t\tisSiteEditor && isBlockBasedTheme\n\t\t\t\t\t? createPageEntity\n\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t( document.location.href =\n\t\t\t\t\t\t\t\t'post-new.php?post_type=page' );\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-page',\n\t\t\t\t\tlabel: __( 'Add Page' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: addNewPage,\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'page' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ createPageEntity, isSiteEditor, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAdminBasicNavigationCommands = () =>\n\tfunction useAdminBasicNavigationCommands() {\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\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\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\tif ( ! isSiteEditor ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/go-to-site-editor',\n\t\t\t\t\t\t\tlabel: __( 'Open Site Editor' ),\n\t\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\tdocument.location = 'site-editor.php';\n\t\t\t\t\t\t\t},\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\treturn [];\n\t\t}, [ canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getDashboardCommand = () =>\n\tfunction useDashboardCommand() {\n\t\tconst currentPath = getPath( window.location.href );\n\n\t\tconst isEditorScreen =\n\t\t\tcurrentPath?.includes( 'site-editor.php' ) ||\n\t\t\tcurrentPath?.includes( 'post.php' ) ||\n\t\t\tcurrentPath?.includes( 'post-new.php' ) ||\n\t\t\tcurrentPath?.includes( 'widgets.php' ) ||\n\t\t\tcurrentPath?.includes( 'customize.php' );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( isEditorScreen ) {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/dashboard',\n\t\t\t\t\t\tlabel: __( 'Dashboard' ),\n\t\t\t\t\t\ticon: dashboard,\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\tdocument.location.assign( 'index.php' );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [];\n\t\t}, [ isEditorScreen ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add Post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.assign( 'post-new.php' );\n\t\t},\n\t\tkeywords: [ __( 'post' ), __( 'new' ), __( 'add' ), __( 'create' ) ],\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/dashboard',\n\t\thook: getDashboardCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-page',\n\t\thook: getAddNewPageCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminBasicNavigationCommands(),\n\t} );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAKA,IAAAS,WAAA,GAAAT,OAAA;AAhBA;AACA;AACA;;AAWA;AACA;AACA;;AAGA,MAAM;EAAEU;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAElD,MAAMC,oBAAoB,GAAGA,CAAA,KAC5B,SAASC,oBAAoBA,CAAA,EAAG;EAC/B,MAAMC,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EACD,MAAMC,OAAO,GAAGX,UAAU,CAAC,CAAC;EAC5B,MAAMY,iBAAiB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAClD,OAAOA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;EAC7D,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEJ,eAAU,CAAC;EACrD,MAAM;IAAEK;EAAkB,CAAC,GAAG,IAAAD,iBAAW,EAAEE,cAAa,CAAC;EAEzD,MAAMC,gBAAgB,GAAG,IAAAC,oBAAW,EACnC,OAAQ;IAAEC;EAAM,CAAC,KAAM;IACtB,IAAI;MACH,MAAMC,IAAI,GAAG,MAAMP,gBAAgB,CAClC,UAAU,EACV,MAAM,EACN;QACCQ,MAAM,EAAE;MACT,CAAC,EACD;QACCC,YAAY,EAAE;MACf,CACD,CAAC;MACD,IAAKF,IAAI,EAAEG,EAAE,EAAG;QACfjB,OAAO,CAACkB,QAAQ,CAAE,SAAUJ,IAAI,CAACG,EAAE,cAAgB,CAAC;MACrD;IACD,CAAC,CAAC,OAAQE,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACb,IAAAE,QAAE,EACF,4CACA,CAAC;MAELd,iBAAiB,CAAEW,YAAY,EAAE;QAChCI,IAAI,EAAE;MACP,CAAE,CAAC;IACJ,CAAC,SAAS;MACTX,KAAK,CAAC,CAAC;IACR;EACD,CAAC,EACD,CAAEJ,iBAAiB,EAAET,OAAO,EAAEO,gBAAgB,CAC/C,CAAC;EAED,MAAMkB,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,MAAMC,UAAU,GACfjC,YAAY,IAAIO,iBAAiB,GAC9BU,gBAAgB,GAChB,MACEiB,QAAQ,CAAC/B,QAAQ,CAACC,IAAI,GACvB,6BAA+B;IACpC,OAAO,CACN;MACC+B,IAAI,EAAE,mBAAmB;MACzBC,KAAK,EAAE,IAAAP,QAAE,EAAE,UAAW,CAAC;MACvBQ,IAAI,EAAEC,WAAI;MACVC,QAAQ,EAAEN,UAAU;MACpBO,QAAQ,EAAE,CACT,IAAAX,QAAE,EAAE,MAAO,CAAC,EACZ,IAAAA,QAAE,EAAE,KAAM,CAAC,EACX,IAAAA,QAAE,EAAE,KAAM,CAAC,EACX,IAAAA,QAAE,EAAE,QAAS,CAAC;IAEhB,CAAC,CACD;EACF,CAAC,EAAE,CAAEZ,gBAAgB,EAAEjB,YAAY,EAAEO,iBAAiB,CAAG,CAAC;EAE1D,OAAO;IACNkC,SAAS,EAAE,KAAK;IAChBV;EACD,CAAC;AACF,CAAC;AAEF,MAAMW,+BAA+B,GAAGA,CAAA,KACvC,SAASC,+BAA+BA,CAAA,EAAG;EAC1C,MAAM;IAAEpC,iBAAiB;IAAEqC;EAAkB,CAAC,GAAG,IAAApC,eAAS,EACvDC,MAAM,IAAM;IACb,OAAO;MACNF,iBAAiB,EAChBE,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;MACtDgC,iBAAiB,EAAEnC,MAAM,CAAEC,eAAU,CAAC,CAACmC,OAAO,CAAE,QAAQ,EAAE;QACzDC,IAAI,EAAE,UAAU;QAChBX,IAAI,EAAE;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAMJ,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAKY,iBAAiB,IAAIrC,iBAAiB,EAAG;MAC7C,MAAMP,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;MACD,IAAK,CAAEL,YAAY,EAAG;QACrB,OAAO,CACN;UACCmC,IAAI,EAAE,wBAAwB;UAC9BC,KAAK,EAAE,IAAAP,QAAE,EAAE,kBAAmB,CAAC;UAC/BU,QAAQ,EAAEA,CAAE;YAAEpB;UAAM,CAAC,KAAM;YAC1BA,KAAK,CAAC,CAAC;YACPe,QAAQ,CAAC/B,QAAQ,GAAG,iBAAiB;UACtC;QACD,CAAC,CACD;MACF;IACD;IAEA,OAAO,EAAE;EACV,CAAC,EAAE,CAAEyC,iBAAiB,EAAErC,iBAAiB,CAAG,CAAC;EAE7C,OAAO;IACNwB,QAAQ;IACRU,SAAS,EAAE;EACZ,CAAC;AACF,CAAC;AAEF,MAAMM,mBAAmB,GAAGA,CAAA,KAC3B,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAMC,WAAW,GAAG,IAAAhD,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;EAEnD,MAAM8C,cAAc,GACnBD,WAAW,EAAE5C,QAAQ,CAAE,iBAAkB,CAAC,IAC1C4C,WAAW,EAAE5C,QAAQ,CAAE,UAAW,CAAC,IACnC4C,WAAW,EAAE5C,QAAQ,CAAE,cAAe,CAAC,IACvC4C,WAAW,EAAE5C,QAAQ,CAAE,aAAc,CAAC,IACtC4C,WAAW,EAAE5C,QAAQ,CAAE,eAAgB,CAAC;EAEzC,MAAM0B,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAKkB,cAAc,EAAG;MACrB,OAAO,CACN;QACCf,IAAI,EAAE,gBAAgB;QACtBC,KAAK,EAAE,IAAAP,QAAE,EAAE,WAAY,CAAC;QACxBQ,IAAI,EAAEc,gBAAS;QACfZ,QAAQ,EAAEA,CAAA,KAAM;UACfL,QAAQ,CAAC/B,QAAQ,CAACiD,MAAM,CAAE,WAAY,CAAC;QACxC;MACD,CAAC,CACD;IACF;IACA,OAAO,EAAE;EACV,CAAC,EAAE,CAAEF,cAAc,CAAG,CAAC;EAEvB,OAAO;IACNT,SAAS,EAAE,KAAK;IAChBV;EACD,CAAC;AACF,CAAC;AAEK,SAASsB,0BAA0BA,CAAA,EAAG;EAC5C,IAAAC,oBAAU,EAAE;IACXnB,IAAI,EAAE,mBAAmB;IACzBC,KAAK,EAAE,IAAAP,QAAE,EAAE,UAAW,CAAC;IACvBQ,IAAI,EAAEC,WAAI;IACVC,QAAQ,EAAEA,CAAA,KAAM;MACfL,QAAQ,CAAC/B,QAAQ,CAACiD,MAAM,CAAE,cAAe,CAAC;IAC3C,CAAC;IACDZ,QAAQ,EAAE,CAAE,IAAAX,QAAE,EAAE,MAAO,CAAC,EAAE,IAAAA,QAAE,EAAE,KAAM,CAAC,EAAE,IAAAA,QAAE,EAAE,KAAM,CAAC,EAAE,IAAAA,QAAE,EAAE,QAAS,CAAC;EACnE,CAAE,CAAC;EAEH,IAAA0B,0BAAgB,EAAE;IACjBpB,IAAI,EAAE,gBAAgB;IACtBqB,IAAI,EAAET,mBAAmB,CAAC;EAC3B,CAAE,CAAC;EAEH,IAAAQ,0BAAgB,EAAE;IACjBpB,IAAI,EAAE,mBAAmB;IACzBqB,IAAI,EAAE1D,oBAAoB,CAAC;EAC5B,CAAE,CAAC;EAEH,IAAAyD,0BAAgB,EAAE;IACjBpB,IAAI,EAAE,uBAAuB;IAC7BqB,IAAI,EAAEd,+BAA+B,CAAC;EACvC,CAAE,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_commands","require","_i18n","_icons","_url","_coreData","_data","_element","_notices","_router","_lockUnlock","useHistory","unlock","routerPrivateApis","getAddNewPageCommand","useAddNewPageCommand","canCreatePage","useSelect","select","coreStore","canUser","kind","name","isSiteEditor","getPath","window","location","href","includes","history","isBlockBasedTheme","getCurrentTheme","is_block_theme","saveEntityRecord","useDispatch","createErrorNotice","noticesStore","createPageEntity","useCallback","close","page","status","throwOnError","id","navigate","error","errorMessage","message","code","__","type","commands","useMemo","addNewPage","document","label","icon","plus","callback","keywords","isLoading","getAdminBasicNavigationCommands","useAdminBasicNavigationCommands","canCreateTemplate","getDashboardCommand","useDashboardCommand","currentPath","isEditorScreen","dashboard","assign","getAddNewPostCommand","useAddNewPostCommand","canCreatePost","useAdminNavigationCommands","useCommandLoader","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, dashboard } from '@wordpress/icons';\nimport { getPath } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst getAddNewPageCommand = () =>\n\tfunction useAddNewPageCommand() {\n\t\tconst canCreatePage = useSelect(\n\t\t\t( select ) =>\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t[]\n\t\t);\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t\t}, [] );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\t\tconst createPageEntity = useCallback(\n\t\t\tasync ( { close } ) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst page = await saveEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( page?.id ) {\n\t\t\t\t\t\thistory.navigate( `/page/${ page.id }?canvas=edit` );\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while creating the item.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t} finally {\n\t\t\t\t\tclose();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ createErrorNotice, history, saveEntityRecord ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canCreatePage ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst addNewPage =\n\t\t\t\tisSiteEditor && isBlockBasedTheme\n\t\t\t\t\t? createPageEntity\n\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t( document.location.href =\n\t\t\t\t\t\t\t\t'post-new.php?post_type=page' );\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-page',\n\t\t\t\t\tlabel: __( 'Add Page' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: addNewPage,\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'page' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [\n\t\t\tcreatePageEntity,\n\t\t\tisSiteEditor,\n\t\t\tisBlockBasedTheme,\n\t\t\tcanCreatePage,\n\t\t] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAdminBasicNavigationCommands = () =>\n\tfunction useAdminBasicNavigationCommands() {\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\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\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\tif ( ! isSiteEditor ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/go-to-site-editor',\n\t\t\t\t\t\t\tlabel: __( 'Open Site Editor' ),\n\t\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\tdocument.location = 'site-editor.php';\n\t\t\t\t\t\t\t},\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\treturn [];\n\t\t}, [ canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getDashboardCommand = () =>\n\tfunction useDashboardCommand() {\n\t\tconst currentPath = getPath( window.location.href );\n\n\t\tconst isEditorScreen =\n\t\t\tcurrentPath?.includes( 'site-editor.php' ) ||\n\t\t\tcurrentPath?.includes( 'post.php' ) ||\n\t\t\tcurrentPath?.includes( 'post-new.php' ) ||\n\t\t\tcurrentPath?.includes( 'widgets.php' ) ||\n\t\t\tcurrentPath?.includes( 'customize.php' );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( isEditorScreen ) {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/dashboard',\n\t\t\t\t\t\tlabel: __( 'Dashboard' ),\n\t\t\t\t\t\ticon: dashboard,\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\tdocument.location.assign( 'index.php' );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [];\n\t\t}, [ isEditorScreen ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAddNewPostCommand = () =>\n\tfunction useAddNewPostCommand() {\n\t\tconst canCreatePost = useSelect(\n\t\t\t( select ) =>\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'post',\n\t\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canCreatePost ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-post',\n\t\t\t\t\tlabel: __( 'Add Post' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tdocument.location.assign( 'post-new.php' );\n\t\t\t\t\t},\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'post' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ canCreatePost ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-post',\n\t\thook: getAddNewPostCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/dashboard',\n\t\thook: getDashboardCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-page',\n\t\thook: getAddNewPageCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminBasicNavigationCommands(),\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -227,13 +227,18 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
227
227
  const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
228
228
  const {
229
229
  isBlockBasedTheme,
230
- canCreateTemplate
230
+ canCreateTemplate,
231
+ canCreatePatterns
231
232
  } = (0, _data.useSelect)(select => {
232
233
  return {
233
234
  isBlockBasedTheme: select(_coreData.store).getCurrentTheme()?.is_block_theme,
234
235
  canCreateTemplate: select(_coreData.store).canUser('create', {
235
236
  kind: 'postType',
236
237
  name: 'wp_template'
238
+ }),
239
+ canCreatePatterns: select(_coreData.store).canUser('create', {
240
+ kind: 'postType',
241
+ name: 'wp_block'
237
242
  })
238
243
  };
239
244
  }, []);
@@ -309,30 +314,32 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
309
314
  }
310
315
  });
311
316
  }
312
- result.push({
313
- name: 'core/edit-site/open-patterns',
314
- label: (0, _i18n.__)('Patterns'),
315
- icon: _icons.symbol,
316
- callback: ({
317
- close
318
- }) => {
319
- if (canCreateTemplate) {
320
- if (isSiteEditor) {
321
- history.navigate('/pattern');
317
+ if (canCreatePatterns) {
318
+ result.push({
319
+ name: 'core/edit-site/open-patterns',
320
+ label: (0, _i18n.__)('Patterns'),
321
+ icon: _icons.symbol,
322
+ callback: ({
323
+ close
324
+ }) => {
325
+ if (canCreateTemplate) {
326
+ if (isSiteEditor) {
327
+ history.navigate('/pattern');
328
+ } else {
329
+ document.location = (0, _url.addQueryArgs)('site-editor.php', {
330
+ p: '/pattern'
331
+ });
332
+ }
333
+ close();
322
334
  } else {
323
- document.location = (0, _url.addQueryArgs)('site-editor.php', {
324
- p: '/pattern'
325
- });
335
+ // If a user cannot access the site editor
336
+ document.location.href = 'edit.php?post_type=wp_block';
326
337
  }
327
- close();
328
- } else {
329
- // If a user cannot access the site editor
330
- document.location.href = 'edit.php?post_type=wp_block';
331
338
  }
332
- }
333
- });
339
+ });
340
+ }
334
341
  return result;
335
- }, [history, isSiteEditor, canCreateTemplate, isBlockBasedTheme]);
342
+ }, [history, isSiteEditor, canCreateTemplate, canCreatePatterns, isBlockBasedTheme]);
336
343
  return {
337
344
  commands,
338
345
  isLoading: false
@@ -1 +1 @@
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","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","styles","navigation","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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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 getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\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 commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\ticon: symbol,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\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","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","orderEntityRecordsBySearch","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","styles","navigation","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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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 getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( 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\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\n\t\tcontext: 'site-editor',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCommand, useCommandLoader } from '@wordpress/commands';
4
+ import { useCommandLoader } from '@wordpress/commands';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { plus, dashboard } from '@wordpress/icons';
7
7
  import { getPath } from '@wordpress/url';
@@ -19,6 +19,10 @@ const {
19
19
  useHistory
20
20
  } = unlock(routerPrivateApis);
21
21
  const getAddNewPageCommand = () => function useAddNewPageCommand() {
22
+ const canCreatePage = useSelect(select => select(coreStore).canUser('create', {
23
+ kind: 'postType',
24
+ name: 'page'
25
+ }), []);
22
26
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
23
27
  const history = useHistory();
24
28
  const isBlockBasedTheme = useSelect(select => {
@@ -52,6 +56,9 @@ const getAddNewPageCommand = () => function useAddNewPageCommand() {
52
56
  }
53
57
  }, [createErrorNotice, history, saveEntityRecord]);
54
58
  const commands = useMemo(() => {
59
+ if (!canCreatePage) {
60
+ return [];
61
+ }
55
62
  const addNewPage = isSiteEditor && isBlockBasedTheme ? createPageEntity : () => document.location.href = 'post-new.php?post_type=page';
56
63
  return [{
57
64
  name: 'core/add-new-page',
@@ -60,7 +67,7 @@ const getAddNewPageCommand = () => function useAddNewPageCommand() {
60
67
  callback: addNewPage,
61
68
  keywords: [__('page'), __('new'), __('add'), __('create')]
62
69
  }];
63
- }, [createPageEntity, isSiteEditor, isBlockBasedTheme]);
70
+ }, [createPageEntity, isSiteEditor, isBlockBasedTheme, canCreatePage]);
64
71
  return {
65
72
  isLoading: false,
66
73
  commands
@@ -123,15 +130,34 @@ const getDashboardCommand = () => function useDashboardCommand() {
123
130
  commands
124
131
  };
125
132
  };
133
+ const getAddNewPostCommand = () => function useAddNewPostCommand() {
134
+ const canCreatePost = useSelect(select => select(coreStore).canUser('create', {
135
+ kind: 'postType',
136
+ name: 'post'
137
+ }), []);
138
+ const commands = useMemo(() => {
139
+ if (!canCreatePost) {
140
+ return [];
141
+ }
142
+ return [{
143
+ name: 'core/add-new-post',
144
+ label: __('Add Post'),
145
+ icon: plus,
146
+ callback: () => {
147
+ document.location.assign('post-new.php');
148
+ },
149
+ keywords: [__('post'), __('new'), __('add'), __('create')]
150
+ }];
151
+ }, [canCreatePost]);
152
+ return {
153
+ isLoading: false,
154
+ commands
155
+ };
156
+ };
126
157
  export function useAdminNavigationCommands() {
127
- useCommand({
158
+ useCommandLoader({
128
159
  name: 'core/add-new-post',
129
- label: __('Add Post'),
130
- icon: plus,
131
- callback: () => {
132
- document.location.assign('post-new.php');
133
- },
134
- keywords: [__('post'), __('new'), __('add'), __('create')]
160
+ hook: getAddNewPostCommand()
135
161
  });
136
162
  useCommandLoader({
137
163
  name: 'core/dashboard',
@@ -1 +1 @@
1
- {"version":3,"names":["useCommand","useCommandLoader","__","plus","dashboard","getPath","store","coreStore","useSelect","useDispatch","useCallback","useMemo","noticesStore","privateApis","routerPrivateApis","unlock","useHistory","getAddNewPageCommand","useAddNewPageCommand","isSiteEditor","window","location","href","includes","history","isBlockBasedTheme","select","getCurrentTheme","is_block_theme","saveEntityRecord","createErrorNotice","createPageEntity","close","page","status","throwOnError","id","navigate","error","errorMessage","message","code","type","commands","addNewPage","document","name","label","icon","callback","keywords","isLoading","getAdminBasicNavigationCommands","useAdminBasicNavigationCommands","canCreateTemplate","canUser","kind","getDashboardCommand","useDashboardCommand","currentPath","isEditorScreen","assign","useAdminNavigationCommands","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommand, useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, dashboard } from '@wordpress/icons';\nimport { getPath } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst getAddNewPageCommand = () =>\n\tfunction useAddNewPageCommand() {\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t\t}, [] );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\t\tconst createPageEntity = useCallback(\n\t\t\tasync ( { close } ) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst page = await saveEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( page?.id ) {\n\t\t\t\t\t\thistory.navigate( `/page/${ page.id }?canvas=edit` );\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while creating the item.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t} finally {\n\t\t\t\t\tclose();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ createErrorNotice, history, saveEntityRecord ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tconst addNewPage =\n\t\t\t\tisSiteEditor && isBlockBasedTheme\n\t\t\t\t\t? createPageEntity\n\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t( document.location.href =\n\t\t\t\t\t\t\t\t'post-new.php?post_type=page' );\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-page',\n\t\t\t\t\tlabel: __( 'Add Page' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: addNewPage,\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'page' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ createPageEntity, isSiteEditor, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAdminBasicNavigationCommands = () =>\n\tfunction useAdminBasicNavigationCommands() {\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\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\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\tif ( ! isSiteEditor ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/go-to-site-editor',\n\t\t\t\t\t\t\tlabel: __( 'Open Site Editor' ),\n\t\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\tdocument.location = 'site-editor.php';\n\t\t\t\t\t\t\t},\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\treturn [];\n\t\t}, [ canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getDashboardCommand = () =>\n\tfunction useDashboardCommand() {\n\t\tconst currentPath = getPath( window.location.href );\n\n\t\tconst isEditorScreen =\n\t\t\tcurrentPath?.includes( 'site-editor.php' ) ||\n\t\t\tcurrentPath?.includes( 'post.php' ) ||\n\t\t\tcurrentPath?.includes( 'post-new.php' ) ||\n\t\t\tcurrentPath?.includes( 'widgets.php' ) ||\n\t\t\tcurrentPath?.includes( 'customize.php' );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( isEditorScreen ) {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/dashboard',\n\t\t\t\t\t\tlabel: __( 'Dashboard' ),\n\t\t\t\t\t\ticon: dashboard,\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\tdocument.location.assign( 'index.php' );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [];\n\t\t}, [ isEditorScreen ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands() {\n\tuseCommand( {\n\t\tname: 'core/add-new-post',\n\t\tlabel: __( 'Add Post' ),\n\t\ticon: plus,\n\t\tcallback: () => {\n\t\t\tdocument.location.assign( 'post-new.php' );\n\t\t},\n\t\tkeywords: [ __( 'post' ), __( 'new' ), __( 'add' ), __( 'create' ) ],\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/dashboard',\n\t\thook: getDashboardCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-page',\n\t\thook: getAddNewPageCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminBasicNavigationCommands(),\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCommandLoader","__","plus","dashboard","getPath","store","coreStore","useSelect","useDispatch","useCallback","useMemo","noticesStore","privateApis","routerPrivateApis","unlock","useHistory","getAddNewPageCommand","useAddNewPageCommand","canCreatePage","select","canUser","kind","name","isSiteEditor","window","location","href","includes","history","isBlockBasedTheme","getCurrentTheme","is_block_theme","saveEntityRecord","createErrorNotice","createPageEntity","close","page","status","throwOnError","id","navigate","error","errorMessage","message","code","type","commands","addNewPage","document","label","icon","callback","keywords","isLoading","getAdminBasicNavigationCommands","useAdminBasicNavigationCommands","canCreateTemplate","getDashboardCommand","useDashboardCommand","currentPath","isEditorScreen","assign","getAddNewPostCommand","useAddNewPostCommand","canCreatePost","useAdminNavigationCommands","hook"],"sources":["@wordpress/core-commands/src/admin-navigation-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { plus, dashboard } from '@wordpress/icons';\nimport { getPath } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst getAddNewPageCommand = () =>\n\tfunction useAddNewPageCommand() {\n\t\tconst canCreatePage = useSelect(\n\t\t\t( select ) =>\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t[]\n\t\t);\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst history = useHistory();\n\t\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t\t}, [] );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\t\tconst createPageEntity = useCallback(\n\t\t\tasync ( { close } ) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst page = await saveEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tif ( page?.id ) {\n\t\t\t\t\t\thistory.navigate( `/page/${ page.id }?canvas=edit` );\n\t\t\t\t\t}\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while creating the item.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t} finally {\n\t\t\t\t\tclose();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ createErrorNotice, history, saveEntityRecord ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canCreatePage ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst addNewPage =\n\t\t\t\tisSiteEditor && isBlockBasedTheme\n\t\t\t\t\t? createPageEntity\n\t\t\t\t\t: () =>\n\t\t\t\t\t\t\t( document.location.href =\n\t\t\t\t\t\t\t\t'post-new.php?post_type=page' );\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-page',\n\t\t\t\t\tlabel: __( 'Add Page' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: addNewPage,\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'page' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [\n\t\t\tcreatePageEntity,\n\t\t\tisSiteEditor,\n\t\t\tisBlockBasedTheme,\n\t\t\tcanCreatePage,\n\t\t] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAdminBasicNavigationCommands = () =>\n\tfunction useAdminBasicNavigationCommands() {\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\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\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\tif ( ! isSiteEditor ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/go-to-site-editor',\n\t\t\t\t\t\t\tlabel: __( 'Open Site Editor' ),\n\t\t\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\tdocument.location = 'site-editor.php';\n\t\t\t\t\t\t\t},\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\treturn [];\n\t\t}, [ canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nconst getDashboardCommand = () =>\n\tfunction useDashboardCommand() {\n\t\tconst currentPath = getPath( window.location.href );\n\n\t\tconst isEditorScreen =\n\t\t\tcurrentPath?.includes( 'site-editor.php' ) ||\n\t\t\tcurrentPath?.includes( 'post.php' ) ||\n\t\t\tcurrentPath?.includes( 'post-new.php' ) ||\n\t\t\tcurrentPath?.includes( 'widgets.php' ) ||\n\t\t\tcurrentPath?.includes( 'customize.php' );\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( isEditorScreen ) {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/dashboard',\n\t\t\t\t\t\tlabel: __( 'Dashboard' ),\n\t\t\t\t\t\ticon: dashboard,\n\t\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\t\tdocument.location.assign( 'index.php' );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [];\n\t\t}, [ isEditorScreen ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nconst getAddNewPostCommand = () =>\n\tfunction useAddNewPostCommand() {\n\t\tconst canCreatePost = useSelect(\n\t\t\t( select ) =>\n\t\t\t\tselect( coreStore ).canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'post',\n\t\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\tif ( ! canCreatePost ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tname: 'core/add-new-post',\n\t\t\t\t\tlabel: __( 'Add Post' ),\n\t\t\t\t\ticon: plus,\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tdocument.location.assign( 'post-new.php' );\n\t\t\t\t\t},\n\t\t\t\t\tkeywords: [\n\t\t\t\t\t\t__( 'post' ),\n\t\t\t\t\t\t__( 'new' ),\n\t\t\t\t\t\t__( 'add' ),\n\t\t\t\t\t\t__( 'create' ),\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t];\n\t\t}, [ canCreatePost ] );\n\n\t\treturn {\n\t\t\tisLoading: false,\n\t\t\tcommands,\n\t\t};\n\t};\n\nexport function useAdminNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-post',\n\t\thook: getAddNewPostCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/dashboard',\n\t\thook: getDashboardCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/add-new-page',\n\t\thook: getAddNewPageCommand(),\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/admin-navigation',\n\t\thook: getAdminBasicNavigationCommands(),\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -220,13 +220,18 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
220
220
  const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
221
221
  const {
222
222
  isBlockBasedTheme,
223
- canCreateTemplate
223
+ canCreateTemplate,
224
+ canCreatePatterns
224
225
  } = useSelect(select => {
225
226
  return {
226
227
  isBlockBasedTheme: select(coreStore).getCurrentTheme()?.is_block_theme,
227
228
  canCreateTemplate: select(coreStore).canUser('create', {
228
229
  kind: 'postType',
229
230
  name: 'wp_template'
231
+ }),
232
+ canCreatePatterns: select(coreStore).canUser('create', {
233
+ kind: 'postType',
234
+ name: 'wp_block'
230
235
  })
231
236
  };
232
237
  }, []);
@@ -302,30 +307,32 @@ const getSiteEditorBasicNavigationCommands = () => function useSiteEditorBasicNa
302
307
  }
303
308
  });
304
309
  }
305
- result.push({
306
- name: 'core/edit-site/open-patterns',
307
- label: __('Patterns'),
308
- icon: symbol,
309
- callback: ({
310
- close
311
- }) => {
312
- if (canCreateTemplate) {
313
- if (isSiteEditor) {
314
- history.navigate('/pattern');
310
+ if (canCreatePatterns) {
311
+ result.push({
312
+ name: 'core/edit-site/open-patterns',
313
+ label: __('Patterns'),
314
+ icon: symbol,
315
+ callback: ({
316
+ close
317
+ }) => {
318
+ if (canCreateTemplate) {
319
+ if (isSiteEditor) {
320
+ history.navigate('/pattern');
321
+ } else {
322
+ document.location = addQueryArgs('site-editor.php', {
323
+ p: '/pattern'
324
+ });
325
+ }
326
+ close();
315
327
  } else {
316
- document.location = addQueryArgs('site-editor.php', {
317
- p: '/pattern'
318
- });
328
+ // If a user cannot access the site editor
329
+ document.location.href = 'edit.php?post_type=wp_block';
319
330
  }
320
- close();
321
- } else {
322
- // If a user cannot access the site editor
323
- document.location.href = 'edit.php?post_type=wp_block';
324
331
  }
325
- }
326
- });
332
+ });
333
+ }
327
334
  return result;
328
- }, [history, isSiteEditor, canCreateTemplate, isBlockBasedTheme]);
335
+ }, [history, isSiteEditor, canCreateTemplate, canCreatePatterns, isBlockBasedTheme]);
329
336
  return {
330
337
  commands,
331
338
  isLoading: false
@@ -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","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","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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 getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\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 commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\tresult.push( {\n\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\ticon: symbol,\n\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\tdocument.location.href = 'edit.php?post_type=wp_block';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t}, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\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","navigate","p","canvas","getNavigationCommandLoaderPerTemplate","templateType","orderedRecords","slice","result","push","length","categoryId","getSiteEditorBasicNavigationCommands","useSiteEditorBasicNavigationCommands","canCreatePatterns","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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t`/${ postType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: `/${ postType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t`/${ templateType }/${ record.id }?canvas=edit`\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: `/${ templateType }/${ record.id }`,\n\t\t\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\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\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t'/pattern?postType=wp_template_part&categoryId=all-parts'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\n\t\t\t\t\t\t\t\t\tcategoryId: 'all-parts',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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 getSiteEditorBasicNavigationCommands = () =>\n\tfunction useSiteEditorBasicNavigationCommands() {\n\t\tconst history = useHistory();\n\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t'site-editor.php'\n\t\t);\n\t\tconst { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =\n\t\t\tuseSelect( ( 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\tcanCreatePatterns: select( coreStore ).canUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'wp_block',\n\t\t\t\t\t} ),\n\t\t\t\t};\n\t\t\t}, [] );\n\t\tconst commands = useMemo( () => {\n\t\t\tconst result = [];\n\n\t\t\tif ( canCreateTemplate && isBlockBasedTheme ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-styles',\n\t\t\t\t\tlabel: __( 'Styles' ),\n\t\t\t\t\ticon: styles,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/styles' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/styles',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\t\t\tlabel: __( 'Navigation' ),\n\t\t\t\t\ticon: navigation,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/navigation' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/navigation',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-pages',\n\t\t\t\t\tlabel: __( 'Pages' ),\n\t\t\t\t\ticon: page,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/page' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/page',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-templates',\n\t\t\t\t\tlabel: __( 'Templates' ),\n\t\t\t\t\ticon: layout,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.navigate( '/template' );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tp: '/template',\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\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\tif ( canCreatePatterns ) {\n\t\t\t\tresult.push( {\n\t\t\t\t\tname: 'core/edit-site/open-patterns',\n\t\t\t\t\tlabel: __( 'Patterns' ),\n\t\t\t\t\ticon: symbol,\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tif ( canCreateTemplate ) {\n\t\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\t\thistory.navigate( '/pattern' );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tdocument.location = addQueryArgs(\n\t\t\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tp: '/pattern',\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If a user cannot access the site editor\n\t\t\t\t\t\t\tdocument.location.href =\n\t\t\t\t\t\t\t\t'edit.php?post_type=wp_block';\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\treturn result;\n\t\t}, [\n\t\t\thistory,\n\t\t\tisSiteEditor,\n\t\t\tcanCreateTemplate,\n\t\t\tcanCreatePatterns,\n\t\t\tisBlockBasedTheme,\n\t\t] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading: false,\n\t\t};\n\t};\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: getNavigationCommandLoaderPerPostType( 'page' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: getNavigationCommandLoaderPerPostType( 'post' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: getNavigationCommandLoaderPerTemplate( 'wp_template_part' ),\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: getSiteEditorBasicNavigationCommands(),\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.29.1-next.e256d081a.0",
3
+ "version": "1.30.0",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,19 +29,19 @@
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
31
  "@babel/runtime": "7.25.7",
32
- "@wordpress/block-editor": "^15.2.1-next.e256d081a.0",
33
- "@wordpress/commands": "^1.29.1-next.e256d081a.0",
34
- "@wordpress/compose": "^7.29.1-next.e256d081a.0",
35
- "@wordpress/core-data": "^7.29.1-next.e256d081a.0",
36
- "@wordpress/data": "^10.29.1-next.e256d081a.0",
37
- "@wordpress/element": "^6.29.1-next.e256d081a.0",
38
- "@wordpress/html-entities": "^4.29.1-next.e256d081a.0",
39
- "@wordpress/i18n": "^6.2.1-next.e256d081a.0",
40
- "@wordpress/icons": "^10.29.1-next.e256d081a.0",
41
- "@wordpress/notices": "^5.29.1-next.e256d081a.0",
42
- "@wordpress/private-apis": "^1.29.1-next.e256d081a.0",
43
- "@wordpress/router": "^1.29.1-next.e256d081a.0",
44
- "@wordpress/url": "^4.29.1-next.e256d081a.0"
32
+ "@wordpress/block-editor": "^15.3.0",
33
+ "@wordpress/commands": "^1.30.0",
34
+ "@wordpress/compose": "^7.30.0",
35
+ "@wordpress/core-data": "^7.30.0",
36
+ "@wordpress/data": "^10.30.0",
37
+ "@wordpress/element": "^6.30.0",
38
+ "@wordpress/html-entities": "^4.30.0",
39
+ "@wordpress/i18n": "^6.3.0",
40
+ "@wordpress/icons": "^10.30.0",
41
+ "@wordpress/notices": "^5.30.0",
42
+ "@wordpress/private-apis": "^1.30.0",
43
+ "@wordpress/router": "^1.30.0",
44
+ "@wordpress/url": "^4.30.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "react": "^18.0.0",
@@ -50,5 +50,5 @@
50
50
  "publishConfig": {
51
51
  "access": "public"
52
52
  },
53
- "gitHead": "7d529ba9a461795d5f1572d3856de33f744287c2"
53
+ "gitHead": "c66cb089eed19d4f4956962fa7b4c81abe6dd513"
54
54
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCommand, useCommandLoader } from '@wordpress/commands';
4
+ import { useCommandLoader } from '@wordpress/commands';
5
5
  import { __ } from '@wordpress/i18n';
6
6
  import { plus, dashboard } from '@wordpress/icons';
7
7
  import { getPath } from '@wordpress/url';
@@ -20,6 +20,14 @@ const { useHistory } = unlock( routerPrivateApis );
20
20
 
21
21
  const getAddNewPageCommand = () =>
22
22
  function useAddNewPageCommand() {
23
+ const canCreatePage = useSelect(
24
+ ( select ) =>
25
+ select( coreStore ).canUser( 'create', {
26
+ kind: 'postType',
27
+ name: 'page',
28
+ } ),
29
+ []
30
+ );
23
31
  const isSiteEditor = getPath( window.location.href )?.includes(
24
32
  'site-editor.php'
25
33
  );
@@ -65,6 +73,10 @@ const getAddNewPageCommand = () =>
65
73
  );
66
74
 
67
75
  const commands = useMemo( () => {
76
+ if ( ! canCreatePage ) {
77
+ return [];
78
+ }
79
+
68
80
  const addNewPage =
69
81
  isSiteEditor && isBlockBasedTheme
70
82
  ? createPageEntity
@@ -85,7 +97,12 @@ const getAddNewPageCommand = () =>
85
97
  ],
86
98
  },
87
99
  ];
88
- }, [ createPageEntity, isSiteEditor, isBlockBasedTheme ] );
100
+ }, [
101
+ createPageEntity,
102
+ isSiteEditor,
103
+ isBlockBasedTheme,
104
+ canCreatePage,
105
+ ] );
89
106
 
90
107
  return {
91
108
  isLoading: false,
@@ -170,15 +187,50 @@ const getDashboardCommand = () =>
170
187
  };
171
188
  };
172
189
 
190
+ const getAddNewPostCommand = () =>
191
+ function useAddNewPostCommand() {
192
+ const canCreatePost = useSelect(
193
+ ( select ) =>
194
+ select( coreStore ).canUser( 'create', {
195
+ kind: 'postType',
196
+ name: 'post',
197
+ } ),
198
+ []
199
+ );
200
+
201
+ const commands = useMemo( () => {
202
+ if ( ! canCreatePost ) {
203
+ return [];
204
+ }
205
+
206
+ return [
207
+ {
208
+ name: 'core/add-new-post',
209
+ label: __( 'Add Post' ),
210
+ icon: plus,
211
+ callback: () => {
212
+ document.location.assign( 'post-new.php' );
213
+ },
214
+ keywords: [
215
+ __( 'post' ),
216
+ __( 'new' ),
217
+ __( 'add' ),
218
+ __( 'create' ),
219
+ ],
220
+ },
221
+ ];
222
+ }, [ canCreatePost ] );
223
+
224
+ return {
225
+ isLoading: false,
226
+ commands,
227
+ };
228
+ };
229
+
173
230
  export function useAdminNavigationCommands() {
174
- useCommand( {
231
+ useCommandLoader( {
175
232
  name: 'core/add-new-post',
176
- label: __( 'Add Post' ),
177
- icon: plus,
178
- callback: () => {
179
- document.location.assign( 'post-new.php' );
180
- },
181
- keywords: [ __( 'post' ), __( 'new' ), __( 'add' ), __( 'create' ) ],
233
+ hook: getAddNewPostCommand(),
182
234
  } );
183
235
 
184
236
  useCommandLoader( {
@@ -280,8 +280,8 @@ const getSiteEditorBasicNavigationCommands = () =>
280
280
  const isSiteEditor = getPath( window.location.href )?.includes(
281
281
  'site-editor.php'
282
282
  );
283
- const { isBlockBasedTheme, canCreateTemplate } = useSelect(
284
- ( select ) => {
283
+ const { isBlockBasedTheme, canCreateTemplate, canCreatePatterns } =
284
+ useSelect( ( select ) => {
285
285
  return {
286
286
  isBlockBasedTheme:
287
287
  select( coreStore ).getCurrentTheme()?.is_block_theme,
@@ -289,10 +289,12 @@ const getSiteEditorBasicNavigationCommands = () =>
289
289
  kind: 'postType',
290
290
  name: 'wp_template',
291
291
  } ),
292
+ canCreatePatterns: select( coreStore ).canUser( 'create', {
293
+ kind: 'postType',
294
+ name: 'wp_block',
295
+ } ),
292
296
  };
293
- },
294
- []
295
- );
297
+ }, [] );
296
298
  const commands = useMemo( () => {
297
299
  const result = [];
298
300
 
@@ -373,33 +375,41 @@ const getSiteEditorBasicNavigationCommands = () =>
373
375
  },
374
376
  } );
375
377
  }
376
-
377
- result.push( {
378
- name: 'core/edit-site/open-patterns',
379
- label: __( 'Patterns' ),
380
- icon: symbol,
381
- callback: ( { close } ) => {
382
- if ( canCreateTemplate ) {
383
- if ( isSiteEditor ) {
384
- history.navigate( '/pattern' );
378
+ if ( canCreatePatterns ) {
379
+ result.push( {
380
+ name: 'core/edit-site/open-patterns',
381
+ label: __( 'Patterns' ),
382
+ icon: symbol,
383
+ callback: ( { close } ) => {
384
+ if ( canCreateTemplate ) {
385
+ if ( isSiteEditor ) {
386
+ history.navigate( '/pattern' );
387
+ } else {
388
+ document.location = addQueryArgs(
389
+ 'site-editor.php',
390
+ {
391
+ p: '/pattern',
392
+ }
393
+ );
394
+ }
395
+ close();
385
396
  } else {
386
- document.location = addQueryArgs(
387
- 'site-editor.php',
388
- {
389
- p: '/pattern',
390
- }
391
- );
397
+ // If a user cannot access the site editor
398
+ document.location.href =
399
+ 'edit.php?post_type=wp_block';
392
400
  }
393
- close();
394
- } else {
395
- // If a user cannot access the site editor
396
- document.location.href = 'edit.php?post_type=wp_block';
397
- }
398
- },
399
- } );
401
+ },
402
+ } );
403
+ }
400
404
 
401
405
  return result;
402
- }, [ history, isSiteEditor, canCreateTemplate, isBlockBasedTheme ] );
406
+ }, [
407
+ history,
408
+ isSiteEditor,
409
+ canCreateTemplate,
410
+ canCreatePatterns,
411
+ isBlockBasedTheme,
412
+ ] );
403
413
 
404
414
  return {
405
415
  commands,