@wordpress/edit-site 6.42.0 → 6.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/page-patterns/index.cjs +7 -27
- package/build/components/page-patterns/index.cjs.map +2 -2
- package/build/components/page-templates/index-legacy.cjs +13 -6
- package/build/components/page-templates/index-legacy.cjs.map +2 -2
- package/build/components/post-list/index.cjs +15 -6
- package/build/components/post-list/index.cjs.map +2 -2
- package/build/components/post-list/quick-edit-modal.cjs +16 -48
- package/build/components/post-list/quick-edit-modal.cjs.map +2 -2
- package/build/components/sidebar-dataviews/index.cjs +37 -25
- package/build/components/sidebar-dataviews/index.cjs.map +3 -3
- package/build/components/sidebar-navigation-screen-patterns/index.cjs +55 -47
- package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
- package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs +33 -56
- package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +3 -3
- package/build/components/site-editor-routes/home.cjs +8 -4
- package/build/components/site-editor-routes/home.cjs.map +2 -2
- package/build/components/site-editor-routes/navigation-item.cjs +13 -6
- package/build/components/site-editor-routes/navigation-item.cjs.map +2 -2
- package/build/components/site-editor-routes/navigation.cjs +9 -4
- package/build/components/site-editor-routes/navigation.cjs.map +2 -2
- package/build/components/site-editor-routes/page-item.cjs +13 -6
- package/build/components/site-editor-routes/page-item.cjs.map +2 -2
- package/build/components/site-editor-routes/pages.cjs +21 -7
- package/build/components/site-editor-routes/pages.cjs.map +3 -3
- package/build/components/site-editor-routes/stylebook.cjs +17 -2
- package/build/components/site-editor-routes/stylebook.cjs.map +2 -2
- package/build/components/site-editor-routes/template-item.cjs +13 -6
- package/build/components/site-editor-routes/template-item.cjs.map +2 -2
- package/build/components/site-editor-routes/templates.cjs +20 -7
- package/build/components/site-editor-routes/templates.cjs.map +3 -3
- package/build/components/site-editor-routes/utils.cjs +7 -2
- package/build/components/site-editor-routes/utils.cjs.map +2 -2
- package/build-module/components/page-patterns/index.mjs +8 -30
- package/build-module/components/page-patterns/index.mjs.map +2 -2
- package/build-module/components/page-templates/index-legacy.mjs +14 -11
- package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
- package/build-module/components/post-list/index.mjs +16 -11
- package/build-module/components/post-list/index.mjs.map +2 -2
- package/build-module/components/post-list/quick-edit-modal.mjs +16 -48
- package/build-module/components/post-list/quick-edit-modal.mjs.map +2 -2
- package/build-module/components/sidebar-dataviews/index.mjs +45 -25
- package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +55 -47
- package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs +41 -59
- package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +2 -2
- package/build-module/components/site-editor-routes/home.mjs +10 -6
- package/build-module/components/site-editor-routes/home.mjs.map +2 -2
- package/build-module/components/site-editor-routes/navigation-item.mjs +14 -7
- package/build-module/components/site-editor-routes/navigation-item.mjs.map +2 -2
- package/build-module/components/site-editor-routes/navigation.mjs +10 -5
- package/build-module/components/site-editor-routes/navigation.mjs.map +2 -2
- package/build-module/components/site-editor-routes/page-item.mjs +14 -7
- package/build-module/components/site-editor-routes/page-item.mjs.map +2 -2
- package/build-module/components/site-editor-routes/pages.mjs +22 -11
- package/build-module/components/site-editor-routes/pages.mjs.map +2 -2
- package/build-module/components/site-editor-routes/stylebook.mjs +18 -3
- package/build-module/components/site-editor-routes/stylebook.mjs.map +2 -2
- package/build-module/components/site-editor-routes/template-item.mjs +14 -7
- package/build-module/components/site-editor-routes/template-item.mjs.map +2 -2
- package/build-module/components/site-editor-routes/templates.mjs +21 -11
- package/build-module/components/site-editor-routes/templates.mjs.map +2 -2
- package/build-module/components/site-editor-routes/utils.mjs +5 -1
- package/build-module/components/site-editor-routes/utils.mjs.map +2 -2
- package/build-style/style-rtl.css +60 -49
- package/build-style/style.css +60 -49
- package/package.json +46 -46
- package/src/components/page-patterns/index.js +9 -30
- package/src/components/page-templates/index-legacy.js +14 -11
- package/src/components/post-list/index.js +16 -10
- package/src/components/post-list/quick-edit-modal.js +19 -54
- package/src/components/post-list/style.scss +2 -0
- package/src/components/sidebar-dataviews/index.js +48 -26
- package/src/components/sidebar-dataviews/style.scss +0 -16
- package/src/components/sidebar-navigation-screen-patterns/index.js +62 -55
- package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +44 -64
- package/src/components/site-editor-routes/home.js +9 -5
- package/src/components/site-editor-routes/navigation-item.js +13 -6
- package/src/components/site-editor-routes/navigation.js +9 -4
- package/src/components/site-editor-routes/page-item.js +13 -6
- package/src/components/site-editor-routes/pages.js +21 -10
- package/src/components/site-editor-routes/stylebook.js +12 -3
- package/src/components/site-editor-routes/template-item.js +13 -6
- package/src/components/site-editor-routes/templates.js +21 -10
- package/src/components/site-editor-routes/utils.js +12 -0
- package/build/components/post-list/view-utils.cjs +0 -202
- package/build/components/post-list/view-utils.cjs.map +0 -7
- package/build/components/sidebar-dataviews/dataview-item.cjs +0 -82
- package/build/components/sidebar-dataviews/dataview-item.cjs.map +0 -7
- package/build-module/components/post-list/view-utils.mjs +0 -182
- package/build-module/components/post-list/view-utils.mjs.map +0 -7
- package/build-module/components/sidebar-dataviews/dataview-item.mjs +0 -51
- package/build-module/components/sidebar-dataviews/dataview-item.mjs.map +0 -7
- package/src/components/post-list/view-utils.js +0 -187
- package/src/components/sidebar-dataviews/dataview-item.js +0 -56
package/CHANGELOG.md
CHANGED
|
@@ -57,31 +57,6 @@ var { ExperimentalBlockEditorProvider } = (0, import_lock_unlock.unlock)(import_
|
|
|
57
57
|
var { usePostActions, patternTitleField } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
|
|
58
58
|
var { useLocation, useHistory } = (0, import_lock_unlock.unlock)(import_router.privateApis);
|
|
59
59
|
var EMPTY_ARRAY = [];
|
|
60
|
-
var defaultLayouts = {
|
|
61
|
-
[import_constants.LAYOUT_TABLE]: {
|
|
62
|
-
layout: {
|
|
63
|
-
styles: {
|
|
64
|
-
author: {
|
|
65
|
-
width: "1%"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
[import_constants.LAYOUT_GRID]: {
|
|
71
|
-
layout: {
|
|
72
|
-
badgeFields: ["sync-status"]
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
var DEFAULT_VIEW = {
|
|
77
|
-
type: import_constants.LAYOUT_GRID,
|
|
78
|
-
perPage: 20,
|
|
79
|
-
titleField: "title",
|
|
80
|
-
mediaField: "preview",
|
|
81
|
-
fields: ["sync-status"],
|
|
82
|
-
filters: [],
|
|
83
|
-
...defaultLayouts[import_constants.LAYOUT_GRID]
|
|
84
|
-
};
|
|
85
60
|
function usePagePatternsHeader(type, categoryId) {
|
|
86
61
|
const { patternCategories } = (0, import_use_pattern_categories.default)();
|
|
87
62
|
const templatePartAreas = (0, import_data.useSelect)(
|
|
@@ -109,11 +84,16 @@ function DataviewsPatterns() {
|
|
|
109
84
|
const { postType = "wp_block", categoryId: categoryIdFromURL } = query;
|
|
110
85
|
const history = useHistory();
|
|
111
86
|
const categoryId = categoryIdFromURL || import_constants.PATTERN_DEFAULT_CATEGORY;
|
|
87
|
+
const { default_view: defaultView, default_layouts: defaultLayouts } = (0, import_views.useViewConfig)({
|
|
88
|
+
kind: "postType",
|
|
89
|
+
name: postType
|
|
90
|
+
});
|
|
112
91
|
const { view, updateView, isModified, resetToDefault } = (0, import_views.useView)({
|
|
113
92
|
kind: "postType",
|
|
114
93
|
name: postType,
|
|
115
94
|
slug: "default",
|
|
116
|
-
defaultView
|
|
95
|
+
defaultView,
|
|
96
|
+
defaultLayouts,
|
|
117
97
|
queryParams: {
|
|
118
98
|
page: query.pageNumber,
|
|
119
99
|
search: query.search
|
|
@@ -225,7 +205,7 @@ function DataviewsPatterns() {
|
|
|
225
205
|
},
|
|
226
206
|
view,
|
|
227
207
|
onChangeView: updateView,
|
|
228
|
-
defaultLayouts,
|
|
208
|
+
defaultLayouts: defaultLayouts ?? {},
|
|
229
209
|
onReset: isModified ? resetToDefault : false
|
|
230
210
|
},
|
|
231
211
|
categoryId + postType
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/page-patterns/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAqB;AACrB,kBAAmB;AACnB,qBAAwB;AACxB,0BAAsD;AACtD,uBAAiD;AACjD,uBAAqD;AACrD,oBAAiD;AACjD,oBAAiD;AACjD,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t} );\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, 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\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 = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\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 ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\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 ( postType === 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, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\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\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\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={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts ?? {} }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorPrivateApis", "editorPrivateApis", "routerPrivateApis", "usePatternCategories", "coreStore", "usePatterns", "usePatternSettings", "PatternsActions"]
|
|
7
7
|
}
|
|
@@ -48,19 +48,25 @@ var import_constants = require("../../utils/constants.cjs");
|
|
|
48
48
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
49
49
|
var import_dataviews_actions = require("../dataviews-actions/index.cjs");
|
|
50
50
|
var import_fields = require("./fields.cjs");
|
|
51
|
-
var import_view_utils = require("./view-utils.cjs");
|
|
52
51
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
53
52
|
var { usePostActions, templateTitleField } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
|
|
54
53
|
var { useHistory, useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
|
|
55
54
|
var { useEntityRecordsWithPermissions } = (0, import_lock_unlock.unlock)(import_core_data.privateApis);
|
|
56
55
|
function PageTemplates() {
|
|
57
56
|
const { path, query } = useLocation();
|
|
58
|
-
const { activeView = "
|
|
57
|
+
const { activeView = "all", postId } = query;
|
|
59
58
|
const [selection, setSelection] = (0, import_element.useState)([postId]);
|
|
60
|
-
const
|
|
59
|
+
const {
|
|
60
|
+
default_view: defaultView,
|
|
61
|
+
default_layouts: defaultLayouts,
|
|
62
|
+
view_list: viewList
|
|
63
|
+
} = (0, import_views.useViewConfig)({
|
|
64
|
+
kind: "postType",
|
|
65
|
+
name: import_constants.TEMPLATE_POST_TYPE
|
|
66
|
+
});
|
|
61
67
|
const activeViewOverrides = (0, import_element.useMemo)(
|
|
62
|
-
() => (
|
|
63
|
-
[activeView]
|
|
68
|
+
() => viewList?.find((v) => v.slug === activeView)?.view ?? {},
|
|
69
|
+
[viewList, activeView]
|
|
64
70
|
);
|
|
65
71
|
const { view, updateView, isModified, resetToDefault } = (0, import_views.useView)({
|
|
66
72
|
kind: "postType",
|
|
@@ -68,6 +74,7 @@ function PageTemplates() {
|
|
|
68
74
|
slug: "default",
|
|
69
75
|
defaultView,
|
|
70
76
|
activeViewOverrides,
|
|
77
|
+
defaultLayouts,
|
|
71
78
|
queryParams: {
|
|
72
79
|
page: query.pageNumber,
|
|
73
80
|
search: query.search
|
|
@@ -164,7 +171,7 @@ function PageTemplates() {
|
|
|
164
171
|
history.navigate(`/wp_template/${id}?canvas=edit`);
|
|
165
172
|
},
|
|
166
173
|
selection,
|
|
167
|
-
defaultLayouts:
|
|
174
|
+
defaultLayouts: defaultLayouts ?? {},
|
|
168
175
|
onReset: isModified ? () => {
|
|
169
176
|
resetToDefault();
|
|
170
177
|
history.invalidate();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/page-templates/index-legacy.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { authorField, descriptionField, previewField } from './fields';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAqB;AACrB,kBAAmB;AACnB,qBAA+C;AAC/C,uBAA+C;AAC/C,uBAAiD;AACjD,oBAAiD;AACjD,oBAAiD;AACjD,iBAA6B;AAC7B,qBAAyB;AACzB,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { authorField, descriptionField, previewField } from './fields';\n\nconst { usePostActions, templateTitleField } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts ?? {} }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["editorPrivateApis", "routerPrivateApis", "corePrivateApis", "AddNewTemplate"]
|
|
7
7
|
}
|
|
@@ -48,7 +48,6 @@ var import_constants = require("../../utils/constants.cjs");
|
|
|
48
48
|
var import_add_new_post = __toESM(require("../add-new-post/index.cjs"));
|
|
49
49
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
50
50
|
var import_dataviews_actions = require("../dataviews-actions/index.cjs");
|
|
51
|
-
var import_view_utils = require("./view-utils.cjs");
|
|
52
51
|
var import_use_notes_count = __toESM(require("./use-notes-count.cjs"));
|
|
53
52
|
var import_quick_edit_modal = require("./quick-edit-modal.cjs");
|
|
54
53
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -67,16 +66,25 @@ function PostList({ postType }) {
|
|
|
67
66
|
const { path, query } = useLocation();
|
|
68
67
|
const { activeView = "all", postId, quickEdit = false } = query;
|
|
69
68
|
const history = useHistory();
|
|
70
|
-
const
|
|
69
|
+
const {
|
|
70
|
+
default_view: defaultView,
|
|
71
|
+
default_layouts: defaultLayouts,
|
|
72
|
+
view_list: viewList,
|
|
73
|
+
form: quickEditForm
|
|
74
|
+
} = (0, import_views.useViewConfig)({
|
|
75
|
+
kind: "postType",
|
|
76
|
+
name: postType
|
|
77
|
+
});
|
|
71
78
|
const activeViewOverrides = (0, import_element.useMemo)(
|
|
72
|
-
() => (
|
|
73
|
-
[activeView]
|
|
79
|
+
() => viewList?.find((v) => v.slug === activeView)?.view ?? {},
|
|
80
|
+
[viewList, activeView]
|
|
74
81
|
);
|
|
75
82
|
const { view, updateView, isModified, resetToDefault } = (0, import_views.useView)({
|
|
76
83
|
kind: "postType",
|
|
77
84
|
name: postType,
|
|
78
85
|
slug: "default",
|
|
79
86
|
defaultView,
|
|
87
|
+
defaultLayouts,
|
|
80
88
|
activeViewOverrides,
|
|
81
89
|
queryParams: {
|
|
82
90
|
page: query.pageNumber,
|
|
@@ -286,7 +294,7 @@ function PostList({ postType }) {
|
|
|
286
294
|
},
|
|
287
295
|
getItemId,
|
|
288
296
|
getItemLevel,
|
|
289
|
-
defaultLayouts:
|
|
297
|
+
defaultLayouts: defaultLayouts ?? {},
|
|
290
298
|
onReset: isModified ? () => {
|
|
291
299
|
resetToDefault();
|
|
292
300
|
history.invalidate();
|
|
@@ -299,7 +307,8 @@ function PostList({ postType }) {
|
|
|
299
307
|
{
|
|
300
308
|
postType,
|
|
301
309
|
postId: selection,
|
|
302
|
-
closeModal: closeQuickEditModal
|
|
310
|
+
closeModal: closeQuickEditModal,
|
|
311
|
+
quickEditForm
|
|
303
312
|
}
|
|
304
313
|
)
|
|
305
314
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/post-list/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseQuickEditPostAction,\n} from '../dataviews-actions';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sBAAqB;AACrB,wBAAuB;AACvB,uBAGO;AACP,qBAA0D;AAC1D,oBAAiD;AACjD,kBAA0B;AAC1B,uBAAiD;AACjD,oBAAiD;AACjD,qBAAsC;AACtC,iBAA6B;AAC7B,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseQuickEditPostAction,\n} from '../dataviews-actions';\n\nimport useNotesCount from './use-notes-count';\nimport { QuickEditModal } from './quick-edit-modal';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction getItemLevel( item ) {\n\treturn item.level;\n}\n\nexport default function PostList( { postType } ) {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId, quickEdit = false } = query;\n\tconst history = useHistory();\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t\tform: quickEditForm,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tactiveViewOverrides,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ path, history ]\n\t);\n\tuseEffect( () => {\n\t\tconst newSelection = postId?.split( ',' ) ?? [];\n\t\tsetSelection( newSelection );\n\t}, [ postId ] );\n\n\tconst fields = usePostFields( {\n\t\tpostType,\n\t} );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t\tif ( filter.field === 'date' ) {\n\t\t\t\t// Skip if no value is set yet\n\t\t\t\tif ( ! filter.value ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( filter.operator === OPERATOR_BEFORE ) {\n\t\t\t\t\tfilters.before = filter.value;\n\t\t\t\t} else if ( filter.operator === OPERATOR_AFTER ) {\n\t\t\t\t\tfilters.after = filter.value;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\torderby_hierarchy: !! view.showLevels,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t\thasResolved,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\tconst postIds = useMemo(\n\t\t() => records?.map( ( record ) => record.id ) ?? [],\n\t\t[ records ]\n\t);\n\tconst { notesCount, isLoading: isLoadingNotesCount } =\n\t\tuseNotesCount( postIds );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tlet processedRecords = records;\n\n\t\tif ( view?.sort?.field === 'author' ) {\n\t\t\tprocessedRecords = filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\tif ( processedRecords ) {\n\t\t\treturn processedRecords.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tnotesCount: notesCount[ record.id ] ?? 0,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn processedRecords;\n\t}, [ records, fields, view?.sort, notesCount ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [ history, postIdWasDeleted, path ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst quickEditAction = useQuickEditPostAction();\n\tconst actions = useMemo( () => {\n\t\tif ( view.type === LAYOUT_LIST ) {\n\t\t\tconst editActionPrimary = { ...editAction, isPrimary: true };\n\t\t\treturn [ editActionPrimary, ...postTypeActions ];\n\t\t}\n\n\t\treturn [ editAction, quickEditAction, ...postTypeActions ];\n\t}, [ view.type, editAction, quickEditAction, postTypeActions ] );\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.navigate( `/${ type }/${ id }?canvas=edit` );\n\t\tcloseModal();\n\t};\n\tconst closeQuickEditModal = () => {\n\t\thistory.navigate(\n\t\t\taddQueryArgs( path, {\n\t\t\t\t...query,\n\t\t\t\tquickEdit: undefined,\n\t\t\t} )\n\t\t);\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ labels?.add_new_item && canCreateRecord && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={\n\t\t\t\t\tisLoadingData || isLoadingNotesCount || ! hasResolved\n\t\t\t\t}\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/${ postType }/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tgetItemLevel={ getItemLevel }\n\t\t\t\tdefaultLayouts={ defaultLayouts ?? {} }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ quickEdit &&\n\t\t\t\t! isLoadingData &&\n\t\t\t\tselection.length > 0 &&\n\t\t\t\tview.type !== LAYOUT_LIST && (\n\t\t\t\t\t<QuickEditModal\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\tpostId={ selection }\n\t\t\t\t\t\tcloseModal={ closeQuickEditModal }\n\t\t\t\t\t\tquickEditForm={ quickEditForm }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["editorPrivateApis", "routerPrivateApis", "coreDataPrivateApis", "useNotesCount", "coreStore", "AddNewPostModal"]
|
|
7
7
|
}
|
|
@@ -34,7 +34,12 @@ var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
|
34
34
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
35
|
var { usePostFields, PostCardPanel } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
|
|
36
36
|
var fieldsWithBulkEditSupport = ["status", "date", "author", "discussion"];
|
|
37
|
-
function QuickEditModal({
|
|
37
|
+
function QuickEditModal({
|
|
38
|
+
postType,
|
|
39
|
+
postId,
|
|
40
|
+
closeModal,
|
|
41
|
+
quickEditForm
|
|
42
|
+
}) {
|
|
38
43
|
const isBulk = postId.length > 1;
|
|
39
44
|
const [localEdits, setLocalEdits] = (0, import_element.useState)({});
|
|
40
45
|
const { record, hasFinishedResolution, canSwitchTemplate } = (0, import_data.useSelect)(
|
|
@@ -90,58 +95,21 @@ function QuickEditModal({ postType, postId, closeModal }) {
|
|
|
90
95
|
[_fields, canSwitchTemplate]
|
|
91
96
|
);
|
|
92
97
|
const form = (0, import_element.useMemo)(() => {
|
|
93
|
-
|
|
94
|
-
{
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
id: "post-content-info",
|
|
103
|
-
layout: { type: "regular", labelPosition: "none" }
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
id: "status",
|
|
107
|
-
label: (0, import_i18n.__)("Status"),
|
|
108
|
-
children: [
|
|
109
|
-
{
|
|
110
|
-
id: "status",
|
|
111
|
-
layout: { type: "regular", labelPosition: "none" }
|
|
112
|
-
},
|
|
113
|
-
"scheduled_date",
|
|
114
|
-
"password"
|
|
115
|
-
]
|
|
116
|
-
},
|
|
117
|
-
"author",
|
|
118
|
-
"date",
|
|
119
|
-
"slug",
|
|
120
|
-
"parent",
|
|
121
|
-
{
|
|
122
|
-
id: "discussion",
|
|
123
|
-
label: (0, import_i18n.__)("Discussion"),
|
|
124
|
-
children: [
|
|
125
|
-
{
|
|
126
|
-
id: "comment_status",
|
|
127
|
-
layout: { type: "regular", labelPosition: "none" }
|
|
128
|
-
},
|
|
129
|
-
"ping_status"
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
"template"
|
|
133
|
-
];
|
|
98
|
+
if (!quickEditForm) {
|
|
99
|
+
return { layout: { type: "panel" }, fields: [] };
|
|
100
|
+
}
|
|
101
|
+
if (!isBulk) {
|
|
102
|
+
return quickEditForm;
|
|
103
|
+
}
|
|
134
104
|
return {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
fields: isBulk ? allFields.filter(
|
|
105
|
+
...quickEditForm,
|
|
106
|
+
fields: (quickEditForm.fields ?? []).filter(
|
|
139
107
|
(field) => fieldsWithBulkEditSupport.includes(
|
|
140
108
|
typeof field === "string" ? field : field.id
|
|
141
109
|
)
|
|
142
|
-
)
|
|
110
|
+
)
|
|
143
111
|
};
|
|
144
|
-
}, [isBulk]);
|
|
112
|
+
}, [isBulk, quickEditForm]);
|
|
145
113
|
const onChange = (edits) => {
|
|
146
114
|
const currentData = { ...record, ...localEdits };
|
|
147
115
|
if (edits.status && edits.status !== "future" && currentData?.status === "future" && new Date(currentData.date) > /* @__PURE__ */ new Date()) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/post-list/quick-edit-modal.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { usePostFields, PostCardPanel } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [ 'status', 'date', 'author', 'discussion' ];\n\nexport function QuickEditModal( {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,kBAAuC;AACvC,uBAAuC;AACvC,uBAAyB;AACzB,wBAIO;AACP,qBAA6C;AAC7C,oBAAiD;AAKjD,yBAAuB;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { usePostFields, PostCardPanel } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [ 'status', 'date', 'author', 'discussion' ];\n\nexport function QuickEditModal( {\n\tpostType,\n\tpostId,\n\tcloseModal,\n\tquickEditForm,\n} ) {\n\tconst isBulk = postId.length > 1;\n\n\tconst [ localEdits, setLocalEdits ] = useState( {} );\n\tconst { record, hasFinishedResolution, canSwitchTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\thasFinishedResolution: hasFinished,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tif ( isBulk ) {\n\t\t\t\treturn {\n\t\t\t\t\trecord: null,\n\t\t\t\t\thasFinishedResolution: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst args = [ 'postType', postType, postId[ 0 ] ];\n\n\t\t\tconst { getHomePage, getPostsPageId } = unlock(\n\t\t\t\tselect( coreDataStore )\n\t\t\t);\n\t\t\tconst singlePostId = String( postId[ 0 ] );\n\t\t\tconst isPostsPage =\n\t\t\t\tsinglePostId !== undefined && getPostsPageId() === singlePostId;\n\t\t\tconst isFrontPage =\n\t\t\t\tsinglePostId !== undefined &&\n\t\t\t\tpostType === 'page' &&\n\t\t\t\tgetHomePage()?.postId === singlePostId;\n\n\t\t\treturn {\n\t\t\t\trecord: getEditedEntityRecord( ...args ),\n\t\t\t\thasFinishedResolution: hasFinished(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\targs\n\t\t\t\t),\n\t\t\t\tcanSwitchTemplate: ! isPostsPage && ! isFrontPage,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isBulk ]\n\t);\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreDataStore );\n\n\tconst _fields = usePostFields( { postType } );\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\t_fields?.map( ( field ) => {\n\t\t\t\tif ( field.id === 'status' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\telements: field.elements.filter(\n\t\t\t\t\t\t\t( element ) => element.value !== 'trash'\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif ( field.id === 'template' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\treadOnly: ! canSwitchTemplate,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn field;\n\t\t\t} ),\n\t\t[ _fields, canSwitchTemplate ]\n\t);\n\n\tconst form = useMemo( () => {\n\t\tif ( ! quickEditForm ) {\n\t\t\treturn { layout: { type: 'panel' }, fields: [] };\n\t\t}\n\t\tif ( ! isBulk ) {\n\t\t\treturn quickEditForm;\n\t\t}\n\t\treturn {\n\t\t\t...quickEditForm,\n\t\t\tfields: ( quickEditForm.fields ?? [] ).filter( ( field ) =>\n\t\t\t\tfieldsWithBulkEditSupport.includes(\n\t\t\t\t\ttypeof field === 'string' ? field : field.id\n\t\t\t\t)\n\t\t\t),\n\t\t};\n\t}, [ isBulk, quickEditForm ] );\n\n\tconst onChange = ( edits ) => {\n\t\tconst currentData = { ...record, ...localEdits };\n\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status !== 'future' &&\n\t\t\tcurrentData?.status === 'future' &&\n\t\t\tnew Date( currentData.date ) > new Date()\n\t\t) {\n\t\t\tedits.date = null;\n\t\t}\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status === 'private' &&\n\t\t\tcurrentData?.password\n\t\t) {\n\t\t\tedits.password = '';\n\t\t}\n\n\t\tsetLocalEdits( ( prev ) => ( { ...prev, ...edits } ) );\n\t};\n\tuseEffect( () => {\n\t\tsetLocalEdits( {} );\n\t}, [ postId ] );\n\n\tconst onSave = async () => {\n\t\tfor ( const id of postId ) {\n\t\t\teditEntityRecord( 'postType', postType, id, localEdits );\n\t\t}\n\n\t\tif ( isBulk ) {\n\t\t\tawait Promise.allSettled(\n\t\t\t\tpostId.map( ( id ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'postType', postType, id )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tawait saveEditedEntityRecord( 'postType', postType, postId[ 0 ] );\n\t\t}\n\t\tcloseModal?.();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\toverlayClassName=\"dataviews-action-modal__quick-edit\"\n\t\t\t__experimentalHideHeader\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-header\">\n\t\t\t\t<PostCardPanel\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\thideActions\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-content\">\n\t\t\t\t{ hasFinishedResolution && (\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ { ...record, ...localEdits } }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<HStack className=\"dataviews-action-modal__quick-edit-footer\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ onSave }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,kBAAuC;AACvC,uBAAuC;AACvC,uBAAyB;AACzB,wBAIO;AACP,qBAA6C;AAC7C,oBAAiD;AAKjD,yBAAuB;AAoJnB;AAlJJ,IAAM,EAAE,eAAe,cAAc,QAAI,2BAAQ,cAAAA,WAAkB;AAEnE,IAAM,4BAA4B,CAAE,UAAU,QAAQ,UAAU,YAAa;AAEtE,SAAS,eAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,SAAS,OAAO,SAAS;AAE/B,QAAM,CAAE,YAAY,aAAc,QAAI,yBAAU,CAAC,CAAE;AACnD,QAAM,EAAE,QAAQ,uBAAuB,kBAAkB,QAAI;AAAA,IAC5D,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA,uBAAuB;AAAA,MACxB,IAAI,OAAQ,iBAAAC,KAAc;AAE1B,UAAK,QAAS;AACb,eAAO;AAAA,UACN,QAAQ;AAAA,UACR,uBAAuB;AAAA,QACxB;AAAA,MACD;AAEA,YAAM,OAAO,CAAE,YAAY,UAAU,OAAQ,CAAE,CAAE;AAEjD,YAAM,EAAE,aAAa,eAAe,QAAI;AAAA,QACvC,OAAQ,iBAAAA,KAAc;AAAA,MACvB;AACA,YAAM,eAAe,OAAQ,OAAQ,CAAE,CAAE;AACzC,YAAM,cACL,iBAAiB,UAAa,eAAe,MAAM;AACpD,YAAM,cACL,iBAAiB,UACjB,aAAa,UACb,YAAY,GAAG,WAAW;AAE3B,aAAO;AAAA,QACN,QAAQ,sBAAuB,GAAG,IAAK;AAAA,QACvC,uBAAuB;AAAA,UACtB;AAAA,UACA;AAAA,QACD;AAAA,QACA,mBAAmB,CAAE,eAAe,CAAE;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,UAAU,QAAQ,MAAO;AAAA,EAC5B;AACA,QAAM,EAAE,kBAAkB,uBAAuB,QAChD,yBAAa,iBAAAA,KAAc;AAE5B,QAAM,UAAU,cAAe,EAAE,SAAS,CAAE;AAC5C,QAAM,aAAS;AAAA,IACd,MACC,SAAS,IAAK,CAAE,UAAW;AAC1B,UAAK,MAAM,OAAO,UAAW;AAC5B,eAAO;AAAA,UACN,GAAG;AAAA,UACH,UAAU,MAAM,SAAS;AAAA,YACxB,CAAE,YAAa,QAAQ,UAAU;AAAA,UAClC;AAAA,QACD;AAAA,MACD;AAEA,UAAK,MAAM,OAAO,YAAa;AAC9B,eAAO;AAAA,UACN,GAAG;AAAA,UACH,UAAU,CAAE;AAAA,QACb;AAAA,MACD;AAEA,aAAO;AAAA,IACR,CAAE;AAAA,IACH,CAAE,SAAS,iBAAkB;AAAA,EAC9B;AAEA,QAAM,WAAO,wBAAS,MAAM;AAC3B,QAAK,CAAE,eAAgB;AACtB,aAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE;AAAA,IAChD;AACA,QAAK,CAAE,QAAS;AACf,aAAO;AAAA,IACR;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAU,cAAc,UAAU,CAAC,GAAI;AAAA,QAAQ,CAAE,UAChD,0BAA0B;AAAA,UACzB,OAAO,UAAU,WAAW,QAAQ,MAAM;AAAA,QAC3C;AAAA,MACD;AAAA,IACD;AAAA,EACD,GAAG,CAAE,QAAQ,aAAc,CAAE;AAE7B,QAAM,WAAW,CAAE,UAAW;AAC7B,UAAM,cAAc,EAAE,GAAG,QAAQ,GAAG,WAAW;AAE/C,QACC,MAAM,UACN,MAAM,WAAW,YACjB,aAAa,WAAW,YACxB,IAAI,KAAM,YAAY,IAAK,IAAI,oBAAI,KAAK,GACvC;AACD,YAAM,OAAO;AAAA,IACd;AACA,QACC,MAAM,UACN,MAAM,WAAW,aACjB,aAAa,UACZ;AACD,YAAM,WAAW;AAAA,IAClB;AAEA,kBAAe,CAAE,UAAY,EAAE,GAAG,MAAM,GAAG,MAAM,EAAI;AAAA,EACtD;AACA,gCAAW,MAAM;AAChB,kBAAe,CAAC,CAAE;AAAA,EACnB,GAAG,CAAE,MAAO,CAAE;AAEd,QAAM,SAAS,YAAY;AAC1B,eAAY,MAAM,QAAS;AAC1B,uBAAkB,YAAY,UAAU,IAAI,UAAW;AAAA,IACxD;AAEA,QAAK,QAAS;AACb,YAAM,QAAQ;AAAA,QACb,OAAO;AAAA,UAAK,CAAE,OACb,uBAAwB,YAAY,UAAU,EAAG;AAAA,QAClD;AAAA,MACD;AAAA,IACD,OAAO;AACN,YAAM,uBAAwB,YAAY,UAAU,OAAQ,CAAE,CAAE;AAAA,IACjE;AACA,iBAAa;AAAA,EACd;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,kBAAiB;AAAA,MACjB,0BAAwB;AAAA,MACxB,gBAAiB;AAAA,MACjB,cAAa;AAAA,MAEb;AAAA,oDAAC,SAAI,WAAU,6CACd;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA,SAAU;AAAA,YACV,aAAW;AAAA;AAAA,QACZ,GACD;AAAA,QACA,4CAAC,SAAI,WAAU,8CACZ,mCACD;AAAA,UAAC;AAAA;AAAA,YACA,MAAO,EAAE,GAAG,QAAQ,GAAG,WAAW;AAAA,YAClC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACD,GAEF;AAAA,QACA,6CAAC,kBAAAC,sBAAA,EAAO,WAAU,6CACjB;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAQ;AAAA,cACR,SAAU;AAAA,cAER,8BAAI,MAAO;AAAA;AAAA,UACd;AAAA,WACD;AAAA;AAAA;AAAA,EACD;AAEF;",
|
|
6
6
|
"names": ["editorPrivateApis", "coreDataStore", "HStack"]
|
|
7
7
|
}
|
|
@@ -35,43 +35,55 @@ __export(sidebar_dataviews_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(sidebar_dataviews_exports);
|
|
36
36
|
var import_components = require("@wordpress/components");
|
|
37
37
|
var import_router = require("@wordpress/router");
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
38
|
+
var import_icons = require("@wordpress/icons");
|
|
39
|
+
var import_views = require("@wordpress/views");
|
|
40
|
+
var import_url = require("@wordpress/url");
|
|
41
41
|
var import_lock_unlock = require("../../lock-unlock.cjs");
|
|
42
|
-
var
|
|
43
|
-
var import_view_utils = require("../post-list/view-utils.cjs");
|
|
42
|
+
var import_sidebar_navigation_item = __toESM(require("../sidebar-navigation-item/index.cjs"));
|
|
44
43
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
45
44
|
var { useLocation } = (0, import_lock_unlock.unlock)(import_router.privateApis);
|
|
46
|
-
|
|
45
|
+
var SLUG_TO_ICON = {
|
|
46
|
+
all: import_icons.pages,
|
|
47
|
+
published: import_icons.published,
|
|
48
|
+
future: import_icons.scheduled,
|
|
49
|
+
drafts: import_icons.drafts,
|
|
50
|
+
pending: import_icons.pending,
|
|
51
|
+
private: import_icons.notAllowed,
|
|
52
|
+
trash: import_icons.trash
|
|
53
|
+
};
|
|
54
|
+
var defaultResolveIcon = (view) => {
|
|
55
|
+
return SLUG_TO_ICON[view.slug];
|
|
56
|
+
};
|
|
57
|
+
function DataViewsSidebarContent({
|
|
58
|
+
postType,
|
|
59
|
+
resolveIcon = defaultResolveIcon
|
|
60
|
+
}) {
|
|
47
61
|
const {
|
|
62
|
+
path,
|
|
48
63
|
query: { activeView = "all" }
|
|
49
64
|
} = useLocation();
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
[postType]
|
|
56
|
-
);
|
|
57
|
-
const defaultViews = (0, import_element.useMemo)(
|
|
58
|
-
() => (0, import_view_utils.getDefaultViews)(postTypeObject),
|
|
59
|
-
[postTypeObject]
|
|
60
|
-
);
|
|
65
|
+
const { view_list: viewList } = (0, import_views.useViewConfig)({
|
|
66
|
+
kind: "postType",
|
|
67
|
+
name: postType
|
|
68
|
+
});
|
|
61
69
|
if (!postType) {
|
|
62
70
|
return null;
|
|
63
71
|
}
|
|
64
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalItemGroup, { className: "edit-site-sidebar-dataviews", children:
|
|
72
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalItemGroup, { className: "edit-site-sidebar-dataviews", children: viewList?.map((view) => {
|
|
73
|
+
const isActive = view.slug === activeView;
|
|
74
|
+
const slug = view.slug === "all" ? void 0 : view.slug;
|
|
75
|
+
const icon = resolveIcon(view);
|
|
65
76
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
66
|
-
|
|
77
|
+
import_sidebar_navigation_item.default,
|
|
67
78
|
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
isActive:
|
|
79
|
+
icon,
|
|
80
|
+
to: (0, import_url.addQueryArgs)(path, {
|
|
81
|
+
activeView: slug
|
|
82
|
+
}),
|
|
83
|
+
"aria-current": isActive ? "true" : void 0,
|
|
84
|
+
children: view.title
|
|
73
85
|
},
|
|
74
|
-
|
|
86
|
+
view.slug
|
|
75
87
|
);
|
|
76
88
|
}) }) });
|
|
77
89
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar-dataviews/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AACrD,oBAAiD;AACjD,
|
|
6
|
-
"names": ["routerPrivateApis", "
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\ttrash,\n\tpages,\n\tdrafts,\n\tpublished,\n\tscheduled,\n\tpending,\n\tnotAllowed,\n} from '@wordpress/icons';\nimport { useViewConfig } from '@wordpress/views';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst SLUG_TO_ICON = {\n\tall: pages,\n\tpublished,\n\tfuture: scheduled,\n\tdrafts,\n\tpending,\n\tprivate: notAllowed,\n\ttrash,\n};\nconst defaultResolveIcon = ( view ) => {\n\treturn SLUG_TO_ICON[ view.slug ];\n};\n\nexport default function DataViewsSidebarContent( {\n\tpostType,\n\tresolveIcon = defaultResolveIcon,\n} ) {\n\tconst {\n\t\tpath,\n\t\tquery: { activeView = 'all' },\n\t} = useLocation();\n\tconst { view_list: viewList } = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-dataviews\">\n\t\t\t\t{ viewList?.map( ( view ) => {\n\t\t\t\t\tconst isActive = view.slug === activeView;\n\t\t\t\t\tconst slug = view.slug === 'all' ? undefined : view.slug;\n\t\t\t\t\tconst icon = resolveIcon( view );\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tkey={ view.slug }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tto={ addQueryArgs( path, {\n\t\t\t\t\t\t\t\tactiveView: slug,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\taria-current={ isActive ? 'true' : undefined }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ view.title }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAqD;AACrD,oBAAiD;AACjD,mBAQO;AACP,mBAA8B;AAC9B,iBAA6B;AAK7B,yBAAuB;AACvB,qCAAkC;AAkChC;AAhCF,IAAM,EAAE,YAAY,QAAI,2BAAQ,cAAAA,WAAkB;AAElD,IAAM,eAAe;AAAA,EACpB,KAAK;AAAA,EACL;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AACD;AACA,IAAM,qBAAqB,CAAE,SAAU;AACtC,SAAO,aAAc,KAAK,IAAK;AAChC;AAEe,SAAR,wBAA0C;AAAA,EAChD;AAAA,EACA,cAAc;AACf,GAAI;AACH,QAAM;AAAA,IACL;AAAA,IACA,OAAO,EAAE,aAAa,MAAM;AAAA,EAC7B,IAAI,YAAY;AAChB,QAAM,EAAE,WAAW,SAAS,QAAI,4BAAe;AAAA,IAC9C,MAAM;AAAA,IACN,MAAM;AAAA,EACP,CAAE;AACF,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SACC,2EACC,sDAAC,kBAAAC,yBAAA,EAAU,WAAU,+BAClB,oBAAU,IAAK,CAAE,SAAU;AAC5B,UAAM,WAAW,KAAK,SAAS;AAC/B,UAAM,OAAO,KAAK,SAAS,QAAQ,SAAY,KAAK;AACpD,UAAM,OAAO,YAAa,IAAK;AAC/B,WACC;AAAA,MAAC,+BAAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAK,yBAAc,MAAM;AAAA,UACxB,YAAY;AAAA,QACb,CAAE;AAAA,QACF,gBAAe,WAAW,SAAS;AAAA,QAEjC,eAAK;AAAA;AAAA,MAPD,KAAK;AAAA,IAQZ;AAAA,EAEF,CAAE,GACH,GACD;AAEF;",
|
|
6
|
+
"names": ["routerPrivateApis", "ItemGroup", "SidebarNavigationItem"]
|
|
7
7
|
}
|