@wordpress/edit-site 5.31.0 → 5.32.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/block-editor/editor-canvas.js +8 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +15 -4
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/editor/index.js +12 -3
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -2
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +38 -0
- package/build/components/global-styles/background-panel.js.map +1 -0
- package/build/components/global-styles/font-families.js +1 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +38 -9
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +20 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/palette.js +3 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preview-colors.js +2 -2
- package/build/components/global-styles/preview-colors.js.map +1 -1
- package/build/components/global-styles/root-menu.js +8 -2
- package/build/components/global-styles/root-menu.js.map +1 -1
- package/build/components/global-styles/screen-background.js +34 -0
- package/build/components/global-styles/screen-background.js.map +1 -0
- package/build/components/global-styles/screen-color-palette.js +2 -2
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +6 -4
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +3 -37
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +6 -6
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +5 -2
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/ui.js +4 -1
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +10 -3
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +9 -2
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +3 -0
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/layout/animation.js +129 -0
- package/build/components/layout/animation.js.map +1 -0
- package/build/components/layout/index.js +9 -17
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +21 -18
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-pages/index.js +19 -17
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/index.js +18 -28
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +16 -58
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-templates-template-parts/actions.js +54 -41
- package/build/components/page-templates-template-parts/actions.js.map +1 -1
- package/build/components/page-templates-template-parts/index.js +26 -59
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/plugin-template-setting-panel/index.js +12 -1
- package/build/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build/components/save-button/index.js +45 -16
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +8 -112
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -5
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +1 -1
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +1 -1
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -2
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/index.js +5 -15
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +10 -16
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +5 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +10 -5
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +1 -5
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/style-book/index.js +1 -1
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/store/selectors.js +1 -9
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +8 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +15 -4
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/editor/index.js +13 -4
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +1 -2
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +31 -0
- package/build-module/components/global-styles/background-panel.js.map +1 -0
- package/build-module/components/global-styles/font-families.js +1 -1
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +38 -9
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +20 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/palette.js +3 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preview-colors.js +2 -2
- package/build-module/components/global-styles/preview-colors.js.map +1 -1
- package/build-module/components/global-styles/root-menu.js +9 -3
- package/build-module/components/global-styles/root-menu.js.map +1 -1
- package/build-module/components/global-styles/screen-background.js +26 -0
- package/build-module/components/global-styles/screen-background.js.map +1 -0
- package/build-module/components/global-styles/screen-color-palette.js +2 -2
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +6 -4
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +4 -38
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -6
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +5 -2
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/ui.js +4 -1
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +10 -3
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +9 -2
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +3 -0
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/layout/animation.js +122 -0
- package/build-module/components/layout/animation.js.map +1 -0
- package/build-module/components/layout/index.js +9 -17
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +21 -18
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-pages/index.js +19 -17
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/index.js +20 -30
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +14 -55
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-templates-template-parts/actions.js +54 -40
- package/build-module/components/page-templates-template-parts/actions.js.map +1 -1
- package/build-module/components/page-templates-template-parts/index.js +29 -62
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/plugin-template-setting-panel/index.js +12 -1
- package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build-module/components/save-button/index.js +46 -17
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +10 -114
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -5
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +1 -1
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +1 -2
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +8 -18
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +11 -17
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +5 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +10 -5
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -5
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/style-book/index.js +1 -1
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/store/selectors.js +1 -9
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +116 -104
- package/build-style/style.css +116 -104
- package/package.json +44 -44
- package/src/components/block-editor/editor-canvas.js +14 -2
- package/src/components/block-editor/site-editor-canvas.js +10 -7
- package/src/components/editor/index.js +11 -4
- package/src/components/editor-canvas-container/index.js +0 -1
- package/src/components/global-styles/background-panel.js +34 -0
- package/src/components/global-styles/font-families.js +1 -1
- package/src/components/global-styles/font-library-modal/context.js +43 -14
- package/src/components/global-styles/font-library-modal/style.scss +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +17 -4
- package/src/components/global-styles/palette.js +3 -1
- package/src/components/global-styles/preview-colors.js +2 -2
- package/src/components/global-styles/root-menu.js +12 -1
- package/src/components/global-styles/screen-background.js +29 -0
- package/src/components/global-styles/screen-color-palette.js +2 -2
- package/src/components/global-styles/screen-colors.js +4 -4
- package/src/components/global-styles/screen-style-variations.js +4 -36
- package/src/components/global-styles/screen-typography.js +6 -9
- package/src/components/global-styles/style-variations-container.js +2 -1
- package/src/components/global-styles/style.scss +14 -12
- package/src/components/global-styles/ui.js +5 -0
- package/src/components/global-styles/variations/style.scss +32 -17
- package/src/components/global-styles/variations/variations-color.js +4 -2
- package/src/components/global-styles/variations/variations-typography.js +4 -1
- package/src/components/header-edit-mode/style.scss +28 -17
- package/src/components/keyboard-shortcut-help-modal/index.js +4 -0
- package/src/components/layout/animation.js +122 -0
- package/src/components/layout/index.js +12 -27
- package/src/components/layout/router.js +25 -19
- package/src/components/layout/style.scss +2 -0
- package/src/components/page-pages/index.js +27 -43
- package/src/components/page-patterns/index.js +20 -28
- package/src/components/page-patterns/search-items.js +13 -58
- package/src/components/page-templates-template-parts/actions.js +106 -91
- package/src/components/page-templates-template-parts/index.js +34 -78
- package/src/components/page-templates-template-parts/style.scss +5 -0
- package/src/components/plugin-template-setting-panel/index.js +14 -1
- package/src/components/save-button/index.js +55 -26
- package/src/components/save-hub/index.js +20 -164
- package/src/components/sidebar/index.js +0 -5
- package/src/components/sidebar-dataviews/default-views.js +1 -1
- package/src/components/sidebar-dataviews/index.js +1 -1
- package/src/components/sidebar-edit-mode/index.js +0 -2
- package/src/components/sidebar-edit-mode/page-panels/index.js +29 -60
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +10 -10
- package/src/components/sidebar-edit-mode/template-panel/index.js +23 -33
- package/src/components/sidebar-edit-mode/template-panel/style.scss +1 -29
- package/src/components/sidebar-navigation-screen/style.scss +12 -9
- package/src/components/sidebar-navigation-screen-details-footer/index.js +6 -2
- package/src/components/sidebar-navigation-screen-global-styles/index.js +7 -13
- package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
- package/src/components/style-book/index.js +1 -3
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +2 -2
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/src/hooks/index.js +0 -1
- package/src/store/selectors.js +3 -15
- package/src/style.scss +0 -1
- package/build/components/actions/index.js +0 -319
- package/build/components/actions/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/sidebar-card/index.js +0 -48
- package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js +0 -70
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +0 -175
- package/build/components/sidebar-navigation-screen-pages/index.js.map +0 -1
- package/build/hooks/template-part-edit.js +0 -82
- package/build/hooks/template-part-edit.js.map +0 -1
- package/build/store/utils.js +0 -71
- package/build/store/utils.js.map +0 -1
- package/build-module/components/actions/index.js +0 -308
- package/build-module/components/actions/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +0 -40
- package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +0 -63
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +0 -167
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +0 -1
- package/build-module/hooks/template-part-edit.js +0 -75
- package/build-module/hooks/template-part-edit.js.map +0 -1
- package/build-module/store/utils.js +0 -64
- package/build-module/store/utils.js.map +0 -1
- package/src/components/actions/index.js +0 -409
- package/src/components/sidebar-edit-mode/sidebar-card/index.js +0 -53
- package/src/components/sidebar-edit-mode/sidebar-card/style.scss +0 -36
- package/src/components/sidebar-edit-mode/template-panel/template-areas.js +0 -86
- package/src/components/sidebar-navigation-screen-pages/index.js +0 -238
- package/src/hooks/template-part-edit.js +0 -89
- package/src/store/test/utils.js +0 -191
- package/src/store/utils.js +0 -69
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { external, edit, backup } from '@wordpress/icons';
|
|
6
|
-
import { addQueryArgs } from '@wordpress/url';
|
|
7
|
-
import { useDispatch } from '@wordpress/data';
|
|
8
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
10
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
11
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
12
|
-
import { useMemo } from '@wordpress/element';
|
|
13
|
-
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
14
|
-
import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Internal dependencies
|
|
18
|
-
*/
|
|
19
|
-
import { unlock } from '../../lock-unlock';
|
|
20
|
-
const {
|
|
21
|
-
useHistory
|
|
22
|
-
} = unlock(routerPrivateApis);
|
|
23
|
-
export const trashPostAction = {
|
|
24
|
-
id: 'move-to-trash',
|
|
25
|
-
label: __('Move to Trash'),
|
|
26
|
-
isEligible({
|
|
27
|
-
status
|
|
28
|
-
}) {
|
|
29
|
-
return status !== 'trash';
|
|
30
|
-
},
|
|
31
|
-
supportsBulk: true,
|
|
32
|
-
hideModalHeader: true,
|
|
33
|
-
RenderModal: ({
|
|
34
|
-
items: posts,
|
|
35
|
-
closeModal,
|
|
36
|
-
onPerform
|
|
37
|
-
}) => {
|
|
38
|
-
const {
|
|
39
|
-
createSuccessNotice,
|
|
40
|
-
createErrorNotice
|
|
41
|
-
} = useDispatch(noticesStore);
|
|
42
|
-
const {
|
|
43
|
-
deleteEntityRecord
|
|
44
|
-
} = useDispatch(coreStore);
|
|
45
|
-
return createElement(VStack, {
|
|
46
|
-
spacing: "5"
|
|
47
|
-
}, createElement(Text, null, posts.length === 1 ? sprintf(
|
|
48
|
-
// translators: %s: The page's title.
|
|
49
|
-
__('Are you sure you want to delete "%s"?'), decodeEntities(posts[0].title.rendered)) : sprintf(
|
|
50
|
-
// translators: %d: The number of pages (2 or more).
|
|
51
|
-
__('Are you sure you want to delete %d pages?'), posts.length)), createElement(HStack, {
|
|
52
|
-
justify: "right"
|
|
53
|
-
}, createElement(Button, {
|
|
54
|
-
variant: "tertiary",
|
|
55
|
-
onClick: closeModal
|
|
56
|
-
}, __('Cancel')), createElement(Button, {
|
|
57
|
-
variant: "primary",
|
|
58
|
-
onClick: async () => {
|
|
59
|
-
const promiseResult = await Promise.allSettled(posts.map(post => {
|
|
60
|
-
return deleteEntityRecord('postType', post.type, post.id, {}, {
|
|
61
|
-
throwOnError: true
|
|
62
|
-
});
|
|
63
|
-
}));
|
|
64
|
-
// If all the promises were fulfilled with success.
|
|
65
|
-
if (promiseResult.every(({
|
|
66
|
-
status
|
|
67
|
-
}) => status === 'fulfilled')) {
|
|
68
|
-
let successMessage;
|
|
69
|
-
if (promiseResult.length === 1) {
|
|
70
|
-
successMessage = sprintf( /* translators: The posts's title. */
|
|
71
|
-
__('"%s" moved to the Trash.'), decodeEntities(posts[0].title.rendered));
|
|
72
|
-
} else {
|
|
73
|
-
successMessage = __('Pages moved to the Trash.');
|
|
74
|
-
}
|
|
75
|
-
createSuccessNotice(successMessage, {
|
|
76
|
-
type: 'snackbar',
|
|
77
|
-
id: 'edit-site-page-trashed'
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
// If there was at lease one failure.
|
|
81
|
-
let errorMessage;
|
|
82
|
-
// If we were trying to move a single post to the trash.
|
|
83
|
-
if (promiseResult.length === 1) {
|
|
84
|
-
if (promiseResult[0].reason?.message) {
|
|
85
|
-
errorMessage = promiseResult[0].reason.message;
|
|
86
|
-
} else {
|
|
87
|
-
errorMessage = __('An error occurred while moving the post to the trash.');
|
|
88
|
-
}
|
|
89
|
-
// If we were trying to move multiple posts to the trash
|
|
90
|
-
} else {
|
|
91
|
-
const errorMessages = new Set();
|
|
92
|
-
const failedPromises = promiseResult.filter(({
|
|
93
|
-
status
|
|
94
|
-
}) => status === 'rejected');
|
|
95
|
-
for (const failedPromise of failedPromises) {
|
|
96
|
-
if (failedPromise.reason?.message) {
|
|
97
|
-
errorMessages.add(failedPromise.reason.message);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (errorMessages.size === 0) {
|
|
101
|
-
errorMessage = __('An error occurred while moving the posts to the trash.');
|
|
102
|
-
} else if (errorMessages.size === 1) {
|
|
103
|
-
errorMessage = sprintf( /* translators: %s: an error message */
|
|
104
|
-
__('An error occurred while moving the posts to the trash: %s'), [...errorMessages][0]);
|
|
105
|
-
} else {
|
|
106
|
-
errorMessage = sprintf( /* translators: %s: a list of comma separated error messages */
|
|
107
|
-
__('Some errors occurred while moving the pages to the trash: %s'), [...errorMessages].join(','));
|
|
108
|
-
}
|
|
109
|
-
createErrorNotice(errorMessage, {
|
|
110
|
-
type: 'snackbar'
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (onPerform) {
|
|
115
|
-
onPerform();
|
|
116
|
-
}
|
|
117
|
-
closeModal();
|
|
118
|
-
}
|
|
119
|
-
}, __('Delete'))));
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
export function usePermanentlyDeletePostAction() {
|
|
123
|
-
const {
|
|
124
|
-
createSuccessNotice,
|
|
125
|
-
createErrorNotice
|
|
126
|
-
} = useDispatch(noticesStore);
|
|
127
|
-
const {
|
|
128
|
-
deleteEntityRecord
|
|
129
|
-
} = useDispatch(coreStore);
|
|
130
|
-
return useMemo(() => ({
|
|
131
|
-
id: 'permanently-delete',
|
|
132
|
-
label: __('Permanently delete'),
|
|
133
|
-
supportsBulk: true,
|
|
134
|
-
isEligible({
|
|
135
|
-
status
|
|
136
|
-
}) {
|
|
137
|
-
return status === 'trash';
|
|
138
|
-
},
|
|
139
|
-
async callback(posts) {
|
|
140
|
-
const promiseResult = await Promise.allSettled(posts.map(post => {
|
|
141
|
-
return deleteEntityRecord('postType', post.type, post.id, {
|
|
142
|
-
force: true
|
|
143
|
-
}, {
|
|
144
|
-
throwOnError: true
|
|
145
|
-
});
|
|
146
|
-
}));
|
|
147
|
-
// If all the promises were fulfilled with success.
|
|
148
|
-
if (promiseResult.every(({
|
|
149
|
-
status
|
|
150
|
-
}) => status === 'fulfilled')) {
|
|
151
|
-
let successMessage;
|
|
152
|
-
if (promiseResult.length === 1) {
|
|
153
|
-
successMessage = sprintf( /* translators: The posts's title. */
|
|
154
|
-
__('"%s" permanently deleted.'), decodeEntities(posts[0].title.rendered));
|
|
155
|
-
} else {
|
|
156
|
-
successMessage = __('The posts were permanently deleted.');
|
|
157
|
-
}
|
|
158
|
-
createSuccessNotice(successMessage, {
|
|
159
|
-
type: 'snackbar',
|
|
160
|
-
id: 'edit-site-post-permanently-deleted'
|
|
161
|
-
});
|
|
162
|
-
} else {
|
|
163
|
-
// If there was at lease one failure.
|
|
164
|
-
let errorMessage;
|
|
165
|
-
// If we were trying to permanently delete a single post.
|
|
166
|
-
if (promiseResult.length === 1) {
|
|
167
|
-
if (promiseResult[0].reason?.message) {
|
|
168
|
-
errorMessage = promiseResult[0].reason.message;
|
|
169
|
-
} else {
|
|
170
|
-
errorMessage = __('An error occurred while permanently deleting the post.');
|
|
171
|
-
}
|
|
172
|
-
// If we were trying to permanently delete multiple posts
|
|
173
|
-
} else {
|
|
174
|
-
const errorMessages = new Set();
|
|
175
|
-
const failedPromises = promiseResult.filter(({
|
|
176
|
-
status
|
|
177
|
-
}) => status === 'rejected');
|
|
178
|
-
for (const failedPromise of failedPromises) {
|
|
179
|
-
if (failedPromise.reason?.message) {
|
|
180
|
-
errorMessages.add(failedPromise.reason.message);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (errorMessages.size === 0) {
|
|
184
|
-
errorMessage = __('An error occurred while permanently deleting the posts.');
|
|
185
|
-
} else if (errorMessages.size === 1) {
|
|
186
|
-
errorMessage = sprintf( /* translators: %s: an error message */
|
|
187
|
-
__('An error occurred while permanently deleting the posts: %s'), [...errorMessages][0]);
|
|
188
|
-
} else {
|
|
189
|
-
errorMessage = sprintf( /* translators: %s: a list of comma separated error messages */
|
|
190
|
-
__('Some errors occurred while permanently deleting the posts: %s'), [...errorMessages].join(','));
|
|
191
|
-
}
|
|
192
|
-
createErrorNotice(errorMessage, {
|
|
193
|
-
type: 'snackbar'
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
|
|
199
|
-
}
|
|
200
|
-
export function useRestorePostAction() {
|
|
201
|
-
const {
|
|
202
|
-
createSuccessNotice,
|
|
203
|
-
createErrorNotice
|
|
204
|
-
} = useDispatch(noticesStore);
|
|
205
|
-
const {
|
|
206
|
-
editEntityRecord,
|
|
207
|
-
saveEditedEntityRecord
|
|
208
|
-
} = useDispatch(coreStore);
|
|
209
|
-
return useMemo(() => ({
|
|
210
|
-
id: 'restore',
|
|
211
|
-
label: __('Restore'),
|
|
212
|
-
isPrimary: true,
|
|
213
|
-
icon: backup,
|
|
214
|
-
supportsBulk: true,
|
|
215
|
-
isEligible({
|
|
216
|
-
status
|
|
217
|
-
}) {
|
|
218
|
-
return status === 'trash';
|
|
219
|
-
},
|
|
220
|
-
async callback(posts) {
|
|
221
|
-
try {
|
|
222
|
-
for (const post of posts) {
|
|
223
|
-
await editEntityRecord('postType', post.type, post.id, {
|
|
224
|
-
status: 'draft'
|
|
225
|
-
});
|
|
226
|
-
await saveEditedEntityRecord('postType', post.type, post.id, {
|
|
227
|
-
throwOnError: true
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
createSuccessNotice(posts.length > 1 ? sprintf( /* translators: The number of posts. */
|
|
231
|
-
__('%d posts have been restored.'), posts.length) : sprintf( /* translators: The number of posts. */
|
|
232
|
-
__('"%s" has been restored.'), decodeEntities(posts[0].title.rendered)), {
|
|
233
|
-
type: 'snackbar',
|
|
234
|
-
id: 'edit-site-post-restored'
|
|
235
|
-
});
|
|
236
|
-
} catch (error) {
|
|
237
|
-
let errorMessage;
|
|
238
|
-
if (error.message && error.code !== 'unknown_error' && error.message) {
|
|
239
|
-
errorMessage = error.message;
|
|
240
|
-
} else if (posts.length > 1) {
|
|
241
|
-
errorMessage = __('An error occurred while restoring the posts.');
|
|
242
|
-
} else {
|
|
243
|
-
errorMessage = __('An error occurred while restoring the post.');
|
|
244
|
-
}
|
|
245
|
-
createErrorNotice(errorMessage, {
|
|
246
|
-
type: 'snackbar'
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
}), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
|
|
251
|
-
}
|
|
252
|
-
export const viewPostAction = {
|
|
253
|
-
id: 'view-post',
|
|
254
|
-
label: __('View'),
|
|
255
|
-
isPrimary: true,
|
|
256
|
-
icon: external,
|
|
257
|
-
isEligible(post) {
|
|
258
|
-
return post.status !== 'trash';
|
|
259
|
-
},
|
|
260
|
-
callback(posts) {
|
|
261
|
-
const post = posts[0];
|
|
262
|
-
window.open(post.link, '_blank');
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
export function useEditPostAction() {
|
|
266
|
-
const history = useHistory();
|
|
267
|
-
return useMemo(() => ({
|
|
268
|
-
id: 'edit-post',
|
|
269
|
-
label: __('Edit'),
|
|
270
|
-
isPrimary: true,
|
|
271
|
-
icon: edit,
|
|
272
|
-
isEligible({
|
|
273
|
-
status
|
|
274
|
-
}) {
|
|
275
|
-
return status !== 'trash';
|
|
276
|
-
},
|
|
277
|
-
callback(posts) {
|
|
278
|
-
const post = posts[0];
|
|
279
|
-
history.push({
|
|
280
|
-
postId: post.id,
|
|
281
|
-
postType: post.type,
|
|
282
|
-
canvas: 'edit'
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
}), [history]);
|
|
286
|
-
}
|
|
287
|
-
export const postRevisionsAction = {
|
|
288
|
-
id: 'view-post-revisions',
|
|
289
|
-
label: __('View revisions'),
|
|
290
|
-
isPrimary: false,
|
|
291
|
-
isEligible: post => {
|
|
292
|
-
var _post$_links$predeces, _post$_links$version;
|
|
293
|
-
if (post.status === 'trash') {
|
|
294
|
-
return false;
|
|
295
|
-
}
|
|
296
|
-
const lastRevisionId = (_post$_links$predeces = post?._links?.['predecessor-version']?.[0]?.id) !== null && _post$_links$predeces !== void 0 ? _post$_links$predeces : null;
|
|
297
|
-
const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
|
|
298
|
-
return lastRevisionId && revisionsCount > 1;
|
|
299
|
-
},
|
|
300
|
-
callback(posts) {
|
|
301
|
-
const post = posts[0];
|
|
302
|
-
const href = addQueryArgs('revision.php', {
|
|
303
|
-
revision: post?._links?.['predecessor-version']?.[0]?.id
|
|
304
|
-
});
|
|
305
|
-
document.location.href = href;
|
|
306
|
-
}
|
|
307
|
-
};
|
|
308
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["external","edit","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","unlock","useHistory","trashPostAction","id","label","isEligible","status","supportsBulk","hideModalHeader","RenderModal","items","posts","closeModal","onPerform","createSuccessNotice","createErrorNotice","deleteEntityRecord","createElement","spacing","length","title","rendered","justify","variant","onClick","promiseResult","Promise","allSettled","map","post","type","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","isPrimary","icon","error","code","viewPostAction","window","open","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","revision","document","location"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, edit, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport const trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: posts, closeModal, onPerform } ) => {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ posts.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of pages (2 or more).\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d pages?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tposts[ 0 ].title.rendered\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'Pages moved to the Trash.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the post to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the pages to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onPerform ) {\n\t\t\t\t\t\t\t\tonPerform();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport function usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const post of posts ) {\n\t\t\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tposts.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\terror.code !== 'unknown_error' &&\n\t\t\t\t\t\terror.message\n\t\t\t\t\t) {\n\t\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t\t} else if ( posts.length > 1 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: edit,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( posts ) {\n\t\t\t\tconst post = posts[ 0 ];\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import classnames from 'classnames';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* WordPress dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { Icon, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
11
|
-
export default function SidebarCard({
|
|
12
|
-
className,
|
|
13
|
-
title,
|
|
14
|
-
icon,
|
|
15
|
-
description,
|
|
16
|
-
actions,
|
|
17
|
-
children
|
|
18
|
-
}) {
|
|
19
|
-
return createElement("div", {
|
|
20
|
-
className: classnames('edit-site-sidebar-card', className)
|
|
21
|
-
}, createElement(HStack, {
|
|
22
|
-
spacing: 2,
|
|
23
|
-
className: "edit-site-sidebar-card__header",
|
|
24
|
-
align: "flex-start"
|
|
25
|
-
}, createElement(Icon, {
|
|
26
|
-
className: "edit-site-sidebar-card__icon",
|
|
27
|
-
icon: icon
|
|
28
|
-
}), createElement(Text, {
|
|
29
|
-
numberOfLines: 2,
|
|
30
|
-
truncate: true,
|
|
31
|
-
className: "edit-site-sidebar-card__title",
|
|
32
|
-
weight: 500,
|
|
33
|
-
as: "h2"
|
|
34
|
-
}, title), actions), createElement(VStack, {
|
|
35
|
-
className: "edit-site-sidebar-card__content"
|
|
36
|
-
}, description && createElement("div", {
|
|
37
|
-
className: "edit-site-sidebar-card__description"
|
|
38
|
-
}, description), children));
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Icon","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","SidebarCard","className","title","icon","description","actions","children","createElement","spacing","align","numberOfLines","truncate","weight","as"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/sidebar-card/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nexport default function SidebarCard( {\n\tclassName,\n\ttitle,\n\ticon,\n\tdescription,\n\tactions,\n\tchildren,\n} ) {\n\treturn (\n\t\t<div className={ classnames( 'edit-site-sidebar-card', className ) }>\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"edit-site-sidebar-card__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"edit-site-sidebar-card__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"edit-site-sidebar-card__title\"\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Text>\n\t\t\t\t{ actions }\n\t\t\t</HStack>\n\t\t\t<VStack className=\"edit-site-sidebar-card__content\">\n\t\t\t\t{ description && (\n\t\t\t\t\t<div className=\"edit-site-sidebar-card__description\">\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,IAAI,EACJC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAE9B,eAAe,SAASC,WAAWA,CAAE;EACpCC,SAAS;EACTC,KAAK;EACLC,IAAI;EACJC,WAAW;EACXC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IAAKN,SAAS,EAAGT,UAAU,CAAE,wBAAwB,EAAES,SAAU;EAAG,GACnEM,aAAA,CAACV,MAAM;IACNW,OAAO,EAAG,CAAG;IACbP,SAAS,EAAC,gCAAgC;IAC1CQ,KAAK,EAAC;EAAY,GAElBF,aAAA,CAACd,IAAI;IAACQ,SAAS,EAAC,8BAA8B;IAACE,IAAI,EAAGA;EAAM,CAAE,CAAC,EAC/DI,aAAA,CAACZ,IAAI;IACJe,aAAa,EAAG,CAAG;IACnBC,QAAQ;IACRV,SAAS,EAAC,+BAA+B;IACzCW,MAAM,EAAG,GAAK;IACdC,EAAE,EAAC;EAAI,GAELX,KACG,CAAC,EACLG,OACK,CAAC,EACTE,aAAA,CAACR,MAAM;IAACE,SAAS,EAAC;EAAiC,GAChDG,WAAW,IACZG,aAAA;IAAKN,SAAS,EAAC;EAAqC,GACjDG,WACE,CACL,EACCE,QACK,CACJ,CAAC;AAER"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
-
import { Button, __experimentalHeading as Heading } from '@wordpress/components';
|
|
7
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
8
|
-
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
9
|
-
import { __ } from '@wordpress/i18n';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
import { store as editSiteStore } from '../../../store';
|
|
15
|
-
function TemplateAreaItem({
|
|
16
|
-
area,
|
|
17
|
-
clientId
|
|
18
|
-
}) {
|
|
19
|
-
const {
|
|
20
|
-
selectBlock,
|
|
21
|
-
toggleBlockHighlight
|
|
22
|
-
} = useDispatch(blockEditorStore);
|
|
23
|
-
const templatePartArea = useSelect(select => {
|
|
24
|
-
const defaultAreas = select(editorStore).__experimentalGetDefaultTemplatePartAreas();
|
|
25
|
-
return defaultAreas.find(defaultArea => defaultArea.area === area);
|
|
26
|
-
}, [area]);
|
|
27
|
-
const highlightBlock = () => toggleBlockHighlight(clientId, true);
|
|
28
|
-
const cancelHighlightBlock = () => toggleBlockHighlight(clientId, false);
|
|
29
|
-
return createElement(Button, {
|
|
30
|
-
className: "edit-site-template-card__template-areas-item",
|
|
31
|
-
icon: templatePartArea?.icon,
|
|
32
|
-
onMouseOver: highlightBlock,
|
|
33
|
-
onMouseLeave: cancelHighlightBlock,
|
|
34
|
-
onFocus: highlightBlock,
|
|
35
|
-
onBlur: cancelHighlightBlock,
|
|
36
|
-
onClick: () => {
|
|
37
|
-
selectBlock(clientId);
|
|
38
|
-
}
|
|
39
|
-
}, templatePartArea?.label);
|
|
40
|
-
}
|
|
41
|
-
export default function TemplateAreas() {
|
|
42
|
-
const templateParts = useSelect(select => select(editSiteStore).getCurrentTemplateTemplateParts(), []);
|
|
43
|
-
if (!templateParts.length) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
return createElement("section", {
|
|
47
|
-
className: "edit-site-template-card__template-areas"
|
|
48
|
-
}, createElement(Heading, {
|
|
49
|
-
level: 3,
|
|
50
|
-
className: "edit-site-template-card__template-areas-title"
|
|
51
|
-
}, __('Areas')), createElement("ul", {
|
|
52
|
-
className: "edit-site-template-card__template-areas-list"
|
|
53
|
-
}, templateParts.map(({
|
|
54
|
-
templatePart,
|
|
55
|
-
block
|
|
56
|
-
}) => createElement("li", {
|
|
57
|
-
key: block.clientId
|
|
58
|
-
}, createElement(TemplateAreaItem, {
|
|
59
|
-
area: templatePart.area,
|
|
60
|
-
clientId: block.clientId
|
|
61
|
-
})))));
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=template-areas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalHeading","Heading","store","editorStore","blockEditorStore","__","editSiteStore","TemplateAreaItem","area","clientId","selectBlock","toggleBlockHighlight","templatePartArea","select","defaultAreas","__experimentalGetDefaultTemplatePartAreas","find","defaultArea","highlightBlock","cancelHighlightBlock","createElement","className","icon","onMouseOver","onMouseLeave","onFocus","onBlur","onClick","label","TemplateAreas","templateParts","getCurrentTemplateTemplateParts","length","level","map","templatePart","block","key"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction TemplateAreaItem( { area, clientId } ) {\n\tconst { selectBlock, toggleBlockHighlight } =\n\t\tuseDispatch( blockEditorStore );\n\tconst templatePartArea = useSelect(\n\t\t( select ) => {\n\t\t\tconst defaultAreas =\n\t\t\t\tselect(\n\t\t\t\t\teditorStore\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\n\t\t\treturn defaultAreas.find(\n\t\t\t\t( defaultArea ) => defaultArea.area === area\n\t\t\t);\n\t\t},\n\t\t[ area ]\n\t);\n\n\tconst highlightBlock = () => toggleBlockHighlight( clientId, true );\n\tconst cancelHighlightBlock = () => toggleBlockHighlight( clientId, false );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-template-card__template-areas-item\"\n\t\t\ticon={ templatePartArea?.icon }\n\t\t\tonMouseOver={ highlightBlock }\n\t\t\tonMouseLeave={ cancelHighlightBlock }\n\t\t\tonFocus={ highlightBlock }\n\t\t\tonBlur={ cancelHighlightBlock }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t>\n\t\t\t{ templatePartArea?.label }\n\t\t</Button>\n\t);\n}\n\nexport default function TemplateAreas() {\n\tconst templateParts = useSelect(\n\t\t( select ) => select( editSiteStore ).getCurrentTemplateTemplateParts(),\n\t\t[]\n\t);\n\n\tif ( ! templateParts.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<section className=\"edit-site-template-card__template-areas\">\n\t\t\t<Heading\n\t\t\t\tlevel={ 3 }\n\t\t\t\tclassName=\"edit-site-template-card__template-areas-title\"\n\t\t\t>\n\t\t\t\t{ __( 'Areas' ) }\n\t\t\t</Heading>\n\n\t\t\t<ul className=\"edit-site-template-card__template-areas-list\">\n\t\t\t\t{ templateParts.map( ( { templatePart, block } ) => (\n\t\t\t\t\t<li key={ block.clientId }>\n\t\t\t\t\t\t<TemplateAreaItem\n\t\t\t\t\t\t\tarea={ templatePart.area }\n\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</section>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,MAAM,EACNC,qBAAqB,IAAIC,OAAO,QAC1B,uBAAuB;AAC9B,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASD,KAAK,IAAIE,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASH,KAAK,IAAII,aAAa,QAAQ,gBAAgB;AAEvD,SAASC,gBAAgBA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC,WAAW;IAAEC;EAAqB,CAAC,GAC1Cb,WAAW,CAAEM,gBAAiB,CAAC;EAChC,MAAMQ,gBAAgB,GAAGf,SAAS,CAC/BgB,MAAM,IAAM;IACb,MAAMC,YAAY,GACjBD,MAAM,CACLV,WACD,CAAC,CAACY,yCAAyC,CAAC,CAAC;IAE9C,OAAOD,YAAY,CAACE,IAAI,CACrBC,WAAW,IAAMA,WAAW,CAACT,IAAI,KAAKA,IACzC,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EAED,MAAMU,cAAc,GAAGA,CAAA,KAAMP,oBAAoB,CAAEF,QAAQ,EAAE,IAAK,CAAC;EACnE,MAAMU,oBAAoB,GAAGA,CAAA,KAAMR,oBAAoB,CAAEF,QAAQ,EAAE,KAAM,CAAC;EAE1E,OACCW,aAAA,CAACrB,MAAM;IACNsB,SAAS,EAAC,8CAA8C;IACxDC,IAAI,EAAGV,gBAAgB,EAAEU,IAAM;IAC/BC,WAAW,EAAGL,cAAgB;IAC9BM,YAAY,EAAGL,oBAAsB;IACrCM,OAAO,EAAGP,cAAgB;IAC1BQ,MAAM,EAAGP,oBAAsB;IAC/BQ,OAAO,EAAGA,CAAA,KAAM;MACfjB,WAAW,CAAED,QAAS,CAAC;IACxB;EAAG,GAEDG,gBAAgB,EAAEgB,KACb,CAAC;AAEX;AAEA,eAAe,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,aAAa,GAAGjC,SAAS,CAC5BgB,MAAM,IAAMA,MAAM,CAAEP,aAAc,CAAC,CAACyB,+BAA+B,CAAC,CAAC,EACvE,EACD,CAAC;EAED,IAAK,CAAED,aAAa,CAACE,MAAM,EAAG;IAC7B,OAAO,IAAI;EACZ;EAEA,OACCZ,aAAA;IAASC,SAAS,EAAC;EAAyC,GAC3DD,aAAA,CAACnB,OAAO;IACPgC,KAAK,EAAG,CAAG;IACXZ,SAAS,EAAC;EAA+C,GAEvDhB,EAAE,CAAE,OAAQ,CACN,CAAC,EAEVe,aAAA;IAAIC,SAAS,EAAC;EAA8C,GACzDS,aAAa,CAACI,GAAG,CAAE,CAAE;IAAEC,YAAY;IAAEC;EAAM,CAAC,KAC7ChB,aAAA;IAAIiB,GAAG,EAAGD,KAAK,CAAC3B;EAAU,GACzBW,aAAA,CAACb,gBAAgB;IAChBC,IAAI,EAAG2B,YAAY,CAAC3B,IAAM;IAC1BC,QAAQ,EAAG2B,KAAK,CAAC3B;EAAU,CAC3B,CACE,CACH,CACC,CACI,CAAC;AAEZ"}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalTruncate as Truncate, __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
|
-
import { useState } from '@wordpress/element';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
8
|
-
import { useEntityRecords, store as coreStore } from '@wordpress/core-data';
|
|
9
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
10
|
-
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
11
|
-
import { layout, page, home, verse, plus } from '@wordpress/icons';
|
|
12
|
-
import { useSelect } from '@wordpress/data';
|
|
13
|
-
import { useViewportMatch } from '@wordpress/compose';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Internal dependencies
|
|
17
|
-
*/
|
|
18
|
-
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
19
|
-
import { useLink } from '../routes/link';
|
|
20
|
-
import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
21
|
-
import SidebarButton from '../sidebar-button';
|
|
22
|
-
import AddNewPageModal from '../add-new-page';
|
|
23
|
-
import { unlock } from '../../lock-unlock';
|
|
24
|
-
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
25
|
-
const {
|
|
26
|
-
useHistory
|
|
27
|
-
} = unlock(routerPrivateApis);
|
|
28
|
-
const PageItem = ({
|
|
29
|
-
postType = 'page',
|
|
30
|
-
postId,
|
|
31
|
-
...props
|
|
32
|
-
}) => {
|
|
33
|
-
const linkInfo = useLink({
|
|
34
|
-
postType,
|
|
35
|
-
postId
|
|
36
|
-
}, {
|
|
37
|
-
backPath: '/page'
|
|
38
|
-
});
|
|
39
|
-
return createElement(SidebarNavigationItem, {
|
|
40
|
-
...linkInfo,
|
|
41
|
-
...props
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
export default function SidebarNavigationScreenPages() {
|
|
45
|
-
const isMobileViewport = useViewportMatch('medium', '<');
|
|
46
|
-
const {
|
|
47
|
-
records: pages,
|
|
48
|
-
isResolving: isLoadingPages
|
|
49
|
-
} = useEntityRecords('postType', 'page', {
|
|
50
|
-
status: 'any',
|
|
51
|
-
per_page: -1
|
|
52
|
-
});
|
|
53
|
-
const {
|
|
54
|
-
records: templates,
|
|
55
|
-
isResolving: isLoadingTemplates
|
|
56
|
-
} = useEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
57
|
-
per_page: -1
|
|
58
|
-
});
|
|
59
|
-
const dynamicPageTemplates = templates?.filter(({
|
|
60
|
-
slug
|
|
61
|
-
}) => ['404', 'search'].includes(slug));
|
|
62
|
-
const homeTemplate = templates?.find(template => template.slug === 'front-page') || templates?.find(template => template.slug === 'home') || templates?.find(template => template.slug === 'index');
|
|
63
|
-
const getPostsPageTemplate = () => templates?.find(template => template.slug === 'home') || templates?.find(template => template.slug === 'index');
|
|
64
|
-
const pagesAndTemplates = pages?.concat(dynamicPageTemplates, [homeTemplate]);
|
|
65
|
-
const {
|
|
66
|
-
frontPage,
|
|
67
|
-
postsPage
|
|
68
|
-
} = useSelect(select => {
|
|
69
|
-
const {
|
|
70
|
-
getEntityRecord
|
|
71
|
-
} = select(coreStore);
|
|
72
|
-
const siteSettings = getEntityRecord('root', 'site');
|
|
73
|
-
return {
|
|
74
|
-
frontPage: siteSettings?.page_on_front,
|
|
75
|
-
postsPage: siteSettings?.page_for_posts
|
|
76
|
-
};
|
|
77
|
-
}, []);
|
|
78
|
-
const isHomePageBlog = frontPage === postsPage;
|
|
79
|
-
const reorderedPages = pages && [...pages];
|
|
80
|
-
if (!isHomePageBlog && reorderedPages?.length) {
|
|
81
|
-
const homePageIndex = reorderedPages.findIndex(item => item.id === frontPage);
|
|
82
|
-
const homePage = reorderedPages.splice(homePageIndex, 1);
|
|
83
|
-
reorderedPages?.splice(0, 0, ...homePage);
|
|
84
|
-
const postsPageIndex = reorderedPages.findIndex(item => item.id === postsPage);
|
|
85
|
-
const blogPage = reorderedPages.splice(postsPageIndex, 1);
|
|
86
|
-
reorderedPages.splice(1, 0, ...blogPage);
|
|
87
|
-
}
|
|
88
|
-
const [showAddPage, setShowAddPage] = useState(false);
|
|
89
|
-
const history = useHistory();
|
|
90
|
-
const handleNewPage = ({
|
|
91
|
-
type,
|
|
92
|
-
id
|
|
93
|
-
}) => {
|
|
94
|
-
// Navigate to the created template editor.
|
|
95
|
-
history.push({
|
|
96
|
-
postId: id,
|
|
97
|
-
postType: type,
|
|
98
|
-
canvas: 'edit'
|
|
99
|
-
});
|
|
100
|
-
setShowAddPage(false);
|
|
101
|
-
};
|
|
102
|
-
const getPageProps = id => {
|
|
103
|
-
let itemIcon = page;
|
|
104
|
-
const postsPageTemplateId = postsPage && postsPage === id ? getPostsPageTemplate()?.id : null;
|
|
105
|
-
switch (id) {
|
|
106
|
-
case frontPage:
|
|
107
|
-
itemIcon = home;
|
|
108
|
-
break;
|
|
109
|
-
case postsPage:
|
|
110
|
-
itemIcon = verse;
|
|
111
|
-
break;
|
|
112
|
-
}
|
|
113
|
-
return {
|
|
114
|
-
icon: itemIcon,
|
|
115
|
-
postType: postsPageTemplateId ? TEMPLATE_POST_TYPE : 'page',
|
|
116
|
-
postId: postsPageTemplateId || id
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
const pagesLink = useLink({
|
|
120
|
-
path: '/pages'
|
|
121
|
-
});
|
|
122
|
-
return createElement(Fragment, null, showAddPage && createElement(AddNewPageModal, {
|
|
123
|
-
onSave: handleNewPage,
|
|
124
|
-
onClose: () => setShowAddPage(false)
|
|
125
|
-
}), createElement(SidebarNavigationScreen, {
|
|
126
|
-
title: __('Pages'),
|
|
127
|
-
description: __('Browse and manage pages.'),
|
|
128
|
-
actions: createElement(SidebarButton, {
|
|
129
|
-
icon: plus,
|
|
130
|
-
label: __('Draft a new page'),
|
|
131
|
-
onClick: () => setShowAddPage(true)
|
|
132
|
-
}),
|
|
133
|
-
content: createElement(Fragment, null, (isLoadingPages || isLoadingTemplates) && createElement(ItemGroup, null, createElement(Item, null, __('Loading pages…'))), !(isLoadingPages || isLoadingTemplates) && createElement(ItemGroup, null, !pagesAndTemplates?.length && createElement(Item, null, __('No page found')), isHomePageBlog && homeTemplate && createElement(PageItem, {
|
|
134
|
-
postType: TEMPLATE_POST_TYPE,
|
|
135
|
-
postId: homeTemplate.id,
|
|
136
|
-
key: homeTemplate.id,
|
|
137
|
-
icon: home,
|
|
138
|
-
withChevron: true
|
|
139
|
-
}, createElement(Truncate, {
|
|
140
|
-
numberOfLines: 1
|
|
141
|
-
}, decodeEntities(homeTemplate.title?.rendered || __('(no title)')))), reorderedPages?.map(({
|
|
142
|
-
id,
|
|
143
|
-
title
|
|
144
|
-
}) => createElement(PageItem, {
|
|
145
|
-
...getPageProps(id),
|
|
146
|
-
key: id,
|
|
147
|
-
withChevron: true
|
|
148
|
-
}, createElement(Truncate, {
|
|
149
|
-
numberOfLines: 1
|
|
150
|
-
}, decodeEntities(title?.rendered || __('(no title)'))))))),
|
|
151
|
-
footer: createElement(VStack, {
|
|
152
|
-
spacing: 0
|
|
153
|
-
}, dynamicPageTemplates?.map(item => createElement(PageItem, {
|
|
154
|
-
postType: TEMPLATE_POST_TYPE,
|
|
155
|
-
postId: item.id,
|
|
156
|
-
key: item.id,
|
|
157
|
-
icon: layout,
|
|
158
|
-
withChevron: true
|
|
159
|
-
}, createElement(Truncate, {
|
|
160
|
-
numberOfLines: 1
|
|
161
|
-
}, decodeEntities(item.title?.rendered || __('(no title)'))))), !isMobileViewport && createElement(SidebarNavigationItem, {
|
|
162
|
-
className: "edit-site-sidebar-navigation-screen-pages__see-all",
|
|
163
|
-
...pagesLink
|
|
164
|
-
}, __('Manage all pages')))
|
|
165
|
-
}));
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=index.js.map
|