@wordpress/edit-post 6.8.0 → 6.11.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 +6 -0
- package/README.md +1 -1
- package/build/components/header/header-toolbar/index.js +7 -6
- package/build/components/header/header-toolbar/index.js.map +1 -1
- package/build/components/header/template-title/edit-template-title.js +11 -2
- package/build/components/header/template-title/edit-template-title.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +12 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +3 -26
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/sidebar/plugin-post-status-info/index.js +2 -2
- package/build/components/sidebar/plugin-post-status-info/index.js.map +1 -1
- package/build/components/sidebar/post-format/index.js +3 -1
- package/build/components/sidebar/post-format/index.js.map +1 -1
- package/build/components/sidebar/post-schedule/index.js +28 -12
- package/build/components/sidebar/post-schedule/index.js.map +1 -1
- package/build/components/sidebar/post-slug/index.js +3 -1
- package/build/components/sidebar/post-slug/index.js.map +1 -1
- package/build/components/sidebar/post-status/index.js +6 -2
- package/build/components/sidebar/post-status/index.js.map +1 -1
- package/build/components/sidebar/post-template/create-modal.js +116 -0
- package/build/components/sidebar/post-template/create-modal.js.map +1 -0
- package/build/components/sidebar/post-template/form.js +123 -0
- package/build/components/sidebar/post-template/form.js.map +1 -0
- package/build/components/sidebar/post-template/index.js +128 -0
- package/build/components/sidebar/post-template/index.js.map +1 -0
- package/build/components/sidebar/post-url/index.js +68 -0
- package/build/components/sidebar/post-url/index.js.map +1 -0
- package/build/components/sidebar/post-visibility/index.js +21 -6
- package/build/components/sidebar/post-visibility/index.js.map +1 -1
- package/build/components/sidebar/settings-sidebar/index.js +2 -6
- package/build/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build/components/start-page-options/index.js +31 -13
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/visual-editor/index.js +4 -2
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/editor.js +8 -3
- package/build/editor.js.map +1 -1
- package/build/editor.native.js +1 -1
- package/build/editor.native.js.map +1 -1
- package/build/store/selectors.js +8 -8
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/header/header-toolbar/index.js +8 -6
- package/build-module/components/header/header-toolbar/index.js.map +1 -1
- package/build-module/components/header/template-title/edit-template-title.js +12 -2
- package/build-module/components/header/template-title/edit-template-title.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +12 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -2
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +3 -25
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/sidebar/plugin-post-status-info/index.js +2 -2
- package/build-module/components/sidebar/plugin-post-status-info/index.js.map +1 -1
- package/build-module/components/sidebar/post-format/index.js +3 -1
- package/build-module/components/sidebar/post-format/index.js.map +1 -1
- package/build-module/components/sidebar/post-schedule/index.js +32 -13
- package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
- package/build-module/components/sidebar/post-slug/index.js +3 -1
- package/build-module/components/sidebar/post-slug/index.js.map +1 -1
- package/build-module/components/sidebar/post-status/index.js +4 -2
- package/build-module/components/sidebar/post-status/index.js.map +1 -1
- package/build-module/components/sidebar/post-template/create-modal.js +104 -0
- package/build-module/components/sidebar/post-template/create-modal.js.map +1 -0
- package/build-module/components/sidebar/post-template/form.js +106 -0
- package/build-module/components/sidebar/post-template/form.js.map +1 -0
- package/build-module/components/sidebar/post-template/index.js +114 -0
- package/build-module/components/sidebar/post-template/index.js.map +1 -0
- package/build-module/components/sidebar/post-url/index.js +59 -0
- package/build-module/components/sidebar/post-url/index.js.map +1 -0
- package/build-module/components/sidebar/post-visibility/index.js +24 -8
- package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
- package/build-module/components/sidebar/settings-sidebar/index.js +2 -4
- package/build-module/components/sidebar/settings-sidebar/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +32 -14
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +4 -2
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/editor.js +9 -4
- package/build-module/editor.js.map +1 -1
- package/build-module/editor.native.js +2 -2
- package/build-module/editor.native.js.map +1 -1
- package/build-module/store/selectors.js +8 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +82 -91
- package/build-style/style.css +81 -94
- package/package.json +27 -27
- package/src/components/header/header-toolbar/index.js +10 -10
- package/src/components/header/header-toolbar/style.scss +2 -5
- package/src/components/header/style.scss +0 -6
- package/src/components/header/template-title/edit-template-title.js +11 -1
- package/src/components/keyboard-shortcut-help-modal/config.js +8 -0
- package/src/components/keyboard-shortcut-help-modal/index.js +1 -2
- package/src/components/keyboard-shortcut-help-modal/style.scss +0 -5
- package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +14 -0
- package/src/components/preferences-modal/index.js +5 -23
- package/src/components/preferences-modal/test/index.js +3 -3
- package/src/components/sidebar/plugin-post-status-info/index.js +2 -2
- package/src/components/sidebar/post-author/style.scss +4 -10
- package/src/components/sidebar/post-format/index.js +1 -1
- package/src/components/sidebar/post-format/style.scss +5 -0
- package/src/components/sidebar/post-schedule/index.js +27 -16
- package/src/components/sidebar/post-schedule/style.scss +16 -3
- package/src/components/sidebar/post-slug/index.js +1 -1
- package/src/components/sidebar/post-slug/style.scss +4 -3
- package/src/components/sidebar/post-status/index.js +6 -2
- package/src/components/sidebar/post-template/create-modal.js +146 -0
- package/src/components/sidebar/post-template/form.js +143 -0
- package/src/components/sidebar/post-template/index.js +106 -0
- package/src/components/sidebar/post-template/style.scss +36 -0
- package/src/components/sidebar/post-url/index.js +51 -0
- package/src/components/sidebar/post-url/style.scss +23 -0
- package/src/components/sidebar/post-visibility/index.js +22 -8
- package/src/components/sidebar/post-visibility/style.scss +4 -4
- package/src/components/sidebar/settings-sidebar/index.js +1 -5
- package/src/components/sidebar/template/style.scss +0 -8
- package/src/components/start-page-options/index.js +46 -22
- package/src/components/start-page-options/style.scss +0 -9
- package/src/components/visual-editor/index.js +2 -1
- package/src/editor.js +8 -4
- package/src/editor.native.js +2 -2
- package/src/store/selectors.js +5 -8
- package/src/style.scss +3 -2
- package/src/test/editor.native.js +1 -3
- package/build/components/sidebar/post-link/index.js +0 -182
- package/build/components/sidebar/post-link/index.js.map +0 -1
- package/build/components/sidebar/template/actions.js +0 -172
- package/build/components/sidebar/template/actions.js.map +0 -1
- package/build/components/sidebar/template/index.js +0 -164
- package/build/components/sidebar/template/index.js.map +0 -1
- package/build-module/components/sidebar/post-link/index.js +0 -165
- package/build-module/components/sidebar/post-link/index.js.map +0 -1
- package/build-module/components/sidebar/template/actions.js +0 -158
- package/build-module/components/sidebar/template/actions.js.map +0 -1
- package/build-module/components/sidebar/template/index.js +0 -145
- package/build-module/components/sidebar/template/index.js.map +0 -1
- package/src/components/sidebar/post-link/index.js +0 -179
- package/src/components/sidebar/post-link/style.scss +0 -20
- package/src/components/sidebar/template/actions.js +0 -206
- package/src/components/sidebar/template/index.js +0 -160
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = PostTemplateCreateModal;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
|
|
12
|
+
var _editor = require("@wordpress/editor");
|
|
13
|
+
|
|
14
|
+
var _blocks = require("@wordpress/blocks");
|
|
15
|
+
|
|
16
|
+
var _components = require("@wordpress/components");
|
|
17
|
+
|
|
18
|
+
var _i18n = require("@wordpress/i18n");
|
|
19
|
+
|
|
20
|
+
var _url = require("@wordpress/url");
|
|
21
|
+
|
|
22
|
+
var _store = require("../../../store");
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
const DEFAULT_TITLE = (0, _i18n.__)('Custom Template');
|
|
32
|
+
|
|
33
|
+
function PostTemplateCreateModal(_ref) {
|
|
34
|
+
let {
|
|
35
|
+
onClose
|
|
36
|
+
} = _ref;
|
|
37
|
+
const defaultBlockTemplate = (0, _data.useSelect)(select => select(_editor.store).getEditorSettings().defaultBlockTemplate, []);
|
|
38
|
+
const {
|
|
39
|
+
__unstableCreateTemplate,
|
|
40
|
+
__unstableSwitchToTemplateMode
|
|
41
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
42
|
+
const [title, setTitle] = (0, _element.useState)('');
|
|
43
|
+
const [isBusy, setIsBusy] = (0, _element.useState)(false);
|
|
44
|
+
|
|
45
|
+
const cancel = () => {
|
|
46
|
+
setTitle('');
|
|
47
|
+
onClose();
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const submit = async event => {
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
|
|
53
|
+
if (isBusy) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
setIsBusy(true);
|
|
58
|
+
const newTemplateContent = defaultBlockTemplate !== null && defaultBlockTemplate !== void 0 ? defaultBlockTemplate : (0, _blocks.serialize)([(0, _blocks.createBlock)('core/group', {
|
|
59
|
+
tagName: 'header',
|
|
60
|
+
layout: {
|
|
61
|
+
inherit: true
|
|
62
|
+
}
|
|
63
|
+
}, [(0, _blocks.createBlock)('core/site-title'), (0, _blocks.createBlock)('core/site-tagline')]), (0, _blocks.createBlock)('core/separator'), (0, _blocks.createBlock)('core/group', {
|
|
64
|
+
tagName: 'main'
|
|
65
|
+
}, [(0, _blocks.createBlock)('core/group', {
|
|
66
|
+
layout: {
|
|
67
|
+
inherit: true
|
|
68
|
+
}
|
|
69
|
+
}, [(0, _blocks.createBlock)('core/post-title')]), (0, _blocks.createBlock)('core/post-content', {
|
|
70
|
+
layout: {
|
|
71
|
+
inherit: true
|
|
72
|
+
}
|
|
73
|
+
})])]);
|
|
74
|
+
await __unstableCreateTemplate({
|
|
75
|
+
slug: (0, _url.cleanForSlug)(title || DEFAULT_TITLE),
|
|
76
|
+
content: newTemplateContent,
|
|
77
|
+
title: title || DEFAULT_TITLE
|
|
78
|
+
});
|
|
79
|
+
setIsBusy(false);
|
|
80
|
+
cancel();
|
|
81
|
+
|
|
82
|
+
__unstableSwitchToTemplateMode(true);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return (0, _element.createElement)(_components.Modal, {
|
|
86
|
+
title: (0, _i18n.__)('Create custom template'),
|
|
87
|
+
closeLabel: (0, _i18n.__)('Close'),
|
|
88
|
+
onRequestClose: cancel,
|
|
89
|
+
className: "edit-post-post-template__create-modal"
|
|
90
|
+
}, (0, _element.createElement)("form", {
|
|
91
|
+
className: "edit-post-post-template__create-form",
|
|
92
|
+
onSubmit: submit
|
|
93
|
+
}, (0, _element.createElement)(_components.Flex, {
|
|
94
|
+
align: "flex-start",
|
|
95
|
+
gap: 8
|
|
96
|
+
}, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.TextControl, {
|
|
97
|
+
label: (0, _i18n.__)('Name'),
|
|
98
|
+
value: title,
|
|
99
|
+
onChange: setTitle,
|
|
100
|
+
placeholder: DEFAULT_TITLE,
|
|
101
|
+
disabled: isBusy,
|
|
102
|
+
help: (0, _i18n.__)('Describe the template, e.g. "Post with sidebar". Custom templates can be applied to any post or page.')
|
|
103
|
+
}))), (0, _element.createElement)(_components.Flex, {
|
|
104
|
+
justify: "flex-end",
|
|
105
|
+
expanded: false
|
|
106
|
+
}, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
|
|
107
|
+
variant: "tertiary",
|
|
108
|
+
onClick: cancel
|
|
109
|
+
}, (0, _i18n.__)('Cancel'))), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
|
|
110
|
+
variant: "primary",
|
|
111
|
+
type: "submit",
|
|
112
|
+
isBusy: isBusy,
|
|
113
|
+
"aria-disabled": isBusy
|
|
114
|
+
}, (0, _i18n.__)('Create'))))));
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=create-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/create-modal.js"],"names":["DEFAULT_TITLE","PostTemplateCreateModal","onClose","defaultBlockTemplate","select","editorStore","getEditorSettings","__unstableCreateTemplate","__unstableSwitchToTemplateMode","editPostStore","title","setTitle","isBusy","setIsBusy","cancel","submit","event","preventDefault","newTemplateContent","tagName","layout","inherit","slug","content"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useState } from '@wordpress/element';\nimport { serialize, createBlock } from '@wordpress/blocks';\nimport {\n\tModal,\n\tFlex,\n\tFlexItem,\n\tTextControl,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { cleanForSlug } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\n\nconst DEFAULT_TITLE = __( 'Custom Template' );\n\nexport default function PostTemplateCreateModal( { onClose } ) {\n\tconst defaultBlockTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditorSettings().defaultBlockTemplate,\n\t\t[]\n\t);\n\n\tconst { __unstableCreateTemplate, __unstableSwitchToTemplateMode } =\n\t\tuseDispatch( editPostStore );\n\n\tconst [ title, setTitle ] = useState( '' );\n\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst cancel = () => {\n\t\tsetTitle( '' );\n\t\tonClose();\n\t};\n\n\tconst submit = async ( event ) => {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst newTemplateContent =\n\t\t\tdefaultBlockTemplate ??\n\t\t\tserialize( [\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'header',\n\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/site-title' ),\n\t\t\t\t\t\tcreateBlock( 'core/site-tagline' ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t\tcreateBlock( 'core/separator' ),\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: 'main',\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[ createBlock( 'core/post-title' ) ]\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcreateBlock( 'core/post-content', {\n\t\t\t\t\t\t\tlayout: { inherit: true },\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t\t] );\n\n\t\tawait __unstableCreateTemplate( {\n\t\t\tslug: cleanForSlug( title || DEFAULT_TITLE ),\n\t\t\tcontent: newTemplateContent,\n\t\t\ttitle: title || DEFAULT_TITLE,\n\t\t} );\n\n\t\tsetIsBusy( false );\n\t\tcancel();\n\n\t\t__unstableSwitchToTemplateMode( true );\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create custom template' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ cancel }\n\t\t\tclassName=\"edit-post-post-template__create-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"edit-post-post-template__create-form\"\n\t\t\t\tonSubmit={ submit }\n\t\t\t>\n\t\t\t\t<Flex align=\"flex-start\" gap={ 8 }>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\tplaceholder={ DEFAULT_TITLE }\n\t\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". Custom templates can be applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\n\t\t\t\t<Flex justify=\"flex-end\" expanded={ false }>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ cancel }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = PostTemplateForm;
|
|
9
|
+
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
|
|
12
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
+
|
|
14
|
+
var _i18n = require("@wordpress/i18n");
|
|
15
|
+
|
|
16
|
+
var _icons = require("@wordpress/icons");
|
|
17
|
+
|
|
18
|
+
var _components = require("@wordpress/components");
|
|
19
|
+
|
|
20
|
+
var _data = require("@wordpress/data");
|
|
21
|
+
|
|
22
|
+
var _editor = require("@wordpress/editor");
|
|
23
|
+
|
|
24
|
+
var _coreData = require("@wordpress/core-data");
|
|
25
|
+
|
|
26
|
+
var _store = require("../../../store");
|
|
27
|
+
|
|
28
|
+
var _createModal = _interopRequireDefault(require("./create-modal"));
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* WordPress dependencies
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Internal dependencies
|
|
36
|
+
*/
|
|
37
|
+
function PostTemplateForm(_ref) {
|
|
38
|
+
var _options$find, _selectedOption$value;
|
|
39
|
+
|
|
40
|
+
let {
|
|
41
|
+
onClose
|
|
42
|
+
} = _ref;
|
|
43
|
+
const {
|
|
44
|
+
isPostsPage,
|
|
45
|
+
availableTemplates,
|
|
46
|
+
fetchedTemplates,
|
|
47
|
+
selectedTemplateSlug,
|
|
48
|
+
canCreate,
|
|
49
|
+
canEdit
|
|
50
|
+
} = (0, _data.useSelect)(select => {
|
|
51
|
+
const editorSettings = select(_editor.store).getEditorSettings();
|
|
52
|
+
const siteSettings = select(_coreData.store).getEntityRecord('root', 'site');
|
|
53
|
+
|
|
54
|
+
const _isPostsPage = select(_editor.store).getCurrentPostId() === (siteSettings === null || siteSettings === void 0 ? void 0 : siteSettings.page_for_posts);
|
|
55
|
+
|
|
56
|
+
const canCreateTemplates = select(_coreData.store).canUser('create', 'templates');
|
|
57
|
+
return {
|
|
58
|
+
isPostsPage: _isPostsPage,
|
|
59
|
+
availableTemplates: editorSettings.availableTemplates,
|
|
60
|
+
fetchedTemplates: select(_coreData.store).getEntityRecords('postType', 'wp_template', {
|
|
61
|
+
post_type: select(_editor.store).getCurrentPostType(),
|
|
62
|
+
per_page: -1
|
|
63
|
+
}),
|
|
64
|
+
selectedTemplateSlug: select(_editor.store).getEditedPostAttribute('template'),
|
|
65
|
+
canCreate: canCreateTemplates && !_isPostsPage && editorSettings.supportsTemplateMode,
|
|
66
|
+
canEdit: canCreateTemplates && editorSettings.supportsTemplateMode && !!select(_store.store).getEditedPostTemplate()
|
|
67
|
+
};
|
|
68
|
+
}, []);
|
|
69
|
+
const options = (0, _element.useMemo)(() => Object.entries({ ...availableTemplates,
|
|
70
|
+
...Object.fromEntries((fetchedTemplates !== null && fetchedTemplates !== void 0 ? fetchedTemplates : []).map(_ref2 => {
|
|
71
|
+
let {
|
|
72
|
+
slug,
|
|
73
|
+
title
|
|
74
|
+
} = _ref2;
|
|
75
|
+
return [slug, title.rendered];
|
|
76
|
+
}))
|
|
77
|
+
}).map(_ref3 => {
|
|
78
|
+
let [slug, title] = _ref3;
|
|
79
|
+
return {
|
|
80
|
+
value: slug,
|
|
81
|
+
label: title
|
|
82
|
+
};
|
|
83
|
+
}), [availableTemplates, fetchedTemplates]);
|
|
84
|
+
const selectedOption = (_options$find = options.find(option => option.value === selectedTemplateSlug)) !== null && _options$find !== void 0 ? _options$find : options.find(option => !option.value); // The default option has '' value.
|
|
85
|
+
|
|
86
|
+
const {
|
|
87
|
+
editPost
|
|
88
|
+
} = (0, _data.useDispatch)(_editor.store);
|
|
89
|
+
const {
|
|
90
|
+
__unstableSwitchToTemplateMode
|
|
91
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
92
|
+
const [isCreateModalOpen, setIsCreateModalOpen] = (0, _element.useState)(false);
|
|
93
|
+
return (0, _element.createElement)("div", {
|
|
94
|
+
className: "edit-post-post-template__form"
|
|
95
|
+
}, (0, _element.createElement)(_blockEditor.__experimentalInspectorPopoverHeader, {
|
|
96
|
+
title: (0, _i18n.__)('Template'),
|
|
97
|
+
help: (0, _i18n.__)('Templates define the way content is displayed when viewing your site.'),
|
|
98
|
+
actions: canCreate ? [{
|
|
99
|
+
icon: _icons.addTemplate,
|
|
100
|
+
label: (0, _i18n.__)('Add template'),
|
|
101
|
+
onClick: () => setIsCreateModalOpen(true)
|
|
102
|
+
}] : [],
|
|
103
|
+
onClose: onClose
|
|
104
|
+
}), isPostsPage ? (0, _element.createElement)(_components.Notice, {
|
|
105
|
+
className: "edit-post-post-template__notice",
|
|
106
|
+
status: "warning",
|
|
107
|
+
isDismissible: false
|
|
108
|
+
}, (0, _i18n.__)('The posts page template cannot be changed.')) : (0, _element.createElement)(_components.SelectControl, {
|
|
109
|
+
hideLabelFromVision: true,
|
|
110
|
+
label: (0, _i18n.__)('Template'),
|
|
111
|
+
value: (_selectedOption$value = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) !== null && _selectedOption$value !== void 0 ? _selectedOption$value : '',
|
|
112
|
+
options: options,
|
|
113
|
+
onChange: slug => editPost({
|
|
114
|
+
template: slug || ''
|
|
115
|
+
})
|
|
116
|
+
}), canEdit && (0, _element.createElement)("p", null, (0, _element.createElement)(_components.Button, {
|
|
117
|
+
variant: "link",
|
|
118
|
+
onClick: () => __unstableSwitchToTemplateMode()
|
|
119
|
+
}, (0, _i18n.__)('Edit template'))), isCreateModalOpen && (0, _element.createElement)(_createModal.default, {
|
|
120
|
+
onClose: () => setIsCreateModalOpen(false)
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/form.js"],"names":["PostTemplateForm","onClose","isPostsPage","availableTemplates","fetchedTemplates","selectedTemplateSlug","canCreate","canEdit","select","editorSettings","editorStore","getEditorSettings","siteSettings","coreStore","getEntityRecord","_isPostsPage","getCurrentPostId","page_for_posts","canCreateTemplates","canUser","getEntityRecords","post_type","getCurrentPostType","per_page","getEditedPostAttribute","supportsTemplateMode","editPostStore","getEditedPostTemplate","options","Object","entries","fromEntries","map","slug","title","rendered","value","label","selectedOption","find","option","editPost","__unstableSwitchToTemplateMode","isCreateModalOpen","setIsCreateModalOpen","icon","addTemplate","onClick","template"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { addTemplate } from '@wordpress/icons';\nimport { Notice, SelectControl, Button } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../../store';\nimport PostTemplateCreateModal from './create-modal';\n\nexport default function PostTemplateForm( { onClose } ) {\n\tconst {\n\t\tisPostsPage,\n\t\tavailableTemplates,\n\t\tfetchedTemplates,\n\t\tselectedTemplateSlug,\n\t\tcanCreate,\n\t\tcanEdit,\n\t} = useSelect( ( select ) => {\n\t\tconst editorSettings = select( editorStore ).getEditorSettings();\n\t\tconst siteSettings = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\tconst _isPostsPage =\n\t\t\tselect( editorStore ).getCurrentPostId() ===\n\t\t\tsiteSettings?.page_for_posts;\n\t\tconst canCreateTemplates = select( coreStore ).canUser(\n\t\t\t'create',\n\t\t\t'templates'\n\t\t);\n\t\treturn {\n\t\t\tisPostsPage: _isPostsPage,\n\t\t\tavailableTemplates: editorSettings.availableTemplates,\n\t\t\tfetchedTemplates: select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\t{\n\t\t\t\t\tpost_type: select( editorStore ).getCurrentPostType(),\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t\tselectedTemplateSlug:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' ),\n\t\t\tcanCreate:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\t! _isPostsPage &&\n\t\t\t\teditorSettings.supportsTemplateMode,\n\t\t\tcanEdit:\n\t\t\t\tcanCreateTemplates &&\n\t\t\t\teditorSettings.supportsTemplateMode &&\n\t\t\t\t!! select( editPostStore ).getEditedPostTemplate(),\n\t\t};\n\t}, [] );\n\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tObject.entries( {\n\t\t\t\t...availableTemplates,\n\t\t\t\t...Object.fromEntries(\n\t\t\t\t\t( fetchedTemplates ?? [] ).map( ( { slug, title } ) => [\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\ttitle.rendered,\n\t\t\t\t\t] )\n\t\t\t\t),\n\t\t\t} ).map( ( [ slug, title ] ) => ( { value: slug, label: title } ) ),\n\t\t[ availableTemplates, fetchedTemplates ]\n\t);\n\n\tconst selectedOption =\n\t\toptions.find( ( option ) => option.value === selectedTemplateSlug ) ??\n\t\toptions.find( ( option ) => ! option.value ); // The default option has '' value.\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { __unstableSwitchToTemplateMode } = useDispatch( editPostStore );\n\n\tconst [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false );\n\n\treturn (\n\t\t<div className=\"edit-post-post-template__form\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Template' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Templates define the way content is displayed when viewing your site.'\n\t\t\t\t) }\n\t\t\t\tactions={\n\t\t\t\t\tcanCreate\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ticon: addTemplate,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Add template' ),\n\t\t\t\t\t\t\t\t\tonClick: () => setIsCreateModalOpen( true ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: []\n\t\t\t\t}\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t{ isPostsPage ? (\n\t\t\t\t<Notice\n\t\t\t\t\tclassName=\"edit-post-post-template__notice\"\n\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\tisDismissible={ false }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'The posts page template cannot be changed.' ) }\n\t\t\t\t</Notice>\n\t\t\t) : (\n\t\t\t\t<SelectControl\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ __( 'Template' ) }\n\t\t\t\t\tvalue={ selectedOption?.value ?? '' }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ ( slug ) =>\n\t\t\t\t\t\teditPost( { template: slug || '' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ canEdit && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () => __unstableSwitchToTemplateMode() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ isCreateModalOpen && (\n\t\t\t\t<PostTemplateCreateModal\n\t\t\t\t\tonClose={ () => setIsCreateModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = PostTemplate;
|
|
9
|
+
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
|
|
12
|
+
var _components = require("@wordpress/components");
|
|
13
|
+
|
|
14
|
+
var _i18n = require("@wordpress/i18n");
|
|
15
|
+
|
|
16
|
+
var _data = require("@wordpress/data");
|
|
17
|
+
|
|
18
|
+
var _editor = require("@wordpress/editor");
|
|
19
|
+
|
|
20
|
+
var _coreData = require("@wordpress/core-data");
|
|
21
|
+
|
|
22
|
+
var _form = _interopRequireDefault(require("./form"));
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
function PostTemplate() {
|
|
32
|
+
const anchorRef = (0, _element.useRef)();
|
|
33
|
+
const isVisible = (0, _data.useSelect)(select => {
|
|
34
|
+
var _select$canUser;
|
|
35
|
+
|
|
36
|
+
const postTypeSlug = select(_editor.store).getCurrentPostType();
|
|
37
|
+
const postType = select(_coreData.store).getPostType(postTypeSlug);
|
|
38
|
+
|
|
39
|
+
if (!(postType !== null && postType !== void 0 && postType.viewable)) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const settings = select(_editor.store).getEditorSettings();
|
|
44
|
+
const hasTemplates = !!settings.availableTemplates && Object.keys(settings.availableTemplates).length > 0;
|
|
45
|
+
|
|
46
|
+
if (hasTemplates) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (!settings.supportsTemplateMode) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const canCreateTemplates = (_select$canUser = select(_coreData.store).canUser('create', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false;
|
|
55
|
+
return canCreateTemplates;
|
|
56
|
+
}, []);
|
|
57
|
+
|
|
58
|
+
if (!isVisible) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return (0, _element.createElement)(_components.PanelRow, {
|
|
63
|
+
className: "edit-post-post-template",
|
|
64
|
+
ref: anchorRef
|
|
65
|
+
}, (0, _element.createElement)("span", null, (0, _i18n.__)('Template')), (0, _element.createElement)(_components.Dropdown, {
|
|
66
|
+
popoverProps: {
|
|
67
|
+
anchorRef
|
|
68
|
+
},
|
|
69
|
+
position: "bottom left",
|
|
70
|
+
className: "edit-post-post-template__dropdown",
|
|
71
|
+
contentClassName: "edit-post-post-template__dialog",
|
|
72
|
+
focusOnMount: true,
|
|
73
|
+
renderToggle: _ref => {
|
|
74
|
+
let {
|
|
75
|
+
isOpen,
|
|
76
|
+
onToggle
|
|
77
|
+
} = _ref;
|
|
78
|
+
return (0, _element.createElement)(PostTemplateToggle, {
|
|
79
|
+
isOpen: isOpen,
|
|
80
|
+
onClick: onToggle
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
renderContent: _ref2 => {
|
|
84
|
+
let {
|
|
85
|
+
onClose
|
|
86
|
+
} = _ref2;
|
|
87
|
+
return (0, _element.createElement)(_form.default, {
|
|
88
|
+
onClose: onClose
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function PostTemplateToggle(_ref3) {
|
|
95
|
+
let {
|
|
96
|
+
isOpen,
|
|
97
|
+
onClick
|
|
98
|
+
} = _ref3;
|
|
99
|
+
const templateTitle = (0, _data.useSelect)(select => {
|
|
100
|
+
var _select$getEntityReco;
|
|
101
|
+
|
|
102
|
+
const templateSlug = select(_editor.store).getEditedPostAttribute('template');
|
|
103
|
+
const settings = select(_editor.store).getEditorSettings();
|
|
104
|
+
|
|
105
|
+
if (settings.availableTemplates[templateSlug]) {
|
|
106
|
+
return settings.availableTemplates[templateSlug];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const template = (_select$getEntityReco = select(_coreData.store).getEntityRecords('postType', 'wp_template', {
|
|
110
|
+
per_page: -1
|
|
111
|
+
})) === null || _select$getEntityReco === void 0 ? void 0 : _select$getEntityReco.find(_ref4 => {
|
|
112
|
+
let {
|
|
113
|
+
slug
|
|
114
|
+
} = _ref4;
|
|
115
|
+
return slug === templateSlug;
|
|
116
|
+
});
|
|
117
|
+
return template === null || template === void 0 ? void 0 : template.title.rendered;
|
|
118
|
+
}, []);
|
|
119
|
+
return (0, _element.createElement)(_components.Button, {
|
|
120
|
+
className: "edit-post-post-template__toggle",
|
|
121
|
+
variant: "tertiary",
|
|
122
|
+
"aria-expanded": isOpen,
|
|
123
|
+
"aria-label": templateTitle ? (0, _i18n.sprintf)( // translators: %s: Name of the currently selected template.
|
|
124
|
+
(0, _i18n.__)('Select template: %s'), templateTitle) : (0, _i18n.__)('Select template'),
|
|
125
|
+
onClick: onClick
|
|
126
|
+
}, templateTitle !== null && templateTitle !== void 0 ? templateTitle : (0, _i18n.__)('Default template'));
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-template/index.js"],"names":["PostTemplate","anchorRef","isVisible","select","postTypeSlug","editorStore","getCurrentPostType","postType","coreStore","getPostType","viewable","settings","getEditorSettings","hasTemplates","availableTemplates","Object","keys","length","supportsTemplateMode","canCreateTemplates","canUser","isOpen","onToggle","onClose","PostTemplateToggle","onClick","templateTitle","templateSlug","getEditedPostAttribute","template","getEntityRecords","per_page","find","slug","title","rendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTemplateForm from './form';\n\nexport default function PostTemplate() {\n\tconst anchorRef = useRef();\n\n\tconst isVisible = useSelect( ( select ) => {\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tif ( ! postType?.viewable ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tconst hasTemplates =\n\t\t\t!! settings.availableTemplates &&\n\t\t\tObject.keys( settings.availableTemplates ).length > 0;\n\t\tif ( hasTemplates ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ( ! settings.supportsTemplateMode ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst canCreateTemplates =\n\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ?? false;\n\t\treturn canCreateTemplates;\n\t}, [] );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-post-template\" ref={ anchorRef }>\n\t\t\t<span>{ __( 'Template' ) }</span>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\tposition=\"bottom left\"\n\t\t\t\tclassName=\"edit-post-post-template__dropdown\"\n\t\t\t\tcontentClassName=\"edit-post-post-template__dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostTemplateToggle\n\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PostTemplateForm onClose={ onClose } />\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PanelRow>\n\t);\n}\n\nfunction PostTemplateToggle( { isOpen, onClick } ) {\n\tconst templateTitle = useSelect( ( select ) => {\n\t\tconst templateSlug =\n\t\t\tselect( editorStore ).getEditedPostAttribute( 'template' );\n\n\t\tconst settings = select( editorStore ).getEditorSettings();\n\t\tif ( settings.availableTemplates[ templateSlug ] ) {\n\t\t\treturn settings.availableTemplates[ templateSlug ];\n\t\t}\n\n\t\tconst template = select( coreStore )\n\t\t\t.getEntityRecords( 'postType', 'wp_template', { per_page: -1 } )\n\t\t\t?.find( ( { slug } ) => slug === templateSlug );\n\n\t\treturn template?.title.rendered;\n\t}, [] );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-post-post-template__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={\n\t\t\t\ttemplateTitle\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the currently selected template.\n\t\t\t\t\t\t\t__( 'Select template: %s' ),\n\t\t\t\t\t\t\ttemplateTitle\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Select template' )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ templateTitle ?? __( 'Default template' ) }\n\t\t</Button>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = PostURL;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
|
|
12
|
+
var _i18n = require("@wordpress/i18n");
|
|
13
|
+
|
|
14
|
+
var _editor = require("@wordpress/editor");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* WordPress dependencies
|
|
18
|
+
*/
|
|
19
|
+
function PostURL() {
|
|
20
|
+
const anchorRef = (0, _element.useRef)();
|
|
21
|
+
return (0, _element.createElement)(_editor.PostURLCheck, null, (0, _element.createElement)(_components.PanelRow, {
|
|
22
|
+
className: "edit-post-post-url",
|
|
23
|
+
ref: anchorRef
|
|
24
|
+
}, (0, _element.createElement)("span", null, (0, _i18n.__)('URL')), (0, _element.createElement)(_components.Dropdown, {
|
|
25
|
+
popoverProps: {
|
|
26
|
+
anchorRef
|
|
27
|
+
},
|
|
28
|
+
position: "bottom left",
|
|
29
|
+
className: "edit-post-post-url__dropdown",
|
|
30
|
+
contentClassName: "edit-post-post-url__dialog",
|
|
31
|
+
focusOnMount: true,
|
|
32
|
+
renderToggle: _ref => {
|
|
33
|
+
let {
|
|
34
|
+
isOpen,
|
|
35
|
+
onToggle
|
|
36
|
+
} = _ref;
|
|
37
|
+
return (0, _element.createElement)(PostURLToggle, {
|
|
38
|
+
isOpen: isOpen,
|
|
39
|
+
onClick: onToggle
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
renderContent: _ref2 => {
|
|
43
|
+
let {
|
|
44
|
+
onClose
|
|
45
|
+
} = _ref2;
|
|
46
|
+
return (0, _element.createElement)(_editor.PostURL, {
|
|
47
|
+
onClose: onClose
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
})));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function PostURLToggle(_ref3) {
|
|
54
|
+
let {
|
|
55
|
+
isOpen,
|
|
56
|
+
onClick
|
|
57
|
+
} = _ref3;
|
|
58
|
+
const label = (0, _editor.usePostURLLabel)();
|
|
59
|
+
return (0, _element.createElement)(_components.Button, {
|
|
60
|
+
className: "edit-post-post-url__toggle",
|
|
61
|
+
variant: "tertiary",
|
|
62
|
+
"aria-expanded": isOpen // translators: %s: Current post URL.
|
|
63
|
+
,
|
|
64
|
+
"aria-label": (0, _i18n.sprintf)((0, _i18n.__)('Change URL: %s'), label),
|
|
65
|
+
onClick: onClick
|
|
66
|
+
}, label);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-url/index.js"],"names":["PostURL","anchorRef","isOpen","onToggle","onClose","PostURLToggle","onClick","label"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAUe,SAASA,OAAT,GAAmB;AACjC,QAAMC,SAAS,GAAG,sBAAlB;AACA,SACC,4BAAC,oBAAD,QACC,4BAAC,oBAAD;AAAU,IAAA,SAAS,EAAC,oBAApB;AAAyC,IAAA,GAAG,EAAGA;AAA/C,KACC,0CAAQ,cAAI,KAAJ,CAAR,CADD,EAEC,4BAAC,oBAAD;AACC,IAAA,YAAY,EAAG;AAAEA,MAAAA;AAAF,KADhB;AAEC,IAAA,QAAQ,EAAC,aAFV;AAGC,IAAA,SAAS,EAAC,8BAHX;AAIC,IAAA,gBAAgB,EAAC,4BAJlB;AAKC,IAAA,YAAY,MALb;AAMC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEC,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,4BAAC,aAAD;AAAe,QAAA,MAAM,EAAGD,MAAxB;AAAiC,QAAA,OAAO,EAAGC;AAA3C,QADc;AAAA,KANhB;AASC,IAAA,aAAa,EAAG;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aACf,4BAAC,eAAD;AAAa,QAAA,OAAO,EAAGA;AAAvB,QADe;AAAA;AATjB,IAFD,CADD,CADD;AAoBA;;AAED,SAASC,aAAT,QAA8C;AAAA,MAAtB;AAAEH,IAAAA,MAAF;AAAUI,IAAAA;AAAV,GAAsB;AAC7C,QAAMC,KAAK,GAAG,8BAAd;AACA,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,4BADX;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,qBAAgBL,MAHjB,CAIC;AAJD;AAKC,kBAAa,mBAAS,cAAI,gBAAJ,CAAT,EAAiCK,KAAjC,CALd;AAMC,IAAA,OAAO,EAAGD;AANX,KAQGC,KARH,CADD;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tPostURLCheck,\n\tPostURL as PostURLForm,\n\tusePostURLLabel,\n} from '@wordpress/editor';\n\nexport default function PostURL() {\n\tconst anchorRef = useRef();\n\treturn (\n\t\t<PostURLCheck>\n\t\t\t<PanelRow className=\"edit-post-post-url\" ref={ anchorRef }>\n\t\t\t\t<span>{ __( 'URL' ) }</span>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ { anchorRef } }\n\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\tclassName=\"edit-post-post-url__dropdown\"\n\t\t\t\t\tcontentClassName=\"edit-post-post-url__dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<PostURLToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<PostURLForm onClose={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PanelRow>\n\t\t</PostURLCheck>\n\t);\n}\n\nfunction PostURLToggle( { isOpen, onClick } ) {\n\tconst label = usePostURLLabel();\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-post-post-url__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post URL.\n\t\t\taria-label={ sprintf( __( 'Change URL: %s' ), label ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"]}
|
|
@@ -36,17 +36,16 @@ function PostVisibility() {
|
|
|
36
36
|
// when the label changes.
|
|
37
37
|
anchorRef: rowRef.current
|
|
38
38
|
},
|
|
39
|
+
focusOnMount: true,
|
|
39
40
|
renderToggle: _ref2 => {
|
|
40
41
|
let {
|
|
41
42
|
isOpen,
|
|
42
43
|
onToggle
|
|
43
44
|
} = _ref2;
|
|
44
|
-
return (0, _element.createElement)(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
variant: "tertiary"
|
|
49
|
-
}, (0, _element.createElement)(_editor.PostVisibilityLabel, null));
|
|
45
|
+
return (0, _element.createElement)(PostVisibilityToggle, {
|
|
46
|
+
isOpen: isOpen,
|
|
47
|
+
onClick: onToggle
|
|
48
|
+
});
|
|
50
49
|
},
|
|
51
50
|
renderContent: _ref3 => {
|
|
52
51
|
let {
|
|
@@ -61,6 +60,22 @@ function PostVisibility() {
|
|
|
61
60
|
});
|
|
62
61
|
}
|
|
63
62
|
|
|
63
|
+
function PostVisibilityToggle(_ref4) {
|
|
64
|
+
let {
|
|
65
|
+
isOpen,
|
|
66
|
+
onClick
|
|
67
|
+
} = _ref4;
|
|
68
|
+
const label = (0, _editor.usePostVisibilityLabel)();
|
|
69
|
+
return (0, _element.createElement)(_components.Button, {
|
|
70
|
+
className: "edit-post-post-visibility__toggle",
|
|
71
|
+
variant: "tertiary",
|
|
72
|
+
"aria-expanded": isOpen // translators: %s: Current post visibility.
|
|
73
|
+
,
|
|
74
|
+
"aria-label": (0, _i18n.sprintf)((0, _i18n.__)('Select visibility: %s'), label),
|
|
75
|
+
onClick: onClick
|
|
76
|
+
}, label);
|
|
77
|
+
}
|
|
78
|
+
|
|
64
79
|
var _default = PostVisibility;
|
|
65
80
|
exports.default = _default;
|
|
66
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-visibility/index.js"],"names":["PostVisibility","rowRef","canEdit","anchorRef","current","isOpen","onToggle","onClose"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/post-visibility/index.js"],"names":["PostVisibility","rowRef","canEdit","anchorRef","current","isOpen","onToggle","onClose","PostVisibilityToggle","onClick","label"],"mappings":";;;;;;;;AAWA;;AARA;;AACA;;AACA;;AALA;AACA;AACA;AAWO,SAASA,cAAT,GAA0B;AAChC,QAAMC,MAAM,GAAG,sBAAf;AACA,SACC,4BAAC,2BAAD;AACC,IAAA,MAAM,EAAG;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aACR,4BAAC,oBAAD;AAAU,QAAA,GAAG,EAAGD,MAAhB;AAAyB,QAAA,SAAS,EAAC;AAAnC,SACC,0CAAQ,cAAI,YAAJ,CAAR,CADD,EAEG,CAAEC,OAAF,IACD,0CACC,4BAAC,2BAAD,OADD,CAHF,EAOGA,OAAO,IACR,4BAAC,oBAAD;AACC,QAAA,QAAQ,EAAC,aADV;AAEC,QAAA,gBAAgB,EAAC,mCAFlB;AAGC,QAAA,YAAY,EAAG;AACd;AACA;AACA;AACAC,UAAAA,SAAS,EAAEF,MAAM,CAACG;AAJJ,SAHhB;AASC,QAAA,YAAY,MATb;AAUC,QAAA,YAAY,EAAG;AAAA,cAAE;AAAEC,YAAAA,MAAF;AAAUC,YAAAA;AAAV,WAAF;AAAA,iBACd,4BAAC,oBAAD;AACC,YAAA,MAAM,EAAGD,MADV;AAEC,YAAA,OAAO,EAAGC;AAFX,YADc;AAAA,SAVhB;AAgBC,QAAA,aAAa,EAAG;AAAA,cAAE;AAAEC,YAAAA;AAAF,WAAF;AAAA,iBACf,4BAAC,sBAAD;AAAoB,YAAA,OAAO,EAAGA;AAA9B,YADe;AAAA;AAhBjB,QARF,CADQ;AAAA;AADV,IADD;AAoCA;;AAED,SAASC,oBAAT,QAAqD;AAAA,MAAtB;AAAEH,IAAAA,MAAF;AAAUI,IAAAA;AAAV,GAAsB;AACpD,QAAMC,KAAK,GAAG,qCAAd;AACA,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,IAAA,OAAO,EAAC,UAFT;AAGC,qBAAgBL,MAHjB,CAIC;AAJD;AAKC,kBAAa,mBAAS,cAAI,uBAAJ,CAAT,EAAwCK,KAAxC,CALd;AAMC,IAAA,OAAO,EAAGD;AANX,KAQGC,KARH,CADD;AAYA;;eAEcV,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PanelRow, Dropdown, Button } from '@wordpress/components';\nimport {\n\tPostVisibility as PostVisibilityForm,\n\tPostVisibilityLabel,\n\tPostVisibilityCheck,\n\tusePostVisibilityLabel,\n} from '@wordpress/editor';\nimport { useRef } from '@wordpress/element';\n\nexport function PostVisibility() {\n\tconst rowRef = useRef();\n\treturn (\n\t\t<PostVisibilityCheck\n\t\t\trender={ ( { canEdit } ) => (\n\t\t\t\t<PanelRow ref={ rowRef } className=\"edit-post-post-visibility\">\n\t\t\t\t\t<span>{ __( 'Visibility' ) }</span>\n\t\t\t\t\t{ ! canEdit && (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<PostVisibilityLabel />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canEdit && (\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tposition=\"bottom left\"\n\t\t\t\t\t\t\tcontentClassName=\"edit-post-post-visibility__dialog\"\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t// Anchor the popover to the middle of the\n\t\t\t\t\t\t\t\t// entire row so that it doesn't move around\n\t\t\t\t\t\t\t\t// when the label changes.\n\t\t\t\t\t\t\t\tanchorRef: rowRef.current,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tfocusOnMount\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityToggle\n\t\t\t\t\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PostVisibilityForm onClose={ onClose } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelRow>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction PostVisibilityToggle( { isOpen, onClick } ) {\n\tconst label = usePostVisibilityLabel();\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-post-post-visibility__toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\t// translators: %s: Current post visibility.\n\t\t\taria-label={ sprintf( __( 'Select visibility: %s' ), label ) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n\nexport default PostVisibility;\n"]}
|
|
@@ -29,8 +29,6 @@ var _featuredImage = _interopRequireDefault(require("../featured-image"));
|
|
|
29
29
|
|
|
30
30
|
var _postExcerpt = _interopRequireDefault(require("../post-excerpt"));
|
|
31
31
|
|
|
32
|
-
var _postLink = _interopRequireDefault(require("../post-link"));
|
|
33
|
-
|
|
34
32
|
var _discussionPanel = _interopRequireDefault(require("../discussion-panel"));
|
|
35
33
|
|
|
36
34
|
var _pageAttributes = _interopRequireDefault(require("../page-attributes"));
|
|
@@ -41,8 +39,6 @@ var _pluginDocumentSettingPanel = _interopRequireDefault(require("../plugin-docu
|
|
|
41
39
|
|
|
42
40
|
var _pluginSidebar = _interopRequireDefault(require("../plugin-sidebar"));
|
|
43
41
|
|
|
44
|
-
var _template = _interopRequireDefault(require("../template"));
|
|
45
|
-
|
|
46
42
|
var _templateSummary = _interopRequireDefault(require("../template-summary"));
|
|
47
43
|
|
|
48
44
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -72,7 +68,7 @@ const SettingsSidebar = () => {
|
|
|
72
68
|
// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.
|
|
73
69
|
// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.
|
|
74
70
|
// If one of the two sidebars is active the component will contain the content of that sidebar.
|
|
75
|
-
// When neither of the
|
|
71
|
+
// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost
|
|
76
72
|
// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName
|
|
77
73
|
// should contain the sidebar that will be active when the toggle button is pressed. If a block
|
|
78
74
|
// is selected, that should be edit-post/block otherwise it's edit-post/document.
|
|
@@ -106,7 +102,7 @@ const SettingsSidebar = () => {
|
|
|
106
102
|
toggleShortcut: keyboardShortcut,
|
|
107
103
|
icon: _icons.cog,
|
|
108
104
|
isActiveByDefault: SIDEBAR_ACTIVE_BY_DEFAULT
|
|
109
|
-
}, !isTemplateMode && sidebarName === 'edit-post/document' && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_postStatus.default, null), (0, _element.createElement)(
|
|
105
|
+
}, !isTemplateMode && sidebarName === 'edit-post/document' && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_postStatus.default, null), (0, _element.createElement)(_pluginDocumentSettingPanel.default.Slot, null), (0, _element.createElement)(_lastRevision.default, null), (0, _element.createElement)(_postTaxonomies.default, null), (0, _element.createElement)(_featuredImage.default, null), (0, _element.createElement)(_postExcerpt.default, null), (0, _element.createElement)(_discussionPanel.default, null), (0, _element.createElement)(_pageAttributes.default, null), (0, _element.createElement)(_metaBoxes.default, {
|
|
110
106
|
location: "side"
|
|
111
107
|
})), isTemplateMode && sidebarName === 'edit-post/document' && (0, _element.createElement)(_templateSummary.default, null), sidebarName === 'edit-post/block' && (0, _element.createElement)(_blockEditor.BlockInspector, null));
|
|
112
108
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"names":["SIDEBAR_ACTIVE_BY_DEFAULT","Platform","select","web","native","SettingsSidebar","sidebarName","keyboardShortcut","isTemplateMode","sidebar","interfaceStore","getActiveComplementaryArea","editPostStore","name","includes","blockEditorStore","getBlockSelectionStart","shortcut","keyboardShortcutsStore","getShortcutRepresentation","isEditingTemplate","cog"],"mappings":";;;;;;;;;AAQA;;AALA;;AAIA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/sidebar/settings-sidebar/index.js"],"names":["SIDEBAR_ACTIVE_BY_DEFAULT","Platform","select","web","native","SettingsSidebar","sidebarName","keyboardShortcut","isTemplateMode","sidebar","interfaceStore","getActiveComplementaryArea","editPostStore","name","includes","blockEditorStore","getBlockSelectionStart","shortcut","keyboardShortcutsStore","getShortcutRepresentation","isEditingTemplate","cog"],"mappings":";;;;;;;;;AAQA;;AALA;;AAIA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AA7BA;AACA;AACA;;AAUA;AACA;AACA;AAiBA,MAAMA,yBAAyB,GAAGC,kBAASC,MAAT,CAAiB;AAClDC,EAAAA,GAAG,EAAE,IAD6C;AAElDC,EAAAA,MAAM,EAAE;AAF0C,CAAjB,CAAlC;;AAKA,MAAMC,eAAe,GAAG,MAAM;AAC7B,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,gBAAf;AAAiCC,IAAAA;AAAjC,MAAoD,qBACvDN,MAAF,IAAc;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAIO,OAAO,GAAGP,MAAM,CAAEQ,gBAAF,CAAN,CAAyBC,0BAAzB,CACbC,aAAcC,IADD,CAAd;;AAGA,QACC,CAAE,CAAE,oBAAF,EAAwB,iBAAxB,EAA4CC,QAA5C,CACDL,OADC,CADH,EAIE;AACD,UAAKP,MAAM,CAAEa,kBAAF,CAAN,CAA2BC,sBAA3B,EAAL,EAA2D;AAC1DP,QAAAA,OAAO,GAAG,iBAAV;AACA;;AACDA,MAAAA,OAAO,GAAG,oBAAV;AACA;;AACD,UAAMQ,QAAQ,GAAGf,MAAM,CACtBgB,wBADsB,CAAN,CAEfC,yBAFe,CAEY,+BAFZ,CAAjB;AAGA,WAAO;AACNb,MAAAA,WAAW,EAAEG,OADP;AAENF,MAAAA,gBAAgB,EAAEU,QAFZ;AAGNT,MAAAA,cAAc,EAAEN,MAAM,CAAEU,YAAF,CAAN,CAAwBQ,iBAAxB;AAHV,KAAP;AAKA,GA9BwD,EA+BzD,EA/ByD,CAA1D;AAkCA,SACC,4BAAC,sBAAD;AACC,IAAA,UAAU,EAAGd,WADd;AAEC,IAAA,MAAM,EAAG,4BAAC,uBAAD;AAAgB,MAAA,WAAW,EAAGA;AAA9B,MAFV;AAGC,IAAA,UAAU,EAAG,cAAI,gBAAJ,CAHd;AAIC,IAAA,eAAe,EAAC;AAChB;AALD;AAMC,IAAA,KAAK,EAAG,cAAI,UAAJ,CANT;AAOC,IAAA,cAAc,EAAGC,gBAPlB;AAQC,IAAA,IAAI,EAAGc,UARR;AASC,IAAA,iBAAiB,EAAGrB;AATrB,KAWG,CAAEQ,cAAF,IAAoBF,WAAW,KAAK,oBAApC,IACD,qDACC,4BAAC,mBAAD,OADD,EAEC,4BAAC,mCAAD,CAA4B,IAA5B,OAFD,EAGC,4BAAC,qBAAD,OAHD,EAIC,4BAAC,uBAAD,OAJD,EAKC,4BAAC,sBAAD,OALD,EAMC,4BAAC,oBAAD,OAND,EAOC,4BAAC,wBAAD,OAPD,EAQC,4BAAC,uBAAD,OARD,EASC,4BAAC,kBAAD;AAAW,IAAA,QAAQ,EAAC;AAApB,IATD,CAZF,EAwBGE,cAAc,IAAIF,WAAW,KAAK,oBAAlC,IACD,4BAAC,wBAAD,OAzBF,EA2BGA,WAAW,KAAK,iBAAhB,IAAqC,4BAAC,2BAAD,OA3BxC,CADD;AA+BA,CAlED;;eAoEeD,e","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { cog } from '@wordpress/icons';\nimport { Platform } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport SettingsHeader from '../settings-header';\nimport PostStatus from '../post-status';\nimport LastRevision from '../last-revision';\nimport PostTaxonomies from '../post-taxonomies';\nimport FeaturedImage from '../featured-image';\nimport PostExcerpt from '../post-excerpt';\nimport DiscussionPanel from '../discussion-panel';\nimport PageAttributes from '../page-attributes';\nimport MetaBoxes from '../../meta-boxes';\nimport PluginDocumentSettingPanel from '../plugin-document-setting-panel';\nimport PluginSidebarEditPost from '../plugin-sidebar';\nimport TemplateSummary from '../template-summary';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editPostStore } from '../../../store';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst SettingsSidebar = () => {\n\tconst { sidebarName, keyboardShortcut, isTemplateMode } = useSelect(\n\t\t( select ) => {\n\t\t\t// The settings sidebar is used by the edit-post/document and edit-post/block sidebars.\n\t\t\t// sidebarName represents the sidebar that is active or that should be active when the SettingsSidebar toggle button is pressed.\n\t\t\t// If one of the two sidebars is active the component will contain the content of that sidebar.\n\t\t\t// When neither of the two sidebars is active we can not simply return null, because the PluginSidebarEditPost\n\t\t\t// component, besides being used to render the sidebar, also renders the toggle button. In that case sidebarName\n\t\t\t// should contain the sidebar that will be active when the toggle button is pressed. If a block\n\t\t\t// is selected, that should be edit-post/block otherwise it's edit-post/document.\n\t\t\tlet sidebar = select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditPostStore.name\n\t\t\t);\n\t\t\tif (\n\t\t\t\t! [ 'edit-post/document', 'edit-post/block' ].includes(\n\t\t\t\t\tsidebar\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif ( select( blockEditorStore ).getBlockSelectionStart() ) {\n\t\t\t\t\tsidebar = 'edit-post/block';\n\t\t\t\t}\n\t\t\t\tsidebar = 'edit-post/document';\n\t\t\t}\n\t\t\tconst shortcut = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/edit-post/toggle-sidebar' );\n\t\t\treturn {\n\t\t\t\tsidebarName: sidebar,\n\t\t\t\tkeyboardShortcut: shortcut,\n\t\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn (\n\t\t<PluginSidebarEditPost\n\t\t\tidentifier={ sidebarName }\n\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\tcloseLabel={ __( 'Close settings' ) }\n\t\t\theaderClassName=\"edit-post-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\ttoggleShortcut={ keyboardShortcut }\n\t\t\ticon={ cog }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t{ ! isTemplateMode && sidebarName === 'edit-post/document' && (\n\t\t\t\t<>\n\t\t\t\t\t<PostStatus />\n\t\t\t\t\t<PluginDocumentSettingPanel.Slot />\n\t\t\t\t\t<LastRevision />\n\t\t\t\t\t<PostTaxonomies />\n\t\t\t\t\t<FeaturedImage />\n\t\t\t\t\t<PostExcerpt />\n\t\t\t\t\t<DiscussionPanel />\n\t\t\t\t\t<PageAttributes />\n\t\t\t\t\t<MetaBoxes location=\"side\" />\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ isTemplateMode && sidebarName === 'edit-post/document' && (\n\t\t\t\t<TemplateSummary />\n\t\t\t) }\n\t\t\t{ sidebarName === 'edit-post/block' && <BlockInspector /> }\n\t\t</PluginSidebarEditPost>\n\t);\n};\n\nexport default SettingsSidebar;\n"]}
|