@wordpress/edit-site 6.0.3 → 6.0.4
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/build/components/add-new-page/index.js +7 -1
- package/build/components/add-new-page/index.js.map +1 -1
- package/build/components/add-new-pattern/index.js +30 -16
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/page-pages/index.js +38 -6
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/index.js +8 -2
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-templates/index.js +10 -3
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +4 -4
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +20 -88
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/components/add-new-page/index.js +8 -2
- package/build-module/components/add-new-page/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +30 -16
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +38 -6
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/index.js +8 -2
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +10 -3
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +5 -5
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +19 -86
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-style/style-rtl.css +13 -12
- package/build-style/style.css +13 -12
- package/package.json +17 -17
- package/src/components/add-new-page/index.js +14 -1
- package/src/components/add-new-pattern/index.js +37 -23
- package/src/components/block-editor/style.scss +0 -11
- package/src/components/page-pages/index.js +45 -11
- package/src/components/page-patterns/index.js +8 -2
- package/src/components/page-templates/index.js +9 -2
- package/src/components/sidebar-dataviews/default-views.js +13 -5
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1 -875
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +29 -117
- package/src/style.scss +13 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_blockEditor","_dataviews","_icons","_compose","_coreData","_editor","_router","_async","_page","_constants","_usePatternSettings","_lockUnlock","_usePatterns","_header","_link","_hooks","_dataviewsActions","_jsxRuntime","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","usePostActions","editorPrivateApis","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","PATTERN_SYNC_TYPES","full","label","_x","description","__","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","jsx","className","PATTERN_TYPES","theme","undefined","title","Preview","viewType","descriptionId","useId","isUserPattern","user","isTemplatePart","TEMPLATE_PART_POST_TYPE","isEmpty","blocks","length","backgroundColor","useLink","postType","postId","id","name","canvas","jsxs","style","Async","BlockPreview","viewportWidth","hidden","Author","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","LAYOUT_LIST","__experimentalHStack","alignment","spacing","clsx","onLoad","alt","src","Icon","Title","justify","Flex","as","gap","Button","variant","tabIndex","Tooltip","placement","lockSmall","size","DataviewsPatterns","params","categoryId","categoryIdFromURL","PATTERN_DEFAULT_CATEGORY","view","setView","previousCategoryId","usePrevious","viewSyncStatus","find","field","patterns","isResolving","usePatterns","syncStatus","records","useEntityRecords","per_page","authors","useMemo","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","fields","_fields","header","render","enableSorting","enableHiding","width","push","elements","filterBy","operators","OPERATOR_IS","isPrimary","getValue","templatePart","useEffect","data","paginationInfo","viewWithoutFilters","filterSortAndPaginate","templatePartActions","patternActions","editAction","useEditPostAction","actions","filter","Boolean","onChangeView","useCallback","newView","settings","usePatternSettings","default","hideTitleFromUI","titleId","DataViews","getItemId","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\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\tbadgeFields: [ 'sync-status' ],\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst descriptionId = useId();\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isEmpty = ! item.blocks?.length;\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ item.description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ item.description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ item.description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Author( { 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 Title( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\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\tconst _fields = [\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\t<Preview item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\trender: ( { item } ) => <Title item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ item.syncStatus }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\t\t\t\tvalue === item.syncStatus\n\t\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\t\t\t\tvalue ===\n\t\t\t\t\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t).label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IS ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.templatePart.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Author viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\tfilterBy: {\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\twidth: '1%',\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ view.type, type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst templatePartActions = usePostActions( TEMPLATE_PART_POST_TYPE );\n\tconst patternActions = usePostActions( PATTERN_TYPES.user );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\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\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID, LAYOUT_TABLE ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_blockEditor","_dataviews","_icons","_compose","_coreData","_editor","_router","_async","_page","_constants","_usePatternSettings","_lockUnlock","_usePatterns","_header","_link","_hooks","_dataviewsActions","_jsxRuntime","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","usePostActions","editorPrivateApis","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","PATTERN_SYNC_TYPES","full","label","_x","description","__","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","jsx","className","PATTERN_TYPES","theme","undefined","title","Preview","viewType","descriptionId","useId","isUserPattern","user","isTemplatePart","TEMPLATE_PART_POST_TYPE","isEmpty","blocks","length","backgroundColor","useLink","postType","postId","id","name","canvas","jsxs","style","Async","BlockPreview","viewportWidth","hidden","Author","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","LAYOUT_LIST","__experimentalHStack","alignment","spacing","clsx","onLoad","alt","src","Icon","Title","justify","Flex","as","gap","Button","variant","tabIndex","Tooltip","placement","lockSmall","size","DataviewsPatterns","params","categoryId","categoryIdFromURL","PATTERN_DEFAULT_CATEGORY","view","setView","previousCategoryId","usePrevious","viewSyncStatus","find","field","patterns","isResolving","usePatterns","syncStatus","records","useEntityRecords","per_page","authors","useMemo","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","fields","_fields","header","render","enableSorting","enableHiding","width","push","elements","filterBy","operators","OPERATOR_IS","isPrimary","getValue","templatePart","useEffect","data","paginationInfo","viewWithoutFilters","filterSortAndPaginate","templatePartActions","context","patternActions","editAction","useEditPostAction","actions","filter","Boolean","onChangeView","useCallback","newView","settings","usePatternSettings","default","hideTitleFromUI","titleId","DataViews","getItemId","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\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\tbadgeFields: [ 'sync-status' ],\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst descriptionId = useId();\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isEmpty = ! item.blocks?.length;\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ item.description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ item.description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ item.description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Author( { 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 Title( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\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\tconst _fields = [\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\t<Preview item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\trender: ( { item } ) => <Title item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ item.syncStatus }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\t\t\t\tvalue === item.syncStatus\n\t\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\t\t\t\tvalue ===\n\t\t\t\t\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t).label\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IS ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.templatePart.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Author viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\tfilterBy: {\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\twidth: '1%',\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ view.type, type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\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\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID, LAYOUT_TABLE ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -189,8 +189,10 @@ function PageTemplates() {
|
|
|
189
189
|
} = useLocation();
|
|
190
190
|
const {
|
|
191
191
|
activeView = 'all',
|
|
192
|
-
layout
|
|
192
|
+
layout,
|
|
193
|
+
postId
|
|
193
194
|
} = params;
|
|
195
|
+
const [selection, setSelection] = (0, _element.useState)([postId]);
|
|
194
196
|
const defaultView = (0, _element.useMemo)(() => {
|
|
195
197
|
const usedType = layout !== null && layout !== void 0 ? layout : DEFAULT_VIEW.type;
|
|
196
198
|
return {
|
|
@@ -318,7 +320,10 @@ function PageTemplates() {
|
|
|
318
320
|
} = (0, _element.useMemo)(() => {
|
|
319
321
|
return (0, _dataviews.filterSortAndPaginate)(records, view, fields);
|
|
320
322
|
}, [records, view, fields]);
|
|
321
|
-
const postTypeActions = usePostActions(
|
|
323
|
+
const postTypeActions = usePostActions({
|
|
324
|
+
postType: _constants.TEMPLATE_POST_TYPE,
|
|
325
|
+
context: 'list'
|
|
326
|
+
});
|
|
322
327
|
const editAction = (0, _dataviewsActions.useEditPostAction)();
|
|
323
328
|
const actions = (0, _element.useMemo)(() => [editAction, ...postTypeActions], [postTypeActions, editAction]);
|
|
324
329
|
const onChangeView = (0, _element.useCallback)(newView => {
|
|
@@ -348,7 +353,9 @@ function PageTemplates() {
|
|
|
348
353
|
isLoading: isLoadingData,
|
|
349
354
|
view: view,
|
|
350
355
|
onChangeView: onChangeView,
|
|
351
|
-
onSelectionChange: onSelectionChange
|
|
356
|
+
onSelectionChange: onSelectionChange,
|
|
357
|
+
selection: selection,
|
|
358
|
+
setSelection: setSelection
|
|
352
359
|
})
|
|
353
360
|
});
|
|
354
361
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_async","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_usePatternSettings","_lockUnlock","_dataviewsActions","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","ExperimentalBlockEditorProvider","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","jsx","children","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","jsxs","__experimentalHStack","alignment","spacing","className","clsx","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","Async","BlockPreview","PageTemplates","activeView","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","TEMPLATE_POST_TYPE","per_page","history","onSelectionChange","useCallback","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","Fragment","__experimentalText","variant","VisuallyHidden","elements","width","data","paginationInfo","filterSortAndPaginate","postTypeActions","editAction","useEditPostAction","actions","onChangeView","newView","DataViews","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 } = params;\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( TEMPLATE_POST_TYPE );\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/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_async","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_usePatternSettings","_lockUnlock","_dataviewsActions","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","ExperimentalBlockEditorProvider","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","jsx","children","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","jsxs","__experimentalHStack","alignment","spacing","className","clsx","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","Async","BlockPreview","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","TEMPLATE_POST_TYPE","per_page","history","onSelectionChange","useCallback","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","Fragment","__experimentalText","variant","VisuallyHidden","elements","width","data","paginationInfo","filterSortAndPaginate","postTypeActions","context","editAction","useEditPostAction","actions","onChangeView","newView","DataViews","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":[]}
|
|
@@ -54,7 +54,7 @@ const DEFAULT_VIEWS = exports.DEFAULT_VIEWS = {
|
|
|
54
54
|
}, {
|
|
55
55
|
title: (0, _i18n.__)('Published'),
|
|
56
56
|
slug: 'published',
|
|
57
|
-
icon: _icons.
|
|
57
|
+
icon: _icons.published,
|
|
58
58
|
view: {
|
|
59
59
|
...DEFAULT_PAGE_BASE,
|
|
60
60
|
filters: [{
|
|
@@ -66,7 +66,7 @@ const DEFAULT_VIEWS = exports.DEFAULT_VIEWS = {
|
|
|
66
66
|
}, {
|
|
67
67
|
title: (0, _i18n.__)('Scheduled'),
|
|
68
68
|
slug: 'future',
|
|
69
|
-
icon: _icons.
|
|
69
|
+
icon: _icons.scheduled,
|
|
70
70
|
view: {
|
|
71
71
|
...DEFAULT_PAGE_BASE,
|
|
72
72
|
filters: [{
|
|
@@ -90,7 +90,7 @@ const DEFAULT_VIEWS = exports.DEFAULT_VIEWS = {
|
|
|
90
90
|
}, {
|
|
91
91
|
title: (0, _i18n.__)('Pending'),
|
|
92
92
|
slug: 'pending',
|
|
93
|
-
icon: _icons.
|
|
93
|
+
icon: _icons.pending,
|
|
94
94
|
view: {
|
|
95
95
|
...DEFAULT_PAGE_BASE,
|
|
96
96
|
filters: [{
|
|
@@ -102,7 +102,7 @@ const DEFAULT_VIEWS = exports.DEFAULT_VIEWS = {
|
|
|
102
102
|
}, {
|
|
103
103
|
title: (0, _i18n.__)('Private'),
|
|
104
104
|
slug: 'private',
|
|
105
|
-
icon: _icons.
|
|
105
|
+
icon: _icons.notAllowed,
|
|
106
106
|
view: {
|
|
107
107
|
...DEFAULT_PAGE_BASE,
|
|
108
108
|
filters: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_constants","DEFAULT_CONFIG_PER_VIEW_TYPE","exports","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","LAYOUT_LIST","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","icon","pages","view","operator","OPERATOR_IS_ANY","value","drafts","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_constants","DEFAULT_CONFIG_PER_VIEW_TYPE","exports","LAYOUT_TABLE","primaryField","LAYOUT_GRID","mediaField","LAYOUT_LIST","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","icon","pages","view","published","operator","OPERATOR_IS_ANY","value","scheduled","drafts","pending","notAllowed","trash"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\ttrash,\n\tpages,\n\tdrafts,\n\tpublished,\n\tscheduled,\n\tpending,\n\tnotAllowed,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_LIST,\n\tLAYOUT_TABLE,\n\tLAYOUT_GRID,\n\tOPERATOR_IS_ANY,\n} from '../../utils/constants';\n\nexport const DEFAULT_CONFIG_PER_VIEW_TYPE = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'featured-image',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'featured-image',\n\t},\n};\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: LAYOUT_LIST,\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\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: [ 'date', 'featured-image' ],\n\tlayout: {\n\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_LIST ],\n\t},\n};\n\nexport const DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: __( 'All pages' ),\n\t\t\tslug: 'all',\n\t\t\ticon: pages,\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Published' ),\n\t\t\tslug: 'published',\n\t\t\ticon: published,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'publish',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Scheduled' ),\n\t\t\tslug: 'future',\n\t\t\ticon: scheduled,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'future',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\ticon: drafts,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'draft',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Pending' ),\n\t\t\tslug: 'pending',\n\t\t\ticon: pending,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'pending',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Private' ),\n\t\t\tslug: 'private',\n\t\t\ticon: notAllowed,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'private',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Trash' ),\n\t\t\tslug: 'trash',\n\t\t\ticon: trash,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: 'status',\n\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\tvalue: 'trash',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = useThemeStyleVariationsByProperty;
|
|
8
7
|
exports.filterObjectByProperty = void 0;
|
|
9
8
|
exports.isVariationWithSingleProperty = isVariationWithSingleProperty;
|
|
10
9
|
exports.removePropertyFromObject = removePropertyFromObject;
|
|
@@ -57,17 +56,15 @@ function removePropertyFromObject(object, property) {
|
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
/**
|
|
60
|
-
*
|
|
61
|
-
* and
|
|
59
|
+
* Fetches the current theme style variations that contain only the specified property
|
|
60
|
+
* and merges them with the user config.
|
|
62
61
|
*
|
|
63
|
-
* @param {Object}
|
|
64
|
-
* @param {string}
|
|
65
|
-
* @param {Function} props.filter Optional. The filter function to apply to the variations.
|
|
62
|
+
* @param {Object} props Object of hook args.
|
|
63
|
+
* @param {string} props.property The property to filter by.
|
|
66
64
|
* @return {Object[]|*} The merged object.
|
|
67
65
|
*/
|
|
68
66
|
function useCurrentMergeThemeStyleVariationsWithUserConfig({
|
|
69
|
-
property
|
|
70
|
-
filter
|
|
67
|
+
property
|
|
71
68
|
}) {
|
|
72
69
|
const {
|
|
73
70
|
variationsFromTheme
|
|
@@ -78,21 +75,21 @@ function useCurrentMergeThemeStyleVariationsWithUserConfig({
|
|
|
78
75
|
};
|
|
79
76
|
}, []);
|
|
80
77
|
const {
|
|
81
|
-
user:
|
|
78
|
+
user: userVariation
|
|
82
79
|
} = (0, _element.useContext)(GlobalStylesContext);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
});
|
|
80
|
+
return (0, _element.useMemo)(() => {
|
|
81
|
+
const clonedUserVariation = (0, _cloneDeep.default)(userVariation);
|
|
82
|
+
|
|
83
|
+
// Get user variation and remove the settings for the given property.
|
|
84
|
+
const userVariationWithoutProperty = removePropertyFromObject(clonedUserVariation, property);
|
|
85
|
+
userVariationWithoutProperty.title = (0, _i18n.__)('Default');
|
|
86
|
+
const variationsWithSinglePropertyAndBase = variationsFromTheme.filter(variation => {
|
|
87
|
+
return isVariationWithSingleProperty(variation, property);
|
|
88
|
+
}).map(variation => {
|
|
89
|
+
return mergeBaseAndUserConfigs(userVariationWithoutProperty, variation);
|
|
90
|
+
});
|
|
91
|
+
return [userVariationWithoutProperty, ...variationsWithSinglePropertyAndBase];
|
|
92
|
+
}, [property, userVariation, variationsFromTheme]);
|
|
96
93
|
}
|
|
97
94
|
|
|
98
95
|
/**
|
|
@@ -123,72 +120,6 @@ const filterObjectByProperty = (object, property) => {
|
|
|
123
120
|
return newObject;
|
|
124
121
|
};
|
|
125
122
|
|
|
126
|
-
/**
|
|
127
|
-
* Returns a new object with only the properties specified in `property`.
|
|
128
|
-
* Optional merges the baseVariation object with the variation object.
|
|
129
|
-
* Note: this function will only overwrite the specified property in baseVariation if it exists.
|
|
130
|
-
* The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.
|
|
131
|
-
* See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.
|
|
132
|
-
*
|
|
133
|
-
* @param {Object} props Object of hook args.
|
|
134
|
-
* @param {Object[]} props.variations The theme style variations to filter.
|
|
135
|
-
* @param {string} props.property The property to filter by.
|
|
136
|
-
* @param {Function} props.filter Optional. The filter function to apply to the variations.
|
|
137
|
-
* @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.
|
|
138
|
-
* @return {Object[]|*} The merged object.
|
|
139
|
-
*/
|
|
140
|
-
exports.filterObjectByProperty = filterObjectByProperty;
|
|
141
|
-
function useThemeStyleVariationsByProperty({
|
|
142
|
-
variations,
|
|
143
|
-
property,
|
|
144
|
-
filter,
|
|
145
|
-
baseVariation
|
|
146
|
-
}) {
|
|
147
|
-
return (0, _element.useMemo)(() => {
|
|
148
|
-
if (!property || !variations || variations?.length === 0) {
|
|
149
|
-
return variations;
|
|
150
|
-
}
|
|
151
|
-
const clonedBaseVariation = typeof baseVariation === 'object' && Object.keys(baseVariation).length > 0 ? (0, _cloneDeep.default)(baseVariation) : null;
|
|
152
|
-
let processedStyleVariations = variations.reduce((accumulator, variation) => {
|
|
153
|
-
const variationFilteredByProperty = filterObjectByProperty((0, _cloneDeep.default)(variation), property);
|
|
154
|
-
|
|
155
|
-
// Remove variations that are empty once the property is filtered out.
|
|
156
|
-
if (variation.title !== (0, _i18n.__)('Default') && Object.keys(variationFilteredByProperty).length === 0) {
|
|
157
|
-
return accumulator;
|
|
158
|
-
}
|
|
159
|
-
let result = {
|
|
160
|
-
...variationFilteredByProperty,
|
|
161
|
-
title: variation?.title,
|
|
162
|
-
description: variation?.description
|
|
163
|
-
};
|
|
164
|
-
if (clonedBaseVariation) {
|
|
165
|
-
/*
|
|
166
|
-
* Overwrites all baseVariation object `styleProperty` properties
|
|
167
|
-
* with the theme variation `styleProperty` properties.
|
|
168
|
-
*/
|
|
169
|
-
result = mergeBaseAndUserConfigs(clonedBaseVariation, result);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Detect if this is a duplicate variation.
|
|
173
|
-
const isDuplicate = accumulator.some(item => {
|
|
174
|
-
return JSON.stringify(item.styles) === JSON.stringify(result?.styles) && JSON.stringify(item.settings) === JSON.stringify(result?.settings);
|
|
175
|
-
});
|
|
176
|
-
if (isDuplicate) {
|
|
177
|
-
return accumulator;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
// If the variation is not a duplicate, add it to the accumulator.
|
|
181
|
-
accumulator.push(result);
|
|
182
|
-
return accumulator;
|
|
183
|
-
}, [] // Initial accumulator value.
|
|
184
|
-
);
|
|
185
|
-
if ('function' === typeof filter) {
|
|
186
|
-
processedStyleVariations = processedStyleVariations.filter(filter);
|
|
187
|
-
}
|
|
188
|
-
return processedStyleVariations;
|
|
189
|
-
}, [variations, property, baseVariation, filter]);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
123
|
/**
|
|
193
124
|
* Compares a style variation to the same variation filtered by a single property.
|
|
194
125
|
* Returns true if the variation contains only the property specified.
|
|
@@ -197,6 +128,7 @@ function useThemeStyleVariationsByProperty({
|
|
|
197
128
|
* @param {string} property The property to compare.
|
|
198
129
|
* @return {boolean} Whether the variation contains only a single property.
|
|
199
130
|
*/
|
|
131
|
+
exports.filterObjectByProperty = filterObjectByProperty;
|
|
200
132
|
function isVariationWithSingleProperty(variation, property) {
|
|
201
133
|
const variationWithProperty = filterObjectByProperty((0, _cloneDeep.default)(variation), property);
|
|
202
134
|
return JSON.stringify(variationWithProperty?.styles) === JSON.stringify(variation?.styles) && JSON.stringify(variationWithProperty?.settings) === JSON.stringify(variation?.settings);
|
package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_editor","_i18n","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","filter","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","baseVariation","useContext","variations","useMemo","title","__","settings","styles","useThemeStyleVariationsByProperty","cloneDeep","filterObjectByProperty","newObject","forEach","newFilter","exports","clonedBaseVariation","processedStyleVariations","reduce","accumulator","variation","variationFilteredByProperty","result","description","isDuplicate","some","item","JSON","stringify","push","isVariationWithSingleProperty","variationWithProperty"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,\n * and user-defined global style/settings object.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n\tfilter,\n} ) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || [],\n\t\t};\n\t}, [] );\n\tconst { user: baseVariation } = useContext( GlobalStylesContext );\n\n\tconst variations = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...variationsFromTheme,\n\t\t];\n\t}, [ variationsFromTheme ] );\n\n\treturn useThemeStyleVariationsByProperty( {\n\t\tvariations,\n\t\tproperty,\n\t\tfilter,\n\t\tbaseVariation: removePropertyFromObject(\n\t\t\tcloneDeep( baseVariation ),\n\t\t\tproperty\n\t\t),\n\t} );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Returns a new object with only the properties specified in `property`.\n * Optional merges the baseVariation object with the variation object.\n * Note: this function will only overwrite the specified property in baseVariation if it exists.\n * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.\n * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.\n *\n * @param {Object} props Object of hook args.\n * @param {Object[]} props.variations The theme style variations to filter.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.\n * @return {Object[]|*} The merged object.\n */\nexport default function useThemeStyleVariationsByProperty( {\n\tvariations,\n\tproperty,\n\tfilter,\n\tbaseVariation,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! property || ! variations || variations?.length === 0 ) {\n\t\t\treturn variations;\n\t\t}\n\n\t\tconst clonedBaseVariation =\n\t\t\ttypeof baseVariation === 'object' &&\n\t\t\tObject.keys( baseVariation ).length > 0\n\t\t\t\t? cloneDeep( baseVariation )\n\t\t\t\t: null;\n\n\t\tlet processedStyleVariations = variations.reduce(\n\t\t\t( accumulator, variation ) => {\n\t\t\t\tconst variationFilteredByProperty = filterObjectByProperty(\n\t\t\t\t\tcloneDeep( variation ),\n\t\t\t\t\tproperty\n\t\t\t\t);\n\n\t\t\t\t// Remove variations that are empty once the property is filtered out.\n\t\t\t\tif (\n\t\t\t\t\tvariation.title !== __( 'Default' ) &&\n\t\t\t\t\tObject.keys( variationFilteredByProperty ).length === 0\n\t\t\t\t) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tlet result = {\n\t\t\t\t\t...variationFilteredByProperty,\n\t\t\t\t\ttitle: variation?.title,\n\t\t\t\t\tdescription: variation?.description,\n\t\t\t\t};\n\n\t\t\t\tif ( clonedBaseVariation ) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Overwrites all baseVariation object `styleProperty` properties\n\t\t\t\t\t * with the theme variation `styleProperty` properties.\n\t\t\t\t\t */\n\t\t\t\t\tresult = mergeBaseAndUserConfigs(\n\t\t\t\t\t\tclonedBaseVariation,\n\t\t\t\t\t\tresult\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Detect if this is a duplicate variation.\n\t\t\t\tconst isDuplicate = accumulator.some( ( item ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tJSON.stringify( item.styles ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.styles ) &&\n\t\t\t\t\t\tJSON.stringify( item.settings ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.settings )\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t\tif ( isDuplicate ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// If the variation is not a duplicate, add it to the accumulator.\n\t\t\t\taccumulator.push( result );\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[] // Initial accumulator value.\n\t\t);\n\n\t\tif ( 'function' === typeof filter ) {\n\t\t\tprocessedStyleVariations =\n\t\t\t\tprocessedStyleVariations.filter( filter );\n\t\t}\n\n\t\treturn processedStyleVariations;\n\t}, [ variations, property, baseVariation, filter ] );\n}\n\n/**\n * Compares a style variation to the same variation filtered by a single property.\n * Returns true if the variation contains only the property specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string} property The property to compare.\n * @return {boolean} Whether the variation contains only a single property.\n */\nexport function isVariationWithSingleProperty( variation, property ) {\n\tconst variationWithProperty = filterObjectByProperty(\n\t\tcloneDeep( variation ),\n\t\tproperty\n\t);\n\n\treturn (\n\t\tJSON.stringify( variationWithProperty?.styles ) ===\n\t\t\tJSON.stringify( variation?.styles ) &&\n\t\tJSON.stringify( variationWithProperty?.settings ) ===\n\t\t\tJSON.stringify( variation?.settings )\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_editor","_i18n","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","userVariation","useContext","useMemo","clonedUserVariation","cloneDeep","userVariationWithoutProperty","title","__","variationsWithSinglePropertyAndBase","filter","variation","isVariationWithSingleProperty","map","filterObjectByProperty","newObject","forEach","newFilter","exports","variationWithProperty","JSON","stringify","styles","settings"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * Fetches the current theme style variations that contain only the specified property\n * and merges them with the user config.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n} ) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || [],\n\t\t};\n\t}, [] );\n\tconst { user: userVariation } = useContext( GlobalStylesContext );\n\n\treturn useMemo( () => {\n\t\tconst clonedUserVariation = cloneDeep( userVariation );\n\n\t\t// Get user variation and remove the settings for the given property.\n\t\tconst userVariationWithoutProperty = removePropertyFromObject(\n\t\t\tclonedUserVariation,\n\t\t\tproperty\n\t\t);\n\t\tuserVariationWithoutProperty.title = __( 'Default' );\n\n\t\tconst variationsWithSinglePropertyAndBase = variationsFromTheme\n\t\t\t.filter( ( variation ) => {\n\t\t\t\treturn isVariationWithSingleProperty( variation, property );\n\t\t\t} )\n\t\t\t.map( ( variation ) => {\n\t\t\t\treturn mergeBaseAndUserConfigs(\n\t\t\t\t\tuserVariationWithoutProperty,\n\t\t\t\t\tvariation\n\t\t\t\t);\n\t\t\t} );\n\n\t\treturn [\n\t\t\tuserVariationWithoutProperty,\n\t\t\t...variationsWithSinglePropertyAndBase,\n\t\t];\n\t}, [ property, userVariation, variationsFromTheme ] );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Compares a style variation to the same variation filtered by a single property.\n * Returns true if the variation contains only the property specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string} property The property to compare.\n * @return {boolean} Whether the variation contains only a single property.\n */\nexport function isVariationWithSingleProperty( variation, property ) {\n\tconst variationWithProperty = filterObjectByProperty(\n\t\tcloneDeep( variation ),\n\t\tproperty\n\t);\n\n\treturn (\n\t\tJSON.stringify( variationWithProperty?.styles ) ===\n\t\t\tJSON.stringify( variation?.styles ) &&\n\t\tJSON.stringify( variationWithProperty?.settings ) ===\n\t\t\tJSON.stringify( variation?.settings )\n\t);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EAAES;AAAoB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAChE,MAAM;EAAEC;AAAwB,CAAC,GAAG,IAAAF,kBAAM,EAAEG,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,wBAAwBA,CAAEC,MAAM,EAAEC,QAAQ,EAAG;EAC5D,IAAK,CAAEA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACjD,OAAOD,MAAM;EACd;EAEA,IACC,OAAOA,MAAM,KAAK,QAAQ,IAC1B,CAAEA,MAAM,IACR,CAAEE,MAAM,CAACC,IAAI,CAAEH,MAAO,CAAC,CAACI,MAAM,EAC7B;IACD,OAAOJ,MAAM;EACd;EAEA,KAAM,MAAMK,GAAG,IAAIL,MAAM,EAAG;IAC3B,IAAKK,GAAG,KAAKJ,QAAQ,EAAG;MACvB,OAAOD,MAAM,CAAEK,GAAG,CAAE;IACrB,CAAC,MAAM,IAAK,OAAOL,MAAM,CAAEK,GAAG,CAAE,KAAK,QAAQ,EAAG;MAC/CN,wBAAwB,CAAEC,MAAM,CAAEK,GAAG,CAAE,EAAEJ,QAAS,CAAC;IACpD;EACD;EACA,OAAOD,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,iDAAiDA,CAAE;EAClEL;AACD,CAAC,EAAG;EACH,MAAM;IAAEM;EAAoB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxD,MAAMC,oBAAoB,GACzBD,MAAM,CACLE,eACD,CAAC,CAACC,mDAAmD,CAAC,CAAC;IAExD,OAAO;MACNL,mBAAmB,EAAEG,oBAAoB,IAAI;IAC9C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEG,IAAI,EAAEC;EAAc,CAAC,GAAG,IAAAC,mBAAU,EAAErB,mBAAoB,CAAC;EAEjE,OAAO,IAAAsB,gBAAO,EAAE,MAAM;IACrB,MAAMC,mBAAmB,GAAG,IAAAC,kBAAS,EAAEJ,aAAc,CAAC;;IAEtD;IACA,MAAMK,4BAA4B,GAAGpB,wBAAwB,CAC5DkB,mBAAmB,EACnBhB,QACD,CAAC;IACDkB,4BAA4B,CAACC,KAAK,GAAG,IAAAC,QAAE,EAAE,SAAU,CAAC;IAEpD,MAAMC,mCAAmC,GAAGf,mBAAmB,CAC7DgB,MAAM,CAAIC,SAAS,IAAM;MACzB,OAAOC,6BAA6B,CAAED,SAAS,EAAEvB,QAAS,CAAC;IAC5D,CAAE,CAAC,CACFyB,GAAG,CAAIF,SAAS,IAAM;MACtB,OAAO3B,uBAAuB,CAC7BsB,4BAA4B,EAC5BK,SACD,CAAC;IACF,CAAE,CAAC;IAEJ,OAAO,CACNL,4BAA4B,EAC5B,GAAGG,mCAAmC,CACtC;EACF,CAAC,EAAE,CAAErB,QAAQ,EAAEa,aAAa,EAAEP,mBAAmB,CAAG,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMoB,sBAAsB,GAAGA,CAAE3B,MAAM,EAAEC,QAAQ,KAAM;EAC7D,IAAK,CAAED,MAAM,EAAG;IACf,OAAO,CAAC,CAAC;EACV;EAEA,MAAM4B,SAAS,GAAG,CAAC,CAAC;EACpB1B,MAAM,CAACC,IAAI,CAAEH,MAAO,CAAC,CAAC6B,OAAO,CAAIxB,GAAG,IAAM;IACzC,IAAKA,GAAG,KAAKJ,QAAQ,EAAG;MACvB2B,SAAS,CAAEvB,GAAG,CAAE,GAAGL,MAAM,CAAEK,GAAG,CAAE;IACjC,CAAC,MAAM,IAAK,OAAOL,MAAM,CAAEK,GAAG,CAAE,KAAK,QAAQ,EAAG;MAC/C,MAAMyB,SAAS,GAAGH,sBAAsB,CAAE3B,MAAM,CAAEK,GAAG,CAAE,EAAEJ,QAAS,CAAC;MACnE,IAAKC,MAAM,CAACC,IAAI,CAAE2B,SAAU,CAAC,CAAC1B,MAAM,EAAG;QACtCwB,SAAS,CAAEvB,GAAG,CAAE,GAAGyB,SAAS;MAC7B;IACD;EACD,CAAE,CAAC;EACH,OAAOF,SAAS;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAG,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA;AAQO,SAASF,6BAA6BA,CAAED,SAAS,EAAEvB,QAAQ,EAAG;EACpE,MAAM+B,qBAAqB,GAAGL,sBAAsB,CACnD,IAAAT,kBAAS,EAAEM,SAAU,CAAC,EACtBvB,QACD,CAAC;EAED,OACCgC,IAAI,CAACC,SAAS,CAAEF,qBAAqB,EAAEG,MAAO,CAAC,KAC9CF,IAAI,CAACC,SAAS,CAAEV,SAAS,EAAEW,MAAO,CAAC,IACpCF,IAAI,CAACC,SAAS,CAAEF,qBAAqB,EAAEI,QAAS,CAAC,KAChDH,IAAI,CAACC,SAAS,CAAEV,SAAS,EAAEY,QAAS,CAAC;AAExC","ignoreList":[]}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Button, Modal, __experimentalHStack as HStack, __experimentalVStack as VStack, TextControl } from '@wordpress/components';
|
|
5
5
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
|
-
import { useDispatch } from '@wordpress/data';
|
|
6
|
+
import { useDispatch, useRegistry } from '@wordpress/data';
|
|
7
7
|
import { useState } from '@wordpress/element';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { store as noticesStore } from '@wordpress/notices';
|
|
10
10
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
|
+
import { serialize, synchronizeBlocksWithTemplate } from '@wordpress/blocks';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
export default function AddNewPageModal({
|
|
@@ -23,6 +24,9 @@ export default function AddNewPageModal({
|
|
|
23
24
|
createErrorNotice,
|
|
24
25
|
createSuccessNotice
|
|
25
26
|
} = useDispatch(noticesStore);
|
|
27
|
+
const {
|
|
28
|
+
resolveSelect
|
|
29
|
+
} = useRegistry();
|
|
26
30
|
async function createPage(event) {
|
|
27
31
|
event.preventDefault();
|
|
28
32
|
if (isCreatingPage) {
|
|
@@ -30,10 +34,12 @@ export default function AddNewPageModal({
|
|
|
30
34
|
}
|
|
31
35
|
setIsCreatingPage(true);
|
|
32
36
|
try {
|
|
37
|
+
const pagePostType = await resolveSelect(coreStore).getPostType('page');
|
|
33
38
|
const newPage = await saveEntityRecord('postType', 'page', {
|
|
34
39
|
status: 'draft',
|
|
35
40
|
title,
|
|
36
|
-
slug: title || __('No title')
|
|
41
|
+
slug: title || __('No title'),
|
|
42
|
+
content: !!pagePostType.template && pagePostType.template.length ? serialize(synchronizeBlocksWithTemplate([], pagePostType.template)) : undefined
|
|
37
43
|
}, {
|
|
38
44
|
throwOnError: true
|
|
39
45
|
});
|