@wordpress/edit-site 6.2.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/{add-new-page → add-new-post}/index.js +21 -17
- package/build/components/add-new-post/index.js.map +1 -0
- package/build/components/block-editor/use-site-editor-settings.js +5 -3
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +21 -3
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +0 -5
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +13 -30
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/hooks.js +0 -40
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/preview-typography.js +47 -0
- package/build/components/global-styles/preview-typography.js.map +1 -0
- package/build/components/global-styles/screen-block.js +14 -0
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +5 -1
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +1 -2
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +5 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typography-elements.js +0 -2
- package/build/components/global-styles/typography-elements.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +4 -4
- package/build/components/global-styles/variations/variation.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +4 -3
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +14 -28
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-sidebar/index.js +2 -2
- package/build/components/global-styles-sidebar/index.js.map +1 -1
- package/build/components/layout/index.js +16 -8
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +20 -41
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/index.js +43 -39
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +29 -4
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +22 -55
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/index.js +18 -19
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/pagination/index.js +4 -4
- package/build/components/pagination/index.js.map +1 -1
- package/build/components/posts-app/index.js +11 -17
- package/build/components/posts-app/index.js.map +1 -1
- package/build/components/{page-pages/index.js → posts-app/posts-list.js} +135 -40
- package/build/components/posts-app/posts-list.js.map +1 -0
- package/build/components/posts-app/router.js +85 -0
- package/build/components/posts-app/router.js.map +1 -0
- package/build/components/revisions/index.js +10 -7
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -1
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +98 -84
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +4 -1
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +3 -3
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/site-hub/index.js +81 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +65 -42
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/posts.js +57 -2
- package/build/posts.js.map +1 -1
- package/build/store/private-actions.js +7 -2
- package/build/store/private-actions.js.map +1 -1
- package/build-module/components/{add-new-page → add-new-post}/index.js +21 -17
- package/build-module/components/add-new-post/index.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +5 -3
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +21 -3
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +0 -5
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +14 -31
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +0 -38
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/preview-typography.js +39 -0
- package/build-module/components/global-styles/preview-typography.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +15 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-layout.js +5 -1
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +1 -2
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +6 -6
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typography-elements.js +0 -2
- package/build-module/components/global-styles/typography-elements.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +5 -5
- package/build-module/components/global-styles/variations/variation.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +4 -3
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +16 -29
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-sidebar/index.js +2 -2
- package/build-module/components/global-styles-sidebar/index.js.map +1 -1
- package/build-module/components/layout/index.js +14 -8
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +20 -41
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/index.js +44 -40
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +28 -4
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +23 -56
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/index.js +18 -19
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/pagination/index.js +4 -4
- package/build-module/components/pagination/index.js.map +1 -1
- package/build-module/components/posts-app/index.js +11 -17
- package/build-module/components/posts-app/index.js.map +1 -1
- package/build-module/components/{page-pages/index.js → posts-app/posts-list.js} +134 -39
- package/build-module/components/posts-app/posts-list.js.map +1 -0
- package/build-module/components/posts-app/router.js +77 -0
- package/build-module/components/posts-app/router.js.map +1 -0
- package/build-module/components/revisions/index.js +10 -7
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +1 -1
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +4 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +96 -83
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +5 -2
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +3 -3
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/site-hub/index.js +81 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +61 -38
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +7 -2
- package/build-module/index.js.map +1 -1
- package/build-module/posts.js +57 -2
- package/build-module/posts.js.map +1 -1
- package/build-module/store/private-actions.js +7 -2
- package/build-module/store/private-actions.js.map +1 -1
- package/build-style/posts-rtl.css +108 -28
- package/build-style/posts.css +108 -28
- package/build-style/style-rtl.css +112 -144
- package/build-style/style.css +112 -144
- package/package.json +41 -41
- package/src/components/{add-new-page → add-new-post}/index.js +28 -22
- package/src/components/block-editor/use-site-editor-settings.js +33 -28
- package/src/components/editor/index.js +21 -5
- package/src/components/global-styles/background-panel.js +0 -8
- package/src/components/global-styles/font-library-modal/font-collection.js +17 -32
- package/src/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/src/components/global-styles/font-library-modal/style.scss +17 -10
- package/src/components/global-styles/hooks.js +0 -41
- package/src/components/global-styles/preview-typography.js +39 -0
- package/src/components/global-styles/screen-block.js +22 -0
- package/src/components/global-styles/screen-layout.js +5 -1
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/src/components/global-styles/shadows-edit-panel.js +1 -2
- package/src/components/global-styles/style-variations-container.js +10 -7
- package/src/components/global-styles/typography-elements.js +0 -4
- package/src/components/global-styles/variations/variation.js +5 -5
- package/src/components/global-styles/variations/variations-color.js +5 -3
- package/src/components/global-styles/variations/variations-typography.js +15 -32
- package/src/components/global-styles-sidebar/index.js +2 -2
- package/src/components/layout/index.js +13 -4
- package/src/components/layout/router.js +20 -36
- package/src/components/layout/style.scss +12 -0
- package/src/components/page-patterns/index.js +47 -56
- package/src/components/page-patterns/search-items.js +37 -3
- package/src/components/page-patterns/style.scss +1 -8
- package/src/components/page-patterns/use-patterns.js +43 -82
- package/src/components/page-templates/index.js +17 -19
- package/src/components/page-templates/style.scss +1 -6
- package/src/components/pagination/index.js +4 -4
- package/src/components/posts-app/index.js +9 -11
- package/src/components/{page-pages/index.js → posts-app/posts-list.js} +126 -39
- package/src/components/posts-app/router.js +69 -0
- package/src/components/{page-pages → posts-app}/style.scss +22 -8
- package/src/components/revisions/index.js +9 -1
- package/src/components/save-panel/index.js +1 -1
- package/src/components/sidebar/style.scss +6 -0
- package/src/components/sidebar-dataviews/add-new-view.js +2 -1
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
- package/src/components/sidebar-dataviews/default-views.js +110 -97
- package/src/components/sidebar-dataviews/index.js +3 -3
- package/src/components/sidebar-navigation-screen-global-styles/index.js +7 -6
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +2 -1
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -2
- package/src/components/site-hub/index.js +84 -1
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -2
- package/src/hooks/push-changes-to-global-styles/index.js +1 -1
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +28 -24
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +72 -47
- package/src/index.js +8 -1
- package/src/posts.js +63 -2
- package/src/posts.scss +9 -0
- package/src/store/private-actions.js +7 -3
- package/src/style.scss +1 -2
- package/build/components/add-new-page/index.js.map +0 -1
- package/build/components/page-pages/index.js.map +0 -1
- package/build/components/table/index.js +0 -35
- package/build/components/table/index.js.map +0 -1
- package/build-module/components/add-new-page/index.js.map +0 -1
- package/build-module/components/page-pages/index.js.map +0 -1
- package/build-module/components/table/index.js +0 -30
- package/build-module/components/table/index.js.map +0 -1
- package/src/components/table/index.js +0 -33
- package/src/components/table/style.scss +0 -38
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","Async","Page","default","Link","useLink","AddNewTemplate","useAddedBy","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","usePatternSettings","unlock","useEditPostAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","usePostActions","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","defaultConfigPerViewType","primaryField","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","children","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","className","onLoad","alt","src","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","variant","elements","width","data","paginationInfo","postTypeActions","context","editAction","actions","onChangeView","newView","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t\tcolumnFields: [ 'description' ],\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\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\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_GRID ],\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && 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{ withIcon && ! 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\nfunction Preview( { item, viewType } ) {\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\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\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<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\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\tlayout: defaultConfigPerViewType[ 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};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\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}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, 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\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\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 = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\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\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\tonSelectionChange={ onSelectionChange }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","routerPrivateApis","editorPrivateApis","Async","Page","default","Link","useLink","AddNewTemplate","useAddedBy","TEMPLATE_POST_TYPE","OPERATOR_IS_ANY","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","usePatternSettings","unlock","useEditPostAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","usePostActions","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","mediaField","columnFields","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","fields","filters","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","children","AuthorField","isImageLoaded","setIsImageLoaded","text","icon","imageUrl","withIcon","alignment","spacing","className","onLoad","alt","src","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","variant","elements","width","data","paginationInfo","postTypeActions","context","editAction","actions","onChangeView","newView","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\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\tfields: [ 'title', 'description', 'author' ],\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && 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{ withIcon && ! 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\nfunction Preview( { item, viewType } ) {\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\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\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<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\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\tlayout: defaultLayouts[ usedType ].layout,\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};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\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}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, 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\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\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 = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\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\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\tonSelectionChange={ onSelectionChange }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -42,7 +42,7 @@ export default function Pagination({
|
|
|
42
42
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
43
43
|
variant: buttonVariant,
|
|
44
44
|
onClick: () => changePage(1),
|
|
45
|
-
|
|
45
|
+
accessibleWhenDisabled: true,
|
|
46
46
|
disabled: disabled || currentPage === 1,
|
|
47
47
|
label: __('First page'),
|
|
48
48
|
icon: previous,
|
|
@@ -50,7 +50,7 @@ export default function Pagination({
|
|
|
50
50
|
}), /*#__PURE__*/_jsx(Button, {
|
|
51
51
|
variant: buttonVariant,
|
|
52
52
|
onClick: () => changePage(currentPage - 1),
|
|
53
|
-
|
|
53
|
+
accessibleWhenDisabled: true,
|
|
54
54
|
disabled: disabled || currentPage === 1,
|
|
55
55
|
label: __('Previous page'),
|
|
56
56
|
icon: chevronLeft,
|
|
@@ -67,7 +67,7 @@ export default function Pagination({
|
|
|
67
67
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
68
68
|
variant: buttonVariant,
|
|
69
69
|
onClick: () => changePage(currentPage + 1),
|
|
70
|
-
|
|
70
|
+
accessibleWhenDisabled: true,
|
|
71
71
|
disabled: disabled || currentPage === numPages,
|
|
72
72
|
label: __('Next page'),
|
|
73
73
|
icon: chevronRight,
|
|
@@ -75,7 +75,7 @@ export default function Pagination({
|
|
|
75
75
|
}), /*#__PURE__*/_jsx(Button, {
|
|
76
76
|
variant: buttonVariant,
|
|
77
77
|
onClick: () => changePage(numPages),
|
|
78
|
-
|
|
78
|
+
accessibleWhenDisabled: true,
|
|
79
79
|
disabled: disabled || currentPage === numPages,
|
|
80
80
|
label: __('Last page'),
|
|
81
81
|
icon: next,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalText","Text","Button","__","_x","_n","sprintf","previous","chevronLeft","chevronRight","next","jsx","_jsx","jsxs","_jsxs","Pagination","currentPage","numPages","changePage","totalItems","className","disabled","buttonVariant","label","expanded","as","spacing","justify","children","variant","onClick","
|
|
1
|
+
{"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalText","Text","Button","__","_x","_n","sprintf","previous","chevronLeft","chevronRight","next","jsx","_jsx","jsxs","_jsxs","Pagination","currentPage","numPages","changePage","totalItems","className","disabled","buttonVariant","label","expanded","as","spacing","justify","children","variant","onClick","accessibleWhenDisabled","icon","size"],"sources":["@wordpress/edit-site/src/components/pagination/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { previous, chevronLeft, chevronRight, next } from '@wordpress/icons';\n\nexport default function Pagination( {\n\tcurrentPage,\n\tnumPages,\n\tchangePage,\n\ttotalItems,\n\tclassName,\n\tdisabled = false,\n\tbuttonVariant = 'tertiary',\n\tlabel = __( 'Pagination Navigation' ),\n} ) {\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tas=\"nav\"\n\t\t\taria-label={ label }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"flex-start\"\n\t\t\tclassName={ clsx( 'edit-site-pagination', className ) }\n\t\t>\n\t\t\t<Text variant=\"muted\" className=\"edit-site-pagination__total\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\ticon={ previous }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tnumPages\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\ticon={ next }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,8 +7,9 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
|
+
import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
|
|
10
11
|
import Layout from '../layout';
|
|
11
|
-
import
|
|
12
|
+
import useLayoutAreas from './router';
|
|
12
13
|
import { unlock } from '../../lock-unlock';
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -18,25 +19,18 @@ const {
|
|
|
18
19
|
const {
|
|
19
20
|
GlobalStylesProvider
|
|
20
21
|
} = unlock(editorPrivateApis);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
mobile: /*#__PURE__*/_jsx(Page, {
|
|
30
|
-
children: "Welcome to Posts"
|
|
31
|
-
})
|
|
32
|
-
}
|
|
33
|
-
};
|
|
22
|
+
function PostsLayout() {
|
|
23
|
+
// This ensures the edited entity id and type are initialized properly.
|
|
24
|
+
useInitEditedEntityFromURL();
|
|
25
|
+
const route = useLayoutAreas();
|
|
26
|
+
return /*#__PURE__*/_jsx(Layout, {
|
|
27
|
+
route: route
|
|
28
|
+
});
|
|
29
|
+
}
|
|
34
30
|
export default function PostsApp() {
|
|
35
31
|
return /*#__PURE__*/_jsxs(GlobalStylesProvider, {
|
|
36
32
|
children: [/*#__PURE__*/_jsx(UnsavedChangesWarning, {}), /*#__PURE__*/_jsx(RouterProvider, {
|
|
37
|
-
children: /*#__PURE__*/_jsx(
|
|
38
|
-
route: defaultRoute
|
|
39
|
-
})
|
|
33
|
+
children: /*#__PURE__*/_jsx(PostsLayout, {})
|
|
40
34
|
})]
|
|
41
35
|
});
|
|
42
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UnsavedChangesWarning","privateApis","editorPrivateApis","routerPrivateApis","Layout","
|
|
1
|
+
{"version":3,"names":["UnsavedChangesWarning","privateApis","editorPrivateApis","routerPrivateApis","useInitEditedEntityFromURL","Layout","useLayoutAreas","unlock","jsx","_jsx","jsxs","_jsxs","RouterProvider","GlobalStylesProvider","PostsLayout","route","PostsApp","children"],"sources":["@wordpress/edit-site/src/components/posts-app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tUnsavedChangesWarning,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport Layout from '../layout';\nimport useLayoutAreas from './router';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\nconst { GlobalStylesProvider } = unlock( editorPrivateApis );\n\nfunction PostsLayout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tconst route = useLayoutAreas();\n\treturn <Layout route={ route } />;\n}\n\nexport default function PostsApp() {\n\treturn (\n\t\t<GlobalStylesProvider>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<RouterProvider>\n\t\t\t\t<PostsLayout />\n\t\t\t</RouterProvider>\n\t\t</GlobalStylesProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,0BAA0B,MAAM,wDAAwD;AAC/F,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,cAAc,MAAM,UAAU;AACrC,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAe,CAAC,GAAGL,MAAM,CAAEJ,iBAAkB,CAAC;AACtD,MAAM;EAAEU;AAAqB,CAAC,GAAGN,MAAM,CAAEL,iBAAkB,CAAC;AAE5D,SAASY,WAAWA,CAAA,EAAG;EACtB;EACAV,0BAA0B,CAAC,CAAC;EAC5B,MAAMW,KAAK,GAAGT,cAAc,CAAC,CAAC;EAC9B,oBAAOG,IAAA,CAACJ,MAAM;IAACU,KAAK,EAAGA;EAAO,CAAE,CAAC;AAClC;AAEA,eAAe,SAASC,QAAQA,CAAA,EAAG;EAClC,oBACCL,KAAA,CAACE,oBAAoB;IAAAI,QAAA,gBACpBR,IAAA,CAACT,qBAAqB,IAAE,CAAC,eACzBS,IAAA,CAACG,cAAc;MAAAK,QAAA,eACdR,IAAA,CAACK,WAAW,IAAE;IAAC,CACA,CAAC;EAAA,CACI,CAAC;AAEzB","ignoreList":[]}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* WordPress dependencies
|
|
3
8
|
*/
|
|
4
|
-
import { Button, __experimentalHStack as HStack } from '@wordpress/components';
|
|
9
|
+
import { Button, __experimentalHStack as HStack, Icon } from '@wordpress/components';
|
|
5
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
11
|
import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
|
|
7
12
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
@@ -11,15 +16,16 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
11
16
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
17
|
import { DataViews } from '@wordpress/dataviews';
|
|
13
18
|
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
19
|
+
import { trash, drafts, published, scheduled, pending, notAllowed, commentAuthorAvatar as authorIcon } from '@wordpress/icons';
|
|
14
20
|
|
|
15
21
|
/**
|
|
16
22
|
* Internal dependencies
|
|
17
23
|
*/
|
|
18
24
|
import Page from '../page';
|
|
19
25
|
import { default as Link, useLink } from '../routes/link';
|
|
20
|
-
import {
|
|
26
|
+
import { useDefaultViews, DEFAULT_CONFIG_PER_VIEW_TYPE } from '../sidebar-dataviews/default-views';
|
|
21
27
|
import { LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST, OPERATOR_IS_ANY, OPERATOR_IS_NONE } from '../../utils/constants';
|
|
22
|
-
import
|
|
28
|
+
import AddNewPostModal from '../add-new-post';
|
|
23
29
|
import Media from '../media';
|
|
24
30
|
import { unlock } from '../../lock-unlock';
|
|
25
31
|
import { useEditPostAction } from '../dataviews-actions';
|
|
@@ -45,6 +51,9 @@ function useView(postType) {
|
|
|
45
51
|
}
|
|
46
52
|
} = useLocation();
|
|
47
53
|
const history = useHistory();
|
|
54
|
+
const DEFAULT_VIEWS = useDefaultViews({
|
|
55
|
+
postType
|
|
56
|
+
});
|
|
48
57
|
const selectedDefaultView = useMemo(() => {
|
|
49
58
|
const defaultView = isCustom === 'false' && DEFAULT_VIEWS[postType].find(({
|
|
50
59
|
slug
|
|
@@ -59,7 +68,7 @@ function useView(postType) {
|
|
|
59
68
|
};
|
|
60
69
|
}
|
|
61
70
|
return defaultView;
|
|
62
|
-
}, [isCustom, activeView, layout, postType]);
|
|
71
|
+
}, [isCustom, activeView, layout, postType, DEFAULT_VIEWS]);
|
|
63
72
|
const [view, setView] = useState(selectedDefaultView);
|
|
64
73
|
useEffect(() => {
|
|
65
74
|
if (selectedDefaultView) {
|
|
@@ -121,22 +130,28 @@ function useView(postType) {
|
|
|
121
130
|
// We do not support custom statutes at the moment.
|
|
122
131
|
const STATUSES = [{
|
|
123
132
|
value: 'draft',
|
|
124
|
-
label: __('Draft')
|
|
133
|
+
label: __('Draft'),
|
|
134
|
+
icon: drafts
|
|
125
135
|
}, {
|
|
126
136
|
value: 'future',
|
|
127
|
-
label: __('Scheduled')
|
|
137
|
+
label: __('Scheduled'),
|
|
138
|
+
icon: scheduled
|
|
128
139
|
}, {
|
|
129
140
|
value: 'pending',
|
|
130
|
-
label: __('Pending Review')
|
|
141
|
+
label: __('Pending Review'),
|
|
142
|
+
icon: pending
|
|
131
143
|
}, {
|
|
132
144
|
value: 'private',
|
|
133
|
-
label: __('Private')
|
|
145
|
+
label: __('Private'),
|
|
146
|
+
icon: notAllowed
|
|
134
147
|
}, {
|
|
135
148
|
value: 'publish',
|
|
136
|
-
label: __('Published')
|
|
149
|
+
label: __('Published'),
|
|
150
|
+
icon: published
|
|
137
151
|
}, {
|
|
138
152
|
value: 'trash',
|
|
139
|
-
label: __('Trash')
|
|
153
|
+
label: __('Trash'),
|
|
154
|
+
icon: trash
|
|
140
155
|
}];
|
|
141
156
|
const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.
|
|
142
157
|
|
|
@@ -155,15 +170,15 @@ function FeaturedImage({
|
|
|
155
170
|
const hasMedia = !!item.featured_media;
|
|
156
171
|
const size = viewType === LAYOUT_GRID ? ['large', 'full', 'medium', 'thumbnail'] : ['thumbnail', 'medium', 'large', 'full'];
|
|
157
172
|
const media = hasMedia ? /*#__PURE__*/_jsx(Media, {
|
|
158
|
-
className: "
|
|
173
|
+
className: "posts-list-page__featured-image",
|
|
159
174
|
id: item.featured_media,
|
|
160
175
|
size: size
|
|
161
176
|
}) : null;
|
|
162
177
|
const renderButton = viewType !== LAYOUT_LIST && !isDisabled;
|
|
163
178
|
return /*#__PURE__*/_jsx("div", {
|
|
164
|
-
className: `
|
|
179
|
+
className: `posts-list-page__featured-image-wrapper is-layout-${viewType}`,
|
|
165
180
|
children: renderButton ? /*#__PURE__*/_jsx("button", {
|
|
166
|
-
className: "page-
|
|
181
|
+
className: "posts-list-page-preview-field__button",
|
|
167
182
|
type: "button",
|
|
168
183
|
onClick: onClick,
|
|
169
184
|
"aria-label": item.title?.rendered || __('(no title)'),
|
|
@@ -174,9 +189,76 @@ function FeaturedImage({
|
|
|
174
189
|
function getItemId(item) {
|
|
175
190
|
return item.id.toString();
|
|
176
191
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
192
|
+
function PostStatusField({
|
|
193
|
+
item
|
|
194
|
+
}) {
|
|
195
|
+
const status = STATUSES.find(({
|
|
196
|
+
value
|
|
197
|
+
}) => value === item.status);
|
|
198
|
+
const label = status?.label || item.status;
|
|
199
|
+
const icon = status?.icon;
|
|
200
|
+
return /*#__PURE__*/_jsxs(HStack, {
|
|
201
|
+
alignment: "left",
|
|
202
|
+
spacing: 1,
|
|
203
|
+
children: [icon && /*#__PURE__*/_jsx("div", {
|
|
204
|
+
className: "posts-list-page-post-author-field__icon-container",
|
|
205
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
206
|
+
icon: icon
|
|
207
|
+
})
|
|
208
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
209
|
+
children: label
|
|
210
|
+
})]
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
function PostAuthorField({
|
|
214
|
+
item,
|
|
215
|
+
viewType
|
|
216
|
+
}) {
|
|
217
|
+
const {
|
|
218
|
+
text,
|
|
219
|
+
icon,
|
|
220
|
+
imageUrl
|
|
221
|
+
} = useSelect(select => {
|
|
222
|
+
const {
|
|
223
|
+
getUser
|
|
224
|
+
} = select(coreStore);
|
|
225
|
+
const user = getUser(item.author);
|
|
226
|
+
return {
|
|
227
|
+
icon: authorIcon,
|
|
228
|
+
imageUrl: user?.avatar_urls?.[48],
|
|
229
|
+
text: user?.name
|
|
230
|
+
};
|
|
231
|
+
}, [item]);
|
|
232
|
+
const withAuthorImage = viewType !== LAYOUT_LIST && imageUrl;
|
|
233
|
+
const withAuthorIcon = viewType !== LAYOUT_LIST && !imageUrl;
|
|
234
|
+
const [isImageLoaded, setIsImageLoaded] = useState(false);
|
|
235
|
+
return /*#__PURE__*/_jsxs(HStack, {
|
|
236
|
+
alignment: "left",
|
|
237
|
+
spacing: 1,
|
|
238
|
+
children: [withAuthorImage && /*#__PURE__*/_jsx("div", {
|
|
239
|
+
className: clsx('page-templates-author-field__avatar', {
|
|
240
|
+
'is-loaded': isImageLoaded
|
|
241
|
+
}),
|
|
242
|
+
children: /*#__PURE__*/_jsx("img", {
|
|
243
|
+
onLoad: () => setIsImageLoaded(true),
|
|
244
|
+
alt: __('Author avatar'),
|
|
245
|
+
src: imageUrl
|
|
246
|
+
})
|
|
247
|
+
}), withAuthorIcon && /*#__PURE__*/_jsx("div", {
|
|
248
|
+
className: "page-templates-author-field__icon",
|
|
249
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
250
|
+
icon: icon
|
|
251
|
+
})
|
|
252
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
253
|
+
className: "page-templates-author-field__name",
|
|
254
|
+
children: text
|
|
255
|
+
})]
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
export default function PostsList({
|
|
259
|
+
postType
|
|
260
|
+
}) {
|
|
261
|
+
var _records$map, _usePrevious;
|
|
180
262
|
const [view, setView] = useView(postType);
|
|
181
263
|
const history = useHistory();
|
|
182
264
|
const {
|
|
@@ -225,12 +307,12 @@ export default function PagePages() {
|
|
|
225
307
|
};
|
|
226
308
|
}, [view]);
|
|
227
309
|
const {
|
|
228
|
-
records
|
|
229
|
-
isResolving:
|
|
310
|
+
records,
|
|
311
|
+
isResolving: isLoadingMainEntities,
|
|
230
312
|
totalItems,
|
|
231
313
|
totalPages
|
|
232
314
|
} = useEntityRecords('postType', postType, queryArgs);
|
|
233
|
-
const ids = (
|
|
315
|
+
const ids = (_records$map = records?.map(record => getItemId(record))) !== null && _records$map !== void 0 ? _records$map : [];
|
|
234
316
|
const prevIds = (_usePrevious = usePrevious(ids)) !== null && _usePrevious !== void 0 ? _usePrevious : [];
|
|
235
317
|
const deletedIds = prevIds.filter(id => !ids.includes(id));
|
|
236
318
|
const postIdWasDeleted = deletedIds.includes(postId);
|
|
@@ -255,8 +337,8 @@ export default function PagePages() {
|
|
|
255
337
|
const {
|
|
256
338
|
frontPageId,
|
|
257
339
|
postsPageId,
|
|
258
|
-
|
|
259
|
-
|
|
340
|
+
labels,
|
|
341
|
+
canCreateRecord
|
|
260
342
|
} = useSelect(select => {
|
|
261
343
|
const {
|
|
262
344
|
getEntityRecord,
|
|
@@ -264,13 +346,16 @@ export default function PagePages() {
|
|
|
264
346
|
canUser
|
|
265
347
|
} = select(coreStore);
|
|
266
348
|
const siteSettings = getEntityRecord('root', 'site');
|
|
349
|
+
const postTypeObject = getPostType(postType);
|
|
267
350
|
return {
|
|
268
351
|
frontPageId: siteSettings?.page_on_front,
|
|
269
352
|
postsPageId: siteSettings?.page_for_posts,
|
|
270
|
-
|
|
271
|
-
|
|
353
|
+
labels: getPostType(postType)?.labels,
|
|
354
|
+
canCreateRecord: canUser('create', postTypeObject?.rest_base || 'posts')
|
|
272
355
|
};
|
|
273
|
-
});
|
|
356
|
+
}, [postType]);
|
|
357
|
+
|
|
358
|
+
// TODO: this should be abstracted into a hook similar to `usePostActions`.
|
|
274
359
|
const fields = useMemo(() => [{
|
|
275
360
|
id: 'featured-image',
|
|
276
361
|
header: __('Featured Image'),
|
|
@@ -308,17 +393,17 @@ export default function PagePages() {
|
|
|
308
393
|
let suffix = '';
|
|
309
394
|
if (item.id === frontPageId) {
|
|
310
395
|
suffix = /*#__PURE__*/_jsx("span", {
|
|
311
|
-
className: "
|
|
396
|
+
className: "posts-list-page-title-badge",
|
|
312
397
|
children: __('Front Page')
|
|
313
398
|
});
|
|
314
399
|
} else if (item.id === postsPageId) {
|
|
315
400
|
suffix = /*#__PURE__*/_jsx("span", {
|
|
316
|
-
className: "
|
|
401
|
+
className: "posts-list-page-title-badge",
|
|
317
402
|
children: __('Posts Page')
|
|
318
403
|
});
|
|
319
404
|
}
|
|
320
405
|
return /*#__PURE__*/_jsxs(HStack, {
|
|
321
|
-
className: "
|
|
406
|
+
className: "posts-list-page-title",
|
|
322
407
|
alignment: "center",
|
|
323
408
|
justify: "flex-start",
|
|
324
409
|
children: [title, suffix]
|
|
@@ -338,7 +423,15 @@ export default function PagePages() {
|
|
|
338
423
|
}) => ({
|
|
339
424
|
value: id,
|
|
340
425
|
label: name
|
|
341
|
-
})) || []
|
|
426
|
+
})) || [],
|
|
427
|
+
render: ({
|
|
428
|
+
item
|
|
429
|
+
}) => {
|
|
430
|
+
return /*#__PURE__*/_jsx(PostAuthorField, {
|
|
431
|
+
viewType: view.type,
|
|
432
|
+
item: item
|
|
433
|
+
});
|
|
434
|
+
}
|
|
342
435
|
}, {
|
|
343
436
|
header: __('Status'),
|
|
344
437
|
id: 'status',
|
|
@@ -351,6 +444,7 @@ export default function PagePages() {
|
|
|
351
444
|
}) => value === item.status)?.label) !== null && _STATUSES$find$label !== void 0 ? _STATUSES$find$label : item.status;
|
|
352
445
|
},
|
|
353
446
|
elements: STATUSES,
|
|
447
|
+
render: PostStatusField,
|
|
354
448
|
enableSorting: false,
|
|
355
449
|
filterBy: {
|
|
356
450
|
operators: [OPERATOR_IS_ANY]
|
|
@@ -404,7 +498,7 @@ export default function PagePages() {
|
|
|
404
498
|
}
|
|
405
499
|
}], [authors, view.type, frontPageId, postsPageId]);
|
|
406
500
|
const postTypeActions = usePostActions({
|
|
407
|
-
postType
|
|
501
|
+
postType,
|
|
408
502
|
context: 'list'
|
|
409
503
|
});
|
|
410
504
|
const editAction = useEditPostAction();
|
|
@@ -420,9 +514,9 @@ export default function PagePages() {
|
|
|
420
514
|
}
|
|
421
515
|
setView(newView);
|
|
422
516
|
}, [view.type, setView]);
|
|
423
|
-
const [
|
|
424
|
-
const openModal = () =>
|
|
425
|
-
const closeModal = () =>
|
|
517
|
+
const [showAddPostModal, setShowAddPostModal] = useState(false);
|
|
518
|
+
const openModal = () => setShowAddPostModal(true);
|
|
519
|
+
const closeModal = () => setShowAddPostModal(false);
|
|
426
520
|
const handleNewPage = ({
|
|
427
521
|
type,
|
|
428
522
|
id
|
|
@@ -435,14 +529,15 @@ export default function PagePages() {
|
|
|
435
529
|
closeModal();
|
|
436
530
|
};
|
|
437
531
|
return /*#__PURE__*/_jsx(Page, {
|
|
438
|
-
title:
|
|
439
|
-
actions:
|
|
532
|
+
title: labels?.name,
|
|
533
|
+
actions: labels?.add_new_item && canCreateRecord && /*#__PURE__*/_jsxs(_Fragment, {
|
|
440
534
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
441
535
|
variant: "primary",
|
|
442
536
|
onClick: openModal,
|
|
443
537
|
__next40pxDefaultSize: true,
|
|
444
|
-
children:
|
|
445
|
-
}),
|
|
538
|
+
children: labels.add_new_item
|
|
539
|
+
}), showAddPostModal && /*#__PURE__*/_jsx(AddNewPostModal, {
|
|
540
|
+
postType: postType,
|
|
446
541
|
onSave: handleNewPage,
|
|
447
542
|
onClose: closeModal
|
|
448
543
|
})]
|
|
@@ -451,8 +546,8 @@ export default function PagePages() {
|
|
|
451
546
|
paginationInfo: paginationInfo,
|
|
452
547
|
fields: fields,
|
|
453
548
|
actions: actions,
|
|
454
|
-
data:
|
|
455
|
-
isLoading:
|
|
549
|
+
data: records || EMPTY_ARRAY,
|
|
550
|
+
isLoading: isLoadingMainEntities || isLoadingAuthors,
|
|
456
551
|
view: view,
|
|
457
552
|
onChangeView: onChangeView,
|
|
458
553
|
selection: selection,
|
|
@@ -462,4 +557,4 @@ export default function PagePages() {
|
|
|
462
557
|
})
|
|
463
558
|
});
|
|
464
559
|
}
|
|
465
|
-
//# sourceMappingURL=
|
|
560
|
+
//# sourceMappingURL=posts-list.js.map
|