@wordpress/core-commands 1.29.1-next.f34ab90e9.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 +2 -0
- package/build/admin-navigation-commands.js +59 -8
- package/build/admin-navigation-commands.js.map +1 -1
- package/build/site-editor-navigation-commands.js +28 -21
- package/build/site-editor-navigation-commands.js.map +1 -1
- package/build-module/admin-navigation-commands.js +61 -10
- package/build-module/admin-navigation-commands.js.map +1 -1
- package/build-module/site-editor-navigation-commands.js +28 -21
- package/build-module/site-editor-navigation-commands.js.map +1 -1
- package/package.json +15 -15
- package/src/admin-navigation-commands.js +100 -10
- package/src/site-editor-navigation-commands.js +38 -28
package/CHANGELOG.md
CHANGED
|
@@ -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
|
|
@@ -109,15 +116,59 @@ const getAdminBasicNavigationCommands = () => function useAdminBasicNavigationCo
|
|
|
109
116
|
isLoading: false
|
|
110
117
|
};
|
|
111
118
|
};
|
|
119
|
+
const getDashboardCommand = () => function useDashboardCommand() {
|
|
120
|
+
const currentPath = (0, _url.getPath)(window.location.href);
|
|
121
|
+
const isEditorScreen = currentPath?.includes('site-editor.php') || currentPath?.includes('post.php') || currentPath?.includes('post-new.php') || currentPath?.includes('widgets.php') || currentPath?.includes('customize.php');
|
|
122
|
+
const commands = (0, _element.useMemo)(() => {
|
|
123
|
+
if (isEditorScreen) {
|
|
124
|
+
return [{
|
|
125
|
+
name: 'core/dashboard',
|
|
126
|
+
label: (0, _i18n.__)('Dashboard'),
|
|
127
|
+
icon: _icons.dashboard,
|
|
128
|
+
callback: () => {
|
|
129
|
+
document.location.assign('index.php');
|
|
130
|
+
}
|
|
131
|
+
}];
|
|
132
|
+
}
|
|
133
|
+
return [];
|
|
134
|
+
}, [isEditorScreen]);
|
|
135
|
+
return {
|
|
136
|
+
isLoading: false,
|
|
137
|
+
commands
|
|
138
|
+
};
|
|
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
|
+
};
|
|
112
164
|
function useAdminNavigationCommands() {
|
|
113
|
-
(0, _commands.
|
|
165
|
+
(0, _commands.useCommandLoader)({
|
|
114
166
|
name: 'core/add-new-post',
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
keywords: [(0, _i18n.__)('post'), (0, _i18n.__)('new'), (0, _i18n.__)('add'), (0, _i18n.__)('create')]
|
|
167
|
+
hook: getAddNewPostCommand()
|
|
168
|
+
});
|
|
169
|
+
(0, _commands.useCommandLoader)({
|
|
170
|
+
name: 'core/dashboard',
|
|
171
|
+
hook: getDashboardCommand()
|
|
121
172
|
});
|
|
122
173
|
(0, _commands.useCommandLoader)({
|
|
123
174
|
name: 'core/add-new-page',
|
|
@@ -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","useAdminNavigationCommands","useCommand","assign","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 } 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\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/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":["_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":";;;;;;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,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;IACtCC,IAAI,EAAE,UAAU;IAChBC,IAAI,EAAE;EACP,CAAE,CAAC,EACJ,EACD,CAAC;EACD,MAAMC,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EACD,MAAMC,OAAO,GAAGlB,UAAU,CAAC,CAAC;EAC5B,MAAMmB,iBAAiB,GAAG,IAAAb,eAAS,EAAIC,MAAM,IAAM;IAClD,OAAOA,MAAM,CAAEC,eAAU,CAAC,CAACY,eAAe,CAAC,CAAC,EAAEC,cAAc;EAC7D,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEf,eAAU,CAAC;EACrD,MAAM;IAAEgB;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;QACfd,OAAO,CAACe,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,EAAEN,OAAO,EAAEI,gBAAgB,CAC/C,CAAC;EAED,MAAMkB,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAK,CAAEpC,aAAa,EAAG;MACtB,OAAO,EAAE;IACV;IAEA,MAAMqC,UAAU,GACf9B,YAAY,IAAIO,iBAAiB,GAC9BO,gBAAgB,GAChB,MACEiB,QAAQ,CAAC5B,QAAQ,CAACC,IAAI,GACvB,6BAA+B;IACpC,OAAO,CACN;MACCL,IAAI,EAAE,mBAAmB;MACzBiC,KAAK,EAAE,IAAAN,QAAE,EAAE,UAAW,CAAC;MACvBO,IAAI,EAAEC,WAAI;MACVC,QAAQ,EAAEL,UAAU;MACpBM,QAAQ,EAAE,CACT,IAAAV,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,CACFZ,gBAAgB,EAChBd,YAAY,EACZO,iBAAiB,EACjBd,aAAa,CACZ,CAAC;EAEH,OAAO;IACN4C,SAAS,EAAE,KAAK;IAChBT;EACD,CAAC;AACF,CAAC;AAEF,MAAMU,+BAA+B,GAAGA,CAAA,KACvC,SAASC,+BAA+BA,CAAA,EAAG;EAC1C,MAAM;IAAEhC,iBAAiB;IAAEiC;EAAkB,CAAC,GAAG,IAAA9C,eAAS,EACvDC,MAAM,IAAM;IACb,OAAO;MACNY,iBAAiB,EAChBZ,MAAM,CAAEC,eAAU,CAAC,CAACY,eAAe,CAAC,CAAC,EAAEC,cAAc;MACtD+B,iBAAiB,EAAE7C,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;QACzDC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAM6B,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAKW,iBAAiB,IAAIjC,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;UACCD,IAAI,EAAE,wBAAwB;UAC9BiC,KAAK,EAAE,IAAAN,QAAE,EAAE,kBAAmB,CAAC;UAC/BS,QAAQ,EAAEA,CAAE;YAAEnB;UAAM,CAAC,KAAM;YAC1BA,KAAK,CAAC,CAAC;YACPe,QAAQ,CAAC5B,QAAQ,GAAG,iBAAiB;UACtC;QACD,CAAC,CACD;MACF;IACD;IAEA,OAAO,EAAE;EACV,CAAC,EAAE,CAAEqC,iBAAiB,EAAEjC,iBAAiB,CAAG,CAAC;EAE7C,OAAO;IACNqB,QAAQ;IACRS,SAAS,EAAE;EACZ,CAAC;AACF,CAAC;AAEF,MAAMI,mBAAmB,GAAGA,CAAA,KAC3B,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,MAAMC,WAAW,GAAG,IAAA1C,YAAO,EAAEC,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;EAEnD,MAAMwC,cAAc,GACnBD,WAAW,EAAEtC,QAAQ,CAAE,iBAAkB,CAAC,IAC1CsC,WAAW,EAAEtC,QAAQ,CAAE,UAAW,CAAC,IACnCsC,WAAW,EAAEtC,QAAQ,CAAE,cAAe,CAAC,IACvCsC,WAAW,EAAEtC,QAAQ,CAAE,aAAc,CAAC,IACtCsC,WAAW,EAAEtC,QAAQ,CAAE,eAAgB,CAAC;EAEzC,MAAMuB,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAKe,cAAc,EAAG;MACrB,OAAO,CACN;QACC7C,IAAI,EAAE,gBAAgB;QACtBiC,KAAK,EAAE,IAAAN,QAAE,EAAE,WAAY,CAAC;QACxBO,IAAI,EAAEY,gBAAS;QACfV,QAAQ,EAAEA,CAAA,KAAM;UACfJ,QAAQ,CAAC5B,QAAQ,CAAC2C,MAAM,CAAE,WAAY,CAAC;QACxC;MACD,CAAC,CACD;IACF;IACA,OAAO,EAAE;EACV,CAAC,EAAE,CAAEF,cAAc,CAAG,CAAC;EAEvB,OAAO;IACNP,SAAS,EAAE,KAAK;IAChBT;EACD,CAAC;AACF,CAAC;AAEF,MAAMmB,oBAAoB,GAAGA,CAAA,KAC5B,SAASC,oBAAoBA,CAAA,EAAG;EAC/B,MAAMC,aAAa,GAAG,IAAAvD,eAAS,EAC5BC,MAAM,IACPA,MAAM,CAAEC,eAAU,CAAC,CAACC,OAAO,CAAE,QAAQ,EAAE;IACtCC,IAAI,EAAE,UAAU;IAChBC,IAAI,EAAE;EACP,CAAE,CAAC,EACJ,EACD,CAAC;EAED,MAAM6B,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IAAK,CAAEoB,aAAa,EAAG;MACtB,OAAO,EAAE;IACV;IAEA,OAAO,CACN;MACClD,IAAI,EAAE,mBAAmB;MACzBiC,KAAK,EAAE,IAAAN,QAAE,EAAE,UAAW,CAAC;MACvBO,IAAI,EAAEC,WAAI;MACVC,QAAQ,EAAEA,CAAA,KAAM;QACfJ,QAAQ,CAAC5B,QAAQ,CAAC2C,MAAM,CAAE,cAAe,CAAC;MAC3C,CAAC;MACDV,QAAQ,EAAE,CACT,IAAAV,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,CAAEuB,aAAa,CAAG,CAAC;EAEtB,OAAO;IACNZ,SAAS,EAAE,KAAK;IAChBT;EACD,CAAC;AACF,CAAC;AAEK,SAASsB,0BAA0BA,CAAA,EAAG;EAC5C,IAAAC,0BAAgB,EAAE;IACjBpD,IAAI,EAAE,mBAAmB;IACzBqD,IAAI,EAAEL,oBAAoB,CAAC;EAC5B,CAAE,CAAC;EAEH,IAAAI,0BAAgB,EAAE;IACjBpD,IAAI,EAAE,gBAAgB;IACtBqD,IAAI,EAAEX,mBAAmB,CAAC;EAC3B,CAAE,CAAC;EAEH,IAAAU,0BAAgB,EAAE;IACjBpD,IAAI,EAAE,mBAAmB;IACzBqD,IAAI,EAAE7D,oBAAoB,CAAC;EAC5B,CAAE,CAAC;EAEH,IAAA4D,0BAAgB,EAAE;IACjBpD,IAAI,EAAE,uBAAuB;IAC7BqD,IAAI,EAAEd,+BAA+B,CAAC;EACvC,CAAE,CAAC;AACJ","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
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
if (
|
|
321
|
-
|
|
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
|
-
|
|
324
|
-
|
|
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":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AASA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AAKA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,2BAAA,GAAAX,OAAA;AA1BA;AACA;AACA;;AAoBA;AACA;AACA;;AAIA,MAAM;EAAEY;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAElD,MAAMC,KAAK,GAAG;EACbC,IAAI,EAAJA,WAAI;EACJC,IAAI,EAAJA,WAAI;EACJC,WAAW,EAAEC,aAAM;EACnBC,gBAAgB,EAAEC;AACnB,CAAC;AAED,SAASC,iBAAiBA,CAAEC,KAAK,EAAG;EACnC,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC5D,MAAMC,SAAS,GAAG,IAAAC,oBAAW,EAAEH,iBAAiB,EAAE,GAAI,CAAC;EAEvD,IAAAI,kBAAS,EAAE,MAAM;IAChBF,SAAS,CAAEJ,KAAM,CAAC;IAClB,OAAO,MAAMI,SAAS,CAACG,MAAM,CAAC,CAAC;EAChC,CAAC,EAAE,CAAEH,SAAS,EAAEJ,KAAK,CAAG,CAAC;EAEzB,OAAOC,cAAc;AACtB;AAEA,MAAMO,qCAAqC,GAAKC,QAAQ,IACvD,SAASC,0BAA0BA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,MAAMC,OAAO,GAAGvB,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEwB,iBAAiB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,eAAS,EACvDC,MAAM,IAAM;IACb,OAAO;MACNH,iBAAiB,EAChBG,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;MACtDL,iBAAiB,EAAEE,MAAM,CAAEC,eAAU,CAAC,CAACG,OAAO,CAAE,QAAQ,EAAE;QACzDC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAMC,aAAa,GAAGxB,iBAAiB,CAAEY,MAAO,CAAC;EACjD,MAAM;IAAEa,OAAO;IAAEC;EAAU,CAAC,GAAG,IAAAV,eAAS,EACrCC,MAAM,IAAM;IACb,IAAK,CAAEO,aAAa,EAAG;MACtB,OAAO;QACNE,SAAS,EAAE;MACZ,CAAC;IACF;IAEA,MAAMC,KAAK,GAAG;MACbf,MAAM,EAAEY,aAAa;MACrBI,QAAQ,EAAE,EAAE;MACZC,OAAO,EAAE,WAAW;MACpBC,MAAM,EAAE,CACP,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS;IAEX,CAAC;IACD,OAAO;MACNL,OAAO,EAAER,MAAM,CAAEC,eAAU,CAAC,CAACa,gBAAgB,CAC5C,UAAU,EACVrB,QAAQ,EACRiB,KACD,CAAC;MACDD,SAAS,EAAE,CAAET,MAAM,CAAEC,eAAU,CAAC,CAACc,qBAAqB,CACrD,kBAAkB,EAClB,CAAE,UAAU,EAAEtB,QAAQ,EAAEiB,KAAK,CAC9B;IACD,CAAC;EACF,CAAC,EACD,CAAEH,aAAa,CAChB,CAAC;EAED,MAAMS,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,OAAO,CAAET,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGU,GAAG,CAAIC,MAAM,IAAM;MAC3C,MAAMC,OAAO,GAAG;QACfd,IAAI,EAAEb,QAAQ,GAAG,GAAG,GAAG0B,MAAM,CAACE,EAAE;QAChCC,WAAW,EAAEH,MAAM,CAACI,KAAK,EAAEC,QAAQ,GAAG,GAAG,GAAGL,MAAM,CAACE,EAAE;QACrDI,KAAK,EAAEN,MAAM,CAACI,KAAK,EAAEC,QAAQ,GAC1B,IAAAE,4BAAc,EAAEP,MAAM,CAACI,KAAK,EAAEC,QAAS,CAAC,GACxC,IAAAG,QAAE,EAAE,YAAa,CAAC;QACrBC,IAAI,EAAEpD,KAAK,CAAEiB,QAAQ;MACtB,CAAC;MAED,IACC,CAAEK,iBAAiB,IACnBL,QAAQ,KAAK,MAAM,IACjBA,QAAQ,KAAK,MAAM,IAAI,CAAEI,iBAAmB,EAC7C;QACD,OAAO;UACN,GAAGuB,OAAO;UACVS,QAAQ,EAAEA,CAAE;YAAEC;UAAM,CAAC,KAAM;YAC1B,MAAMC,IAAI,GAAG;cACZtD,IAAI,EAAE0C,MAAM,CAACE,EAAE;cACfW,MAAM,EAAE;YACT,CAAC;YACD,MAAMC,SAAS,GAAG,IAAAC,iBAAY,EAAE,UAAU,EAAEH,IAAK,CAAC;YAClDI,QAAQ,CAACC,QAAQ,GAAGH,SAAS;YAC7BH,KAAK,CAAC,CAAC;UACR;QACD,CAAC;MACF;MAEA,MAAMO,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;MAED,OAAO;QACN,GAAGrB,OAAO;QACVS,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CACf,IAAKjD,QAAQ,IAAM0B,MAAM,CAACE,EAAE,cAC7B,CAAC;UACF,CAAC,MAAM;YACNc,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE,IAAKlD,QAAQ,IAAM0B,MAAM,CAACE,EAAE,EAAG;cAClCuB,MAAM,EAAE;YACT,CACD,CAAC;UACF;UACAd,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEhC,iBAAiB,EAAEU,OAAO,EAAEX,iBAAiB,EAAED,OAAO,CAAG,CAAC;EAE/D,OAAO;IACNoB,QAAQ;IACRP;EACD,CAAC;AACF,CAAC;AAEF,MAAMoC,qCAAqC,GAAKC,YAAY,IAC3D,SAASpD,0BAA0BA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,MAAMC,OAAO,GAAGvB,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEwB,iBAAiB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,eAAS,EACvDC,MAAM,IAAM;IACb,OAAO;MACNH,iBAAiB,EAChBG,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;MACtDL,iBAAiB,EAAEE,MAAM,CAAEC,eAAU,CAAC,CAACG,OAAO,CAAE,QAAQ,EAAE;QACzDC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAEwC;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEtC,OAAO;IAAEC;EAAU,CAAC,GAAG,IAAAV,eAAS,EAAIC,MAAM,IAAM;IACvD,MAAM;MAAEc;IAAiB,CAAC,GAAGd,MAAM,CAAEC,eAAU,CAAC;IAChD,MAAMS,KAAK,GAAG;MAAEC,QAAQ,EAAE,CAAC;IAAE,CAAC;IAC9B,OAAO;MACNH,OAAO,EAAEM,gBAAgB,CAAE,UAAU,EAAEgC,YAAY,EAAEpC,KAAM,CAAC;MAC5DD,SAAS,EAAE,CAAET,MAAM,CAAEC,eAAU,CAAC,CAACc,qBAAqB,CACrD,kBAAkB,EAClB,CAAE,UAAU,EAAE+B,YAAY,EAAEpC,KAAK,CAClC;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;AACF;AACA;AACA;AACA;EACE,MAAMqC,cAAc,GAAG,IAAA9B,gBAAO,EAAE,MAAM;IACrC,OAAO,IAAA+B,sDAA0B,EAAExC,OAAO,EAAEb,MAAO,CAAC,CAACsD,KAAK,CAAE,CAAC,EAAE,EAAG,CAAC;EACpE,CAAC,EAAE,CAAEzC,OAAO,EAAEb,MAAM,CAAG,CAAC;EAExB,MAAMqB,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,IACC,CAAEnB,iBAAiB,IACjB,CAAED,iBAAiB,IAAI,CAAEiD,YAAY,KAAK,kBAAoB,EAC/D;MACD,OAAO,EAAE;IACV;IACA,MAAMT,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;IACD,MAAMS,MAAM,GAAG,EAAE;IACjBA,MAAM,CAACC,IAAI,CACV,GAAGJ,cAAc,CAAC7B,GAAG,CAAIC,MAAM,IAAM;MACpC,OAAO;QACNb,IAAI,EAAEwC,YAAY,GAAG,GAAG,GAAG3B,MAAM,CAACE,EAAE;QACpCC,WAAW,EAAEH,MAAM,CAACI,KAAK,EAAEC,QAAQ,GAAG,GAAG,GAAGL,MAAM,CAACE,EAAE;QACrDI,KAAK,EAAEN,MAAM,CAACI,KAAK,EAAEC,QAAQ,GAC1BL,MAAM,CAACI,KAAK,EAAEC,QAAQ,GACtB,IAAAG,QAAE,EAAE,YAAa,CAAC;QACrBC,IAAI,EAAEpD,KAAK,CAAEsE,YAAY,CAAE;QAC3BjB,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CACf,IAAKI,YAAY,IAAM3B,MAAM,CAACE,EAAE,cACjC,CAAC;UACF,CAAC,MAAM;YACNc,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE,IAAKG,YAAY,IAAM3B,MAAM,CAACE,EAAE,EAAG;cACtCuB,MAAM,EAAE;YACT,CACD,CAAC;UACF;UACAd,KAAK,CAAC,CAAC;QACR;MACD,CAAC;IACF,CAAE,CACH,CAAC;IAED,IACCiB,cAAc,EAAEK,MAAM,GAAG,CAAC,IAC1BN,YAAY,KAAK,kBAAkB,EAClC;MACDI,MAAM,CAACC,IAAI,CAAE;QACZ7C,IAAI,EAAE,oCAAoC;QAC1CmB,KAAK,EAAE,IAAAE,QAAE,EAAE,gBAAiB,CAAC;QAC7BC,IAAI,EAAE9C,mBAAY;QAClB+C,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CACf,yDACD,CAAC;UACF,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE,UAAU;cACblD,QAAQ,EAAE,kBAAkB;cAC5B4D,UAAU,EAAE;YACb,CACD,CAAC;UACF;UACAvB,KAAK,CAAC,CAAC;QACR;MACD,CAAE,CAAC;IACJ;IACA,OAAOoB,MAAM;EACd,CAAC,EAAE,CAAEpD,iBAAiB,EAAED,iBAAiB,EAAEkD,cAAc,EAAEnD,OAAO,CAAG,CAAC;EAEtE,OAAO;IACNoB,QAAQ;IACRP;EACD,CAAC;AACF,CAAC;AAEF,MAAM6C,oCAAoC,GAAGA,CAAA,KAC5C,SAASC,oCAAoCA,CAAA,EAAG;EAC/C,MAAM3D,OAAO,GAAGvB,UAAU,CAAC,CAAC;EAC5B,MAAMgE,YAAY,GAAG,IAAAC,YAAO,EAAEC,MAAM,CAACH,QAAQ,CAACI,IAAK,CAAC,EAAEC,QAAQ,CAC7D,iBACD,CAAC;EACD,MAAM;IAAE5C,iBAAiB;IAAEC;EAAkB,CAAC,GAAG,IAAAC,eAAS,EACvDC,MAAM,IAAM;IACb,OAAO;MACNH,iBAAiB,EAChBG,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;MACtDL,iBAAiB,EAAEE,MAAM,CAAEC,eAAU,CAAC,CAACG,OAAO,CAAE,QAAQ,EAAE;QACzDC,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE;IACH,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAMU,QAAQ,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC/B,MAAMiC,MAAM,GAAG,EAAE;IAEjB,IAAKpD,iBAAiB,IAAID,iBAAiB,EAAG;MAC7CqD,MAAM,CAACC,IAAI,CAAE;QACZ7C,IAAI,EAAE,4BAA4B;QAClCmB,KAAK,EAAE,IAAAE,QAAE,EAAE,QAAS,CAAC;QACrBC,IAAI,EAAE4B,aAAM;QACZ3B,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CAAE,SAAU,CAAC;UAC9B,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE;YACJ,CACD,CAAC;UACF;UACAb,KAAK,CAAC,CAAC;QACR;MACD,CAAE,CAAC;MAEHoB,MAAM,CAACC,IAAI,CAAE;QACZ7C,IAAI,EAAE,gCAAgC;QACtCmB,KAAK,EAAE,IAAAE,QAAE,EAAE,YAAa,CAAC;QACzBC,IAAI,EAAE6B,iBAAU;QAChB5B,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CAAE,aAAc,CAAC;UAClC,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE;YACJ,CACD,CAAC;UACF;UACAb,KAAK,CAAC,CAAC;QACR;MACD,CAAE,CAAC;MAEHoB,MAAM,CAACC,IAAI,CAAE;QACZ7C,IAAI,EAAE,2BAA2B;QACjCmB,KAAK,EAAE,IAAAE,QAAE,EAAE,OAAQ,CAAC;QACpBC,IAAI,EAAElD,WAAI;QACVmD,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CAAE,OAAQ,CAAC;UAC5B,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE;YACJ,CACD,CAAC;UACF;UACAb,KAAK,CAAC,CAAC;QACR;MACD,CAAE,CAAC;MAEHoB,MAAM,CAACC,IAAI,CAAE;QACZ7C,IAAI,EAAE,+BAA+B;QACrCmB,KAAK,EAAE,IAAAE,QAAE,EAAE,WAAY,CAAC;QACxBC,IAAI,EAAEhD,aAAM;QACZiD,QAAQ,EAAEA,CAAE;UAAEC;QAAM,CAAC,KAAM;UAC1B,IAAKO,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CAAE,WAAY,CAAC;UAChC,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE;YACJ,CACD,CAAC;UACF;UACAb,KAAK,CAAC,CAAC;QACR;MACD,CAAE,CAAC;IACJ;IAEAoB,MAAM,CAACC,IAAI,CAAE;MACZ7C,IAAI,EAAE,8BAA8B;MACpCmB,KAAK,EAAE,IAAAE,QAAE,EAAE,UAAW,CAAC;MACvBC,IAAI,EAAE8B,aAAM;MACZ7B,QAAQ,EAAEA,CAAE;QAAEC;MAAM,CAAC,KAAM;QAC1B,IAAKhC,iBAAiB,EAAG;UACxB,IAAKuC,YAAY,EAAG;YACnBzC,OAAO,CAAC8C,QAAQ,CAAE,UAAW,CAAC;UAC/B,CAAC,MAAM;YACNP,QAAQ,CAACC,QAAQ,GAAG,IAAAF,iBAAY,EAC/B,iBAAiB,EACjB;cACCS,CAAC,EAAE;YACJ,CACD,CAAC;UACF;UACAb,KAAK,CAAC,CAAC;QACR,CAAC,MAAM;UACN;UACAK,QAAQ,CAACC,QAAQ,CAACI,IAAI,GAAG,6BAA6B;QACvD;MACD;IACD,CAAE,CAAC;IAEH,OAAOU,MAAM;EACd,CAAC,EAAE,CAAEtD,OAAO,EAAEyC,YAAY,EAAEvC,iBAAiB,EAAED,iBAAiB,CAAG,CAAC;EAEpE,OAAO;IACNmB,QAAQ;IACRP,SAAS,EAAE;EACZ,CAAC;AACF,CAAC;AAEK,SAASkD,+BAA+BA,CAAA,EAAG;EACjD,IAAAC,0BAAgB,EAAE;IACjBtD,IAAI,EAAE,+BAA+B;IACrCuD,IAAI,EAAErE,qCAAqC,CAAE,MAAO;EACrD,CAAE,CAAC;EACH,IAAAoE,0BAAgB,EAAE;IACjBtD,IAAI,EAAE,+BAA+B;IACrCuD,IAAI,EAAErE,qCAAqC,CAAE,MAAO;EACrD,CAAE,CAAC;EACH,IAAAoE,0BAAgB,EAAE;IACjBtD,IAAI,EAAE,mCAAmC;IACzCuD,IAAI,EAAEhB,qCAAqC,CAAE,aAAc;EAC5D,CAAE,CAAC;EACH,IAAAe,0BAAgB,EAAE;IACjBtD,IAAI,EAAE,wCAAwC;IAC9CuD,IAAI,EAAEhB,qCAAqC,CAAE,kBAAmB;EACjE,CAAE,CAAC;EACH,IAAAe,0BAAgB,EAAE;IACjBtD,IAAI,EAAE,iCAAiC;IACvCuD,IAAI,EAAEP,oCAAoC,CAAC,CAAC;IAC5CQ,OAAO,EAAE;EACV,CAAE,CAAC;AACJ","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,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { useCommandLoader } from '@wordpress/commands';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { plus } from '@wordpress/icons';
|
|
6
|
+
import { plus, dashboard } from '@wordpress/icons';
|
|
7
7
|
import { getPath } from '@wordpress/url';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
@@ -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
|
|
@@ -102,15 +109,59 @@ const getAdminBasicNavigationCommands = () => function useAdminBasicNavigationCo
|
|
|
102
109
|
isLoading: false
|
|
103
110
|
};
|
|
104
111
|
};
|
|
112
|
+
const getDashboardCommand = () => function useDashboardCommand() {
|
|
113
|
+
const currentPath = getPath(window.location.href);
|
|
114
|
+
const isEditorScreen = currentPath?.includes('site-editor.php') || currentPath?.includes('post.php') || currentPath?.includes('post-new.php') || currentPath?.includes('widgets.php') || currentPath?.includes('customize.php');
|
|
115
|
+
const commands = useMemo(() => {
|
|
116
|
+
if (isEditorScreen) {
|
|
117
|
+
return [{
|
|
118
|
+
name: 'core/dashboard',
|
|
119
|
+
label: __('Dashboard'),
|
|
120
|
+
icon: dashboard,
|
|
121
|
+
callback: () => {
|
|
122
|
+
document.location.assign('index.php');
|
|
123
|
+
}
|
|
124
|
+
}];
|
|
125
|
+
}
|
|
126
|
+
return [];
|
|
127
|
+
}, [isEditorScreen]);
|
|
128
|
+
return {
|
|
129
|
+
isLoading: false,
|
|
130
|
+
commands
|
|
131
|
+
};
|
|
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
|
+
};
|
|
105
157
|
export function useAdminNavigationCommands() {
|
|
106
|
-
|
|
158
|
+
useCommandLoader({
|
|
107
159
|
name: 'core/add-new-post',
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
keywords: [__('post'), __('new'), __('add'), __('create')]
|
|
160
|
+
hook: getAddNewPostCommand()
|
|
161
|
+
});
|
|
162
|
+
useCommandLoader({
|
|
163
|
+
name: 'core/dashboard',
|
|
164
|
+
hook: getDashboardCommand()
|
|
114
165
|
});
|
|
115
166
|
useCommandLoader({
|
|
116
167
|
name: 'core/add-new-page',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCommand","useCommandLoader","__","plus","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","useAdminNavigationCommands","assign","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 } 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\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/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
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
if (
|
|
314
|
-
|
|
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
|
-
|
|
317
|
-
|
|
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.
|
|
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.
|
|
33
|
-
"@wordpress/commands": "^1.
|
|
34
|
-
"@wordpress/compose": "^7.
|
|
35
|
-
"@wordpress/core-data": "^7.
|
|
36
|
-
"@wordpress/data": "^10.
|
|
37
|
-
"@wordpress/element": "^6.
|
|
38
|
-
"@wordpress/html-entities": "^4.
|
|
39
|
-
"@wordpress/i18n": "^6.
|
|
40
|
-
"@wordpress/icons": "^10.
|
|
41
|
-
"@wordpress/notices": "^5.
|
|
42
|
-
"@wordpress/private-apis": "^1.
|
|
43
|
-
"@wordpress/router": "^1.
|
|
44
|
-
"@wordpress/url": "^4.
|
|
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": "
|
|
53
|
+
"gitHead": "c66cb089eed19d4f4956962fa7b4c81abe6dd513"
|
|
54
54
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { useCommandLoader } from '@wordpress/commands';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { plus } from '@wordpress/icons';
|
|
6
|
+
import { plus, dashboard } from '@wordpress/icons';
|
|
7
7
|
import { getPath } from '@wordpress/url';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
@@ -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
|
-
}, [
|
|
100
|
+
}, [
|
|
101
|
+
createPageEntity,
|
|
102
|
+
isSiteEditor,
|
|
103
|
+
isBlockBasedTheme,
|
|
104
|
+
canCreatePage,
|
|
105
|
+
] );
|
|
89
106
|
|
|
90
107
|
return {
|
|
91
108
|
isLoading: false,
|
|
@@ -137,15 +154,88 @@ const getAdminBasicNavigationCommands = () =>
|
|
|
137
154
|
};
|
|
138
155
|
};
|
|
139
156
|
|
|
157
|
+
const getDashboardCommand = () =>
|
|
158
|
+
function useDashboardCommand() {
|
|
159
|
+
const currentPath = getPath( window.location.href );
|
|
160
|
+
|
|
161
|
+
const isEditorScreen =
|
|
162
|
+
currentPath?.includes( 'site-editor.php' ) ||
|
|
163
|
+
currentPath?.includes( 'post.php' ) ||
|
|
164
|
+
currentPath?.includes( 'post-new.php' ) ||
|
|
165
|
+
currentPath?.includes( 'widgets.php' ) ||
|
|
166
|
+
currentPath?.includes( 'customize.php' );
|
|
167
|
+
|
|
168
|
+
const commands = useMemo( () => {
|
|
169
|
+
if ( isEditorScreen ) {
|
|
170
|
+
return [
|
|
171
|
+
{
|
|
172
|
+
name: 'core/dashboard',
|
|
173
|
+
label: __( 'Dashboard' ),
|
|
174
|
+
icon: dashboard,
|
|
175
|
+
callback: () => {
|
|
176
|
+
document.location.assign( 'index.php' );
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
return [];
|
|
182
|
+
}, [ isEditorScreen ] );
|
|
183
|
+
|
|
184
|
+
return {
|
|
185
|
+
isLoading: false,
|
|
186
|
+
commands,
|
|
187
|
+
};
|
|
188
|
+
};
|
|
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
|
+
|
|
140
230
|
export function useAdminNavigationCommands() {
|
|
141
|
-
|
|
231
|
+
useCommandLoader( {
|
|
142
232
|
name: 'core/add-new-post',
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
233
|
+
hook: getAddNewPostCommand(),
|
|
234
|
+
} );
|
|
235
|
+
|
|
236
|
+
useCommandLoader( {
|
|
237
|
+
name: 'core/dashboard',
|
|
238
|
+
hook: getDashboardCommand(),
|
|
149
239
|
} );
|
|
150
240
|
|
|
151
241
|
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 } =
|
|
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
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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
|
-
|
|
387
|
-
|
|
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
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
document.location.href = 'edit.php?post_type=wp_block';
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
} );
|
|
401
|
+
},
|
|
402
|
+
} );
|
|
403
|
+
}
|
|
400
404
|
|
|
401
405
|
return result;
|
|
402
|
-
}, [
|
|
406
|
+
}, [
|
|
407
|
+
history,
|
|
408
|
+
isSiteEditor,
|
|
409
|
+
canCreateTemplate,
|
|
410
|
+
canCreatePatterns,
|
|
411
|
+
isBlockBasedTheme,
|
|
412
|
+
] );
|
|
403
413
|
|
|
404
414
|
return {
|
|
405
415
|
commands,
|