@wordpress/edit-site 6.30.1-next.a730c9c8c.0 → 6.31.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -1
  3. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +8 -84
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/dataviews-actions/index.js +51 -1
  9. package/build/components/dataviews-actions/index.js.map +1 -1
  10. package/build/components/editor/index.js +1 -1
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor/use-resolve-edited-entity.js +42 -14
  13. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  14. package/build/components/page-templates/fields.js +65 -5
  15. package/build/components/page-templates/fields.js.map +1 -1
  16. package/build/components/page-templates/hooks.js +1 -1
  17. package/build/components/page-templates/hooks.js.map +1 -1
  18. package/build/components/page-templates/index.js +103 -29
  19. package/build/components/page-templates/index.js.map +1 -1
  20. package/build/components/sidebar-navigation-screen-templates-browse/content.js +11 -5
  21. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  22. package/build/components/site-editor-routes/index.js +1 -1
  23. package/build/components/site-editor-routes/index.js.map +1 -1
  24. package/build/components/site-editor-routes/template-item.js +29 -23
  25. package/build/components/site-editor-routes/template-item.js.map +1 -1
  26. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  27. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  28. package/build-module/components/add-new-template/index.js +2 -6
  29. package/build-module/components/add-new-template/index.js.map +1 -1
  30. package/build-module/components/add-new-template/utils.js +8 -84
  31. package/build-module/components/add-new-template/utils.js.map +1 -1
  32. package/build-module/components/dataviews-actions/index.js +49 -0
  33. package/build-module/components/dataviews-actions/index.js.map +1 -1
  34. package/build-module/components/editor/index.js +1 -1
  35. package/build-module/components/editor/index.js.map +1 -1
  36. package/build-module/components/editor/use-resolve-edited-entity.js +42 -14
  37. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  38. package/build-module/components/page-templates/fields.js +65 -5
  39. package/build-module/components/page-templates/fields.js.map +1 -1
  40. package/build-module/components/page-templates/hooks.js +1 -1
  41. package/build-module/components/page-templates/hooks.js.map +1 -1
  42. package/build-module/components/page-templates/index.js +105 -31
  43. package/build-module/components/page-templates/index.js.map +1 -1
  44. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +11 -5
  45. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  46. package/build-module/components/site-editor-routes/index.js +2 -2
  47. package/build-module/components/site-editor-routes/index.js.map +1 -1
  48. package/build-module/components/site-editor-routes/template-item.js +28 -22
  49. package/build-module/components/site-editor-routes/template-item.js.map +1 -1
  50. package/package.json +41 -41
  51. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -3
  52. package/src/components/add-new-template/index.js +1 -8
  53. package/src/components/add-new-template/utils.js +9 -118
  54. package/src/components/dataviews-actions/index.js +51 -0
  55. package/src/components/editor/index.js +1 -0
  56. package/src/components/editor/use-resolve-edited-entity.js +54 -7
  57. package/src/components/page-templates/fields.js +70 -4
  58. package/src/components/page-templates/hooks.js +1 -1
  59. package/src/components/page-templates/index.js +160 -57
  60. package/src/components/sidebar-navigation-screen-templates-browse/content.js +17 -7
  61. package/src/components/site-editor-routes/index.js +2 -1
  62. package/src/components/site-editor-routes/template-item.js +34 -26
@@ -6,24 +6,47 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { Icon, __experimentalHStack as HStack } from '@wordpress/components';
9
+ import { Icon, __experimentalHStack as HStack, privateApis as componentsPrivateApis } from '@wordpress/components';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { useState, useMemo } from '@wordpress/element';
12
12
  import { decodeEntities } from '@wordpress/html-entities';
13
13
  import { parse } from '@wordpress/blocks';
14
14
  import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
15
15
  import { EditorProvider } from '@wordpress/editor';
16
+ import { privateApis as corePrivateApis } from '@wordpress/core-data';
16
17
 
17
18
  /**
18
19
  * Internal dependencies
19
20
  */
20
21
  import { useAddedBy } from './hooks';
22
+ import { useDefaultTemplateTypes } from '../add-new-template/utils';
21
23
  import usePatternSettings from '../page-patterns/use-pattern-settings';
22
24
  import { unlock } from '../../lock-unlock';
23
25
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
26
  const {
25
27
  useGlobalStyle
26
28
  } = unlock(blockEditorPrivateApis);
