@wordpress/edit-site 5.21.1-next.f8d8eceb.0 → 5.22.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-pages/default-views.js +2 -0
- package/build/components/page-pages/default-views.js.map +1 -1
- package/build/components/page-patterns/rename-category-menu-item.js +27 -9
- package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build/components/save-button/index.js +4 -2
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +5 -3
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/utils/use-activate-theme.js +8 -0
- package/build/utils/use-activate-theme.js.map +1 -1
- package/build-module/components/page-pages/default-views.js +2 -0
- package/build-module/components/page-pages/default-views.js.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js +25 -9
- package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
- package/build-module/components/save-button/index.js +4 -2
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +5 -3
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/utils/use-activate-theme.js +8 -0
- package/build-module/utils/use-activate-theme.js.map +1 -1
- package/package.json +40 -40
- package/src/components/page-pages/default-views.js +2 -0
- package/src/components/page-patterns/rename-category-menu-item.js +29 -12
- package/src/components/save-button/index.js +10 -5
- package/src/components/sidebar-dataviews/index.js +4 -3
- package/src/components/sidebar-navigation-screen-page/page-details.js +3 -1
- package/src/utils/use-activate-theme.js +5 -0
- package/build/components/dataviews/context.js +0 -15
- package/build/components/dataviews/context.js.map +0 -1
- package/build-module/components/dataviews/context.js +0 -7
- package/build-module/components/dataviews/context.js.map +0 -1
- package/src/components/dataviews/context.js +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.DEFAULT_STATUSES = void 0;
|
|
7
7
|
var _i18n = require("@wordpress/i18n");
|
|
8
|
+
var _icons = require("@wordpress/icons");
|
|
8
9
|
/**
|
|
9
10
|
* WordPress dependencies
|
|
10
11
|
*/
|
|
@@ -48,6 +49,7 @@ const DEFAULT_VIEWS = [{
|
|
|
48
49
|
}, {
|
|
49
50
|
title: (0, _i18n.__)('Trash'),
|
|
50
51
|
slug: 'trash',
|
|
52
|
+
icon: _icons.trash,
|
|
51
53
|
view: {
|
|
52
54
|
...DEFAULT_PAGE_BASE,
|
|
53
55
|
filters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","DEFAULT_STATUSES","exports","DEFAULT_PAGE_BASE","type","search","filters","status","page","perPage","sort","field","direction","visibleFilters","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","view","_default","default"],"sources":["@wordpress/edit-site/src/components/page-pages/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.\n// The reason for that is to match the default statuses coming from the endpoint\n// (entity request and useEffect to update the view).\nexport const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: {\n\t\tstatus: DEFAULT_STATUSES,\n\t},\n\tpage: 1,\n\tperPage: 5,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\tvisibleFilters: [ 'author', 'status' ],\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};\n\nconst DEFAULT_VIEWS = [\n\t{\n\t\ttitle: __( 'All' ),\n\t\tslug: 'all',\n\t\tview: DEFAULT_PAGE_BASE,\n\t},\n\t{\n\t\ttitle: __( 'Drafts' ),\n\t\tslug: 'drafts',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'draft',\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\ttitle: __( 'Trash' ),\n\t\tslug: 'trash',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'trash',\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport default DEFAULT_VIEWS;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","DEFAULT_STATUSES","exports","DEFAULT_PAGE_BASE","type","search","filters","status","page","perPage","sort","field","direction","visibleFilters","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","view","icon","trash","_default","default"],"sources":["@wordpress/edit-site/src/components/page-pages/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.\n// The reason for that is to match the default statuses coming from the endpoint\n// (entity request and useEffect to update the view).\nexport const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: {\n\t\tstatus: DEFAULT_STATUSES,\n\t},\n\tpage: 1,\n\tperPage: 5,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\tvisibleFilters: [ 'author', 'status' ],\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};\n\nconst DEFAULT_VIEWS = [\n\t{\n\t\ttitle: __( 'All' ),\n\t\tslug: 'all',\n\t\tview: DEFAULT_PAGE_BASE,\n\t},\n\t{\n\t\ttitle: __( 'Drafts' ),\n\t\tslug: 'drafts',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'draft',\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\ttitle: __( 'Trash' ),\n\t\tslug: 'trash',\n\t\ticon: trash,\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'trash',\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport default DEFAULT_VIEWS;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACO,MAAME,gBAAgB,GAAG,sCAAsC,CAAC,CAAC;AAAAC,OAAA,CAAAD,gBAAA,GAAAA,gBAAA;AAExE,MAAME,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE;IACRC,MAAM,EAAEN;EACT,CAAC;EACDO,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE,CAAE,QAAQ,EAAE,QAAQ,CAAE;EACtC;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG,CACrB;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,KAAM,CAAC;EAClBC,IAAI,EAAE,KAAK;EACXC,IAAI,EAAEjB;AACP,CAAC,EACD;EACCc,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;EACrBC,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE;IACL,GAAGjB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,EACD;EACCU,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,IAAI,EAAE,OAAO;EACbE,IAAI,EAAEC,YAAK;EACXF,IAAI,EAAE;IACL,GAAGjB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,CACD;AAAC,IAAAgB,QAAA,GAEaP,aAAa;AAAAd,OAAA,CAAAsB,OAAA,GAAAD,QAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -9,6 +10,7 @@ var _components = require("@wordpress/components");
|
|
|
9
10
|
var _element = require("@wordpress/element");
|
|
10
11
|
var _i18n = require("@wordpress/i18n");
|
|
11
12
|
var _patterns = require("@wordpress/patterns");
|
|
13
|
+
var _usePatternCategories = _interopRequireDefault(require("../sidebar-navigation-screen-patterns/use-pattern-categories"));
|
|
12
14
|
var _lockUnlock = require("../../lock-unlock");
|
|
13
15
|
/**
|
|
14
16
|
* WordPress dependencies
|
|
@@ -18,6 +20,10 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
18
20
|
* Internal dependencies
|
|
19
21
|
*/
|
|
20
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Internal dependencies
|
|
25
|
+
*/
|
|
26
|
+
|
|
21
27
|
const {
|
|
22
28
|
RenamePatternCategoryModal
|
|
23
29
|
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
|
|
@@ -26,7 +32,20 @@ function RenameCategoryMenuItem({
|
|
|
26
32
|
onClose
|
|
27
33
|
}) {
|
|
28
34
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
29
|
-
|
|
35
|
+
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuItem, {
|
|
36
|
+
onClick: () => setIsModalOpen(true)
|
|
37
|
+
}, (0, _i18n.__)('Rename')), isModalOpen && (0, _react.createElement)(RenameModal, {
|
|
38
|
+
category: category,
|
|
39
|
+
onClose: () => {
|
|
40
|
+
setIsModalOpen(false);
|
|
41
|
+
onClose();
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
function RenameModal({
|
|
46
|
+
category,
|
|
47
|
+
onClose
|
|
48
|
+
}) {
|
|
30
49
|
// User created pattern categories have their properties updated when
|
|
31
50
|
// retrieved via `getUserPatternCategories`. The rename modal expects an
|
|
32
51
|
// object that will match the pattern category entity.
|
|
@@ -35,15 +54,14 @@ function RenameCategoryMenuItem({
|
|
|
35
54
|
slug: category.slug,
|
|
36
55
|
name: category.label
|
|
37
56
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
|
|
58
|
+
// Optimization - only use pattern categories when the modal is open.
|
|
59
|
+
const existingCategories = (0, _usePatternCategories.default)();
|
|
60
|
+
return (0, _react.createElement)(RenamePatternCategoryModal, {
|
|
41
61
|
category: normalizedCategory,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
onClose();
|
|
45
|
-
},
|
|
62
|
+
existingCategories: existingCategories,
|
|
63
|
+
onClose: onClose,
|
|
46
64
|
overlayClassName: "edit-site-list__rename-modal"
|
|
47
|
-
})
|
|
65
|
+
});
|
|
48
66
|
}
|
|
49
67
|
//# sourceMappingURL=rename-category-menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_patterns","_lockUnlock","RenamePatternCategoryModal","unlock","patternsPrivateApis","RenameCategoryMenuItem","category","onClose","isModalOpen","setIsModalOpen","useState","
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_patterns","_usePatternCategories","_interopRequireDefault","_lockUnlock","RenamePatternCategoryModal","unlock","patternsPrivateApis","RenameCategoryMenuItem","category","onClose","isModalOpen","setIsModalOpen","useState","_react","createElement","Fragment","MenuItem","onClick","__","RenameModal","normalizedCategory","id","slug","name","label","existingCategories","usePatternCategories","overlayClassName"],"sources":["@wordpress/edit-site/src/components/page-patterns/rename-category-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n/**\n * Internal dependencies\n */\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { RenamePatternCategoryModal } = unlock( patternsPrivateApis );\n\nexport default function RenameCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<RenameModal\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction RenameModal( { category, onClose } ) {\n\t// User created pattern categories have their properties updated when\n\t// retrieved via `getUserPatternCategories`. The rename modal expects an\n\t// object that will match the pattern category entity.\n\tconst normalizedCategory = {\n\t\tid: category.id,\n\t\tslug: category.slug,\n\t\tname: category.label,\n\t};\n\n\t// Optimization - only use pattern categories when the modal is open.\n\tconst existingCategories = usePatternCategories();\n\n\treturn (\n\t\t<RenamePatternCategoryModal\n\t\t\tcategory={ normalizedCategory }\n\t\t\texistingCategories={ existingCategories }\n\t\t\tonClose={ onClose }\n\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAIA,IAAAI,qBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AAfA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAM;EAAEO;AAA2B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;AAErD,SAASC,sBAAsBA,CAAE;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EACvE,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEzD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,QAAQ;IAACC,OAAO,EAAGA,CAAA,KAAMN,cAAc,CAAE,IAAK;EAAG,GAC/C,IAAAO,QAAE,EAAE,QAAS,CACN,CAAC,EACTR,WAAW,IACZ,IAAAG,MAAA,CAAAC,aAAA,EAACK,WAAW;IACXX,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfE,cAAc,CAAE,KAAM,CAAC;MACvBF,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CAED,CAAC;AAEL;AAEA,SAASU,WAAWA,CAAE;EAAEX,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EAC7C;EACA;EACA;EACA,MAAMW,kBAAkB,GAAG;IAC1BC,EAAE,EAAEb,QAAQ,CAACa,EAAE;IACfC,IAAI,EAAEd,QAAQ,CAACc,IAAI;IACnBC,IAAI,EAAEf,QAAQ,CAACgB;EAChB,CAAC;;EAED;EACA,MAAMC,kBAAkB,GAAG,IAAAC,6BAAoB,EAAC,CAAC;EAEjD,OACC,IAAAb,MAAA,CAAAC,aAAA,EAACV,0BAA0B;IAC1BI,QAAQ,EAAGY,kBAAoB;IAC/BK,kBAAkB,EAAGA,kBAAoB;IACzChB,OAAO,EAAGA,OAAS;IACnBkB,gBAAgB,EAAC;EAA8B,CAC/C,CAAC;AAEJ"}
|
|
@@ -35,15 +35,17 @@ function SaveButton({
|
|
|
35
35
|
} = (0, _data.useSelect)(select => {
|
|
36
36
|
const {
|
|
37
37
|
__experimentalGetDirtyEntityRecords,
|
|
38
|
-
isSavingEntityRecord
|
|
38
|
+
isSavingEntityRecord,
|
|
39
|
+
isResolving
|
|
39
40
|
} = select(_coreData.store);
|
|
40
41
|
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
41
42
|
const {
|
|
42
43
|
isSaveViewOpened
|
|
43
44
|
} = select(_store.store);
|
|
45
|
+
const isActivatingTheme = isResolving('activateTheme');
|
|
44
46
|
return {
|
|
45
47
|
isDirty: dirtyEntityRecords.length > 0,
|
|
46
|
-
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)),
|
|
48
|
+
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
|
|
47
49
|
isSaveViewOpen: isSaveViewOpened()
|
|
48
50
|
};
|
|
49
51
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_store","_isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","coreStore","dirtyEntityRecords","isSaveViewOpened","editSiteStore","length","some","record","kind","name","key","setIsSaveViewOpened","useDispatch","activateSaveEnabled","isPreviewingTheme","disabled","getLabel","__","label","_react","createElement","Button","isBusy","onClick","undefined","shortcut","displayShortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_store","_isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","coreStore","dirtyEntityRecords","isSaveViewOpened","editSiteStore","isActivatingTheme","length","some","record","kind","name","key","setIsSaveViewOpened","useDispatch","activateSaveEnabled","isPreviewingTheme","disabled","getLabel","__","label","_react","createElement","Button","isBusy","onClick","undefined","shortcut","displayShortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tisSavingEntityRecord,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\treturn {\n\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\tisSaving:\n\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t\t\t) || isActivatingTheme,\n\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn __( 'Activating' );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn __( 'Activate & Save' );\n\t\t\t}\n\t\t\treturn __( 'Activate' );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -33,20 +33,21 @@ function getDataViewIcon(dataview) {
|
|
|
33
33
|
}
|
|
34
34
|
function DataViewItem({
|
|
35
35
|
dataview,
|
|
36
|
-
isActive
|
|
36
|
+
isActive,
|
|
37
|
+
icon
|
|
37
38
|
}) {
|
|
38
39
|
const {
|
|
39
40
|
params: {
|
|
40
41
|
path
|
|
41
42
|
}
|
|
42
43
|
} = useLocation();
|
|
43
|
-
const
|
|
44
|
+
const _icon = icon || getDataViewIcon(dataview);
|
|
44
45
|
const linkInfo = (0, _link.useLink)({
|
|
45
46
|
path,
|
|
46
47
|
activeView: dataview.slug
|
|
47
48
|
});
|
|
48
49
|
return (0, _react.createElement)(_sidebarNavigationItem.default, {
|
|
49
|
-
icon:
|
|
50
|
+
icon: _icon,
|
|
50
51
|
...linkInfo,
|
|
51
52
|
"aria-current": isActive ? 'true' : undefined
|
|
52
53
|
}, dataview.title);
|
|
@@ -64,6 +65,7 @@ function DataViewsSidebarContent() {
|
|
|
64
65
|
return (0, _react.createElement)(_components.__experimentalItemGroup, null, _defaultViews.default.map(dataview => {
|
|
65
66
|
return (0, _react.createElement)(DataViewItem, {
|
|
66
67
|
key: dataview.slug,
|
|
68
|
+
icon: dataview.icon,
|
|
67
69
|
dataview: dataview,
|
|
68
70
|
isActive: dataview.slug === activeView
|
|
69
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_router","_link","_defaultViews","_interopRequireDefault","_lockUnlock","_sidebarNavigationItem","useLocation","unlock","routerPrivateApis","getDataViewIcon","dataview","icons","list","page","grid","columns","view","type","DataViewItem","isActive","params","path","
|
|
1
|
+
{"version":3,"names":["_components","require","_icons","_router","_link","_defaultViews","_interopRequireDefault","_lockUnlock","_sidebarNavigationItem","useLocation","unlock","routerPrivateApis","getDataViewIcon","dataview","icons","list","page","grid","columns","view","type","DataViewItem","isActive","icon","params","path","_icon","linkInfo","useLink","activeView","slug","_react","createElement","default","undefined","title","DataViewsSidebarContent","__experimentalItemGroup","DEFAULT_VIEWS","map","key"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { page, columns } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../routes/link';\nimport { default as DEFAULT_VIEWS } from '../page-pages/default-views';\nimport { unlock } from '../../lock-unlock';\nconst { useLocation } = unlock( routerPrivateApis );\nimport SidebarNavigationItem from '../sidebar-navigation-item';\n\nfunction getDataViewIcon( dataview ) {\n\tconst icons = { list: page, grid: columns };\n\treturn icons[ dataview.view.type ];\n}\n\nfunction DataViewItem( { dataview, isActive, icon } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\n\tconst _icon = icon || getDataViewIcon( dataview );\n\n\tconst linkInfo = useLink( {\n\t\tpath,\n\t\tactiveView: dataview.slug,\n\t} );\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\ticon={ _icon }\n\t\t\t{ ...linkInfo }\n\t\t\taria-current={ isActive ? 'true' : undefined }\n\t\t>\n\t\t\t{ dataview.title }\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function DataViewsSidebarContent() {\n\tconst {\n\t\tparams: { path, activeView = 'all' },\n\t} = useLocation();\n\tif ( ! path || path !== '/pages' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ItemGroup>\n\t\t\t{ DEFAULT_VIEWS.map( ( dataview ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataViewItem\n\t\t\t\t\t\tkey={ dataview.slug }\n\t\t\t\t\t\ticon={ dataview.icon }\n\t\t\t\t\t\tdataview={ dataview }\n\t\t\t\t\t\tisActive={ dataview.slug === activeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAEA,IAAAO,sBAAA,GAAAF,sBAAA,CAAAL,OAAA;AAdA;AACA;AACA;;AAKA;AACA;AACA;;AAIA,MAAM;EAAEQ;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAGnD,SAASC,eAAeA,CAAEC,QAAQ,EAAG;EACpC,MAAMC,KAAK,GAAG;IAAEC,IAAI,EAAEC,WAAI;IAAEC,IAAI,EAAEC;EAAQ,CAAC;EAC3C,OAAOJ,KAAK,CAAED,QAAQ,CAACM,IAAI,CAACC,IAAI,CAAE;AACnC;AAEA,SAASC,YAAYA,CAAE;EAAER,QAAQ;EAAES,QAAQ;EAAEC;AAAK,CAAC,EAAG;EACrD,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAK;EAChB,CAAC,GAAGhB,WAAW,CAAC,CAAC;EAEjB,MAAMiB,KAAK,GAAGH,IAAI,IAAIX,eAAe,CAAEC,QAAS,CAAC;EAEjD,MAAMc,QAAQ,GAAG,IAAAC,aAAO,EAAE;IACzBH,IAAI;IACJI,UAAU,EAAEhB,QAAQ,CAACiB;EACtB,CAAE,CAAC;EACH,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACxB,sBAAA,CAAAyB,OAAqB;IACrBV,IAAI,EAAGG,KAAO;IAAA,GACTC,QAAQ;IACb,gBAAeL,QAAQ,GAAG,MAAM,GAAGY;EAAW,GAE5CrB,QAAQ,CAACsB,KACW,CAAC;AAE1B;AAEe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IACLZ,MAAM,EAAE;MAAEC,IAAI;MAAEI,UAAU,GAAG;IAAM;EACpC,CAAC,GAAGpB,WAAW,CAAC,CAAC;EACjB,IAAK,CAAEgB,IAAI,IAAIA,IAAI,KAAK,QAAQ,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAChC,WAAA,CAAAqC,uBAAS,QACPC,qBAAa,CAACC,GAAG,CAAI1B,QAAQ,IAAM;IACpC,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAACX,YAAY;MACZmB,GAAG,EAAG3B,QAAQ,CAACiB,IAAM;MACrBP,IAAI,EAAGV,QAAQ,CAACU,IAAM;MACtBV,QAAQ,EAAGA,QAAU;MACrBS,QAAQ,EAAGT,QAAQ,CAACiB,IAAI,KAAKD;IAAY,CACzC,CAAC;EAEJ,CAAE,CACQ,CAAC;AAEd"}
|
|
@@ -43,7 +43,7 @@ function getPageDetails(page) {
|
|
|
43
43
|
label: (0, _i18n.__)('Slug'),
|
|
44
44
|
value: (0, _react.createElement)(_components.__experimentalTruncate, {
|
|
45
45
|
numberOfLines: 1
|
|
46
|
-
}, (0, _url.safeDecodeURIComponent)(page.slug))
|
|
46
|
+
}, (0, _url.safeDecodeURIComponent)(page.slug || page.generated_slug))
|
|
47
47
|
}];
|
|
48
48
|
if (page?.templateTitle) {
|
|
49
49
|
details.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_wordcount","_data","_htmlEntities","_coreData","_url","_statusLabel","_interopRequireDefault","_lockUnlock","_store","_sidebarNavigationScreenDetailsPanel","_constants","AVERAGE_READING_RATE","getPageDetails","page","details","label","__","value","_react","createElement","default","status","password","date","short","__experimentalTruncate","numberOfLines","safeDecodeURIComponent","slug","templateTitle","push","decodeEntities","parentTitle","wordCountType","_x","wordsCounted","content","rendered","wordCount","readingTime","Math","round","isPostsPage","toLocaleString","sprintf","PageDetails","id","record","useEntityRecord","useSelect","select","getEditedPostContext","unlock","editSiteStore","postContext","templates","coreStore","getEntityRecords","TEMPLATE_POST_TYPE","per_page","templateSlug","postType","_templateTitle","find","template","title","_parentTitle","parent","getEntityRecord","_fields","siteSettings","page_for_posts","SidebarNavigationScreenDetailsPanel","spacing","map","SidebarNavigationScreenDetailsPanelRow","key","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/page-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { __experimentalTruncate as Truncate } from '@wordpress/components';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from './status-label';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\nfunction getPageDetails( page ) {\n\tif ( ! page ) {\n\t\treturn [];\n\t}\n\n\tconst details = [\n\t\t{\n\t\t\tlabel: __( 'Status' ),\n\t\t\tvalue: (\n\t\t\t\t<StatusLabel\n\t\t\t\t\tstatus={ page?.password ? 'protected' : page.status }\n\t\t\t\t\tdate={ page?.date }\n\t\t\t\t\tshort\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Slug' ),\n\t\t\tvalue: (\n\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t{ safeDecodeURIComponent( page.slug ) }\n\t\t\t\t</Truncate>\n\t\t\t),\n\t\t},\n\t];\n\n\tif ( page?.templateTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Template' ),\n\t\t\tvalue: decodeEntities( page.templateTitle ),\n\t\t} );\n\t}\n\n\tif ( page?.parentTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Parent' ),\n\t\t\tvalue: decodeEntities( page.parentTitle || __( '(no title)' ) ),\n\t\t} );\n\t}\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = page?.content?.rendered\n\t\t? wordCount( page.content.rendered, wordCountType )\n\t\t: 0;\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\n\tif ( wordsCounted && ! page?.isPostsPage ) {\n\t\tdetails.push(\n\t\t\t{\n\t\t\t\tlabel: __( 'Words' ),\n\t\t\t\tvalue: wordsCounted.toLocaleString() || __( 'Unknown' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Time to read' ),\n\t\t\t\tvalue:\n\t\t\t\t\treadingTime > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: is the number of minutes. */\n\t\t\t\t\t\t\t\t__( '%s mins' ),\n\t\t\t\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( '< 1 min' ),\n\t\t\t}\n\t\t);\n\t}\n\treturn details;\n}\n\nexport default function PageDetails( { id } ) {\n\tconst { record } = useEntityRecord( 'postType', 'page', id );\n\tconst { parentTitle, templateTitle, isPostsPage } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext } = unlock( select( editSiteStore ) );\n\t\t\tconst postContext = getEditedPostContext();\n\t\t\tconst templates = select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{ per_page: -1 }\n\t\t\t);\n\t\t\t// Template title.\n\t\t\tconst templateSlug =\n\t\t\t\t// Checks that the post type matches the current theme's post type, otherwise\n\t\t\t\t// the templateSlug returns 'home'.\n\t\t\t\tpostContext?.postType === 'page'\n\t\t\t\t\t? postContext?.templateSlug\n\t\t\t\t\t: null;\n\t\t\tconst _templateTitle =\n\t\t\t\ttemplates && templateSlug\n\t\t\t\t\t? templates.find(\n\t\t\t\t\t\t\t( template ) => template.slug === templateSlug\n\t\t\t\t\t )?.title?.rendered\n\t\t\t\t\t: null;\n\n\t\t\t// Parent page title.\n\t\t\tconst _parentTitle = record?.parent\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\trecord.parent,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t_fields: [ 'title' ],\n\t\t\t\t\t\t}\n\t\t\t\t )?.title?.rendered\n\t\t\t\t: null;\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\t\treturn {\n\t\t\t\tparentTitle: _parentTitle,\n\t\t\t\ttemplateTitle: _templateTitle,\n\t\t\t\tisPostsPage: record?.id === siteSettings?.page_for_posts,\n\t\t\t};\n\t\t},\n\t\t[ record?.parent, record?.id ]\n\t);\n\treturn (\n\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\tspacing={ 5 }\n\t\t\ttitle={ __( 'Details' ) }\n\t\t>\n\t\t\t{ getPageDetails( {\n\t\t\t\tparentTitle,\n\t\t\t\ttemplateTitle,\n\t\t\t\tisPostsPage,\n\t\t\t\t...record,\n\t\t\t} ).map( ( { label, value } ) => (\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t{ value }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t) ) }\n\t\t</SidebarNavigationScreenDetailsPanel>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_wordcount","_data","_htmlEntities","_coreData","_url","_statusLabel","_interopRequireDefault","_lockUnlock","_store","_sidebarNavigationScreenDetailsPanel","_constants","AVERAGE_READING_RATE","getPageDetails","page","details","label","__","value","_react","createElement","default","status","password","date","short","__experimentalTruncate","numberOfLines","safeDecodeURIComponent","slug","generated_slug","templateTitle","push","decodeEntities","parentTitle","wordCountType","_x","wordsCounted","content","rendered","wordCount","readingTime","Math","round","isPostsPage","toLocaleString","sprintf","PageDetails","id","record","useEntityRecord","useSelect","select","getEditedPostContext","unlock","editSiteStore","postContext","templates","coreStore","getEntityRecords","TEMPLATE_POST_TYPE","per_page","templateSlug","postType","_templateTitle","find","template","title","_parentTitle","parent","getEntityRecord","_fields","siteSettings","page_for_posts","SidebarNavigationScreenDetailsPanel","spacing","map","SidebarNavigationScreenDetailsPanelRow","key","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/page-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { __experimentalTruncate as Truncate } from '@wordpress/components';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from './status-label';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\nfunction getPageDetails( page ) {\n\tif ( ! page ) {\n\t\treturn [];\n\t}\n\n\tconst details = [\n\t\t{\n\t\t\tlabel: __( 'Status' ),\n\t\t\tvalue: (\n\t\t\t\t<StatusLabel\n\t\t\t\t\tstatus={ page?.password ? 'protected' : page.status }\n\t\t\t\t\tdate={ page?.date }\n\t\t\t\t\tshort\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Slug' ),\n\t\t\tvalue: (\n\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t{ safeDecodeURIComponent(\n\t\t\t\t\t\tpage.slug || page.generated_slug\n\t\t\t\t\t) }\n\t\t\t\t</Truncate>\n\t\t\t),\n\t\t},\n\t];\n\n\tif ( page?.templateTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Template' ),\n\t\t\tvalue: decodeEntities( page.templateTitle ),\n\t\t} );\n\t}\n\n\tif ( page?.parentTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Parent' ),\n\t\t\tvalue: decodeEntities( page.parentTitle || __( '(no title)' ) ),\n\t\t} );\n\t}\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = page?.content?.rendered\n\t\t? wordCount( page.content.rendered, wordCountType )\n\t\t: 0;\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\n\tif ( wordsCounted && ! page?.isPostsPage ) {\n\t\tdetails.push(\n\t\t\t{\n\t\t\t\tlabel: __( 'Words' ),\n\t\t\t\tvalue: wordsCounted.toLocaleString() || __( 'Unknown' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Time to read' ),\n\t\t\t\tvalue:\n\t\t\t\t\treadingTime > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: is the number of minutes. */\n\t\t\t\t\t\t\t\t__( '%s mins' ),\n\t\t\t\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( '< 1 min' ),\n\t\t\t}\n\t\t);\n\t}\n\treturn details;\n}\n\nexport default function PageDetails( { id } ) {\n\tconst { record } = useEntityRecord( 'postType', 'page', id );\n\tconst { parentTitle, templateTitle, isPostsPage } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext } = unlock( select( editSiteStore ) );\n\t\t\tconst postContext = getEditedPostContext();\n\t\t\tconst templates = select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{ per_page: -1 }\n\t\t\t);\n\t\t\t// Template title.\n\t\t\tconst templateSlug =\n\t\t\t\t// Checks that the post type matches the current theme's post type, otherwise\n\t\t\t\t// the templateSlug returns 'home'.\n\t\t\t\tpostContext?.postType === 'page'\n\t\t\t\t\t? postContext?.templateSlug\n\t\t\t\t\t: null;\n\t\t\tconst _templateTitle =\n\t\t\t\ttemplates && templateSlug\n\t\t\t\t\t? templates.find(\n\t\t\t\t\t\t\t( template ) => template.slug === templateSlug\n\t\t\t\t\t )?.title?.rendered\n\t\t\t\t\t: null;\n\n\t\t\t// Parent page title.\n\t\t\tconst _parentTitle = record?.parent\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\trecord.parent,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t_fields: [ 'title' ],\n\t\t\t\t\t\t}\n\t\t\t\t )?.title?.rendered\n\t\t\t\t: null;\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\t\treturn {\n\t\t\t\tparentTitle: _parentTitle,\n\t\t\t\ttemplateTitle: _templateTitle,\n\t\t\t\tisPostsPage: record?.id === siteSettings?.page_for_posts,\n\t\t\t};\n\t\t},\n\t\t[ record?.parent, record?.id ]\n\t);\n\treturn (\n\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\tspacing={ 5 }\n\t\t\ttitle={ __( 'Details' ) }\n\t\t>\n\t\t\t{ getPageDetails( {\n\t\t\t\tparentTitle,\n\t\t\t\ttemplateTitle,\n\t\t\t\tisPostsPage,\n\t\t\t\t...record,\n\t\t\t} ).map( ( { label, value } ) => (\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t{ value }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t) ) }\n\t\t</SidebarNavigationScreenDetailsPanel>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useActivateTheme = useActivateTheme;
|
|
7
|
+
var _coreData = require("@wordpress/core-data");
|
|
8
|
+
var _data = require("@wordpress/data");
|
|
7
9
|
var _router = require("@wordpress/router");
|
|
8
10
|
var _lockUnlock = require("../lock-unlock");
|
|
9
11
|
var _isPreviewingTheme = require("./is-previewing-theme");
|
|
@@ -28,10 +30,16 @@ const {
|
|
|
28
30
|
function useActivateTheme() {
|
|
29
31
|
const history = useHistory();
|
|
30
32
|
const location = useLocation();
|
|
33
|
+
const {
|
|
34
|
+
startResolution,
|
|
35
|
+
finishResolution
|
|
36
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
31
37
|
return async () => {
|
|
32
38
|
if ((0, _isPreviewingTheme.isPreviewingTheme)()) {
|
|
33
39
|
const activationURL = 'themes.php?action=activate&stylesheet=' + (0, _isPreviewingTheme.currentlyPreviewingTheme)() + '&_wpnonce=' + window.WP_BLOCK_THEME_ACTIVATE_NONCE;
|
|
40
|
+
startResolution('activateTheme');
|
|
34
41
|
await window.fetch(activationURL);
|
|
42
|
+
finishResolution('activateTheme');
|
|
35
43
|
const {
|
|
36
44
|
wp_theme_preview: themePreview,
|
|
37
45
|
...params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_coreData","require","_data","_router","_lockUnlock","_isPreviewingTheme","useHistory","useLocation","unlock","routerPrivateApis","useActivateTheme","history","location","startResolution","finishResolution","useDispatch","coreStore","isPreviewingTheme","activationURL","currentlyPreviewingTheme","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAOA,MAAM;EAAEK,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEM,eAAe;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAEtE,OAAO,YAAY;IAClB,IAAK,IAAAC,oCAAiB,EAAC,CAAC,EAAG;MAC1B,MAAMC,aAAa,GAClB,wCAAwC,GACxC,IAAAC,2CAAwB,EAAC,CAAC,GAC1B,YAAY,GACZC,MAAM,CAACC,6BAA6B;MACrCR,eAAe,CAAE,eAAgB,CAAC;MAClC,MAAMO,MAAM,CAACE,KAAK,CAAEJ,aAAc,CAAC;MACnCJ,gBAAgB,CAAE,eAAgB,CAAC;MACnC,MAAM;QAAES,gBAAgB,EAAEC,YAAY;QAAE,GAAGC;MAAO,CAAC,GAClDb,QAAQ,CAACa,MAAM;MAChBd,OAAO,CAACe,OAAO,CAAED,MAAO,CAAC;IAC1B;EACD,CAAC;AACF"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { trash } from '@wordpress/icons';
|
|
5
6
|
|
|
6
7
|
// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.
|
|
7
8
|
// The reason for that is to match the default statuses coming from the endpoint
|
|
@@ -42,6 +43,7 @@ const DEFAULT_VIEWS = [{
|
|
|
42
43
|
}, {
|
|
43
44
|
title: __('Trash'),
|
|
44
45
|
slug: 'trash',
|
|
46
|
+
icon: trash,
|
|
45
47
|
view: {
|
|
46
48
|
...DEFAULT_PAGE_BASE,
|
|
47
49
|
filters: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","DEFAULT_STATUSES","DEFAULT_PAGE_BASE","type","search","filters","status","page","perPage","sort","field","direction","visibleFilters","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view"],"sources":["@wordpress/edit-site/src/components/page-pages/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.\n// The reason for that is to match the default statuses coming from the endpoint\n// (entity request and useEffect to update the view).\nexport const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: {\n\t\tstatus: DEFAULT_STATUSES,\n\t},\n\tpage: 1,\n\tperPage: 5,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\tvisibleFilters: [ 'author', 'status' ],\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};\n\nconst DEFAULT_VIEWS = [\n\t{\n\t\ttitle: __( 'All' ),\n\t\tslug: 'all',\n\t\tview: DEFAULT_PAGE_BASE,\n\t},\n\t{\n\t\ttitle: __( 'Drafts' ),\n\t\tslug: 'drafts',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'draft',\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\ttitle: __( 'Trash' ),\n\t\tslug: 'trash',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'trash',\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport default DEFAULT_VIEWS;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;
|
|
1
|
+
{"version":3,"names":["__","trash","DEFAULT_STATUSES","DEFAULT_PAGE_BASE","type","search","filters","status","page","perPage","sort","field","direction","visibleFilters","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","icon"],"sources":["@wordpress/edit-site/src/components/page-pages/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.\n// The reason for that is to match the default statuses coming from the endpoint\n// (entity request and useEffect to update the view).\nexport const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: {\n\t\tstatus: DEFAULT_STATUSES,\n\t},\n\tpage: 1,\n\tperPage: 5,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\tvisibleFilters: [ 'author', 'status' ],\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};\n\nconst DEFAULT_VIEWS = [\n\t{\n\t\ttitle: __( 'All' ),\n\t\tslug: 'all',\n\t\tview: DEFAULT_PAGE_BASE,\n\t},\n\t{\n\t\ttitle: __( 'Drafts' ),\n\t\tslug: 'drafts',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'draft',\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\ttitle: __( 'Trash' ),\n\t\tslug: 'trash',\n\t\ticon: trash,\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'trash',\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport default DEFAULT_VIEWS;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,sCAAsC,CAAC,CAAC;;AAExE,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE;IACRC,MAAM,EAAEL;EACT,CAAC;EACDM,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE,CAAE,QAAQ,EAAE,QAAQ,CAAE;EACtC;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG,CACrB;EACCC,KAAK,EAAEjB,EAAE,CAAE,KAAM,CAAC;EAClBkB,IAAI,EAAE,KAAK;EACXC,IAAI,EAAEhB;AACP,CAAC,EACD;EACCc,KAAK,EAAEjB,EAAE,CAAE,QAAS,CAAC;EACrBkB,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE;IACL,GAAGhB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,EACD;EACCU,KAAK,EAAEjB,EAAE,CAAE,OAAQ,CAAC;EACpBkB,IAAI,EAAE,OAAO;EACbE,IAAI,EAAEnB,KAAK;EACXkB,IAAI,EAAE;IACL,GAAGhB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,CACD;AAED,eAAeS,aAAa"}
|
|
@@ -6,6 +6,10 @@ import { MenuItem } from '@wordpress/components';
|
|
|
6
6
|
import { useState } from '@wordpress/element';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* Internal dependencies
|
|
@@ -19,7 +23,20 @@ export default function RenameCategoryMenuItem({
|
|
|
19
23
|
onClose
|
|
20
24
|
}) {
|
|
21
25
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
22
|
-
|
|
26
|
+
return createElement(Fragment, null, createElement(MenuItem, {
|
|
27
|
+
onClick: () => setIsModalOpen(true)
|
|
28
|
+
}, __('Rename')), isModalOpen && createElement(RenameModal, {
|
|
29
|
+
category: category,
|
|
30
|
+
onClose: () => {
|
|
31
|
+
setIsModalOpen(false);
|
|
32
|
+
onClose();
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
function RenameModal({
|
|
37
|
+
category,
|
|
38
|
+
onClose
|
|
39
|
+
}) {
|
|
23
40
|
// User created pattern categories have their properties updated when
|
|
24
41
|
// retrieved via `getUserPatternCategories`. The rename modal expects an
|
|
25
42
|
// object that will match the pattern category entity.
|
|
@@ -28,15 +45,14 @@ export default function RenameCategoryMenuItem({
|
|
|
28
45
|
slug: category.slug,
|
|
29
46
|
name: category.label
|
|
30
47
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
48
|
+
|
|
49
|
+
// Optimization - only use pattern categories when the modal is open.
|
|
50
|
+
const existingCategories = usePatternCategories();
|
|
51
|
+
return createElement(RenamePatternCategoryModal, {
|
|
34
52
|
category: normalizedCategory,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
onClose();
|
|
38
|
-
},
|
|
53
|
+
existingCategories: existingCategories,
|
|
54
|
+
onClose: onClose,
|
|
39
55
|
overlayClassName: "edit-site-list__rename-modal"
|
|
40
|
-
})
|
|
56
|
+
});
|
|
41
57
|
}
|
|
42
58
|
//# sourceMappingURL=rename-category-menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuItem","useState","__","privateApis","patternsPrivateApis","unlock","RenamePatternCategoryModal","RenameCategoryMenuItem","category","onClose","isModalOpen","setIsModalOpen","
|
|
1
|
+
{"version":3,"names":["MenuItem","useState","__","privateApis","patternsPrivateApis","usePatternCategories","unlock","RenamePatternCategoryModal","RenameCategoryMenuItem","category","onClose","isModalOpen","setIsModalOpen","createElement","Fragment","onClick","RenameModal","normalizedCategory","id","slug","name","label","existingCategories","overlayClassName"],"sources":["@wordpress/edit-site/src/components/page-patterns/rename-category-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n/**\n * Internal dependencies\n */\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { RenamePatternCategoryModal } = unlock( patternsPrivateApis );\n\nexport default function RenameCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<RenameModal\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction RenameModal( { category, onClose } ) {\n\t// User created pattern categories have their properties updated when\n\t// retrieved via `getUserPatternCategories`. The rename modal expects an\n\t// object that will match the pattern category entity.\n\tconst normalizedCategory = {\n\t\tid: category.id,\n\t\tslug: category.slug,\n\t\tname: category.label,\n\t};\n\n\t// Optimization - only use pattern categories when the modal is open.\n\tconst existingCategories = usePatternCategories();\n\n\treturn (\n\t\t<RenamePatternCategoryModal\n\t\t\tcategory={ normalizedCategory }\n\t\t\texistingCategories={ existingCategories }\n\t\t\tonClose={ onClose }\n\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,8DAA8D;;AAE/F;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAA2B,CAAC,GAAGD,MAAM,CAAEF,mBAAoB,CAAC;AAEpE,eAAe,SAASI,sBAAsBA,CAAE;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EACvE,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGX,QAAQ,CAAE,KAAM,CAAC;EAEzD,OACCY,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACb,QAAQ;IAACe,OAAO,EAAGA,CAAA,KAAMH,cAAc,CAAE,IAAK;EAAG,GAC/CV,EAAE,CAAE,QAAS,CACN,CAAC,EACTS,WAAW,IACZE,aAAA,CAACG,WAAW;IACXP,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA,CAAA,KAAM;MACfE,cAAc,CAAE,KAAM,CAAC;MACvBF,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CAED,CAAC;AAEL;AAEA,SAASM,WAAWA,CAAE;EAAEP,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EAC7C;EACA;EACA;EACA,MAAMO,kBAAkB,GAAG;IAC1BC,EAAE,EAAET,QAAQ,CAACS,EAAE;IACfC,IAAI,EAAEV,QAAQ,CAACU,IAAI;IACnBC,IAAI,EAAEX,QAAQ,CAACY;EAChB,CAAC;;EAED;EACA,MAAMC,kBAAkB,GAAGjB,oBAAoB,CAAC,CAAC;EAEjD,OACCQ,aAAA,CAACN,0BAA0B;IAC1BE,QAAQ,EAAGQ,kBAAoB;IAC/BK,kBAAkB,EAAGA,kBAAoB;IACzCZ,OAAO,EAAGA,OAAS;IACnBa,gBAAgB,EAAC;EAA8B,CAC/C,CAAC;AAEJ"}
|
|
@@ -28,15 +28,17 @@ export default function SaveButton({
|
|
|
28
28
|
} = useSelect(select => {
|
|
29
29
|
const {
|
|
30
30
|
__experimentalGetDirtyEntityRecords,
|
|
31
|
-
isSavingEntityRecord
|
|
31
|
+
isSavingEntityRecord,
|
|
32
|
+
isResolving
|
|
32
33
|
} = select(coreStore);
|
|
33
34
|
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
34
35
|
const {
|
|
35
36
|
isSaveViewOpened
|
|
36
37
|
} = select(editSiteStore);
|
|
38
|
+
const isActivatingTheme = isResolving('activateTheme');
|
|
37
39
|
return {
|
|
38
40
|
isDirty: dirtyEntityRecords.length > 0,
|
|
39
|
-
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)),
|
|
41
|
+
isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
|
|
40
42
|
isSaveViewOpen: isSaveViewOpened()
|
|
41
43
|
};
|
|
42
44
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__","store","coreStore","displayShortcut","editSiteStore","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","isSaveViewOpened","length","some","record","kind","name","key","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","__","store","coreStore","displayShortcut","editSiteStore","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","length","some","record","kind","name","key","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tisSavingEntityRecord,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\treturn {\n\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\tisSaving:\n\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t\t\t) || isActivatingTheme,\n\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn __( 'Activating' );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn __( 'Activate & Save' );\n\t\t\t}\n\t\t\treturn __( 'Activate' );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -25,20 +25,21 @@ function getDataViewIcon(dataview) {
|
|
|
25
25
|
}
|
|
26
26
|
function DataViewItem({
|
|
27
27
|
dataview,
|
|
28
|
-
isActive
|
|
28
|
+
isActive,
|
|
29
|
+
icon
|
|
29
30
|
}) {
|
|
30
31
|
const {
|
|
31
32
|
params: {
|
|
32
33
|
path
|
|
33
34
|
}
|
|
34
35
|
} = useLocation();
|
|
35
|
-
const
|
|
36
|
+
const _icon = icon || getDataViewIcon(dataview);
|
|
36
37
|
const linkInfo = useLink({
|
|
37
38
|
path,
|
|
38
39
|
activeView: dataview.slug
|
|
39
40
|
});
|
|
40
41
|
return createElement(SidebarNavigationItem, {
|
|
41
|
-
icon:
|
|
42
|
+
icon: _icon,
|
|
42
43
|
...linkInfo,
|
|
43
44
|
"aria-current": isActive ? 'true' : undefined
|
|
44
45
|
}, dataview.title);
|
|
@@ -56,6 +57,7 @@ export default function DataViewsSidebarContent() {
|
|
|
56
57
|
return createElement(ItemGroup, null, DEFAULT_VIEWS.map(dataview => {
|
|
57
58
|
return createElement(DataViewItem, {
|
|
58
59
|
key: dataview.slug,
|
|
60
|
+
icon: dataview.icon,
|
|
59
61
|
dataview: dataview,
|
|
60
62
|
isActive: dataview.slug === activeView
|
|
61
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalItemGroup","ItemGroup","page","columns","privateApis","routerPrivateApis","useLink","default","DEFAULT_VIEWS","unlock","useLocation","SidebarNavigationItem","getDataViewIcon","dataview","icons","list","grid","view","type","DataViewItem","isActive","params","path","
|
|
1
|
+
{"version":3,"names":["__experimentalItemGroup","ItemGroup","page","columns","privateApis","routerPrivateApis","useLink","default","DEFAULT_VIEWS","unlock","useLocation","SidebarNavigationItem","getDataViewIcon","dataview","icons","list","grid","view","type","DataViewItem","isActive","icon","params","path","_icon","linkInfo","activeView","slug","createElement","undefined","title","DataViewsSidebarContent","map","key"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { page, columns } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { useLink } from '../routes/link';\nimport { default as DEFAULT_VIEWS } from '../page-pages/default-views';\nimport { unlock } from '../../lock-unlock';\nconst { useLocation } = unlock( routerPrivateApis );\nimport SidebarNavigationItem from '../sidebar-navigation-item';\n\nfunction getDataViewIcon( dataview ) {\n\tconst icons = { list: page, grid: columns };\n\treturn icons[ dataview.view.type ];\n}\n\nfunction DataViewItem( { dataview, isActive, icon } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\n\tconst _icon = icon || getDataViewIcon( dataview );\n\n\tconst linkInfo = useLink( {\n\t\tpath,\n\t\tactiveView: dataview.slug,\n\t} );\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\ticon={ _icon }\n\t\t\t{ ...linkInfo }\n\t\t\taria-current={ isActive ? 'true' : undefined }\n\t\t>\n\t\t\t{ dataview.title }\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function DataViewsSidebarContent() {\n\tconst {\n\t\tparams: { path, activeView = 'all' },\n\t} = useLocation();\n\tif ( ! path || path !== '/pages' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ItemGroup>\n\t\t\t{ DEFAULT_VIEWS.map( ( dataview ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataViewItem\n\t\t\t\t\t\tkey={ dataview.slug }\n\t\t\t\t\t\ticon={ dataview.icon }\n\t\t\t\t\t\tdataview={ dataview }\n\t\t\t\t\t\tisActive={ dataview.slug === activeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,uBAAuB,IAAIC,SAAS,QAAQ,uBAAuB;AAC5E,SAASC,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AAChD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,OAAO,IAAIC,aAAa,QAAQ,6BAA6B;AACtE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,MAAM;EAAEC;AAAY,CAAC,GAAGD,MAAM,CAAEJ,iBAAkB,CAAC;AACnD,OAAOM,qBAAqB,MAAM,4BAA4B;AAE9D,SAASC,eAAeA,CAAEC,QAAQ,EAAG;EACpC,MAAMC,KAAK,GAAG;IAAEC,IAAI,EAAEb,IAAI;IAAEc,IAAI,EAAEb;EAAQ,CAAC;EAC3C,OAAOW,KAAK,CAAED,QAAQ,CAACI,IAAI,CAACC,IAAI,CAAE;AACnC;AAEA,SAASC,YAAYA,CAAE;EAAEN,QAAQ;EAAEO,QAAQ;EAAEC;AAAK,CAAC,EAAG;EACrD,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAK;EAChB,CAAC,GAAGb,WAAW,CAAC,CAAC;EAEjB,MAAMc,KAAK,GAAGH,IAAI,IAAIT,eAAe,CAAEC,QAAS,CAAC;EAEjD,MAAMY,QAAQ,GAAGnB,OAAO,CAAE;IACzBiB,IAAI;IACJG,UAAU,EAAEb,QAAQ,CAACc;EACtB,CAAE,CAAC;EACH,OACCC,aAAA,CAACjB,qBAAqB;IACrBU,IAAI,EAAGG,KAAO;IAAA,GACTC,QAAQ;IACb,gBAAeL,QAAQ,GAAG,MAAM,GAAGS;EAAW,GAE5ChB,QAAQ,CAACiB,KACW,CAAC;AAE1B;AAEA,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IACLT,MAAM,EAAE;MAAEC,IAAI;MAAEG,UAAU,GAAG;IAAM;EACpC,CAAC,GAAGhB,WAAW,CAAC,CAAC;EACjB,IAAK,CAAEa,IAAI,IAAIA,IAAI,KAAK,QAAQ,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACCK,aAAA,CAAC3B,SAAS,QACPO,aAAa,CAACwB,GAAG,CAAInB,QAAQ,IAAM;IACpC,OACCe,aAAA,CAACT,YAAY;MACZc,GAAG,EAAGpB,QAAQ,CAACc,IAAM;MACrBN,IAAI,EAAGR,QAAQ,CAACQ,IAAM;MACtBR,QAAQ,EAAGA,QAAU;MACrBO,QAAQ,EAAGP,QAAQ,CAACc,IAAI,KAAKD;IAAY,CACzC,CAAC;EAEJ,CAAE,CACQ,CAAC;AAEd"}
|
|
@@ -36,7 +36,7 @@ function getPageDetails(page) {
|
|
|
36
36
|
label: __('Slug'),
|
|
37
37
|
value: createElement(Truncate, {
|
|
38
38
|
numberOfLines: 1
|
|
39
|
-
}, safeDecodeURIComponent(page.slug))
|
|
39
|
+
}, safeDecodeURIComponent(page.slug || page.generated_slug))
|
|
40
40
|
}];
|
|
41
41
|
if (page?.templateTitle) {
|
|
42
42
|
details.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","sprintf","__experimentalTruncate","Truncate","count","wordCount","useSelect","decodeEntities","store","coreStore","useEntityRecord","safeDecodeURIComponent","StatusLabel","unlock","editSiteStore","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue","TEMPLATE_POST_TYPE","AVERAGE_READING_RATE","getPageDetails","page","details","label","value","createElement","status","password","date","short","numberOfLines","slug","templateTitle","push","parentTitle","wordCountType","wordsCounted","content","rendered","readingTime","Math","round","isPostsPage","toLocaleString","PageDetails","id","record","select","getEditedPostContext","postContext","templates","getEntityRecords","per_page","templateSlug","postType","_templateTitle","find","template","title","_parentTitle","parent","getEntityRecord","_fields","siteSettings","page_for_posts","spacing","map","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/page-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { __experimentalTruncate as Truncate } from '@wordpress/components';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from './status-label';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\nfunction getPageDetails( page ) {\n\tif ( ! page ) {\n\t\treturn [];\n\t}\n\n\tconst details = [\n\t\t{\n\t\t\tlabel: __( 'Status' ),\n\t\t\tvalue: (\n\t\t\t\t<StatusLabel\n\t\t\t\t\tstatus={ page?.password ? 'protected' : page.status }\n\t\t\t\t\tdate={ page?.date }\n\t\t\t\t\tshort\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Slug' ),\n\t\t\tvalue: (\n\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t{ safeDecodeURIComponent( page.slug ) }\n\t\t\t\t</Truncate>\n\t\t\t),\n\t\t},\n\t];\n\n\tif ( page?.templateTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Template' ),\n\t\t\tvalue: decodeEntities( page.templateTitle ),\n\t\t} );\n\t}\n\n\tif ( page?.parentTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Parent' ),\n\t\t\tvalue: decodeEntities( page.parentTitle || __( '(no title)' ) ),\n\t\t} );\n\t}\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = page?.content?.rendered\n\t\t? wordCount( page.content.rendered, wordCountType )\n\t\t: 0;\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\n\tif ( wordsCounted && ! page?.isPostsPage ) {\n\t\tdetails.push(\n\t\t\t{\n\t\t\t\tlabel: __( 'Words' ),\n\t\t\t\tvalue: wordsCounted.toLocaleString() || __( 'Unknown' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Time to read' ),\n\t\t\t\tvalue:\n\t\t\t\t\treadingTime > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: is the number of minutes. */\n\t\t\t\t\t\t\t\t__( '%s mins' ),\n\t\t\t\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( '< 1 min' ),\n\t\t\t}\n\t\t);\n\t}\n\treturn details;\n}\n\nexport default function PageDetails( { id } ) {\n\tconst { record } = useEntityRecord( 'postType', 'page', id );\n\tconst { parentTitle, templateTitle, isPostsPage } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext } = unlock( select( editSiteStore ) );\n\t\t\tconst postContext = getEditedPostContext();\n\t\t\tconst templates = select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{ per_page: -1 }\n\t\t\t);\n\t\t\t// Template title.\n\t\t\tconst templateSlug =\n\t\t\t\t// Checks that the post type matches the current theme's post type, otherwise\n\t\t\t\t// the templateSlug returns 'home'.\n\t\t\t\tpostContext?.postType === 'page'\n\t\t\t\t\t? postContext?.templateSlug\n\t\t\t\t\t: null;\n\t\t\tconst _templateTitle =\n\t\t\t\ttemplates && templateSlug\n\t\t\t\t\t? templates.find(\n\t\t\t\t\t\t\t( template ) => template.slug === templateSlug\n\t\t\t\t\t )?.title?.rendered\n\t\t\t\t\t: null;\n\n\t\t\t// Parent page title.\n\t\t\tconst _parentTitle = record?.parent\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\trecord.parent,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t_fields: [ 'title' ],\n\t\t\t\t\t\t}\n\t\t\t\t )?.title?.rendered\n\t\t\t\t: null;\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\t\treturn {\n\t\t\t\tparentTitle: _parentTitle,\n\t\t\t\ttemplateTitle: _templateTitle,\n\t\t\t\tisPostsPage: record?.id === siteSettings?.page_for_posts,\n\t\t\t};\n\t\t},\n\t\t[ record?.parent, record?.id ]\n\t);\n\treturn (\n\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\tspacing={ 5 }\n\t\t\ttitle={ __( 'Details' ) }\n\t\t>\n\t\t\t{ getPageDetails( {\n\t\t\t\tparentTitle,\n\t\t\t\ttemplateTitle,\n\t\t\t\tisPostsPage,\n\t\t\t\t...record,\n\t\t\t} ).map( ( { label, value } ) => (\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t{ value }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t) ) }\n\t\t</SidebarNavigationScreenDetailsPanel>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","_x","sprintf","__experimentalTruncate","Truncate","count","wordCount","useSelect","decodeEntities","store","coreStore","useEntityRecord","safeDecodeURIComponent","StatusLabel","unlock","editSiteStore","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue","TEMPLATE_POST_TYPE","AVERAGE_READING_RATE","getPageDetails","page","details","label","value","createElement","status","password","date","short","numberOfLines","slug","generated_slug","templateTitle","push","parentTitle","wordCountType","wordsCounted","content","rendered","readingTime","Math","round","isPostsPage","toLocaleString","PageDetails","id","record","select","getEditedPostContext","postContext","templates","getEntityRecords","per_page","templateSlug","postType","_templateTitle","find","template","title","_parentTitle","parent","getEntityRecord","_fields","siteSettings","page_for_posts","spacing","map","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-page/page-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { __experimentalTruncate as Truncate } from '@wordpress/components';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore, useEntityRecord } from '@wordpress/core-data';\nimport { safeDecodeURIComponent } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from './status-label';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n// Taken from packages/editor/src/components/time-to-read/index.js.\nconst AVERAGE_READING_RATE = 189;\n\nfunction getPageDetails( page ) {\n\tif ( ! page ) {\n\t\treturn [];\n\t}\n\n\tconst details = [\n\t\t{\n\t\t\tlabel: __( 'Status' ),\n\t\t\tvalue: (\n\t\t\t\t<StatusLabel\n\t\t\t\t\tstatus={ page?.password ? 'protected' : page.status }\n\t\t\t\t\tdate={ page?.date }\n\t\t\t\t\tshort\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Slug' ),\n\t\t\tvalue: (\n\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t{ safeDecodeURIComponent(\n\t\t\t\t\t\tpage.slug || page.generated_slug\n\t\t\t\t\t) }\n\t\t\t\t</Truncate>\n\t\t\t),\n\t\t},\n\t];\n\n\tif ( page?.templateTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Template' ),\n\t\t\tvalue: decodeEntities( page.templateTitle ),\n\t\t} );\n\t}\n\n\tif ( page?.parentTitle ) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Parent' ),\n\t\t\tvalue: decodeEntities( page.parentTitle || __( '(no title)' ) ),\n\t\t} );\n\t}\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\tconst wordsCounted = page?.content?.rendered\n\t\t? wordCount( page.content.rendered, wordCountType )\n\t\t: 0;\n\tconst readingTime = Math.round( wordsCounted / AVERAGE_READING_RATE );\n\n\tif ( wordsCounted && ! page?.isPostsPage ) {\n\t\tdetails.push(\n\t\t\t{\n\t\t\t\tlabel: __( 'Words' ),\n\t\t\t\tvalue: wordsCounted.toLocaleString() || __( 'Unknown' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Time to read' ),\n\t\t\t\tvalue:\n\t\t\t\t\treadingTime > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: is the number of minutes. */\n\t\t\t\t\t\t\t\t__( '%s mins' ),\n\t\t\t\t\t\t\t\treadingTime.toLocaleString()\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( '< 1 min' ),\n\t\t\t}\n\t\t);\n\t}\n\treturn details;\n}\n\nexport default function PageDetails( { id } ) {\n\tconst { record } = useEntityRecord( 'postType', 'page', id );\n\tconst { parentTitle, templateTitle, isPostsPage } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext } = unlock( select( editSiteStore ) );\n\t\t\tconst postContext = getEditedPostContext();\n\t\t\tconst templates = select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{ per_page: -1 }\n\t\t\t);\n\t\t\t// Template title.\n\t\t\tconst templateSlug =\n\t\t\t\t// Checks that the post type matches the current theme's post type, otherwise\n\t\t\t\t// the templateSlug returns 'home'.\n\t\t\t\tpostContext?.postType === 'page'\n\t\t\t\t\t? postContext?.templateSlug\n\t\t\t\t\t: null;\n\t\t\tconst _templateTitle =\n\t\t\t\ttemplates && templateSlug\n\t\t\t\t\t? templates.find(\n\t\t\t\t\t\t\t( template ) => template.slug === templateSlug\n\t\t\t\t\t )?.title?.rendered\n\t\t\t\t\t: null;\n\n\t\t\t// Parent page title.\n\t\t\tconst _parentTitle = record?.parent\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\trecord.parent,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t_fields: [ 'title' ],\n\t\t\t\t\t\t}\n\t\t\t\t )?.title?.rendered\n\t\t\t\t: null;\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\n\t\t\treturn {\n\t\t\t\tparentTitle: _parentTitle,\n\t\t\t\ttemplateTitle: _templateTitle,\n\t\t\t\tisPostsPage: record?.id === siteSettings?.page_for_posts,\n\t\t\t};\n\t\t},\n\t\t[ record?.parent, record?.id ]\n\t);\n\treturn (\n\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\tspacing={ 5 }\n\t\t\ttitle={ __( 'Details' ) }\n\t\t>\n\t\t\t{ getPageDetails( {\n\t\t\t\tparentTitle,\n\t\t\t\ttemplateTitle,\n\t\t\t\tisPostsPage,\n\t\t\t\t...record,\n\t\t\t} ).map( ( { label, value } ) => (\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t{ value }\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t) ) }\n\t\t</SidebarNavigationScreenDetailsPanel>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
5
|
+
import { useDispatch } from '@wordpress/data';
|
|
4
6
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -21,10 +23,16 @@ const {
|
|
|
21
23
|
export function useActivateTheme() {
|
|
22
24
|
const history = useHistory();
|
|
23
25
|
const location = useLocation();
|
|
26
|
+
const {
|
|
27
|
+
startResolution,
|
|
28
|
+
finishResolution
|
|
29
|
+
} = useDispatch(coreStore);
|
|
24
30
|
return async () => {
|
|
25
31
|
if (isPreviewingTheme()) {
|
|
26
32
|
const activationURL = 'themes.php?action=activate&stylesheet=' + currentlyPreviewingTheme() + '&_wpnonce=' + window.WP_BLOCK_THEME_ACTIVATE_NONCE;
|
|
33
|
+
startResolution('activateTheme');
|
|
27
34
|
await window.fetch(activationURL);
|
|
35
|
+
finishResolution('activateTheme');
|
|
28
36
|
const {
|
|
29
37
|
wp_theme_preview: themePreview,
|
|
30
38
|
...params
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","routerPrivateApis","unlock","isPreviewingTheme","currentlyPreviewingTheme","useHistory","useLocation","useActivateTheme","history","location","activationURL","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tawait window.fetch( activationURL );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SACCC,iBAAiB,EACjBC,wBAAwB,QAClB,uBAAuB;AAE9B,MAAM;EAAEC,UAAU;EAAEC;AAAY,CAAC,GAAGJ,MAAM,CAAED,iBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGH,UAAU,CAAC,CAAC;EAC5B,MAAMI,QAAQ,GAAGH,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["store","coreStore","useDispatch","privateApis","routerPrivateApis","unlock","isPreviewingTheme","currentlyPreviewingTheme","useHistory","useLocation","useActivateTheme","history","location","startResolution","finishResolution","activationURL","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AACvC,SACCC,iBAAiB,EACjBC,wBAAwB,QAClB,uBAAuB;AAE9B,MAAM;EAAEC,UAAU;EAAEC;AAAY,CAAC,GAAGJ,MAAM,CAAED,iBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGH,UAAU,CAAC,CAAC;EAC5B,MAAMI,QAAQ,GAAGH,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEI,eAAe;IAAEC;EAAiB,CAAC,GAAGZ,WAAW,CAAED,SAAU,CAAC;EAEtE,OAAO,YAAY;IAClB,IAAKK,iBAAiB,CAAC,CAAC,EAAG;MAC1B,MAAMS,aAAa,GAClB,wCAAwC,GACxCR,wBAAwB,CAAC,CAAC,GAC1B,YAAY,GACZS,MAAM,CAACC,6BAA6B;MACrCJ,eAAe,CAAE,eAAgB,CAAC;MAClC,MAAMG,MAAM,CAACE,KAAK,CAAEH,aAAc,CAAC;MACnCD,gBAAgB,CAAE,eAAgB,CAAC;MACnC,MAAM;QAAEK,gBAAgB,EAAEC,YAAY;QAAE,GAAGC;MAAO,CAAC,GAClDT,QAAQ,CAACS,MAAM;MAChBV,OAAO,CAACW,OAAO,CAAED,MAAO,CAAC;IAC1B;EACD,CAAC;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-site",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.22.0",
|
|
4
4
|
"description": "Edit Site Page module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -28,44 +28,44 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@babel/runtime": "^7.16.0",
|
|
30
30
|
"@tanstack/react-table": "^8.10.3",
|
|
31
|
-
"@wordpress/a11y": "^3.
|
|
32
|
-
"@wordpress/api-fetch": "^6.
|
|
33
|
-
"@wordpress/block-editor": "^12.
|
|
34
|
-
"@wordpress/block-library": "^8.
|
|
35
|
-
"@wordpress/blocks": "^12.
|
|
36
|
-
"@wordpress/commands": "^0.
|
|
37
|
-
"@wordpress/components": "^25.11.
|
|
38
|
-
"@wordpress/compose": "^6.
|
|
39
|
-
"@wordpress/core-commands": "^0.
|
|
40
|
-
"@wordpress/core-data": "^6.
|
|
41
|
-
"@wordpress/data": "^9.
|
|
42
|
-
"@wordpress/date": "^4.
|
|
43
|
-
"@wordpress/deprecated": "^3.
|
|
44
|
-
"@wordpress/dom": "^3.
|
|
45
|
-
"@wordpress/editor": "^13.
|
|
46
|
-
"@wordpress/element": "^5.
|
|
47
|
-
"@wordpress/escape-html": "^2.
|
|
48
|
-
"@wordpress/hooks": "^3.
|
|
49
|
-
"@wordpress/html-entities": "^3.
|
|
50
|
-
"@wordpress/i18n": "^4.
|
|
51
|
-
"@wordpress/icons": "^9.
|
|
52
|
-
"@wordpress/interface": "^5.
|
|
53
|
-
"@wordpress/keyboard-shortcuts": "^4.
|
|
54
|
-
"@wordpress/keycodes": "^3.
|
|
55
|
-
"@wordpress/media-utils": "^4.
|
|
56
|
-
"@wordpress/notices": "^4.
|
|
57
|
-
"@wordpress/patterns": "^1.
|
|
58
|
-
"@wordpress/plugins": "^6.
|
|
59
|
-
"@wordpress/preferences": "^3.
|
|
60
|
-
"@wordpress/primitives": "^3.
|
|
61
|
-
"@wordpress/private-apis": "^0.
|
|
62
|
-
"@wordpress/reusable-blocks": "^4.
|
|
63
|
-
"@wordpress/router": "^0.
|
|
64
|
-
"@wordpress/style-engine": "^1.
|
|
65
|
-
"@wordpress/url": "^3.
|
|
66
|
-
"@wordpress/viewport": "^5.
|
|
67
|
-
"@wordpress/widgets": "^3.
|
|
68
|
-
"@wordpress/wordcount": "^3.
|
|
31
|
+
"@wordpress/a11y": "^3.45.0",
|
|
32
|
+
"@wordpress/api-fetch": "^6.42.0",
|
|
33
|
+
"@wordpress/block-editor": "^12.13.0",
|
|
34
|
+
"@wordpress/block-library": "^8.22.0",
|
|
35
|
+
"@wordpress/blocks": "^12.22.0",
|
|
36
|
+
"@wordpress/commands": "^0.16.0",
|
|
37
|
+
"@wordpress/components": "^25.11.0",
|
|
38
|
+
"@wordpress/compose": "^6.22.0",
|
|
39
|
+
"@wordpress/core-commands": "^0.14.0",
|
|
40
|
+
"@wordpress/core-data": "^6.22.0",
|
|
41
|
+
"@wordpress/data": "^9.15.0",
|
|
42
|
+
"@wordpress/date": "^4.45.0",
|
|
43
|
+
"@wordpress/deprecated": "^3.45.0",
|
|
44
|
+
"@wordpress/dom": "^3.45.0",
|
|
45
|
+
"@wordpress/editor": "^13.22.0",
|
|
46
|
+
"@wordpress/element": "^5.22.0",
|
|
47
|
+
"@wordpress/escape-html": "^2.45.0",
|
|
48
|
+
"@wordpress/hooks": "^3.45.0",
|
|
49
|
+
"@wordpress/html-entities": "^3.45.0",
|
|
50
|
+
"@wordpress/i18n": "^4.45.0",
|
|
51
|
+
"@wordpress/icons": "^9.36.0",
|
|
52
|
+
"@wordpress/interface": "^5.22.0",
|
|
53
|
+
"@wordpress/keyboard-shortcuts": "^4.22.0",
|
|
54
|
+
"@wordpress/keycodes": "^3.45.0",
|
|
55
|
+
"@wordpress/media-utils": "^4.36.0",
|
|
56
|
+
"@wordpress/notices": "^4.13.0",
|
|
57
|
+
"@wordpress/patterns": "^1.6.0",
|
|
58
|
+
"@wordpress/plugins": "^6.13.0",
|
|
59
|
+
"@wordpress/preferences": "^3.22.0",
|
|
60
|
+
"@wordpress/primitives": "^3.43.0",
|
|
61
|
+
"@wordpress/private-apis": "^0.27.0",
|
|
62
|
+
"@wordpress/reusable-blocks": "^4.22.0",
|
|
63
|
+
"@wordpress/router": "^0.14.0",
|
|
64
|
+
"@wordpress/style-engine": "^1.28.0",
|
|
65
|
+
"@wordpress/url": "^3.46.0",
|
|
66
|
+
"@wordpress/viewport": "^5.22.0",
|
|
67
|
+
"@wordpress/widgets": "^3.22.0",
|
|
68
|
+
"@wordpress/wordcount": "^3.45.0",
|
|
69
69
|
"change-case": "^4.1.2",
|
|
70
70
|
"classnames": "^2.3.1",
|
|
71
71
|
"colord": "^2.9.2",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "2a00e87b57b9c27ed2b9b0fd8d423ef3cada72c1"
|
|
89
89
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { trash } from '@wordpress/icons';
|
|
5
6
|
|
|
6
7
|
// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.
|
|
7
8
|
// The reason for that is to match the default statuses coming from the endpoint
|
|
@@ -46,6 +47,7 @@ const DEFAULT_VIEWS = [
|
|
|
46
47
|
{
|
|
47
48
|
title: __( 'Trash' ),
|
|
48
49
|
slug: 'trash',
|
|
50
|
+
icon: trash,
|
|
49
51
|
view: {
|
|
50
52
|
...DEFAULT_PAGE_BASE,
|
|
51
53
|
filters: {
|
|
@@ -5,6 +5,10 @@ import { MenuItem } from '@wordpress/components';
|
|
|
5
5
|
import { useState } from '@wordpress/element';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* Internal dependencies
|
|
@@ -16,30 +20,43 @@ const { RenamePatternCategoryModal } = unlock( patternsPrivateApis );
|
|
|
16
20
|
export default function RenameCategoryMenuItem( { category, onClose } ) {
|
|
17
21
|
const [ isModalOpen, setIsModalOpen ] = useState( false );
|
|
18
22
|
|
|
19
|
-
// User created pattern categories have their properties updated when
|
|
20
|
-
// retrieved via `getUserPatternCategories`. The rename modal expects an
|
|
21
|
-
// object that will match the pattern category entity.
|
|
22
|
-
const normalizedCategory = {
|
|
23
|
-
id: category.id,
|
|
24
|
-
slug: category.slug,
|
|
25
|
-
name: category.label,
|
|
26
|
-
};
|
|
27
|
-
|
|
28
23
|
return (
|
|
29
24
|
<>
|
|
30
25
|
<MenuItem onClick={ () => setIsModalOpen( true ) }>
|
|
31
26
|
{ __( 'Rename' ) }
|
|
32
27
|
</MenuItem>
|
|
33
28
|
{ isModalOpen && (
|
|
34
|
-
<
|
|
35
|
-
category={
|
|
29
|
+
<RenameModal
|
|
30
|
+
category={ category }
|
|
36
31
|
onClose={ () => {
|
|
37
32
|
setIsModalOpen( false );
|
|
38
33
|
onClose();
|
|
39
34
|
} }
|
|
40
|
-
overlayClassName="edit-site-list__rename-modal"
|
|
41
35
|
/>
|
|
42
36
|
) }
|
|
43
37
|
</>
|
|
44
38
|
);
|
|
45
39
|
}
|
|
40
|
+
|
|
41
|
+
function RenameModal( { category, onClose } ) {
|
|
42
|
+
// User created pattern categories have their properties updated when
|
|
43
|
+
// retrieved via `getUserPatternCategories`. The rename modal expects an
|
|
44
|
+
// object that will match the pattern category entity.
|
|
45
|
+
const normalizedCategory = {
|
|
46
|
+
id: category.id,
|
|
47
|
+
slug: category.slug,
|
|
48
|
+
name: category.label,
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Optimization - only use pattern categories when the modal is open.
|
|
52
|
+
const existingCategories = usePatternCategories();
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<RenamePatternCategoryModal
|
|
56
|
+
category={ normalizedCategory }
|
|
57
|
+
existingCategories={ existingCategories }
|
|
58
|
+
onClose={ onClose }
|
|
59
|
+
overlayClassName="edit-site-list__rename-modal"
|
|
60
|
+
/>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
@@ -22,15 +22,20 @@ export default function SaveButton( {
|
|
|
22
22
|
__next40pxDefaultSize = false,
|
|
23
23
|
} ) {
|
|
24
24
|
const { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {
|
|
25
|
-
const {
|
|
26
|
-
|
|
25
|
+
const {
|
|
26
|
+
__experimentalGetDirtyEntityRecords,
|
|
27
|
+
isSavingEntityRecord,
|
|
28
|
+
isResolving,
|
|
29
|
+
} = select( coreStore );
|
|
27
30
|
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
28
31
|
const { isSaveViewOpened } = select( editSiteStore );
|
|
32
|
+
const isActivatingTheme = isResolving( 'activateTheme' );
|
|
29
33
|
return {
|
|
30
34
|
isDirty: dirtyEntityRecords.length > 0,
|
|
31
|
-
isSaving:
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
isSaving:
|
|
36
|
+
dirtyEntityRecords.some( ( record ) =>
|
|
37
|
+
isSavingEntityRecord( record.kind, record.name, record.key )
|
|
38
|
+
) || isActivatingTheme,
|
|
34
39
|
isSaveViewOpen: isSaveViewOpened(),
|
|
35
40
|
};
|
|
36
41
|
}, [] );
|
|
@@ -19,12 +19,12 @@ function getDataViewIcon( dataview ) {
|
|
|
19
19
|
return icons[ dataview.view.type ];
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
function DataViewItem( { dataview, isActive } ) {
|
|
22
|
+
function DataViewItem( { dataview, isActive, icon } ) {
|
|
23
23
|
const {
|
|
24
24
|
params: { path },
|
|
25
25
|
} = useLocation();
|
|
26
26
|
|
|
27
|
-
const
|
|
27
|
+
const _icon = icon || getDataViewIcon( dataview );
|
|
28
28
|
|
|
29
29
|
const linkInfo = useLink( {
|
|
30
30
|
path,
|
|
@@ -32,7 +32,7 @@ function DataViewItem( { dataview, isActive } ) {
|
|
|
32
32
|
} );
|
|
33
33
|
return (
|
|
34
34
|
<SidebarNavigationItem
|
|
35
|
-
icon={
|
|
35
|
+
icon={ _icon }
|
|
36
36
|
{ ...linkInfo }
|
|
37
37
|
aria-current={ isActive ? 'true' : undefined }
|
|
38
38
|
>
|
|
@@ -55,6 +55,7 @@ export default function DataViewsSidebarContent() {
|
|
|
55
55
|
return (
|
|
56
56
|
<DataViewItem
|
|
57
57
|
key={ dataview.slug }
|
|
58
|
+
icon={ dataview.icon }
|
|
58
59
|
dataview={ dataview }
|
|
59
60
|
isActive={ dataview.slug === activeView }
|
|
60
61
|
/>
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
5
|
+
import { useDispatch } from '@wordpress/data';
|
|
4
6
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -22,6 +24,7 @@ const { useHistory, useLocation } = unlock( routerPrivateApis );
|
|
|
22
24
|
export function useActivateTheme() {
|
|
23
25
|
const history = useHistory();
|
|
24
26
|
const location = useLocation();
|
|
27
|
+
const { startResolution, finishResolution } = useDispatch( coreStore );
|
|
25
28
|
|
|
26
29
|
return async () => {
|
|
27
30
|
if ( isPreviewingTheme() ) {
|
|
@@ -30,7 +33,9 @@ export function useActivateTheme() {
|
|
|
30
33
|
currentlyPreviewingTheme() +
|
|
31
34
|
'&_wpnonce=' +
|
|
32
35
|
window.WP_BLOCK_THEME_ACTIVATE_NONCE;
|
|
36
|
+
startResolution( 'activateTheme' );
|
|
33
37
|
await window.fetch( activationURL );
|
|
38
|
+
finishResolution( 'activateTheme' );
|
|
34
39
|
const { wp_theme_preview: themePreview, ...params } =
|
|
35
40
|
location.params;
|
|
36
41
|
history.replace( params );
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _element = require("@wordpress/element");
|
|
8
|
-
/**
|
|
9
|
-
* WordPress dependencies
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
const DataviewsContext = (0, _element.createContext)({});
|
|
13
|
-
var _default = DataviewsContext;
|
|
14
|
-
exports.default = _default;
|
|
15
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","DataviewsContext","createContext","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/dataviews/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\nconst DataviewsContext = createContext( {} );\nexport default DataviewsContext;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,gBAAgB,GAAG,IAAAC,sBAAa,EAAE,CAAC,CAAE,CAAC;AAAC,IAAAC,QAAA,GAC9BF,gBAAgB;AAAAG,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","DataviewsContext"],"sources":["@wordpress/edit-site/src/components/dataviews/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\nconst DataviewsContext = createContext( {} );\nexport default DataviewsContext;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,oBAAoB;AAElD,MAAMC,gBAAgB,GAAGD,aAAa,CAAE,CAAC,CAAE,CAAC;AAC5C,eAAeC,gBAAgB"}
|