@wordpress/core-commands 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.4.0 (2023-06-07)
6
+
5
7
  ## 0.3.0 (2023-05-24)
6
8
 
7
9
  ## 0.2.0 (2023-05-10)
@@ -40,10 +40,9 @@ const icons = {
40
40
  wp_template_part: _icons.symbolFilled
41
41
  };
42
42
 
43
- const getNavigationCommandLoaderPerPostType = postType => function useNavigationCommandLoader(_ref) {
44
- let {
45
- search
46
- } = _ref;
43
+ const getNavigationCommandLoaderPerPostType = postType => function useNavigationCommandLoader({
44
+ search
45
+ }) {
47
46
  const history = useHistory();
48
47
  const supportsSearch = !['wp_template', 'wp_template_part'].includes(postType);
49
48
  const {
@@ -56,36 +55,30 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
56
55
  const query = supportsSearch ? {
57
56
  search: !!search ? search : undefined,
58
57
  per_page: 10,
59
- orderby: search ? 'relevance' : 'date'
58
+ orderby: search ? 'relevance' : 'date',
59
+ status: ['publish', 'future', 'draft', 'pending', 'private']
60
60
  } : {
61
61
  per_page: -1
62
62
  };
63
63
  return {
64
64
  records: getEntityRecords('postType', postType, query),
65
- isLoading: !select(_coreData.store).hasFinishedResolution('getEntityRecords', ['postType', postType, query]),
66
- // We're using the string literal to check whether we're in the site editor.
67
-
68
- /* eslint-disable-next-line @wordpress/data-no-store-string-literals */
69
- isSiteEditor: !!select('edit-site')
65
+ isLoading: !select(_coreData.store).hasFinishedResolution('getEntityRecords', ['postType', postType, query])
70
66
  };
71
67
  }, [supportsSearch, search]);
72
68
  const commands = (0, _element.useMemo)(() => {
73
69
  return (records !== null && records !== void 0 ? records : []).slice(0, 10).map(record => {
74
- var _getPath, _record$title, _record$title2, _record$title3;
75
-
76
- const isSiteEditor = (_getPath = (0, _url.getPath)(window.location.href)) === null || _getPath === void 0 ? void 0 : _getPath.includes('site-editor.php');
70
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
77
71
  const extraArgs = isSiteEditor ? {
78
72
  canvas: (0, _url.getQueryArg)(window.location.href, 'canvas')
79
73
  } : {};
80
74
  return {
81
75
  name: postType + '-' + record.id,
82
- searchLabel: ((_record$title = record.title) === null || _record$title === void 0 ? void 0 : _record$title.rendered) + ' ' + record.id,
83
- label: (_record$title2 = record.title) !== null && _record$title2 !== void 0 && _record$title2.rendered ? (_record$title3 = record.title) === null || _record$title3 === void 0 ? void 0 : _record$title3.rendered : (0, _i18n.__)('(no title)'),
76
+ searchLabel: record.title?.rendered + ' ' + record.id,
77
+ label: record.title?.rendered ? record.title?.rendered : (0, _i18n.__)('(no title)'),
84
78
  icon: icons[postType],
85
- callback: _ref2 => {
86
- let {
87
- close
88
- } = _ref2;
79
+ callback: ({
80
+ close
81
+ }) => {
89
82
  const args = {
90
83
  postType,
91
84
  postId: record.id,
@@ -115,6 +108,124 @@ const usePostNavigationCommandLoader = getNavigationCommandLoaderPerPostType('po
115
108
  const useTemplateNavigationCommandLoader = getNavigationCommandLoaderPerPostType('wp_template');
116
109
  const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerPostType('wp_template_part');
117
110
 
111
+ function useSiteEditorBasicNavigationCommands() {
112
+ const history = useHistory();
113
+ const isSiteEditor = (0, _url.getPath)(window.location.href)?.includes('site-editor.php');
114
+ const commands = (0, _element.useMemo)(() => {
115
+ const result = [];
116
+ result.push({
117
+ name: 'core/edit-site/open-navigation',
118
+ label: (0, _i18n.__)('Open navigation'),
119
+ icon: _icons.navigation,
120
+ callback: ({
121
+ close
122
+ }) => {
123
+ const args = {
124
+ path: '/navigation'
125
+ };
126
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
127
+
128
+ if (isSiteEditor) {
129
+ history.push(args);
130
+ } else {
131
+ document.location = targetUrl;
132
+ }
133
+
134
+ close();
135
+ }
136
+ });
137
+ result.push({
138
+ name: 'core/edit-site/open-pages',
139
+ label: (0, _i18n.__)('Open pages'),
140
+ icon: _icons.page,
141
+ callback: ({
142
+ close
143
+ }) => {
144
+ const args = {
145
+ path: '/page'
146
+ };
147
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
148
+
149
+ if (isSiteEditor) {
150
+ history.push(args);
151
+ } else {
152
+ document.location = targetUrl;
153
+ }
154
+
155
+ close();
156
+ }
157
+ });
158
+ result.push({
159
+ name: 'core/edit-site/open-style-variations',
160
+ label: (0, _i18n.__)('Open style variations'),
161
+ icon: _icons.styles,
162
+ callback: ({
163
+ close
164
+ }) => {
165
+ const args = {
166
+ path: '/wp_global_styles'
167
+ };
168
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
169
+
170
+ if (isSiteEditor) {
171
+ history.push(args);
172
+ } else {
173
+ document.location = targetUrl;
174
+ }
175
+
176
+ close();
177
+ }
178
+ });
179
+ result.push({
180
+ name: 'core/edit-site/open-templates',
181
+ label: (0, _i18n.__)('Open templates'),
182
+ icon: _icons.layout,
183
+ callback: ({
184
+ close
185
+ }) => {
186
+ const args = {
187
+ path: '/wp_template'
188
+ };
189
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
190
+
191
+ if (isSiteEditor) {
192
+ history.push(args);
193
+ } else {
194
+ document.location = targetUrl;
195
+ }
196
+
197
+ close();
198
+ }
199
+ });
200
+ result.push({
201
+ name: 'core/edit-site/open-template-parts',
202
+ label: (0, _i18n.__)('Open library'),
203
+ icon: _icons.symbolFilled,
204
+ callback: ({
205
+ close
206
+ }) => {
207
+ const args = {
208
+ path: '/wp_template_part'
209
+ };
210
+ const targetUrl = (0, _url.addQueryArgs)('site-editor.php', args);
211
+
212
+ if (isSiteEditor) {
213
+ history.push(args);
214
+ } else {
215
+ document.location = targetUrl;
216
+ }
217
+
218
+ close();
219
+ }
220
+ });
221
+ return result;
222
+ }, [history, isSiteEditor]);
223
+ return {
224
+ commands,
225
+ isLoading: false
226
+ };
227
+ }
228
+
118
229
  function useSiteEditorNavigationCommands() {
119
230
  (0, _commands.useCommandLoader)({
120
231
  name: 'core/edit-site/navigate-pages',
@@ -132,5 +243,10 @@ function useSiteEditorNavigationCommands() {
132
243
  name: 'core/edit-site/navigate-template-parts',
133
244
  hook: useTemplatePartNavigationCommandLoader
134
245
  });
246
+ (0, _commands.useCommandLoader)({
247
+ name: 'core/edit-site/basic-navigation',
248
+ hook: useSiteEditorBasicNavigationCommands,
249
+ context: 'site-editor'
250
+ });
135
251
  }
136
252
  //# sourceMappingURL=site-editor-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"names":["useHistory","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","supportsSearch","includes","records","isLoading","select","getEntityRecords","coreStore","query","undefined","per_page","orderby","hasFinishedResolution","isSiteEditor","commands","slice","map","record","window","location","href","extraArgs","canvas","name","id","searchLabel","title","rendered","label","icon","callback","close","args","postId","targetUrl","push","document","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorNavigationCommands","hook"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { post, page, layout, symbolFilled } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\t\tconst query = supportsSearch\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: !! search ? search : undefined,\n\t\t\t\t\t\t\tper_page: 10,\n\t\t\t\t\t\t\torderby: search ? 'relevance' : 'date',\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t };\n\t\t\t\treturn {\n\t\t\t\t\trecords: getEntityRecords( 'postType', postType, query ),\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\t// We're using the string literal to check whether we're in the site editor.\n\t\t\t\t\t/* eslint-disable-next-line @wordpress/data-no-store-string-literals */\n\t\t\t\t\tisSiteEditor: !! select( 'edit-site' ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ supportsSearch, search ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\t\t\t\treturn {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template_part' );\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"names":["useHistory","routerPrivateApis","icons","post","page","wp_template","layout","wp_template_part","symbolFilled","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","supportsSearch","includes","records","isLoading","select","getEntityRecords","coreStore","query","undefined","per_page","orderby","status","hasFinishedResolution","commands","slice","map","record","isSiteEditor","window","location","href","extraArgs","canvas","name","id","searchLabel","title","rendered","label","icon","callback","close","args","postId","targetUrl","push","document","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","result","navigation","path","styles","useSiteEditorNavigationCommands","hook","context"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\t\tconst query = supportsSearch\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: !! search ? search : undefined,\n\t\t\t\t\t\t\tper_page: 10,\n\t\t\t\t\t\t\torderby: search ? 'relevance' : 'date',\n\t\t\t\t\t\t\tstatus: [\n\t\t\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t\t\t'future',\n\t\t\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t\t\t'private',\n\t\t\t\t\t\t\t],\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t };\n\t\t\t\treturn {\n\t\t\t\t\trecords: getEntityRecords( 'postType', postType, query ),\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[ supportsSearch, search ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\t\t\t\treturn {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\tlabel: __( 'Open navigation' ),\n\t\t\ticon: navigation,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/navigation',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-pages',\n\t\t\tlabel: __( 'Open pages' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/page',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-style-variations',\n\t\t\tlabel: __( 'Open style variations' ),\n\t\t\ticon: styles,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-templates',\n\t\t\tlabel: __( 'Open templates' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\tlabel: __( 'Open library' ),\n\t\t\ticon: symbolFilled,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template_part',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t\treturn result;\n\t}, [ history, isSiteEditor ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"]}
@@ -6,7 +6,7 @@ import { __ } from '@wordpress/i18n';
6
6
  import { useMemo } from '@wordpress/element';
7
7
  import { useSelect } from '@wordpress/data';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
- import { post, page, layout, symbolFilled } from '@wordpress/icons';
9
+ import { post, page, layout, symbolFilled, styles, navigation } from '@wordpress/icons';
10
10
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
11
  import { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';
12
12
  /**
@@ -24,10 +24,9 @@ const icons = {
24
24
  wp_template_part: symbolFilled
25
25
  };
26
26
 
27
- const getNavigationCommandLoaderPerPostType = postType => function useNavigationCommandLoader(_ref) {
28
- let {
29
- search
30
- } = _ref;
27
+ const getNavigationCommandLoaderPerPostType = postType => function useNavigationCommandLoader({
28
+ search
29
+ }) {
31
30
  const history = useHistory();
32
31
  const supportsSearch = !['wp_template', 'wp_template_part'].includes(postType);
33
32
  const {
@@ -40,36 +39,30 @@ const getNavigationCommandLoaderPerPostType = postType => function useNavigation
40
39
  const query = supportsSearch ? {
41
40
  search: !!search ? search : undefined,
42
41
  per_page: 10,
43
- orderby: search ? 'relevance' : 'date'
42
+ orderby: search ? 'relevance' : 'date',
43
+ status: ['publish', 'future', 'draft', 'pending', 'private']
44
44
  } : {
45
45
  per_page: -1
46
46
  };
47
47
  return {
48
48
  records: getEntityRecords('postType', postType, query),
49
- isLoading: !select(coreStore).hasFinishedResolution('getEntityRecords', ['postType', postType, query]),
50
- // We're using the string literal to check whether we're in the site editor.
51
-
52
- /* eslint-disable-next-line @wordpress/data-no-store-string-literals */
53
- isSiteEditor: !!select('edit-site')
49
+ isLoading: !select(coreStore).hasFinishedResolution('getEntityRecords', ['postType', postType, query])
54
50
  };
55
51
  }, [supportsSearch, search]);
56
52
  const commands = useMemo(() => {
57
53
  return (records !== null && records !== void 0 ? records : []).slice(0, 10).map(record => {
58
- var _getPath, _record$title, _record$title2, _record$title3;
59
-
60
- const isSiteEditor = (_getPath = getPath(window.location.href)) === null || _getPath === void 0 ? void 0 : _getPath.includes('site-editor.php');
54
+ const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
61
55
  const extraArgs = isSiteEditor ? {
62
56
  canvas: getQueryArg(window.location.href, 'canvas')
63
57
  } : {};
64
58
  return {
65
59
  name: postType + '-' + record.id,
66
- searchLabel: ((_record$title = record.title) === null || _record$title === void 0 ? void 0 : _record$title.rendered) + ' ' + record.id,
67
- label: (_record$title2 = record.title) !== null && _record$title2 !== void 0 && _record$title2.rendered ? (_record$title3 = record.title) === null || _record$title3 === void 0 ? void 0 : _record$title3.rendered : __('(no title)'),
60
+ searchLabel: record.title?.rendered + ' ' + record.id,
61
+ label: record.title?.rendered ? record.title?.rendered : __('(no title)'),
68
62
  icon: icons[postType],
69
- callback: _ref2 => {
70
- let {
71
- close
72
- } = _ref2;
63
+ callback: ({
64
+ close
65
+ }) => {
73
66
  const args = {
74
67
  postType,
75
68
  postId: record.id,
@@ -98,6 +91,125 @@ const usePageNavigationCommandLoader = getNavigationCommandLoaderPerPostType('pa
98
91
  const usePostNavigationCommandLoader = getNavigationCommandLoaderPerPostType('post');
99
92
  const useTemplateNavigationCommandLoader = getNavigationCommandLoaderPerPostType('wp_template');
100
93
  const useTemplatePartNavigationCommandLoader = getNavigationCommandLoaderPerPostType('wp_template_part');
94
+
95
+ function useSiteEditorBasicNavigationCommands() {
96
+ const history = useHistory();
97
+ const isSiteEditor = getPath(window.location.href)?.includes('site-editor.php');
98
+ const commands = useMemo(() => {
99
+ const result = [];
100
+ result.push({
101
+ name: 'core/edit-site/open-navigation',
102
+ label: __('Open navigation'),
103
+ icon: navigation,
104
+ callback: ({
105
+ close
106
+ }) => {
107
+ const args = {
108
+ path: '/navigation'
109
+ };
110
+ const targetUrl = addQueryArgs('site-editor.php', args);
111
+
112
+ if (isSiteEditor) {
113
+ history.push(args);
114
+ } else {
115
+ document.location = targetUrl;
116
+ }
117
+
118
+ close();
119
+ }
120
+ });
121
+ result.push({
122
+ name: 'core/edit-site/open-pages',
123
+ label: __('Open pages'),
124
+ icon: page,
125
+ callback: ({
126
+ close
127
+ }) => {
128
+ const args = {
129
+ path: '/page'
130
+ };
131
+ const targetUrl = addQueryArgs('site-editor.php', args);
132
+
133
+ if (isSiteEditor) {
134
+ history.push(args);
135
+ } else {
136
+ document.location = targetUrl;
137
+ }
138
+
139
+ close();
140
+ }
141
+ });
142
+ result.push({
143
+ name: 'core/edit-site/open-style-variations',
144
+ label: __('Open style variations'),
145
+ icon: styles,
146
+ callback: ({
147
+ close
148
+ }) => {
149
+ const args = {
150
+ path: '/wp_global_styles'
151
+ };
152
+ const targetUrl = addQueryArgs('site-editor.php', args);
153
+
154
+ if (isSiteEditor) {
155
+ history.push(args);
156
+ } else {
157
+ document.location = targetUrl;
158
+ }
159
+
160
+ close();
161
+ }
162
+ });
163
+ result.push({
164
+ name: 'core/edit-site/open-templates',
165
+ label: __('Open templates'),
166
+ icon: layout,
167
+ callback: ({
168
+ close
169
+ }) => {
170
+ const args = {
171
+ path: '/wp_template'
172
+ };
173
+ const targetUrl = addQueryArgs('site-editor.php', args);
174
+
175
+ if (isSiteEditor) {
176
+ history.push(args);
177
+ } else {
178
+ document.location = targetUrl;
179
+ }
180
+
181
+ close();
182
+ }
183
+ });
184
+ result.push({
185
+ name: 'core/edit-site/open-template-parts',
186
+ label: __('Open library'),
187
+ icon: symbolFilled,
188
+ callback: ({
189
+ close
190
+ }) => {
191
+ const args = {
192
+ path: '/wp_template_part'
193
+ };
194
+ const targetUrl = addQueryArgs('site-editor.php', args);
195
+
196
+ if (isSiteEditor) {
197
+ history.push(args);
198
+ } else {
199
+ document.location = targetUrl;
200
+ }
201
+
202
+ close();
203
+ }
204
+ });
205
+ return result;
206
+ }, [history, isSiteEditor]);
207
+ return {
208
+ commands,
209
+ isLoading: false
210
+ };
211
+ }
212
+
101
213
  export function useSiteEditorNavigationCommands() {
102
214
  useCommandLoader({
103
215
  name: 'core/edit-site/navigate-pages',
@@ -115,5 +227,10 @@ export function useSiteEditorNavigationCommands() {
115
227
  name: 'core/edit-site/navigate-template-parts',
116
228
  hook: useTemplatePartNavigationCommandLoader
117
229
  });
230
+ useCommandLoader({
231
+ name: 'core/edit-site/basic-navigation',
232
+ hook: useSiteEditorBasicNavigationCommands,
233
+ context: 'site-editor'
234
+ });
118
235
  }
119
236
  //# sourceMappingURL=site-editor-navigation-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"names":["useCommandLoader","__","useMemo","useSelect","store","coreStore","post","page","layout","symbolFilled","privateApis","routerPrivateApis","getQueryArg","addQueryArgs","getPath","unlock","useHistory","icons","wp_template","wp_template_part","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","supportsSearch","includes","records","isLoading","select","getEntityRecords","query","undefined","per_page","orderby","hasFinishedResolution","isSiteEditor","commands","slice","map","record","window","location","href","extraArgs","canvas","name","id","searchLabel","title","rendered","label","icon","callback","close","args","postId","targetUrl","push","document","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorNavigationCommands","hook"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,QAAiC,qBAAjC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,IAAT,EAAeC,IAAf,EAAqBC,MAArB,EAA6BC,YAA7B,QAAiD,kBAAjD;AACA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,OAApC,QAAmD,gBAAnD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,eAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAiBD,MAAM,CAAEJ,iBAAF,CAA7B;AAEA,MAAMM,KAAK,GAAG;AACbX,EAAAA,IADa;AAEbC,EAAAA,IAFa;AAGbW,EAAAA,WAAW,EAAEV,MAHA;AAIbW,EAAAA,gBAAgB,EAAEV;AAJL,CAAd;;AAOA,MAAMW,qCAAqC,GAAKC,QAAF,IAC7C,SAASC,0BAAT,OAAkD;AAAA,MAAb;AAAEC,IAAAA;AAAF,GAAa;AACjD,QAAMC,OAAO,GAAGR,UAAU,EAA1B;AACA,QAAMS,cAAc,GAAG,CAAE,CAAE,aAAF,EAAiB,kBAAjB,EAAsCC,QAAtC,CACxBL,QADwB,CAAzB;AAGA,QAAM;AAAEM,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAyBzB,SAAS,CACrC0B,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAExB,SAAF,CAAnC;AACA,UAAM0B,KAAK,GAAGN,cAAc,GACzB;AACAF,MAAAA,MAAM,EAAE,CAAC,CAAEA,MAAH,GAAYA,MAAZ,GAAqBS,SAD7B;AAEAC,MAAAA,QAAQ,EAAE,EAFV;AAGAC,MAAAA,OAAO,EAAEX,MAAM,GAAG,WAAH,GAAiB;AAHhC,KADyB,GAMzB;AACAU,MAAAA,QAAQ,EAAE,CAAC;AADX,KANH;AASA,WAAO;AACNN,MAAAA,OAAO,EAAEG,gBAAgB,CAAE,UAAF,EAAcT,QAAd,EAAwBU,KAAxB,CADnB;AAENH,MAAAA,SAAS,EAAE,CAAEC,MAAM,CAAExB,SAAF,CAAN,CAAoB8B,qBAApB,CACZ,kBADY,EAEZ,CAAE,UAAF,EAAcd,QAAd,EAAwBU,KAAxB,CAFY,CAFP;AAMN;;AACA;AACAK,MAAAA,YAAY,EAAE,CAAC,CAAEP,MAAM,CAAE,WAAF;AARjB,KAAP;AAUA,GAtBsC,EAuBvC,CAAEJ,cAAF,EAAkBF,MAAlB,CAvBuC,CAAxC;AA0BA,QAAMc,QAAQ,GAAGnC,OAAO,CAAE,MAAM;AAC/B,WAAO,CAAEyB,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAa,EAAb,EAAkBW,KAAlB,CAAyB,CAAzB,EAA4B,EAA5B,EAAiCC,GAAjC,CAAwCC,MAAF,IAAc;AAAA;;AAC1D,YAAMJ,YAAY,eAAGtB,OAAO,CAAE2B,MAAM,CAACC,QAAP,CAAgBC,IAAlB,CAAV,6CAAG,SAAiCjB,QAAjC,CACpB,iBADoB,CAArB;AAGA,YAAMkB,SAAS,GAAGR,YAAY,GAC3B;AAAES,QAAAA,MAAM,EAAEjC,WAAW,CAAE6B,MAAM,CAACC,QAAP,CAAgBC,IAAlB,EAAwB,QAAxB;AAArB,OAD2B,GAE3B,EAFH;AAGA,aAAO;AACNG,QAAAA,IAAI,EAAEzB,QAAQ,GAAG,GAAX,GAAiBmB,MAAM,CAACO,EADxB;AAENC,QAAAA,WAAW,EAAE,kBAAAR,MAAM,CAACS,KAAP,gEAAcC,QAAd,IAAyB,GAAzB,GAA+BV,MAAM,CAACO,EAF7C;AAGNI,QAAAA,KAAK,EAAE,kBAAAX,MAAM,CAACS,KAAP,0DAAcC,QAAd,qBACJV,MAAM,CAACS,KADH,mDACJ,eAAcC,QADV,GAEJjD,EAAE,CAAE,YAAF,CALC;AAMNmD,QAAAA,IAAI,EAAEnC,KAAK,CAAEI,QAAF,CANL;AAONgC,QAAAA,QAAQ,EAAE,SAAiB;AAAA,cAAf;AAAEC,YAAAA;AAAF,WAAe;AAC1B,gBAAMC,IAAI,GAAG;AACZlC,YAAAA,QADY;AAEZmC,YAAAA,MAAM,EAAEhB,MAAM,CAACO,EAFH;AAGZ,eAAGH;AAHS,WAAb;AAKA,gBAAMa,SAAS,GAAG5C,YAAY,CAC7B,iBAD6B,EAE7B0C,IAF6B,CAA9B;;AAIA,cAAKnB,YAAL,EAAoB;AACnBZ,YAAAA,OAAO,CAACkC,IAAR,CAAcH,IAAd;AACA,WAFD,MAEO;AACNI,YAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,UAAAA,KAAK;AACL;AAvBK,OAAP;AAyBA,KAhCM,CAAP;AAiCA,GAlCuB,EAkCrB,CAAE3B,OAAF,EAAWH,OAAX,CAlCqB,CAAxB;AAoCA,SAAO;AACNa,IAAAA,QADM;AAENT,IAAAA;AAFM,GAAP;AAIA,CAxEF;;AA0EA,MAAMgC,8BAA8B,GACnCxC,qCAAqC,CAAE,MAAF,CADtC;AAEA,MAAMyC,8BAA8B,GACnCzC,qCAAqC,CAAE,MAAF,CADtC;AAEA,MAAM0C,kCAAkC,GACvC1C,qCAAqC,CAAE,aAAF,CADtC;AAEA,MAAM2C,sCAAsC,GAC3C3C,qCAAqC,CAAE,kBAAF,CADtC;AAGA,OAAO,SAAS4C,+BAAT,GAA2C;AACjDhE,EAAAA,gBAAgB,CAAE;AACjB8C,IAAAA,IAAI,EAAE,+BADW;AAEjBmB,IAAAA,IAAI,EAAEL;AAFW,GAAF,CAAhB;AAIA5D,EAAAA,gBAAgB,CAAE;AACjB8C,IAAAA,IAAI,EAAE,+BADW;AAEjBmB,IAAAA,IAAI,EAAEJ;AAFW,GAAF,CAAhB;AAIA7D,EAAAA,gBAAgB,CAAE;AACjB8C,IAAAA,IAAI,EAAE,mCADW;AAEjBmB,IAAAA,IAAI,EAAEH;AAFW,GAAF,CAAhB;AAIA9D,EAAAA,gBAAgB,CAAE;AACjB8C,IAAAA,IAAI,EAAE,wCADW;AAEjBmB,IAAAA,IAAI,EAAEF;AAFW,GAAF,CAAhB;AAIA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { post, page, layout, symbolFilled } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\t\tconst query = supportsSearch\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: !! search ? search : undefined,\n\t\t\t\t\t\t\tper_page: 10,\n\t\t\t\t\t\t\torderby: search ? 'relevance' : 'date',\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t };\n\t\t\t\treturn {\n\t\t\t\t\trecords: getEntityRecords( 'postType', postType, query ),\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\t// We're using the string literal to check whether we're in the site editor.\n\t\t\t\t\t/* eslint-disable-next-line @wordpress/data-no-store-string-literals */\n\t\t\t\t\tisSiteEditor: !! select( 'edit-site' ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ supportsSearch, search ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\t\t\t\treturn {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template_part' );\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/core-commands/src/site-editor-navigation-commands.js"],"names":["useCommandLoader","__","useMemo","useSelect","store","coreStore","post","page","layout","symbolFilled","styles","navigation","privateApis","routerPrivateApis","getQueryArg","addQueryArgs","getPath","unlock","useHistory","icons","wp_template","wp_template_part","getNavigationCommandLoaderPerPostType","postType","useNavigationCommandLoader","search","history","supportsSearch","includes","records","isLoading","select","getEntityRecords","query","undefined","per_page","orderby","status","hasFinishedResolution","commands","slice","map","record","isSiteEditor","window","location","href","extraArgs","canvas","name","id","searchLabel","title","rendered","label","icon","callback","close","args","postId","targetUrl","push","document","usePageNavigationCommandLoader","usePostNavigationCommandLoader","useTemplateNavigationCommandLoader","useTemplatePartNavigationCommandLoader","useSiteEditorBasicNavigationCommands","result","path","useSiteEditorNavigationCommands","hook","context"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,QAAiC,qBAAjC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SACCC,IADD,EAECC,IAFD,EAGCC,MAHD,EAICC,YAJD,EAKCC,MALD,EAMCC,UAND,QAOO,kBAPP;AAQA,SAASC,WAAW,IAAIC,iBAAxB,QAAiD,mBAAjD;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,OAApC,QAAmD,gBAAnD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,eAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAiBD,MAAM,CAAEJ,iBAAF,CAA7B;AAEA,MAAMM,KAAK,GAAG;AACbb,EAAAA,IADa;AAEbC,EAAAA,IAFa;AAGba,EAAAA,WAAW,EAAEZ,MAHA;AAIba,EAAAA,gBAAgB,EAAEZ;AAJL,CAAd;;AAOA,MAAMa,qCAAqC,GAAKC,QAAF,IAC7C,SAASC,0BAAT,CAAqC;AAAEC,EAAAA;AAAF,CAArC,EAAkD;AACjD,QAAMC,OAAO,GAAGR,UAAU,EAA1B;AACA,QAAMS,cAAc,GAAG,CAAE,CAAE,aAAF,EAAiB,kBAAjB,EAAsCC,QAAtC,CACxBL,QADwB,CAAzB;AAGA,QAAM;AAAEM,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAyB3B,SAAS,CACrC4B,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAuBD,MAAM,CAAE1B,SAAF,CAAnC;AACA,UAAM4B,KAAK,GAAGN,cAAc,GACzB;AACAF,MAAAA,MAAM,EAAE,CAAC,CAAEA,MAAH,GAAYA,MAAZ,GAAqBS,SAD7B;AAEAC,MAAAA,QAAQ,EAAE,EAFV;AAGAC,MAAAA,OAAO,EAAEX,MAAM,GAAG,WAAH,GAAiB,MAHhC;AAIAY,MAAAA,MAAM,EAAE,CACP,SADO,EAEP,QAFO,EAGP,OAHO,EAIP,SAJO,EAKP,SALO;AAJR,KADyB,GAazB;AACAF,MAAAA,QAAQ,EAAE,CAAC;AADX,KAbH;AAgBA,WAAO;AACNN,MAAAA,OAAO,EAAEG,gBAAgB,CAAE,UAAF,EAAcT,QAAd,EAAwBU,KAAxB,CADnB;AAENH,MAAAA,SAAS,EAAE,CAAEC,MAAM,CAAE1B,SAAF,CAAN,CAAoBiC,qBAApB,CACZ,kBADY,EAEZ,CAAE,UAAF,EAAcf,QAAd,EAAwBU,KAAxB,CAFY;AAFP,KAAP;AAOA,GA1BsC,EA2BvC,CAAEN,cAAF,EAAkBF,MAAlB,CA3BuC,CAAxC;AA8BA,QAAMc,QAAQ,GAAGrC,OAAO,CAAE,MAAM;AAC/B,WAAO,CAAE2B,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAa,EAAb,EAAkBW,KAAlB,CAAyB,CAAzB,EAA4B,EAA5B,EAAiCC,GAAjC,CAAwCC,MAAF,IAAc;AAC1D,YAAMC,YAAY,GAAG3B,OAAO,CAAE4B,MAAM,CAACC,QAAP,CAAgBC,IAAlB,CAAP,EAAiClB,QAAjC,CACpB,iBADoB,CAArB;AAGA,YAAMmB,SAAS,GAAGJ,YAAY,GAC3B;AAAEK,QAAAA,MAAM,EAAElC,WAAW,CAAE8B,MAAM,CAACC,QAAP,CAAgBC,IAAlB,EAAwB,QAAxB;AAArB,OAD2B,GAE3B,EAFH;AAGA,aAAO;AACNG,QAAAA,IAAI,EAAE1B,QAAQ,GAAG,GAAX,GAAiBmB,MAAM,CAACQ,EADxB;AAENC,QAAAA,WAAW,EAAET,MAAM,CAACU,KAAP,EAAcC,QAAd,GAAyB,GAAzB,GAA+BX,MAAM,CAACQ,EAF7C;AAGNI,QAAAA,KAAK,EAAEZ,MAAM,CAACU,KAAP,EAAcC,QAAd,GACJX,MAAM,CAACU,KAAP,EAAcC,QADV,GAEJpD,EAAE,CAAE,YAAF,CALC;AAMNsD,QAAAA,IAAI,EAAEpC,KAAK,CAAEI,QAAF,CANL;AAONiC,QAAAA,QAAQ,EAAE,CAAE;AAAEC,UAAAA;AAAF,SAAF,KAAiB;AAC1B,gBAAMC,IAAI,GAAG;AACZnC,YAAAA,QADY;AAEZoC,YAAAA,MAAM,EAAEjB,MAAM,CAACQ,EAFH;AAGZ,eAAGH;AAHS,WAAb;AAKA,gBAAMa,SAAS,GAAG7C,YAAY,CAC7B,iBAD6B,EAE7B2C,IAF6B,CAA9B;;AAIA,cAAKf,YAAL,EAAoB;AACnBjB,YAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,WAFD,MAEO;AACNI,YAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,UAAAA,KAAK;AACL;AAvBK,OAAP;AAyBA,KAhCM,CAAP;AAiCA,GAlCuB,EAkCrB,CAAE5B,OAAF,EAAWH,OAAX,CAlCqB,CAAxB;AAoCA,SAAO;AACNa,IAAAA,QADM;AAENT,IAAAA;AAFM,GAAP;AAIA,CA5EF;;AA8EA,MAAMiC,8BAA8B,GACnCzC,qCAAqC,CAAE,MAAF,CADtC;AAEA,MAAM0C,8BAA8B,GACnC1C,qCAAqC,CAAE,MAAF,CADtC;AAEA,MAAM2C,kCAAkC,GACvC3C,qCAAqC,CAAE,aAAF,CADtC;AAEA,MAAM4C,sCAAsC,GAC3C5C,qCAAqC,CAAE,kBAAF,CADtC;;AAGA,SAAS6C,oCAAT,GAAgD;AAC/C,QAAMzC,OAAO,GAAGR,UAAU,EAA1B;AACA,QAAMyB,YAAY,GAAG3B,OAAO,CAAE4B,MAAM,CAACC,QAAP,CAAgBC,IAAlB,CAAP,EAAiClB,QAAjC,CACpB,iBADoB,CAArB;AAGA,QAAMW,QAAQ,GAAGrC,OAAO,CAAE,MAAM;AAC/B,UAAMkE,MAAM,GAAG,EAAf;AACAA,IAAAA,MAAM,CAACP,IAAP,CAAa;AACZZ,MAAAA,IAAI,EAAE,gCADM;AAEZK,MAAAA,KAAK,EAAErD,EAAE,CAAE,iBAAF,CAFG;AAGZsD,MAAAA,IAAI,EAAE5C,UAHM;AAIZ6C,MAAAA,QAAQ,EAAE,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAiB;AAC1B,cAAMC,IAAI,GAAG;AACZW,UAAAA,IAAI,EAAE;AADM,SAAb;AAGA,cAAMT,SAAS,GAAG7C,YAAY,CAAE,iBAAF,EAAqB2C,IAArB,CAA9B;;AACA,YAAKf,YAAL,EAAoB;AACnBjB,UAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,SAFD,MAEO;AACNI,UAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,QAAAA,KAAK;AACL;AAfW,KAAb;AAkBAW,IAAAA,MAAM,CAACP,IAAP,CAAa;AACZZ,MAAAA,IAAI,EAAE,2BADM;AAEZK,MAAAA,KAAK,EAAErD,EAAE,CAAE,YAAF,CAFG;AAGZsD,MAAAA,IAAI,EAAEhD,IAHM;AAIZiD,MAAAA,QAAQ,EAAE,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAiB;AAC1B,cAAMC,IAAI,GAAG;AACZW,UAAAA,IAAI,EAAE;AADM,SAAb;AAGA,cAAMT,SAAS,GAAG7C,YAAY,CAAE,iBAAF,EAAqB2C,IAArB,CAA9B;;AACA,YAAKf,YAAL,EAAoB;AACnBjB,UAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,SAFD,MAEO;AACNI,UAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,QAAAA,KAAK;AACL;AAfW,KAAb;AAkBAW,IAAAA,MAAM,CAACP,IAAP,CAAa;AACZZ,MAAAA,IAAI,EAAE,sCADM;AAEZK,MAAAA,KAAK,EAAErD,EAAE,CAAE,uBAAF,CAFG;AAGZsD,MAAAA,IAAI,EAAE7C,MAHM;AAIZ8C,MAAAA,QAAQ,EAAE,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAiB;AAC1B,cAAMC,IAAI,GAAG;AACZW,UAAAA,IAAI,EAAE;AADM,SAAb;AAGA,cAAMT,SAAS,GAAG7C,YAAY,CAAE,iBAAF,EAAqB2C,IAArB,CAA9B;;AACA,YAAKf,YAAL,EAAoB;AACnBjB,UAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,SAFD,MAEO;AACNI,UAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,QAAAA,KAAK;AACL;AAfW,KAAb;AAkBAW,IAAAA,MAAM,CAACP,IAAP,CAAa;AACZZ,MAAAA,IAAI,EAAE,+BADM;AAEZK,MAAAA,KAAK,EAAErD,EAAE,CAAE,gBAAF,CAFG;AAGZsD,MAAAA,IAAI,EAAE/C,MAHM;AAIZgD,MAAAA,QAAQ,EAAE,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAiB;AAC1B,cAAMC,IAAI,GAAG;AACZW,UAAAA,IAAI,EAAE;AADM,SAAb;AAGA,cAAMT,SAAS,GAAG7C,YAAY,CAAE,iBAAF,EAAqB2C,IAArB,CAA9B;;AACA,YAAKf,YAAL,EAAoB;AACnBjB,UAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,SAFD,MAEO;AACNI,UAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,QAAAA,KAAK;AACL;AAfW,KAAb;AAkBAW,IAAAA,MAAM,CAACP,IAAP,CAAa;AACZZ,MAAAA,IAAI,EAAE,oCADM;AAEZK,MAAAA,KAAK,EAAErD,EAAE,CAAE,cAAF,CAFG;AAGZsD,MAAAA,IAAI,EAAE9C,YAHM;AAIZ+C,MAAAA,QAAQ,EAAE,CAAE;AAAEC,QAAAA;AAAF,OAAF,KAAiB;AAC1B,cAAMC,IAAI,GAAG;AACZW,UAAAA,IAAI,EAAE;AADM,SAAb;AAGA,cAAMT,SAAS,GAAG7C,YAAY,CAAE,iBAAF,EAAqB2C,IAArB,CAA9B;;AACA,YAAKf,YAAL,EAAoB;AACnBjB,UAAAA,OAAO,CAACmC,IAAR,CAAcH,IAAd;AACA,SAFD,MAEO;AACNI,UAAAA,QAAQ,CAACjB,QAAT,GAAoBe,SAApB;AACA;;AACDH,QAAAA,KAAK;AACL;AAfW,KAAb;AAiBA,WAAOW,MAAP;AACA,GA5FuB,EA4FrB,CAAE1C,OAAF,EAAWiB,YAAX,CA5FqB,CAAxB;AA8FA,SAAO;AACNJ,IAAAA,QADM;AAENT,IAAAA,SAAS,EAAE;AAFL,GAAP;AAIA;;AAED,OAAO,SAASwC,+BAAT,GAA2C;AACjDtE,EAAAA,gBAAgB,CAAE;AACjBiD,IAAAA,IAAI,EAAE,+BADW;AAEjBsB,IAAAA,IAAI,EAAER;AAFW,GAAF,CAAhB;AAIA/D,EAAAA,gBAAgB,CAAE;AACjBiD,IAAAA,IAAI,EAAE,+BADW;AAEjBsB,IAAAA,IAAI,EAAEP;AAFW,GAAF,CAAhB;AAIAhE,EAAAA,gBAAgB,CAAE;AACjBiD,IAAAA,IAAI,EAAE,mCADW;AAEjBsB,IAAAA,IAAI,EAAEN;AAFW,GAAF,CAAhB;AAIAjE,EAAAA,gBAAgB,CAAE;AACjBiD,IAAAA,IAAI,EAAE,wCADW;AAEjBsB,IAAAA,IAAI,EAAEL;AAFW,GAAF,CAAhB;AAIAlE,EAAAA,gBAAgB,CAAE;AACjBiD,IAAAA,IAAI,EAAE,iCADW;AAEjBsB,IAAAA,IAAI,EAAEJ,oCAFW;AAGjBK,IAAAA,OAAO,EAAE;AAHQ,GAAF,CAAhB;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCommandLoader } from '@wordpress/commands';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tpost,\n\tpage,\n\tlayout,\n\tsymbolFilled,\n\tstyles,\n\tnavigation,\n} from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst icons = {\n\tpost,\n\tpage,\n\twp_template: layout,\n\twp_template_part: symbolFilled,\n};\n\nconst getNavigationCommandLoaderPerPostType = ( postType ) =>\n\tfunction useNavigationCommandLoader( { search } ) {\n\t\tconst history = useHistory();\n\t\tconst supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(\n\t\t\tpostType\n\t\t);\n\t\tconst { records, isLoading } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\t\tconst query = supportsSearch\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tsearch: !! search ? search : undefined,\n\t\t\t\t\t\t\tper_page: 10,\n\t\t\t\t\t\t\torderby: search ? 'relevance' : 'date',\n\t\t\t\t\t\t\tstatus: [\n\t\t\t\t\t\t\t\t'publish',\n\t\t\t\t\t\t\t\t'future',\n\t\t\t\t\t\t\t\t'draft',\n\t\t\t\t\t\t\t\t'pending',\n\t\t\t\t\t\t\t\t'private',\n\t\t\t\t\t\t\t],\n\t\t\t\t\t }\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t };\n\t\t\t\treturn {\n\t\t\t\t\trecords: getEntityRecords( 'postType', postType, query ),\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[ supportsSearch, search ]\n\t\t);\n\n\t\tconst commands = useMemo( () => {\n\t\t\treturn ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {\n\t\t\t\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t\t\t\t'site-editor.php'\n\t\t\t\t);\n\t\t\t\tconst extraArgs = isSiteEditor\n\t\t\t\t\t? { canvas: getQueryArg( window.location.href, 'canvas' ) }\n\t\t\t\t\t: {};\n\t\t\t\treturn {\n\t\t\t\t\tname: postType + '-' + record.id,\n\t\t\t\t\tsearchLabel: record.title?.rendered + ' ' + record.id,\n\t\t\t\t\tlabel: record.title?.rendered\n\t\t\t\t\t\t? record.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\t\ticon: icons[ postType ],\n\t\t\t\t\tcallback: ( { close } ) => {\n\t\t\t\t\t\tconst args = {\n\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\tpostId: record.id,\n\t\t\t\t\t\t\t...extraArgs,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst targetUrl = addQueryArgs(\n\t\t\t\t\t\t\t'site-editor.php',\n\t\t\t\t\t\t\targs\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\t\t\thistory.push( args );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclose();\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} );\n\t\t}, [ records, history ] );\n\n\t\treturn {\n\t\t\tcommands,\n\t\t\tisLoading,\n\t\t};\n\t};\n\nconst usePageNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'page' );\nconst usePostNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'post' );\nconst useTemplateNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template' );\nconst useTemplatePartNavigationCommandLoader =\n\tgetNavigationCommandLoaderPerPostType( 'wp_template_part' );\n\nfunction useSiteEditorBasicNavigationCommands() {\n\tconst history = useHistory();\n\tconst isSiteEditor = getPath( window.location.href )?.includes(\n\t\t'site-editor.php'\n\t);\n\tconst commands = useMemo( () => {\n\t\tconst result = [];\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-navigation',\n\t\t\tlabel: __( 'Open navigation' ),\n\t\t\ticon: navigation,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/navigation',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-pages',\n\t\t\tlabel: __( 'Open pages' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/page',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-style-variations',\n\t\t\tlabel: __( 'Open style variations' ),\n\t\t\ticon: styles,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_global_styles',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-templates',\n\t\t\tlabel: __( 'Open templates' ),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\n\t\tresult.push( {\n\t\t\tname: 'core/edit-site/open-template-parts',\n\t\t\tlabel: __( 'Open library' ),\n\t\t\ticon: symbolFilled,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tconst args = {\n\t\t\t\t\tpath: '/wp_template_part',\n\t\t\t\t};\n\t\t\t\tconst targetUrl = addQueryArgs( 'site-editor.php', args );\n\t\t\t\tif ( isSiteEditor ) {\n\t\t\t\t\thistory.push( args );\n\t\t\t\t} else {\n\t\t\t\t\tdocument.location = targetUrl;\n\t\t\t\t}\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t\treturn result;\n\t}, [ history, isSiteEditor ] );\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport function useSiteEditorNavigationCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-pages',\n\t\thook: usePageNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-posts',\n\t\thook: usePostNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-templates',\n\t\thook: useTemplateNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/navigate-template-parts',\n\t\thook: useTemplatePartNavigationCommandLoader,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/basic-navigation',\n\t\thook: useSiteEditorBasicNavigationCommands,\n\t\tcontext: 'site-editor',\n\t} );\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/core-commands",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "WordPress core reusable commands.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,15 +27,15 @@
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/commands": "^0.5.0",
31
- "@wordpress/core-data": "^6.11.0",
32
- "@wordpress/data": "^9.4.0",
33
- "@wordpress/element": "^5.11.0",
34
- "@wordpress/i18n": "^4.34.0",
35
- "@wordpress/icons": "^9.25.0",
36
- "@wordpress/private-apis": "^0.16.0",
37
- "@wordpress/router": "^0.3.0",
38
- "@wordpress/url": "^3.35.0"
30
+ "@wordpress/commands": "^0.6.1",
31
+ "@wordpress/core-data": "^6.12.1",
32
+ "@wordpress/data": "^9.5.1",
33
+ "@wordpress/element": "^5.12.1",
34
+ "@wordpress/i18n": "^4.35.1",
35
+ "@wordpress/icons": "^9.26.1",
36
+ "@wordpress/private-apis": "^0.17.1",
37
+ "@wordpress/router": "^0.4.1",
38
+ "@wordpress/url": "^3.36.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "react": "^18.0.0"
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "c7c79cb11b677adcbf06cf5f8cfb6c5ec1699f19"
46
+ "gitHead": "ce5639111c30763dbdf07f40eeb136ea6030ecf1"
47
47
  }
@@ -6,7 +6,14 @@ import { __ } from '@wordpress/i18n';
6
6
  import { useMemo } from '@wordpress/element';
7
7
  import { useSelect } from '@wordpress/data';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
- import { post, page, layout, symbolFilled } from '@wordpress/icons';
9
+ import {
10
+ post,
11
+ page,
12
+ layout,
13
+ symbolFilled,
14
+ styles,
15
+ navigation,
16
+ } from '@wordpress/icons';
10
17
  import { privateApis as routerPrivateApis } from '@wordpress/router';
11
18
  import { getQueryArg, addQueryArgs, getPath } from '@wordpress/url';
12
19
 
@@ -38,6 +45,13 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
38
45
  search: !! search ? search : undefined,
39
46
  per_page: 10,
40
47
  orderby: search ? 'relevance' : 'date',
48
+ status: [
49
+ 'publish',
50
+ 'future',
51
+ 'draft',
52
+ 'pending',
53
+ 'private',
54
+ ],
41
55
  }
42
56
  : {
43
57
  per_page: -1,
@@ -48,9 +62,6 @@ const getNavigationCommandLoaderPerPostType = ( postType ) =>
48
62
  'getEntityRecords',
49
63
  [ 'postType', postType, query ]
50
64
  ),
51
- // We're using the string literal to check whether we're in the site editor.
52
- /* eslint-disable-next-line @wordpress/data-no-store-string-literals */
53
- isSiteEditor: !! select( 'edit-site' ),
54
65
  };
55
66
  },
56
67
  [ supportsSearch, search ]
@@ -107,6 +118,111 @@ const useTemplateNavigationCommandLoader =
107
118
  const useTemplatePartNavigationCommandLoader =
108
119
  getNavigationCommandLoaderPerPostType( 'wp_template_part' );
109
120
 
121
+ function useSiteEditorBasicNavigationCommands() {
122
+ const history = useHistory();
123
+ const isSiteEditor = getPath( window.location.href )?.includes(
124
+ 'site-editor.php'
125
+ );
126
+ const commands = useMemo( () => {
127
+ const result = [];
128
+ result.push( {
129
+ name: 'core/edit-site/open-navigation',
130
+ label: __( 'Open navigation' ),
131
+ icon: navigation,
132
+ callback: ( { close } ) => {
133
+ const args = {
134
+ path: '/navigation',
135
+ };
136
+ const targetUrl = addQueryArgs( 'site-editor.php', args );
137
+ if ( isSiteEditor ) {
138
+ history.push( args );
139
+ } else {
140
+ document.location = targetUrl;
141
+ }
142
+ close();
143
+ },
144
+ } );
145
+
146
+ result.push( {
147
+ name: 'core/edit-site/open-pages',
148
+ label: __( 'Open pages' ),
149
+ icon: page,
150
+ callback: ( { close } ) => {
151
+ const args = {
152
+ path: '/page',
153
+ };
154
+ const targetUrl = addQueryArgs( 'site-editor.php', args );
155
+ if ( isSiteEditor ) {
156
+ history.push( args );
157
+ } else {
158
+ document.location = targetUrl;
159
+ }
160
+ close();
161
+ },
162
+ } );
163
+
164
+ result.push( {
165
+ name: 'core/edit-site/open-style-variations',
166
+ label: __( 'Open style variations' ),
167
+ icon: styles,
168
+ callback: ( { close } ) => {
169
+ const args = {
170
+ path: '/wp_global_styles',
171
+ };
172
+ const targetUrl = addQueryArgs( 'site-editor.php', args );
173
+ if ( isSiteEditor ) {
174
+ history.push( args );
175
+ } else {
176
+ document.location = targetUrl;
177
+ }
178
+ close();
179
+ },
180
+ } );
181
+
182
+ result.push( {
183
+ name: 'core/edit-site/open-templates',
184
+ label: __( 'Open templates' ),
185
+ icon: layout,
186
+ callback: ( { close } ) => {
187
+ const args = {
188
+ path: '/wp_template',
189
+ };
190
+ const targetUrl = addQueryArgs( 'site-editor.php', args );
191
+ if ( isSiteEditor ) {
192
+ history.push( args );
193
+ } else {
194
+ document.location = targetUrl;
195
+ }
196
+ close();
197
+ },
198
+ } );
199
+
200
+ result.push( {
201
+ name: 'core/edit-site/open-template-parts',
202
+ label: __( 'Open library' ),
203
+ icon: symbolFilled,
204
+ callback: ( { close } ) => {
205
+ const args = {
206
+ path: '/wp_template_part',
207
+ };
208
+ const targetUrl = addQueryArgs( 'site-editor.php', args );
209
+ if ( isSiteEditor ) {
210
+ history.push( args );
211
+ } else {
212
+ document.location = targetUrl;
213
+ }
214
+ close();
215
+ },
216
+ } );
217
+ return result;
218
+ }, [ history, isSiteEditor ] );
219
+
220
+ return {
221
+ commands,
222
+ isLoading: false,
223
+ };
224
+ }
225
+
110
226
  export function useSiteEditorNavigationCommands() {
111
227
  useCommandLoader( {
112
228
  name: 'core/edit-site/navigate-pages',
@@ -124,4 +240,9 @@ export function useSiteEditorNavigationCommands() {
124
240
  name: 'core/edit-site/navigate-template-parts',
125
241
  hook: useTemplatePartNavigationCommandLoader,
126
242
  } );
243
+ useCommandLoader( {
244
+ name: 'core/edit-site/basic-navigation',
245
+ hook: useSiteEditorBasicNavigationCommands,
246
+ context: 'site-editor',
247
+ } );
127
248
  }