29
+ const {
30
+ Badge
31
+ } = unlock(componentsPrivateApis);
32
+ const {
33
+ useEntityRecordsWithPermissions
34
+ } = unlock(corePrivateApis);
35
+ function useAllDefaultTemplateTypes() {
36
+ const defaultTemplateTypes = useDefaultTemplateTypes();
37
+ const {
38
+ records: staticRecords
39
+ } = useEntityRecordsWithPermissions('postType', 'wp_registered_template', {
40
+ per_page: -1
41
+ });
42
+ return [...defaultTemplateTypes, ...staticRecords?.filter(record => !record.is_custom).map(record => {
43
+ return {
44
+ slug: record.slug,
45
+ title: record.title.rendered,
46
+ description: record.description
47
+ };
48
+ })];
49
+ }
27
50
  function PreviewField({
28
51
  item
29
52
  }) {
@@ -65,10 +88,12 @@ export const previewField = {
65
88
  export const descriptionField = {
66
89
  label: __('Description'),
67
90
  id: 'description',
68
- render: ({
91
+ render: function RenderDescription({
69
92
  item
70
- }) => {
71
- return item.description && decodeEntities(item.description);
93
+ }) {
94
+ const defaultTemplateTypes = useAllDefaultTemplateTypes();
95
+ const defaultTemplateType = defaultTemplateTypes.find(type => type.slug === item.slug);
96
+ return item.description ? decodeEntities(item.description) : defaultTemplateType?.description;
72
97
  },
73
98
  enableSorting: false,
74
99
  enableGlobalSearch: true
@@ -110,7 +135,42 @@ export const authorField = {
110
135
  id: 'author',
111
136
  getValue: ({
112
137
  item
113
- }) => item.author_text,
138
+ }) => {
139
+ var _item$author_text;
140
+ return (_item$author_text = item.author_text) !== null && _item$author_text !== void 0 ? _item$author_text : item.author;
141
+ },
114
142
  render: AuthorField
115
143
  };
144
+ export const activeField = {
145
+ label: __('Status'),
146
+ id: 'active',
147
+ getValue: ({
148
+ item
149
+ }) => item._isActive,
150
+ render: function Render({
151
+ item
152
+ }) {
153
+ const isActive = item._isActive;
154
+ return /*#__PURE__*/_jsx(Badge, {
155
+ intent: isActive ? 'success' : 'default',
156
+ children: isActive ? __('Active') : __('Inactive')
157
+ });
158
+ }
159
+ };
160
+ export const slugField = {
161
+ label: __('Template Type'),
162
+ id: 'slug',
163
+ getValue: ({
164
+ item
165
+ }) => item.slug,
166
+ render: function Render({
167
+ item
168
+ }) {
169
+ const defaultTemplateTypes = useAllDefaultTemplateTypes();
170
+ const defaultTemplateType = defaultTemplateTypes.find(type => type.slug === item.slug);
171
+ return defaultTemplateType?.title ||
172
+ // translators: %s is the slug of a custom template.
173
+ __('Custom');
174
+ }
175
+ };
116
176
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Icon","__experimentalHStack","HStack","__","useState","useMemo","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","EditorProvider","useAddedBy","usePatternSettings","unlock","jsx","_jsx","jsxs","_jsxs","useGlobalStyle","PreviewField","item","settings","backgroundColor","blocks","content","raw","isEmpty","length","post","children","className","style","Async","previewField","label","id","render","enableSorting","descriptionField","description","enableGlobalSearch","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","type","alignment","spacing","onLoad","alt","src","authorField","getValue","author_text"],"sources":["@wordpress/edit-site/src/components/page-templates/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { EditorProvider } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: ( { item } ) => {\n\t\treturn item.description && decodeEntities( item.description );\n\t},\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Icon","__experimentalHStack","HStack","privateApis","componentsPrivateApis","__","useState","useMemo","decodeEntities","parse","BlockPreview","blockEditorPrivateApis","EditorProvider","corePrivateApis","useAddedBy","useDefaultTemplateTypes","usePatternSettings","unlock","jsx","_jsx","jsxs","_jsxs","useGlobalStyle","Badge","useEntityRecordsWithPermissions","useAllDefaultTemplateTypes","defaultTemplateTypes","records","staticRecords","per_page","filter","record","is_custom","map","slug","title","rendered","description","PreviewField","item","settings","backgroundColor","blocks","content","raw","isEmpty","length","post","children","className","style","Async","previewField","label","id","render","enableSorting","descriptionField","RenderDescription","defaultTemplateType","find","type","enableGlobalSearch","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","alignment","spacing","onLoad","alt","src","authorField","getValue","_item$author_text","author_text","author","activeField","_isActive","Render","isActive","intent","slugField"],"sources":["@wordpress/edit-site/src/components/page-templates/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { EditorProvider } from '@wordpress/editor';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport { useDefaultTemplateTypes } from '../add-new-template/utils';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { Badge } = unlock( componentsPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nfunction useAllDefaultTemplateTypes() {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst { records: staticRecords } = useEntityRecordsWithPermissions(\n\t\t'postType',\n\t\t'wp_registered_template',\n\t\t{ per_page: -1 }\n\t);\n\treturn [\n\t\t...defaultTemplateTypes,\n\t\t...staticRecords\n\t\t\t?.filter( ( record ) => ! record.is_custom )\n\t\t\t.map( ( record ) => {\n\t\t\t\treturn {\n\t\t\t\t\tslug: record.slug,\n\t\t\t\t\ttitle: record.title.rendered,\n\t\t\t\t\tdescription: record.description,\n\t\t\t\t};\n\t\t\t} ),\n\t];\n}\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: function RenderDescription( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn item.description\n\t\t\t? decodeEntities( item.description )\n\t\t\t: defaultTemplateType?.description;\n\t},\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text ?? item.author,\n\trender: AuthorField,\n};\n\nexport const activeField = {\n\tlabel: __( 'Status' ),\n\tid: 'active',\n\tgetValue: ( { item } ) => item._isActive,\n\trender: function Render( { item } ) {\n\t\tconst isActive = item._isActive;\n\t\treturn (\n\t\t\t<Badge intent={ isActive ? 'success' : 'default' }>\n\t\t\t\t{ isActive ? __( 'Active' ) : __( 'Inactive' ) }\n\t\t\t</Badge>\n\t\t);\n\t},\n};\n\nexport const slugField = {\n\tlabel: __( 'Template Type' ),\n\tid: 'slug',\n\tgetValue: ( { item } ) => item.slug,\n\trender: function Render( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn (\n\t\t\tdefaultTemplateType?.title ||\n\t\t\t// translators: %s is the slug of a custom template.\n\t\t\t__( 'Custom' )\n\t\t);\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
@@ -74,7 +74,7 @@ export function useAddedBy(postType, postId) {
74
74
  type: 'user',
75
75
  icon: authorIcon,
76
76
  imageUrl: user?.avatar_urls?.[48],
77
- text: authorText,
77
+ text: authorText !== null && authorText !== void 0 ? authorText : user?.name,
78
78
  isCustomized: false
79
79
  };
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","useSelect","commentAuthorAvatar","authorIcon","layout","themeIcon","plugins","pluginIcon","globe","globeIcon","TEMPLATE_ORIGINS","useAddedBy","postType","postId","select","getEntityRecord","getUser","getEditedEntityRecord","template","originalSource","original_source","authorText","author_text","type","icon","text","isCustomized","source","custom","siteData","imageUrl","site_logo","source_url","undefined","user","author","avatar_urls"],"sources":["@wordpress/edit-site/src/components/page-templates/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getUser, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst template = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst originalSource = template?.original_source;\n\t\t\tconst authorText = template?.author_text;\n\n\t\t\tswitch ( originalSource ) {\n\t\t\t\tcase 'theme': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'plugin': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'site': {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\t\tsiteData.site_logo\n\t\t\t\t\t\t\t )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tconst user = getUser( template.author );\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'user',\n\t\t\t\t\t\ticon: authorIcon,\n\t\t\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,mBAAmB,IAAIC,UAAU,EACjCC,MAAM,IAAIC,SAAS,EACnBC,OAAO,IAAIC,UAAU,EACrBC,KAAK,IAAIC,SAAS,QACZ,kBAAkB;;AAEzB;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,uBAAuB;;AAExD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EAC9C,OAAOZ,SAAS,CACba,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC,OAAO;MAAEC;IAAsB,CAAC,GACxDH,MAAM,CAAEd,SAAU,CAAC;IACpB,MAAMkB,QAAQ,GAAGD,qBAAqB,CACrC,UAAU,EACVL,QAAQ,EACRC,MACD,CAAC;IACD,MAAMM,cAAc,GAAGD,QAAQ,EAAEE,eAAe;IAChD,MAAMC,UAAU,GAAGH,QAAQ,EAAEI,WAAW;IAExC,QAASH,cAAc;MACtB,KAAK,OAAO;QAAE;UACb,OAAO;YACNI,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEnB,SAAS;YACfoB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKjB,gBAAgB,CAACkB;UACvC,CAAC;QACF;MACA,KAAK,QAAQ;QAAE;UACd,OAAO;YACNL,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEjB,UAAU;YAChBkB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKjB,gBAAgB,CAACkB;UACvC,CAAC;QACF;MACA,KAAK,MAAM;QAAE;UACZ,MAAMC,QAAQ,GAAGd,eAAe,CAC/B,MAAM,EACN,gBACD,CAAC;UACD,OAAO;YACNQ,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEf,SAAS;YACfqB,QAAQ,EAAED,QAAQ,EAAEE,SAAS,GAC1BhB,eAAe,CACf,UAAU,EACV,YAAY,EACZc,QAAQ,CAACE,SACT,CAAC,EAAEC,UAAU,GACbC,SAAS;YACZR,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EAAE;UACf,CAAC;QACF;MACA;QAAS;UACR,MAAMQ,IAAI,GAAGlB,OAAO,CAAEE,QAAQ,CAACiB,MAAO,CAAC;UACvC,OAAO;YACNZ,IAAI,EAAE,MAAM;YACZC,IAAI,EAAErB,UAAU;YAChB2B,QAAQ,EAAEI,IAAI,EAAEE,WAAW,GAAI,EAAE,CAAE;YACnCX,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EAAE;UACf,CAAC;QACF;IACD;EACD,CAAC,EACD,CAAEd,QAAQ,EAAEC,MAAM,CACnB,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["store","coreStore","useSelect","commentAuthorAvatar","authorIcon","layout","themeIcon","plugins","pluginIcon","globe","globeIcon","TEMPLATE_ORIGINS","useAddedBy","postType","postId","select","getEntityRecord","getUser","getEditedEntityRecord","template","originalSource","original_source","authorText","author_text","type","icon","text","isCustomized","source","custom","siteData","imageUrl","site_logo","source_url","undefined","user","author","avatar_urls","name"],"sources":["@wordpress/edit-site/src/components/page-templates/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getUser, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst template = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst originalSource = template?.original_source;\n\t\t\tconst authorText = template?.author_text;\n\n\t\t\tswitch ( originalSource ) {\n\t\t\t\tcase 'theme': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'plugin': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'site': {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\t\tsiteData.site_logo\n\t\t\t\t\t\t\t )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tconst user = getUser( template.author );\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'user',\n\t\t\t\t\t\ticon: authorIcon,\n\t\t\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\t\t\ttext: authorText ?? user?.name,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,mBAAmB,IAAIC,UAAU,EACjCC,MAAM,IAAIC,SAAS,EACnBC,OAAO,IAAIC,UAAU,EACrBC,KAAK,IAAIC,SAAS,QACZ,kBAAkB;;AAEzB;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,uBAAuB;;AAExD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EAC9C,OAAOZ,SAAS,CACba,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC,OAAO;MAAEC;IAAsB,CAAC,GACxDH,MAAM,CAAEd,SAAU,CAAC;IACpB,MAAMkB,QAAQ,GAAGD,qBAAqB,CACrC,UAAU,EACVL,QAAQ,EACRC,MACD,CAAC;IACD,MAAMM,cAAc,GAAGD,QAAQ,EAAEE,eAAe;IAChD,MAAMC,UAAU,GAAGH,QAAQ,EAAEI,WAAW;IAExC,QAASH,cAAc;MACtB,KAAK,OAAO;QAAE;UACb,OAAO;YACNI,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEnB,SAAS;YACfoB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKjB,gBAAgB,CAACkB;UACvC,CAAC;QACF;MACA,KAAK,QAAQ;QAAE;UACd,OAAO;YACNL,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEjB,UAAU;YAChBkB,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EACXR,QAAQ,CAACS,MAAM,KAAKjB,gBAAgB,CAACkB;UACvC,CAAC;QACF;MACA,KAAK,MAAM;QAAE;UACZ,MAAMC,QAAQ,GAAGd,eAAe,CAC/B,MAAM,EACN,gBACD,CAAC;UACD,OAAO;YACNQ,IAAI,EAAEJ,cAAc;YACpBK,IAAI,EAAEf,SAAS;YACfqB,QAAQ,EAAED,QAAQ,EAAEE,SAAS,GAC1BhB,eAAe,CACf,UAAU,EACV,YAAY,EACZc,QAAQ,CAACE,SACT,CAAC,EAAEC,UAAU,GACbC,SAAS;YACZR,IAAI,EAAEJ,UAAU;YAChBK,YAAY,EAAE;UACf,CAAC;QACF;MACA;QAAS;UACR,MAAMQ,IAAI,GAAGlB,OAAO,CAAEE,QAAQ,CAACiB,MAAO,CAAC;UACvC,OAAO;YACNZ,IAAI,EAAE,MAAM;YACZC,IAAI,EAAErB,UAAU;YAChB2B,QAAQ,EAAEI,IAAI,EAAEE,WAAW,GAAI,EAAE,CAAE;YACnCX,IAAI,EAAEJ,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAIa,IAAI,EAAEG,IAAI;YAC9BX,YAAY,EAAE;UACf,CAAC;QACF;IACD;EACD,CAAC,EACD,CAAEd,QAAQ,EAAEC,MAAM,CACnB,CAAC;AACF","ignoreList":[]}
@@ -3,11 +3,13 @@
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { useState, useMemo, useCallback, useEffect } from '@wordpress/element';
6
- import { privateApis as corePrivateApis } from '@wordpress/core-data';
6
+ import { privateApis as corePrivateApis, store as coreStore } from '@wordpress/core-data';
7
7
  import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
8
8
  import { privateApis as routerPrivateApis } from '@wordpress/router';
9
9
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
10
10
  import { addQueryArgs } from '@wordpress/url';
11
+ import { useSelect } from '@wordpress/data';
12
+ import { useEvent } from '@wordpress/compose';
11
13
 
12
14
  /**
13
15
  * Internal dependencies
@@ -16,9 +18,8 @@ import Page from '../page';
16
18
  import AddNewTemplate from '../add-new-template';
17
19
  import { TEMPLATE_POST_TYPE, OPERATOR_IS_ANY, LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST } from '../../utils/constants';
18
20
  import { unlock } from '../../lock-unlock';
19
- import { useEditPostAction } from '../dataviews-actions';
20
- import { authorField, descriptionField, previewField } from './fields';
21
- import { useEvent } from '@wordpress/compose';
21
+ import { useEditPostAction, useSetActiveTemplateAction } from '../dataviews-actions';
22
+ import { authorField, descriptionField, previewField, activeField, slugField } from './fields';
22
23
  import { jsx as _jsx } from "react/jsx-runtime";
23
24
  const {
24
25
  usePostActions,
@@ -31,7 +32,6 @@ const {
31
32
  const {
32
33
  useEntityRecordsWithPermissions
33
34
  } = unlock(corePrivateApis);
34
- const EMPTY_ARRAY = [];
35
35
  const defaultLayouts = {
36
36
  [LAYOUT_TABLE]: {
37
37
  showMedia: false
@@ -55,7 +55,7 @@ const DEFAULT_VIEW = {
55
55
  titleField: 'title',
56
56
  descriptionField: 'description',
57
57
  mediaField: 'preview',
58
- fields: ['author'],
58
+ fields: ['author', 'active', 'slug'],
59
59
  filters: [],
60
60
  ...defaultLayouts[LAYOUT_GRID]
61
61
  };
@@ -65,7 +65,7 @@ export default function PageTemplates() {
65
65
  query
66
66
  } = useLocation();
67
67
  const {
68
- activeView = 'all',
68
+ activeView = 'active',
69
69
  layout,
70
70
  postId
71
71
  } = query;
@@ -75,7 +75,7 @@ export default function PageTemplates() {
75
75
  return {
76
76
  ...DEFAULT_VIEW,
77
77
  type: usedType,
78
- filters: activeView !== 'all' ? [{
78
+ filters: !['active', 'user'].includes(activeView) ? [{
79
79
  field: 'author',
80
80
  operator: 'isAny',
81
81
  value: [activeView]
@@ -97,19 +97,95 @@ export default function PageTemplates() {
97
97
  useEffect(() => {
98
98
  setView(currentView => ({
99
99
  ...currentView,
100
- filters: activeView !== 'all' ? [{
100
+ filters: !['active', 'user'].includes(activeView) ? [{
101
101
  field: 'author',
102
102
  operator: OPERATOR_IS_ANY,
103
103
  value: [activeView]
104
104
  }] : []
105
105
  }));
106
106
  }, [setView, activeView]);
107
+ const activeTemplatesOption = useSelect(select => select(coreStore).getEntityRecord('root', 'site')?.active_templates);
108
+ // Todo: this will have to be better so that we're not fetching all the
109
+ // records all the time. Active templates query will need to move server
110
+ // side.
107
111
  const {
108
- records,
109
- isResolving: isLoadingData
112
+ records: userRecords,
113
+ isResolving: isLoadingUserRecords
110
114
  } = useEntityRecordsWithPermissions('postType', TEMPLATE_POST_TYPE, {
111
115
  per_page: -1
112
116
  });
117
+ const {
118
+ records: staticRecords,
119
+ isResolving: isLoadingStaticData
120
+ } = useEntityRecordsWithPermissions('postType', 'wp_registered_template', {
121
+ per_page: -1
122
+ });
123
+ const activeTemplates = useMemo(() => {
124
+ const _active = [...staticRecords].filter(record => !record.is_custom);
125
+ if (activeTemplatesOption) {
126
+ for (const activeSlug in activeTemplatesOption) {
127
+ const activeId = activeTemplatesOption[activeSlug];
128
+ if (activeId === false) {
129
+ // Remove the template from the array.
130
+ const index = _active.findIndex(template => template.slug === activeSlug);
131
+ if (index !== -1) {
132
+ _active.splice(index, 1);
133
+ }
134
+ } else {
135
+ // Replace the template in the array.
136
+ const template = userRecords.find(({
137
+ id
138
+ }) => id === activeId);
139
+ if (template) {
140
+ const index = _active.findIndex(({
141
+ slug
142
+ }) => slug === template.slug);
143
+ if (index !== -1) {
144
+ _active[index] = template;
145
+ } else {
146
+ _active.push(template);
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ return _active;
153
+ }, [userRecords, staticRecords, activeTemplatesOption]);
154
+ let _records;
155
+ let isLoadingData;
156
+ if (activeView === 'active') {
157
+ _records = activeTemplates;
158
+ isLoadingData = isLoadingUserRecords || isLoadingStaticData;
159
+ } else if (activeView === 'user') {
160
+ _records = userRecords;
161
+ isLoadingData = isLoadingUserRecords;
162
+ } else {
163
+ _records = staticRecords;
164
+ isLoadingData = isLoadingStaticData;
165
+ }
166
+ const records = useMemo(() => {
167
+ return _records.map(record => ({
168
+ ...record,
169
+ _isActive: typeof record.id === 'string' ? activeTemplatesOption[record.slug] === record.id || activeTemplatesOption[record.slug] === undefined : Object.values(activeTemplatesOption).includes(record.id)
170
+ }));
171
+ }, [_records, activeTemplatesOption]);
172
+ const users = useSelect(select => {
173
+ const {
174
+ getUser
175
+ } = select(coreStore);
176
+ return records.reduce((acc, record) => {
177
+ if (record.author_text) {
178
+ if (!acc[record.author_text]) {
179
+ acc[record.author_text] = record.author_text;
180
+ }
181
+ } else if (record.author) {
182
+ if (!acc[record.author]) {
183
+ acc[record.author] = getUser(record.author);
184
+ }
185
+ }
186
+ return acc;
187
+ }, {});
188
+ }, [records]);
113
189
  const history = useHistory();
114
190
  const onChangeSelection = useCallback(items => {
115
191
  setSelection(items);
@@ -119,23 +195,22 @@ export default function PageTemplates() {
119
195
  }));
120
196
  }
121
197
  }, [history, path, view?.type]);
122
- const authors = useMemo(() => {
123
- if (!records) {
124
- return EMPTY_ARRAY;
198
+ const fields = useMemo(() => {
199
+ const _fields = [previewField, templateTitleField, descriptionField, activeField, slugField];
200
+ const elements = [];
201
+ for (const author in users) {
202
+ var _users$author$id, _users$author$name;
203
+ elements.push({
204
+ value: (_users$author$id = users[author]?.id) !== null && _users$author$id !== void 0 ? _users$author$id : author,
205
+ label: (_users$author$name = users[author]?.name) !== null && _users$author$name !== void 0 ? _users$author$name : author
206
+ });
125
207
  }
126
- const authorsSet = new Set();
127
- records.forEach(template => {
128
- authorsSet.add(template.author_text);
208
+ _fields.push({
209
+ ...authorField,
210
+ elements
129
211
  });
130
- return Array.from(authorsSet).map(author => ({
131
- value: author,
132
- label: author
133
- }));
134
- }, [records]);
135
- const fields = useMemo(() => [previewField, templateTitleField, descriptionField, {
136
- ...authorField,
137
- elements: authors
138
- }], [authors]);
212
+ return _fields;
213
+ }, [users]);
139
214
  const {
140
215
  data,
141
216
  paginationInfo
@@ -147,7 +222,8 @@ export default function PageTemplates() {
147
222
  context: 'list'
148
223
  });
149
224
  const editAction = useEditPostAction();
150
- const actions = useMemo(() => [editAction, ...postTypeActions], [postTypeActions, editAction]);
225
+ const setActiveTemplateAction = useSetActiveTemplateAction();
226
+ const actions = useMemo(() => activeView === 'user' ? [setActiveTemplateAction, editAction, ...postTypeActions] : [setActiveTemplateAction, ...postTypeActions], [postTypeActions, setActiveTemplateAction, editAction, activeView]);
151
227
  const onChangeView = useEvent(newView => {
152
228
  setView(newView);
153
229
  if (newView.type !== layout) {
@@ -170,10 +246,8 @@ export default function PageTemplates() {
170
246
  onChangeView: onChangeView,
171
247
  onChangeSelection: onChangeSelection,
172
248
  isItemClickable: () => true,
173
- onClickItem: ({
174
- id
175
- }) => {
176
- history.navigate(`/wp_template/${id}?canvas=edit`);
249
+ onClickItem: item => {
250
+ history.navigate(`/${item.type}/${item.id}?canvas=edit`);
177
251
  },
178
252
  selection: selection,
179
253
  defaultLayouts: defaultLayouts
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useMemo","useCallback","useEffect","privateApis","corePrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","addQueryArgs","Page","AddNewTemplate","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","unlock","useEditPostAction","authorField","descriptionField","previewField","useEvent","jsx","_jsx","usePostActions","templateTitleField","useHistory","useLocation","useEntityRecordsWithPermissions","EMPTY_ARRAY","defaultLayouts","showMedia","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","titleField","mediaField","fields","filters","PageTemplates","path","query","activeView","layout","postId","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onChangeSelection","items","navigate","length","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","elements","data","paginationInfo","postTypeActions","postType","context","editAction","actions","onChangeView","newView","className","title","children","isLoading","isItemClickable","onClickItem","id"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport AddNewTemplate from '../add-new-template';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { authorField, descriptionField, previewField } from './fields';\nimport { useEvent } from '@wordpress/compose';\n\nconst { usePostActions, templateTitleField } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tshowMedia: false,\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tshowMedia: true,\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tshowMedia: false,\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\ttitleField: 'title',\n\tdescriptionField: 'description',\n\tmediaField: 'preview',\n\tfields: [ 'author' ],\n\tfilters: [],\n\t...defaultLayouts[ LAYOUT_GRID ],\n};\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', layout, postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t\t...defaultLayouts[ usedType ],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\n\t// Sync the layout from the URL to the view state.\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\ttype: layout ?? DEFAULT_VIEW.type,\n\t\t} ) );\n\t}, [ setView, layout ] );\n\n\t// Sync the active view from the URL to the view state.\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ setView, activeView ] );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tsetView( newView );\n\t\tif ( newView.type !== layout ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,QAAQ,oBAAoB;AAC9E,SAASC,WAAW,IAAIC,eAAe,QAAQ,sBAAsB;AACrE,SAASC,SAAS,EAAEC,qBAAqB,QAAQ,sBAAsB;AACvE,SAASH,WAAW,IAAII,iBAAiB,QAAQ,mBAAmB;AACpE,SAASJ,WAAW,IAAIK,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,YAAY,QAAQ,gBAAgB;;AAE7C;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,cAAc,MAAM,qBAAqB;AAChD,SACCC,kBAAkB,EAClBC,eAAe,EACfC,WAAW,EACXC,YAAY,EACZC,WAAW,QACL,uBAAuB;AAC9B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,WAAW,EAAEC,gBAAgB,EAAEC,YAAY,QAAQ,UAAU;AACtE,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9C,MAAM;EAAEC,cAAc;EAAEC;AAAmB,CAAC,GAAGT,MAAM,CAAET,iBAAkB,CAAC;AAC1E,MAAM;EAAEmB,UAAU;EAAEC;AAAY,CAAC,GAAGX,MAAM,CAAEV,iBAAkB,CAAC;AAC/D,MAAM;EAAEsB;AAAgC,CAAC,GAAGZ,MAAM,CAAEb,eAAgB,CAAC;AAErE,MAAM0B,WAAW,GAAG,EAAE;AAEtB,MAAMC,cAAc,GAAG;EACtB,CAAEhB,YAAY,GAAI;IACjBiB,SAAS,EAAE;EACZ,CAAC;EACD,CAAElB,WAAW,GAAI;IAChBkB,SAAS,EAAE;EACZ,CAAC;EACD,CAAEhB,WAAW,GAAI;IAChBgB,SAAS,EAAE;EACZ;AACD,CAAC;AAED,MAAMC,YAAY,GAAG;EACpBC,IAAI,EAAEpB,WAAW;EACjBqB,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE;EACZ,CAAC;EACDC,UAAU,EAAE,OAAO;EACnBrB,gBAAgB,EAAE,aAAa;EAC/BsB,UAAU,EAAE,SAAS;EACrBC,MAAM,EAAE,CAAE,QAAQ,CAAE;EACpBC,OAAO,EAAE,EAAE;EACX,GAAGb,cAAc,CAAEjB,WAAW;AAC/B,CAAC;AAED,eAAe,SAAS+B,aAAaA,CAAA,EAAG;EACvC,MAAM;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGnB,WAAW,CAAC,CAAC;EACrC,MAAM;IAAEoB,UAAU,GAAG,KAAK;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGH,KAAK;EACpD,MAAM,CAAEI,SAAS,EAAEC,YAAY,CAAE,GAAGrD,QAAQ,CAAE,CAAEmD,MAAM,CAAG,CAAC;EAE1D,MAAMG,WAAW,GAAGrD,OAAO,CAAE,MAAM;IAClC,MAAMsD,QAAQ,GAAGL,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIhB,YAAY,CAACC,IAAI;IAC5C,OAAO;MACN,GAAGD,YAAY;MACfC,IAAI,EAAEoB,QAAQ;MACdV,OAAO,EACNI,UAAU,KAAK,KAAK,GACjB,CACA;QACCT,KAAK,EAAE,QAAQ;QACfgB,QAAQ,EAAE,OAAO;QACjBC,KAAK,EAAE,CAAER,UAAU;MACpB,CAAC,CACA,GACD,EAAE;MACN,GAAGjB,cAAc,CAAEuB,QAAQ;IAC5B,CAAC;EACF,CAAC,EAAE,CAAEL,MAAM,EAAED,UAAU,CAAG,CAAC;EAC3B,MAAM,CAAES,IAAI,EAAEC,OAAO,CAAE,GAAG3D,QAAQ,CAAEsD,WAAY,CAAC;;EAEjD;EACAnD,SAAS,CAAE,MAAM;IAChBwD,OAAO,CAAIC,WAAW,KAAQ;MAC7B,GAAGA,WAAW;MACdzB,IAAI,EAAEe,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIhB,YAAY,CAACC;IAC9B,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEwB,OAAO,EAAET,MAAM,CAAG,CAAC;;EAExB;EACA/C,SAAS,CAAE,MAAM;IAChBwD,OAAO,CAAIC,WAAW,KAAQ;MAC7B,GAAGA,WAAW;MACdf,OAAO,EACNI,UAAU,KAAK,KAAK,GACjB,CACA;QACCT,KAAK,EAAE,QAAQ;QACfgB,QAAQ,EAAE1C,eAAe;QACzB2C,KAAK,EAAE,CAAER,UAAU;MACpB,CAAC,CACA,GACD;IACL,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEU,OAAO,EAAEV,UAAU,CAAG,CAAC;EAE5B,MAAM;IAAEY,OAAO;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAC5CjC,+BAA+B,CAAE,UAAU,EAAEjB,kBAAkB,EAAE;IAChEmD,QAAQ,EAAE,CAAC;EACZ,CAAE,CAAC;EACJ,MAAMC,OAAO,GAAGrC,UAAU,CAAC,CAAC;EAC5B,MAAMsC,iBAAiB,GAAGhE,WAAW,CAClCiE,KAAK,IAAM;IACZd,YAAY,CAAEc,KAAM,CAAC;IACrB,IAAKT,IAAI,EAAEvB,IAAI,KAAKlB,WAAW,EAAG;MACjCgD,OAAO,CAACG,QAAQ,CACf1D,YAAY,CAAEqC,IAAI,EAAE;QACnBI,MAAM,EAAEgB,KAAK,CAACE,MAAM,KAAK,CAAC,GAAGF,KAAK,CAAE,CAAC,CAAE,GAAGG;MAC3C,CAAE,CACH,CAAC;IACF;EACD,CAAC,EACD,CAAEL,OAAO,EAAElB,IAAI,EAAEW,IAAI,EAAEvB,IAAI,CAC5B,CAAC;EAED,MAAMoC,OAAO,GAAGtE,OAAO,CAAE,MAAM;IAC9B,IAAK,CAAE4D,OAAO,EAAG;MAChB,OAAO9B,WAAW;IACnB;IACA,MAAMyC,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5BZ,OAAO,CAACa,OAAO,CAAIC,QAAQ,IAAM;MAChCH,UAAU,CAACI,GAAG,CAAED,QAAQ,CAACE,WAAY,CAAC;IACvC,CAAE,CAAC;IACH,OAAOC,KAAK,CAACC,IAAI,CAAEP,UAAW,CAAC,CAACQ,GAAG,CAAIC,MAAM,KAAQ;MACpDxB,KAAK,EAAEwB,MAAM;MACbC,KAAK,EAAED;IACR,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEpB,OAAO,CAAG,CAAC;EAEhB,MAAMjB,MAAM,GAAG3C,OAAO,CACrB,MAAM,CACLqB,YAAY,EACZK,kBAAkB,EAClBN,gBAAgB,EAChB;IACC,GAAGD,WAAW;IACd+D,QAAQ,EAAEZ;EACX,CAAC,CACD,EACD,CAAEA,OAAO,CACV,CAAC;EAED,MAAM;IAAEa,IAAI;IAAEC;EAAe,CAAC,GAAGpF,OAAO,CAAE,MAAM;IAC/C,OAAOM,qBAAqB,CAAEsD,OAAO,EAAEH,IAAI,EAAEd,MAAO,CAAC;EACtD,CAAC,EAAE,CAAEiB,OAAO,EAAEH,IAAI,EAAEd,MAAM,CAAG,CAAC;EAE9B,MAAM0C,eAAe,GAAG5D,cAAc,CAAE;IACvC6D,QAAQ,EAAE1E,kBAAkB;IAC5B2E,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAMC,UAAU,GAAGtE,iBAAiB,CAAC,CAAC;EACtC,MAAMuE,OAAO,GAAGzF,OAAO,CACtB,MAAM,CAAEwF,UAAU,EAAE,GAAGH,eAAe,CAAE,EACxC,CAAEA,eAAe,EAAEG,UAAU,CAC9B,CAAC;EAED,MAAME,YAAY,GAAGpE,QAAQ,CAAIqE,OAAO,IAAM;IAC7CjC,OAAO,CAAEiC,OAAQ,CAAC;IAClB,IAAKA,OAAO,CAACzD,IAAI,KAAKe,MAAM,EAAG;MAC9Be,OAAO,CAACG,QAAQ,CACf1D,YAAY,CAAEqC,IAAI,EAAE;QACnBG,MAAM,EAAE0C,OAAO,CAACzD;MACjB,CAAE,CACH,CAAC;IACF;EACD,CAAE,CAAC;EAEH,oBACCV,IAAA,CAACd,IAAI;IACJkF,SAAS,EAAC,0BAA0B;IACpCC,KAAK,EAAG/F,EAAE,CAAE,WAAY,CAAG;IAC3B2F,OAAO,eAAGjE,IAAA,CAACb,cAAc,IAAE,CAAG;IAAAmF,QAAA,eAE9BtE,IAAA,CAACnB,SAAS;MAET+E,cAAc,EAAGA,cAAgB;MACjCzC,MAAM,EAAGA,MAAQ;MACjB8C,OAAO,EAAGA,OAAS;MACnBN,IAAI,EAAGA,IAAM;MACbY,SAAS,EAAGjC,aAAe;MAC3BL,IAAI,EAAGA,IAAM;MACbiC,YAAY,EAAGA,YAAc;MAC7BzB,iBAAiB,EAAGA,iBAAmB;MACvC+B,eAAe,EAAGA,CAAA,KAAM,IAAM;MAC9BC,WAAW,EAAGA,CAAE;QAAEC;MAAG,CAAC,KAAM;QAC3BlC,OAAO,CAACG,QAAQ,CAAE,gBAAiB+B,EAAE,cAAgB,CAAC;MACvD,CAAG;MACH/C,SAAS,EAAGA,SAAW;MACvBpB,cAAc,EAAGA;IAAgB,GAd3BiB,UAeN;EAAC,CACG,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["__","useState","useMemo","useCallback","useEffect","privateApis","corePrivateApis","store","coreStore","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","addQueryArgs","useSelect","useEvent","Page","AddNewTemplate","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","unlock","useEditPostAction","useSetActiveTemplateAction","authorField","descriptionField","previewField","activeField","slugField","jsx","_jsx","usePostActions","templateTitleField","useHistory","useLocation","useEntityRecordsWithPermissions","defaultLayouts","showMedia","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","titleField","mediaField","fields","filters","PageTemplates","path","query","activeView","layout","postId","selection","setSelection","defaultView","usedType","includes","operator","value","view","setView","currentView","activeTemplatesOption","select","getEntityRecord","active_templates","records","userRecords","isResolving","isLoadingUserRecords","per_page","staticRecords","isLoadingStaticData","activeTemplates","_active","filter","record","is_custom","activeSlug","activeId","index","findIndex","template","slug","splice","find","id","push","_records","isLoadingData","map","_isActive","undefined","Object","values","users","getUser","reduce","acc","author_text","author","history","onChangeSelection","items","navigate","length","_fields","elements","_users$author$id","_users$author$name","label","name","data","paginationInfo","postTypeActions","postType","context","editAction","setActiveTemplateAction","actions","onChangeView","newView","className","title","children","isLoading","isItemClickable","onClickItem","item"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useSelect } from '@wordpress/data';\nimport { useEvent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport AddNewTemplate from '../add-new-template';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseSetActiveTemplateAction,\n} from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\tactiveField,\n\tslugField,\n} from './fields';\n\nconst { usePostActions, templateTitleField } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tshowMedia: false,\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tshowMedia: true,\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tshowMedia: false,\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\ttitleField: 'title',\n\tdescriptionField: 'description',\n\tmediaField: 'preview',\n\tfields: [ 'author', 'active', 'slug' ],\n\tfilters: [],\n\t...defaultLayouts[ LAYOUT_GRID ],\n};\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'active', layout, postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tfilters: ! [ 'active', 'user' ].includes( activeView )\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t},\n\t\t\t\t ]\n\t\t\t\t: [],\n\t\t\t...defaultLayouts[ usedType ],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\n\t// Sync the layout from the URL to the view state.\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\ttype: layout ?? DEFAULT_VIEW.type,\n\t\t} ) );\n\t}, [ setView, layout ] );\n\n\t// Sync the active view from the URL to the view state.\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters: ! [ 'active', 'user' ].includes( activeView )\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t},\n\t\t\t\t ]\n\t\t\t\t: [],\n\t\t} ) );\n\t}, [ setView, activeView ] );\n\n\tconst activeTemplatesOption = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )\n\t\t\t\t?.active_templates\n\t);\n\t// Todo: this will have to be better so that we're not fetching all the\n\t// records all the time. Active templates query will need to move server\n\t// side.\n\tconst { records: userRecords, isResolving: isLoadingUserRecords } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst { records: staticRecords, isResolving: isLoadingStaticData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', 'wp_registered_template', {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst activeTemplates = useMemo( () => {\n\t\tconst _active = [ ...staticRecords ].filter(\n\t\t\t( record ) => ! record.is_custom\n\t\t);\n\t\tif ( activeTemplatesOption ) {\n\t\t\tfor ( const activeSlug in activeTemplatesOption ) {\n\t\t\t\tconst activeId = activeTemplatesOption[ activeSlug ];\n\t\t\t\tif ( activeId === false ) {\n\t\t\t\t\t// Remove the template from the array.\n\t\t\t\t\tconst index = _active.findIndex(\n\t\t\t\t\t\t( template ) => template.slug === activeSlug\n\t\t\t\t\t);\n\t\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\t\t_active.splice( index, 1 );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Replace the template in the array.\n\t\t\t\t\tconst template = userRecords.find(\n\t\t\t\t\t\t( { id } ) => id === activeId\n\t\t\t\t\t);\n\t\t\t\t\tif ( template ) {\n\t\t\t\t\t\tconst index = _active.findIndex(\n\t\t\t\t\t\t\t( { slug } ) => slug === template.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\t\t\t_active[ index ] = template;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_active.push( template );\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}\n\t\treturn _active;\n\t}, [ userRecords, staticRecords, activeTemplatesOption ] );\n\n\tlet _records;\n\tlet isLoadingData;\n\tif ( activeView === 'active' ) {\n\t\t_records = activeTemplates;\n\t\tisLoadingData = isLoadingUserRecords || isLoadingStaticData;\n\t} else if ( activeView === 'user' ) {\n\t\t_records = userRecords;\n\t\tisLoadingData = isLoadingUserRecords;\n\t} else {\n\t\t_records = staticRecords;\n\t\tisLoadingData = isLoadingStaticData;\n\t}\n\n\tconst records = useMemo( () => {\n\t\treturn _records.map( ( record ) => ( {\n\t\t\t...record,\n\t\t\t_isActive:\n\t\t\t\ttypeof record.id === 'string'\n\t\t\t\t\t? activeTemplatesOption[ record.slug ] === record.id ||\n\t\t\t\t\t activeTemplatesOption[ record.slug ] === undefined\n\t\t\t\t\t: Object.values( activeTemplatesOption ).includes(\n\t\t\t\t\t\t\trecord.id\n\t\t\t\t\t ),\n\t\t} ) );\n\t}, [ _records, activeTemplatesOption ] );\n\n\tconst users = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser } = select( coreStore );\n\t\t\treturn records.reduce( ( acc, record ) => {\n\t\t\t\tif ( record.author_text ) {\n\t\t\t\t\tif ( ! acc[ record.author_text ] ) {\n\t\t\t\t\t\tacc[ record.author_text ] = record.author_text;\n\t\t\t\t\t}\n\t\t\t\t} else if ( record.author ) {\n\t\t\t\t\tif ( ! acc[ record.author ] ) {\n\t\t\t\t\t\tacc[ record.author ] = getUser( record.author );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ records ]\n\t);\n\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\tactiveField,\n\t\t\tslugField,\n\t\t];\n\t\tconst elements = [];\n\t\tfor ( const author in users ) {\n\t\t\telements.push( {\n\t\t\t\tvalue: users[ author ]?.id ?? author,\n\t\t\t\tlabel: users[ author ]?.name ?? author,\n\t\t\t} );\n\t\t}\n\t\t_fields.push( {\n\t\t\t...authorField,\n\t\t\telements,\n\t\t} );\n\t\treturn _fields;\n\t}, [ users ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst setActiveTemplateAction = useSetActiveTemplateAction();\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tactiveView === 'user'\n\t\t\t\t? [ setActiveTemplateAction, editAction, ...postTypeActions ]\n\t\t\t\t: [ setActiveTemplateAction, ...postTypeActions ],\n\t\t[ postTypeActions, setActiveTemplateAction, editAction, activeView ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tsetView( newView );\n\t\tif ( newView.type !== layout ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t`/${ item.type }/${ item.id }?canvas=edit`\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,6 @@ import { addQueryArgs } from '@wordpress/url';
14
14
  import SidebarNavigationItem from '../sidebar-navigation-item';
15
15
  import { useAddedBy } from '../page-templates/hooks';
16
16
  import { layout } from '@wordpress/icons';
17
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
18
17
  import { unlock } from '../../lock-unlock';
19
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
19
  const {
@@ -41,12 +40,12 @@ function TemplateDataviewItem({
41
40
  export default function DataviewsTemplatesSidebarContent() {
42
41
  const {
43
42
  query: {
44
- activeView = 'all'
43
+ activeView = 'active'
45
44
  }
46
45
  } = useLocation();
47
46
  const {
48
47
  records
49
- } = useEntityRecords('postType', TEMPLATE_POST_TYPE, {
48
+ } = useEntityRecords('postType', 'wp_registered_template', {
50
49
  per_page: -1
51
50
  });
52
51
  const firstItemPerAuthorText = useMemo(() => {
@@ -65,8 +64,15 @@ export default function DataviewsTemplatesSidebarContent() {
65
64
  children: [/*#__PURE__*/_jsx(SidebarNavigationItem, {
66
65
  to: "/template",
67
66
  icon: layout,
68
- "aria-current": activeView === 'all',
69
- children: __('All templates')
67
+ "aria-current": activeView === 'active',
68
+ children: __('Active templates')
69
+ }), /*#__PURE__*/_jsx(SidebarNavigationItem, {
70
+ to: addQueryArgs('/template', {
71
+ activeView: 'user'
72
+ }),
73
+ icon: layout,
74
+ "aria-current": activeView === 'user',
75
+ children: __('Custom templates')
70
76
  }), firstItemPerAuthorText.map(template => {
71
77
  return /*#__PURE__*/_jsx(TemplateDataviewItem, {
72
78
  template: template,
@@ -1 +1 @@
1
- {"version":3,"names":["useEntityRecords","useMemo","__experimentalItemGroup","ItemGroup","__","privateApis","routerPrivateApis","addQueryArgs","SidebarNavigationItem","useAddedBy","layout","TEMPLATE_POST_TYPE","unlock","jsx","_jsx","jsxs","_jsxs","useLocation","EMPTY_ARRAY","TemplateDataviewItem","template","isActive","text","icon","type","id","to","activeView","children","DataviewsTemplatesSidebarContent","query","records","per_page","firstItemPerAuthorText","_ref","firstItemPerAuthor","reduce","acc","author","author_text","Object","values","className","map"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { layout } from '@wordpress/icons';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction TemplateDataviewItem( { template, isActive } ) {\n\tconst { text, icon } = useAddedBy( template.type, template.id );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tto={ addQueryArgs( '/template', { activeView: text } ) }\n\t\t\ticon={ icon }\n\t\t\taria-current={ isActive }\n\t\t>\n\t\t\t{ text }\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function DataviewsTemplatesSidebarContent() {\n\tconst {\n\t\tquery: { activeView = 'all' },\n\t} = useLocation();\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\tconst firstItemPerAuthorText = useMemo( () => {\n\t\tconst firstItemPerAuthor = records?.reduce( ( acc, template ) => {\n\t\t\tconst author = template.author_text;\n\t\t\tif ( author && ! acc[ author ] ) {\n\t\t\t\tacc[ author ] = template;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn (\n\t\t\t( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??\n\t\t\tEMPTY_ARRAY\n\t\t);\n\t}, [ records ] );\n\n\treturn (\n\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-templates-browse\">\n\t\t\t<SidebarNavigationItem\n\t\t\t\tto=\"/template\"\n\t\t\t\ticon={ layout }\n\t\t\t\taria-current={ activeView === 'all' }\n\t\t\t>\n\t\t\t\t{ __( 'All templates' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ firstItemPerAuthorText.map( ( template ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<TemplateDataviewItem\n\t\t\t\t\t\tkey={ template.author_text }\n\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\tisActive={ activeView === template.author_text }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,uBAAuB,IAAIC,SAAS,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,YAAY,QAAQ,gBAAgB;;AAE7C;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEN,iBAAkB,CAAC;AAEnD,MAAMY,WAAW,GAAG,EAAE;AAEtB,SAASC,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGd,UAAU,CAAEW,QAAQ,CAACI,IAAI,EAAEJ,QAAQ,CAACK,EAAG,CAAC;EAE/D,oBACCX,IAAA,CAACN,qBAAqB;IACrBkB,EAAE,EAAGnB,YAAY,CAAE,WAAW,EAAE;MAAEoB,UAAU,EAAEL;IAAK,CAAE,CAAG;IACxDC,IAAI,EAAGA,IAAM;IACb,gBAAeF,QAAU;IAAAO,QAAA,EAEvBN;EAAI,CACgB,CAAC;AAE1B;AAEA,eAAe,SAASO,gCAAgCA,CAAA,EAAG;EAC1D,MAAM;IACLC,KAAK,EAAE;MAAEH,UAAU,GAAG;IAAM;EAC7B,CAAC,GAAGV,WAAW,CAAC,CAAC;EACjB,MAAM;IAAEc;EAAQ,CAAC,GAAG/B,gBAAgB,CAAE,UAAU,EAAEW,kBAAkB,EAAE;IACrEqB,QAAQ,EAAE,CAAC;EACZ,CAAE,CAAC;EACH,MAAMC,sBAAsB,GAAGhC,OAAO,CAAE,MAAM;IAAA,IAAAiC,IAAA;IAC7C,MAAMC,kBAAkB,GAAGJ,OAAO,EAAEK,MAAM,CAAE,CAAEC,GAAG,EAAEjB,QAAQ,KAAM;MAChE,MAAMkB,MAAM,GAAGlB,QAAQ,CAACmB,WAAW;MACnC,IAAKD,MAAM,IAAI,CAAED,GAAG,CAAEC,MAAM,CAAE,EAAG;QAChCD,GAAG,CAAEC,MAAM,CAAE,GAAGlB,QAAQ;MACzB;MACA,OAAOiB,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACP,QAAAH,IAAA,GACGC,kBAAkB,IAAIK,MAAM,CAACC,MAAM,CAAEN,kBAAmB,CAAC,cAAAD,IAAA,cAAAA,IAAA,GAC3DhB,WAAW;EAEb,CAAC,EAAE,CAAEa,OAAO,CAAG,CAAC;EAEhB,oBACCf,KAAA,CAACb,SAAS;IAACuC,SAAS,EAAC,sDAAsD;IAAAd,QAAA,gBAC1Ed,IAAA,CAACN,qBAAqB;MACrBkB,EAAE,EAAC,WAAW;MACdH,IAAI,EAAGb,MAAQ;MACf,gBAAeiB,UAAU,KAAK,KAAO;MAAAC,QAAA,EAEnCxB,EAAE,CAAE,eAAgB;IAAC,CACD,CAAC,EACtB6B,sBAAsB,CAACU,GAAG,CAAIvB,QAAQ,IAAM;MAC7C,oBACCN,IAAA,CAACK,oBAAoB;QAEpBC,QAAQ,EAAGA,QAAU;QACrBC,QAAQ,EAAGM,UAAU,KAAKP,QAAQ,CAACmB;MAAa,GAF1CnB,QAAQ,CAACmB,WAGf,CAAC;IAEJ,CAAE,CAAC;EAAA,CACO,CAAC;AAEd","ignoreList":[]}
1
+ {"version":3,"names":["useEntityRecords","useMemo","__experimentalItemGroup","ItemGroup","__","privateApis","routerPrivateApis","addQueryArgs","SidebarNavigationItem","useAddedBy","layout","unlock","jsx","_jsx","jsxs","_jsxs","useLocation","EMPTY_ARRAY","TemplateDataviewItem","template","isActive","text","icon","type","id","to","activeView","children","DataviewsTemplatesSidebarContent","query","records","per_page","firstItemPerAuthorText","_ref","firstItemPerAuthor","reduce","acc","author","author_text","Object","values","className","map"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { layout } from '@wordpress/icons';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction TemplateDataviewItem( { template, isActive } ) {\n\tconst { text, icon } = useAddedBy( template.type, template.id );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tto={ addQueryArgs( '/template', { activeView: text } ) }\n\t\t\ticon={ icon }\n\t\t\taria-current={ isActive }\n\t\t>\n\t\t\t{ text }\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function DataviewsTemplatesSidebarContent() {\n\tconst {\n\t\tquery: { activeView = 'active' },\n\t} = useLocation();\n\tconst { records } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_registered_template',\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst firstItemPerAuthorText = useMemo( () => {\n\t\tconst firstItemPerAuthor = records?.reduce( ( acc, template ) => {\n\t\t\tconst author = template.author_text;\n\t\t\tif ( author && ! acc[ author ] ) {\n\t\t\t\tacc[ author ] = template;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn (\n\t\t\t( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??\n\t\t\tEMPTY_ARRAY\n\t\t);\n\t}, [ records ] );\n\n\treturn (\n\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-templates-browse\">\n\t\t\t<SidebarNavigationItem\n\t\t\t\tto=\"/template\"\n\t\t\t\ticon={ layout }\n\t\t\t\taria-current={ activeView === 'active' }\n\t\t\t>\n\t\t\t\t{ __( 'Active templates' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tto={ addQueryArgs( '/template', { activeView: 'user' } ) }\n\t\t\t\ticon={ layout }\n\t\t\t\taria-current={ activeView === 'user' }\n\t\t\t>\n\t\t\t\t{ __( 'Custom templates' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ firstItemPerAuthorText.map( ( template ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<TemplateDataviewItem\n\t\t\t\t\t\tkey={ template.author_text }\n\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\tisActive={ activeView === template.author_text }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,uBAAuB,IAAIC,SAAS,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,YAAY,QAAQ,gBAAgB;;AAE7C;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEL,iBAAkB,CAAC;AAEnD,MAAMW,WAAW,GAAG,EAAE;AAEtB,SAASC,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGb,UAAU,CAAEU,QAAQ,CAACI,IAAI,EAAEJ,QAAQ,CAACK,EAAG,CAAC;EAE/D,oBACCX,IAAA,CAACL,qBAAqB;IACrBiB,EAAE,EAAGlB,YAAY,CAAE,WAAW,EAAE;MAAEmB,UAAU,EAAEL;IAAK,CAAE,CAAG;IACxDC,IAAI,EAAGA,IAAM;IACb,gBAAeF,QAAU;IAAAO,QAAA,EAEvBN;EAAI,CACgB,CAAC;AAE1B;AAEA,eAAe,SAASO,gCAAgCA,CAAA,EAAG;EAC1D,MAAM;IACLC,KAAK,EAAE;MAAEH,UAAU,GAAG;IAAS;EAChC,CAAC,GAAGV,WAAW,CAAC,CAAC;EACjB,MAAM;IAAEc;EAAQ,CAAC,GAAG9B,gBAAgB,CACnC,UAAU,EACV,wBAAwB,EACxB;IACC+B,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EACD,MAAMC,sBAAsB,GAAG/B,OAAO,CAAE,MAAM;IAAA,IAAAgC,IAAA;IAC7C,MAAMC,kBAAkB,GAAGJ,OAAO,EAAEK,MAAM,CAAE,CAAEC,GAAG,EAAEjB,QAAQ,KAAM;MAChE,MAAMkB,MAAM,GAAGlB,QAAQ,CAACmB,WAAW;MACnC,IAAKD,MAAM,IAAI,CAAED,GAAG,CAAEC,MAAM,CAAE,EAAG;QAChCD,GAAG,CAAEC,MAAM,CAAE,GAAGlB,QAAQ;MACzB;MACA,OAAOiB,GAAG;IACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACP,QAAAH,IAAA,GACGC,kBAAkB,IAAIK,MAAM,CAACC,MAAM,CAAEN,kBAAmB,CAAC,cAAAD,IAAA,cAAAA,IAAA,GAC3DhB,WAAW;EAEb,CAAC,EAAE,CAAEa,OAAO,CAAG,CAAC;EAEhB,oBACCf,KAAA,CAACZ,SAAS;IAACsC,SAAS,EAAC,sDAAsD;IAAAd,QAAA,gBAC1Ed,IAAA,CAACL,qBAAqB;MACrBiB,EAAE,EAAC,WAAW;MACdH,IAAI,EAAGZ,MAAQ;MACf,gBAAegB,UAAU,KAAK,QAAU;MAAAC,QAAA,EAEtCvB,EAAE,CAAE,kBAAmB;IAAC,CACJ,CAAC,eACxBS,IAAA,CAACL,qBAAqB;MACrBiB,EAAE,EAAGlB,YAAY,CAAE,WAAW,EAAE;QAAEmB,UAAU,EAAE;MAAO,CAAE,CAAG;MAC1DJ,IAAI,EAAGZ,MAAQ;MACf,gBAAegB,UAAU,KAAK,MAAQ;MAAAC,QAAA,EAEpCvB,EAAE,CAAE,kBAAmB;IAAC,CACJ,CAAC,EACtB4B,sBAAsB,CAACU,GAAG,CAAIvB,QAAQ,IAAM;MAC7C,oBACCN,IAAA,CAACK,oBAAoB;QAEpBC,QAAQ,EAAGA,QAAU;QACrBC,QAAQ,EAAGM,UAAU,KAAKP,QAAQ,CAACmB;MAAa,GAF1CnB,QAAQ,CAACmB,WAGf,CAAC;IAEJ,CAAE,CAAC;EAAA,CACO,CAAC;AAEd","ignoreList":[]}
@@ -17,12 +17,12 @@ import { patternsRoute } from './patterns';
17
17
  import { patternItemRoute } from './pattern-item';
18
18
  import { templatePartItemRoute } from './template-part-item';
19
19
  import { templatesRoute } from './templates';
20
- import { templateItemRoute } from './template-item';
20
+ import { templateItemRoute, staticTemplateItemRoute } from './template-item';
21
21
  import { pagesRoute } from './pages';
22
22
  import { pageItemRoute } from './page-item';
23
23
  import { stylebookRoute } from './stylebook';
24
24
  import { notFoundRoute } from './notfound';
25
- const routes = [pageItemRoute, pagesRoute, templateItemRoute, templatesRoute, templatePartItemRoute, patternItemRoute, patternsRoute, navigationItemRoute, navigationRoute, stylesRoute, homeRoute, stylebookRoute, notFoundRoute];
25
+ const routes = [pageItemRoute, pagesRoute, templateItemRoute, staticTemplateItemRoute, templatesRoute, templatePartItemRoute, patternItemRoute, patternsRoute, navigationItemRoute, navigationRoute, stylesRoute, homeRoute, stylebookRoute, notFoundRoute];
26
26
  export function useRegisterSiteEditorRoutes() {
27
27
  const registry = useRegistry();
28
28
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["useRegistry","useDispatch","useEffect","unlock","store","siteEditorStore","homeRoute","stylesRoute","navigationRoute","navigationItemRoute","patternsRoute","patternItemRoute","templatePartItemRoute","templatesRoute","templateItemRoute","pagesRoute","pageItemRoute","stylebookRoute","notFoundRoute","routes","useRegisterSiteEditorRoutes","registry","registerRoute","batch","forEach"],"sources":["@wordpress/edit-site/src/components/site-editor-routes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as siteEditorStore } from '../../store';\nimport { homeRoute } from './home';\nimport { stylesRoute } from './styles';\nimport { navigationRoute } from './navigation';\nimport { navigationItemRoute } from './navigation-item';\nimport { patternsRoute } from './patterns';\nimport { patternItemRoute } from './pattern-item';\nimport { templatePartItemRoute } from './template-part-item';\nimport { templatesRoute } from './templates';\nimport { templateItemRoute } from './template-item';\nimport { pagesRoute } from './pages';\nimport { pageItemRoute } from './page-item';\nimport { stylebookRoute } from './stylebook';\nimport { notFoundRoute } from './notfound';\n\nconst routes = [\n\tpageItemRoute,\n\tpagesRoute,\n\ttemplateItemRoute,\n\ttemplatesRoute,\n\ttemplatePartItemRoute,\n\tpatternItemRoute,\n\tpatternsRoute,\n\tnavigationItemRoute,\n\tnavigationRoute,\n\tstylesRoute,\n\thomeRoute,\n\tstylebookRoute,\n\tnotFoundRoute,\n];\n\nexport function useRegisterSiteEditorRoutes() {\n\tconst registry = useRegistry();\n\tconst { registerRoute } = unlock( useDispatch( siteEditorStore ) );\n\tuseEffect( () => {\n\t\tregistry.batch( () => {\n\t\t\troutes.forEach( registerRoute );\n\t\t} );\n\t}, [ registry, registerRoute ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,eAAe,QAAQ,aAAa;AACtD,SAASC,SAAS,QAAQ,QAAQ;AAClC,SAASC,WAAW,QAAQ,UAAU;AACtC,SAASC,eAAe,QAAQ,cAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,aAAa,QAAQ,YAAY;AAC1C,SAASC,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,iBAAiB,QAAQ,iBAAiB;AACnD,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,aAAa,QAAQ,YAAY;AAE1C,MAAMC,MAAM,GAAG,CACdH,aAAa,EACbD,UAAU,EACVD,iBAAiB,EACjBD,cAAc,EACdD,qBAAqB,EACrBD,gBAAgB,EAChBD,aAAa,EACbD,mBAAmB,EACnBD,eAAe,EACfD,WAAW,EACXD,SAAS,EACTW,cAAc,EACdC,aAAa,CACb;AAED,OAAO,SAASE,2BAA2BA,CAAA,EAAG;EAC7C,MAAMC,QAAQ,GAAGrB,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEsB;EAAc,CAAC,GAAGnB,MAAM,CAAEF,WAAW,CAAEI,eAAgB,CAAE,CAAC;EAClEH,SAAS,CAAE,MAAM;IAChBmB,QAAQ,CAACE,KAAK,CAAE,MAAM;MACrBJ,MAAM,CAACK,OAAO,CAAEF,aAAc,CAAC;IAChC,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,QAAQ,EAAEC,aAAa,CAAG,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["useRegistry","useDispatch","useEffect","unlock","store","siteEditorStore","homeRoute","stylesRoute","navigationRoute","navigationItemRoute","patternsRoute","patternItemRoute","templatePartItemRoute","templatesRoute","templateItemRoute","staticTemplateItemRoute","pagesRoute","pageItemRoute","stylebookRoute","notFoundRoute","routes","useRegisterSiteEditorRoutes","registry","registerRoute","batch","forEach"],"sources":["@wordpress/edit-site/src/components/site-editor-routes/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as siteEditorStore } from '../../store';\nimport { homeRoute } from './home';\nimport { stylesRoute } from './styles';\nimport { navigationRoute } from './navigation';\nimport { navigationItemRoute } from './navigation-item';\nimport { patternsRoute } from './patterns';\nimport { patternItemRoute } from './pattern-item';\nimport { templatePartItemRoute } from './template-part-item';\nimport { templatesRoute } from './templates';\nimport { templateItemRoute, staticTemplateItemRoute } from './template-item';\nimport { pagesRoute } from './pages';\nimport { pageItemRoute } from './page-item';\nimport { stylebookRoute } from './stylebook';\nimport { notFoundRoute } from './notfound';\n\nconst routes = [\n\tpageItemRoute,\n\tpagesRoute,\n\ttemplateItemRoute,\n\tstaticTemplateItemRoute,\n\ttemplatesRoute,\n\ttemplatePartItemRoute,\n\tpatternItemRoute,\n\tpatternsRoute,\n\tnavigationItemRoute,\n\tnavigationRoute,\n\tstylesRoute,\n\thomeRoute,\n\tstylebookRoute,\n\tnotFoundRoute,\n];\n\nexport function useRegisterSiteEditorRoutes() {\n\tconst registry = useRegistry();\n\tconst { registerRoute } = unlock( useDispatch( siteEditorStore ) );\n\tuseEffect( () => {\n\t\tregistry.batch( () => {\n\t\t\troutes.forEach( registerRoute );\n\t\t} );\n\t}, [ registry, registerRoute ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAC1D,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,eAAe,QAAQ,aAAa;AACtD,SAASC,SAAS,QAAQ,QAAQ;AAClC,SAASC,WAAW,QAAQ,UAAU;AACtC,SAASC,eAAe,QAAQ,cAAc;AAC9C,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,aAAa,QAAQ,YAAY;AAC1C,SAASC,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,iBAAiB,EAAEC,uBAAuB,QAAQ,iBAAiB;AAC5E,SAASC,UAAU,QAAQ,SAAS;AACpC,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,cAAc,QAAQ,aAAa;AAC5C,SAASC,aAAa,QAAQ,YAAY;AAE1C,MAAMC,MAAM,GAAG,CACdH,aAAa,EACbD,UAAU,EACVF,iBAAiB,EACjBC,uBAAuB,EACvBF,cAAc,EACdD,qBAAqB,EACrBD,gBAAgB,EAChBD,aAAa,EACbD,mBAAmB,EACnBD,eAAe,EACfD,WAAW,EACXD,SAAS,EACTY,cAAc,EACdC,aAAa,CACb;AAED,OAAO,SAASE,2BAA2BA,CAAA,EAAG;EAC7C,MAAMC,QAAQ,GAAGtB,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEuB;EAAc,CAAC,GAAGpB,MAAM,CAAEF,WAAW,CAAEI,eAAgB,CAAE,CAAC;EAClEH,SAAS,CAAE,MAAM;IAChBoB,QAAQ,CAACE,KAAK,CAAE,MAAM;MACrBJ,MAAM,CAACK,OAAO,CAAEF,aAAc,CAAC;IAChC,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,QAAQ,EAAEC,aAAa,CAAG,CAAC;AACjC","ignoreList":[]}