@wordpress/edit-site 5.23.0 → 5.24.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/actions/index.js +56 -38
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +7 -2
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/dataviews/add-filter.js +21 -20
- package/build/components/dataviews/add-filter.js.map +1 -1
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +9 -7
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filter-summary.js +62 -0
- package/build/components/dataviews/filter-summary.js.map +1 -0
- package/build/components/dataviews/filters.js +15 -30
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/item-actions.js +84 -30
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +4 -0
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/view-actions.js +24 -24
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +48 -25
- package/build/components/dataviews/view-grid.js.map +1 -1
- package/build/components/dataviews/view-list.js +28 -33
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/editor/index.js +23 -27
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +4 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +22 -16
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +26 -5
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/ui.js +28 -36
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +21 -16
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +2 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/list/added-by.js +43 -54
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-notifications/index.js +22 -0
- package/build/components/page-content-focus-notifications/index.js.map +1 -0
- package/build/components/page-pages/index.js +9 -15
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +166 -51
- package/build/components/page-templates/dataviews-templates.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/save-button/index.js +9 -6
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +14 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +7 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +6 -5
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -12
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/welcome-guide/page.js +2 -2
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/template.js +6 -3
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/store/actions.js +4 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +2 -27
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -23
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -40
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +8 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +1 -12
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +55 -36
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +7 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +21 -20
- package/build-module/components/dataviews/add-filter.js.map +1 -1
- package/build-module/components/dataviews/constants.js +6 -0
- package/build-module/components/dataviews/constants.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +9 -7
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filter-summary.js +55 -0
- package/build-module/components/dataviews/filter-summary.js.map +1 -0
- package/build-module/components/dataviews/filters.js +15 -28
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +84 -30
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +4 -0
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +24 -24
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +49 -26
- package/build-module/components/dataviews/view-grid.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +28 -33
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/editor/index.js +26 -30
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -2
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +23 -17
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +27 -6
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/ui.js +28 -36
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +2 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/list/added-by.js +44 -55
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-notifications/index.js +14 -0
- package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
- package/build-module/components/page-pages/index.js +10 -16
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +168 -53
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/save-button/index.js +11 -8
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +14 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +7 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +6 -5
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/style-book/index.js +22 -12
- 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 +41 -9
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +2 -2
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +6 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/store/actions.js +4 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -25
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -22
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -38
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +0 -10
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +152 -62
- package/build-style/style.css +152 -62
- package/package.json +41 -41
- package/src/components/actions/index.js +76 -48
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/dataviews/README.md +14 -11
- package/src/components/dataviews/add-filter.js +21 -24
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +10 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +18 -35
- package/src/components/dataviews/item-actions.js +106 -42
- package/src/components/dataviews/pagination.js +4 -0
- package/src/components/dataviews/style.scss +84 -8
- package/src/components/dataviews/view-actions.js +39 -41
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +50 -57
- package/src/components/editor/index.js +18 -34
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
- package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
- package/src/components/global-styles/header.js +2 -1
- package/src/components/global-styles/screen-block-list.js +37 -26
- package/src/components/global-styles/screen-revisions/index.js +39 -10
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
- package/src/components/global-styles/screen-revisions/style.scss +52 -28
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +59 -74
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/index.js +1 -0
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/list/added-by.js +23 -63
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/src/components/page-content-focus-notifications/index.js +14 -0
- package/src/components/page-pages/index.js +15 -20
- package/src/components/page-patterns/use-patterns.js +1 -1
- package/src/components/page-templates/dataviews-templates.js +169 -48
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/save-button/index.js +37 -24
- package/src/components/save-hub/index.js +15 -0
- package/src/components/save-hub/style.scss +7 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
- package/src/components/sidebar-dataviews/default-views.js +7 -2
- package/src/components/sidebar-dataviews/style.scss +7 -0
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
- package/src/components/welcome-guide/page.js +2 -2
- package/src/components/welcome-guide/template.js +4 -2
- package/src/hooks/commands/use-edit-mode-commands.js +22 -16
- package/src/store/actions.js +5 -1
- package/src/store/private-actions.js +1 -24
- package/src/store/private-selectors.js +0 -22
- package/src/store/reducer.js +0 -39
- package/src/store/selectors.js +12 -4
- package/src/store/test/actions.js +3 -32
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -35
- package/src/style.scss +1 -0
- package/src/utils/constants.js +0 -10
- package/build/components/dataviews/in-filter.js +0 -51
- package/build/components/dataviews/in-filter.js.map +0 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/index.js +0 -61
- package/build/components/page-content-focus-manager/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -42
- package/build-module/components/dataviews/in-filter.js.map +0 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/index.js +0 -52
- package/build-module/components/page-content-focus-manager/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/src/components/dataviews/in-filter.js +0 -63
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -4,11 +4,11 @@ import { createElement, Fragment } from "react";
|
|
|
4
4
|
*/
|
|
5
5
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
6
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
7
|
-
import { DropdownMenu, MenuGroup, MenuItem
|
|
7
|
+
import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
|
|
8
8
|
import { __ } from '@wordpress/i18n';
|
|
9
9
|
import { store as coreStore } from '@wordpress/core-data';
|
|
10
10
|
import { check } from '@wordpress/icons';
|
|
11
|
-
import { store as
|
|
11
|
+
import { privateApis as editorPrivateApis, store as editorStore } from '@wordpress/editor';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
@@ -17,14 +17,15 @@ import { store as editSiteStore } from '../../../store';
|
|
|
17
17
|
import SwapTemplateButton from './swap-template-button';
|
|
18
18
|
import ResetDefaultTemplate from './reset-default-template';
|
|
19
19
|
import { unlock } from '../../../lock-unlock';
|
|
20
|
-
|
|
20
|
+
const {
|
|
21
|
+
PostPanelRow
|
|
22
|
+
} = unlock(editorPrivateApis);
|
|
21
23
|
const POPOVER_PROPS = {
|
|
22
24
|
className: 'edit-site-page-panels-edit-template__dropdown',
|
|
23
25
|
placement: 'bottom-start'
|
|
24
26
|
};
|
|
25
27
|
export default function EditTemplate() {
|
|
26
28
|
const {
|
|
27
|
-
hasPostContentBlocks,
|
|
28
29
|
hasResolved,
|
|
29
30
|
template,
|
|
30
31
|
isTemplateHidden
|
|
@@ -35,44 +36,32 @@ export default function EditTemplate() {
|
|
|
35
36
|
getEditedPostId
|
|
36
37
|
} = select(editSiteStore);
|
|
37
38
|
const {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} = unlock(select(editSiteStore));
|
|
39
|
+
getRenderingMode
|
|
40
|
+
} = unlock(select(editorStore));
|
|
41
41
|
const {
|
|
42
42
|
getEditedEntityRecord,
|
|
43
43
|
hasFinishedResolution
|
|
44
44
|
} = select(coreStore);
|
|
45
|
-
const {
|
|
46
|
-
__experimentalGetGlobalBlocksByName
|
|
47
|
-
} = select(blockEditorStore);
|
|
48
45
|
const _context = getEditedPostContext();
|
|
49
46
|
const _postType = getEditedPostType();
|
|
50
47
|
const queryArgs = ['postType', _postType, getEditedPostId()];
|
|
51
48
|
return {
|
|
52
|
-
hasPostContentBlocks: !!__experimentalGetGlobalBlocksByName(Object.keys(PAGE_CONTENT_BLOCK_TYPES)).length,
|
|
53
49
|
context: _context,
|
|
54
50
|
hasResolved: hasFinishedResolution('getEditedEntityRecord', queryArgs),
|
|
55
51
|
template: getEditedEntityRecord(...queryArgs),
|
|
56
|
-
isTemplateHidden:
|
|
52
|
+
isTemplateHidden: getRenderingMode() === 'post-only',
|
|
57
53
|
postType: _postType
|
|
58
54
|
};
|
|
59
55
|
}, []);
|
|
60
56
|
const {
|
|
61
|
-
|
|
62
|
-
} = useDispatch(
|
|
63
|
-
// Disable reason: `useDispatch` can't be called conditionally.
|
|
64
|
-
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
|
|
65
|
-
const {
|
|
66
|
-
setPageContentFocusType
|
|
67
|
-
} = unlock(useDispatch(editSiteStore));
|
|
57
|
+
setRenderingMode
|
|
58
|
+
} = useDispatch(editorStore);
|
|
68
59
|
if (!hasResolved) {
|
|
69
60
|
return null;
|
|
70
61
|
}
|
|
71
|
-
return createElement(
|
|
72
|
-
|
|
73
|
-
}, createElement(
|
|
74
|
-
className: "edit-site-summary-field__label"
|
|
75
|
-
}, __('Template')), createElement(DropdownMenu, {
|
|
62
|
+
return createElement(PostPanelRow, {
|
|
63
|
+
label: __('Template')
|
|
64
|
+
}, createElement(DropdownMenu, {
|
|
76
65
|
popoverProps: POPOVER_PROPS,
|
|
77
66
|
focusOnMount: true,
|
|
78
67
|
toggleProps: {
|
|
@@ -86,18 +75,18 @@ export default function EditTemplate() {
|
|
|
86
75
|
onClose
|
|
87
76
|
}) => createElement(Fragment, null, createElement(MenuGroup, null, createElement(MenuItem, {
|
|
88
77
|
onClick: () => {
|
|
89
|
-
|
|
78
|
+
setRenderingMode('template-only');
|
|
90
79
|
onClose();
|
|
91
80
|
}
|
|
92
81
|
}, __('Edit template')), createElement(SwapTemplateButton, {
|
|
93
82
|
onClick: onClose
|
|
94
83
|
})), createElement(ResetDefaultTemplate, {
|
|
95
84
|
onClick: onClose
|
|
96
|
-
}),
|
|
85
|
+
}), createElement(MenuGroup, null, createElement(MenuItem, {
|
|
97
86
|
icon: !isTemplateHidden ? check : undefined,
|
|
98
87
|
isPressed: !isTemplateHidden,
|
|
99
88
|
onClick: () => {
|
|
100
|
-
|
|
89
|
+
setRenderingMode(isTemplateHidden ? 'template-locked' : 'post-only');
|
|
101
90
|
}
|
|
102
91
|
}, __('Template preview'))))));
|
|
103
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","__","store","coreStore","check","privateApis","editorPrivateApis","editorStore","editSiteStore","SwapTemplateButton","ResetDefaultTemplate","unlock","PostPanelRow","POPOVER_PROPS","className","placement","EditTemplate","hasResolved","template","isTemplateHidden","select","getEditedPostContext","getEditedPostType","getEditedPostId","getRenderingMode","getEditedEntityRecord","hasFinishedResolution","_context","_postType","queryArgs","context","postType","setRenderingMode","createElement","label","popoverProps","focusOnMount","toggleProps","variant","text","title","icon","onClose","Fragment","onClick","undefined","isPressed"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/edit-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport {\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nconst POPOVER_PROPS = {\n\tclassName: 'edit-site-page-panels-edit-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function EditTemplate() {\n\tconst { hasResolved, template, isTemplateHidden } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext, getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getRenderingMode } = unlock( select( editorStore ) );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _context = getEditedPostContext();\n\t\t\tconst _postType = getEditedPostType();\n\t\t\tconst queryArgs = [ 'postType', _postType, getEditedPostId() ];\n\t\t\treturn {\n\t\t\t\tcontext: _context,\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttemplate: getEditedEntityRecord( ...queryArgs ),\n\t\t\t\tisTemplateHidden: getRenderingMode() === 'post-only',\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Template' ) }>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\tfocusOnMount\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tclassName: 'edit-site-summary-field__trigger',\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Template options' ) }\n\t\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\t\ticon={ null }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode( 'template-only' );\n\t\t\t\t\t\t\t\t\tonClose();\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\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tisPressed={ ! isTemplateHidden }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetRenderingMode(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'template-locked'\n\t\t\t\t\t\t\t\t\t\t\t: 'post-only'\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\t{ __( 'Template preview' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -13,11 +13,27 @@ import { TEMPLATE_POST_TYPE } from '../../../utils/constants';
|
|
|
13
13
|
export function useEditedPostContext() {
|
|
14
14
|
return useSelect(select => select(editSiteStore).getEditedPostContext(), []);
|
|
15
15
|
}
|
|
16
|
-
export function
|
|
16
|
+
export function useAllowSwitchingTemplates() {
|
|
17
17
|
const {
|
|
18
18
|
postId
|
|
19
19
|
} = useEditedPostContext();
|
|
20
|
-
return useSelect(select =>
|
|
20
|
+
return useSelect(select => {
|
|
21
|
+
const {
|
|
22
|
+
getEntityRecord,
|
|
23
|
+
getEntityRecords
|
|
24
|
+
} = select(coreStore);
|
|
25
|
+
const siteSettings = getEntityRecord('root', 'site');
|
|
26
|
+
const templates = getEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
27
|
+
per_page: -1
|
|
28
|
+
});
|
|
29
|
+
const isPostsPage = +postId === siteSettings?.page_for_posts;
|
|
30
|
+
// If current page is set front page or posts page, we also need
|
|
31
|
+
// to check if the current theme has a template for it. If not
|
|
32
|
+
const isFrontPage = +postId === siteSettings?.page_on_front && templates?.some(({
|
|
33
|
+
slug
|
|
34
|
+
}) => slug === 'front-page');
|
|
35
|
+
return !isPostsPage && !isFrontPage;
|
|
36
|
+
}, [postId]);
|
|
21
37
|
}
|
|
22
38
|
function useTemplates() {
|
|
23
39
|
return useSelect(select => select(coreStore).getEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
@@ -27,12 +43,10 @@ function useTemplates() {
|
|
|
27
43
|
}
|
|
28
44
|
export function useAvailableTemplates() {
|
|
29
45
|
const currentTemplateSlug = useCurrentTemplateSlug();
|
|
30
|
-
const
|
|
46
|
+
const allowSwitchingTemplate = useAllowSwitchingTemplates();
|
|
31
47
|
const templates = useTemplates();
|
|
32
|
-
return useMemo(() =>
|
|
33
|
-
|
|
34
|
-
!isPostsPage && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
|
|
35
|
-
), [templates, currentTemplateSlug, isPostsPage]);
|
|
48
|
+
return useMemo(() => allowSwitchingTemplate && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
|
|
49
|
+
), [templates, currentTemplateSlug, allowSwitchingTemplate]);
|
|
36
50
|
}
|
|
37
51
|
export function useCurrentTemplateSlug() {
|
|
38
52
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useMemo","store","coreStore","editSiteStore","TEMPLATE_POST_TYPE","useEditedPostContext","select","getEditedPostContext","
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","store","coreStore","editSiteStore","TEMPLATE_POST_TYPE","useEditedPostContext","select","getEditedPostContext","useAllowSwitchingTemplates","postId","getEntityRecord","getEntityRecords","siteSettings","templates","per_page","isPostsPage","page_for_posts","isFrontPage","page_on_front","some","slug","useTemplates","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","allowSwitchingTemplate","filter","template","is_custom","content","raw","postType","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { TEMPLATE_POST_TYPE } from '../../../utils/constants';\n\nexport function useEditedPostContext() {\n\treturn useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostContext(),\n\t\t[]\n\t);\n}\n\nexport function useAllowSwitchingTemplates() {\n\tconst { postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getEntityRecords } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst templates = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{ per_page: -1 }\n\t\t\t);\n\t\t\tconst isPostsPage = +postId === siteSettings?.page_for_posts;\n\t\t\t// If current page is set front page or posts page, we also need\n\t\t\t// to check if the current theme has a template for it. If not\n\t\t\tconst isFrontPage =\n\t\t\t\t+postId === siteSettings?.page_on_front &&\n\t\t\t\ttemplates?.some( ( { slug } ) => slug === 'front-page' );\n\t\t\treturn ! isPostsPage && ! isFrontPage;\n\t\t},\n\t\t[ postId ]\n\t);\n}\n\nfunction useTemplates() {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tpost_type: 'page',\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n}\n\nexport function useAvailableTemplates() {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst templates = useTemplates();\n\treturn useMemo(\n\t\t() =>\n\t\t\tallowSwitchingTemplate &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, allowSwitchingTemplate ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates();\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { Button, ToggleControl, Dropdown, __experimentalText as Text,
|
|
5
|
+
import { Button, ToggleControl, Dropdown, __experimentalText as Text, __experimentalVStack as VStack, TextControl, RadioControl, VisuallyHidden } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { useDispatch } from '@wordpress/data';
|
|
8
8
|
import { useState, useMemo } from '@wordpress/element';
|
|
@@ -10,11 +10,16 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
10
10
|
import { store as noticesStore } from '@wordpress/notices';
|
|
11
11
|
import { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';
|
|
12
12
|
import { useInstanceId } from '@wordpress/compose';
|
|
13
|
+
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
16
17
|
*/
|
|
17
18
|
import StatusLabel from '../../sidebar-navigation-screen-page/status-label';
|
|
19
|
+
import { unlock } from '../../../lock-unlock';
|
|
20
|
+
const {
|
|
21
|
+
PostPanelRow
|
|
22
|
+
} = unlock(editorPrivateApis);
|
|
18
23
|
const STATUS_OPTIONS = [{
|
|
19
24
|
label: createElement(Fragment, null, __('Draft'), createElement(Text, {
|
|
20
25
|
variant: "muted"
|
|
@@ -113,11 +118,9 @@ export default function PageStatus({
|
|
|
113
118
|
password: newPassword
|
|
114
119
|
});
|
|
115
120
|
};
|
|
116
|
-
return createElement(
|
|
117
|
-
|
|
118
|
-
}, createElement(
|
|
119
|
-
className: "edit-site-summary-field__label"
|
|
120
|
-
}, __('Status')), createElement(Dropdown, {
|
|
121
|
+
return createElement(PostPanelRow, {
|
|
122
|
+
label: __('Status')
|
|
123
|
+
}, createElement(Dropdown, {
|
|
121
124
|
contentClassName: "edit-site-change-status__content",
|
|
122
125
|
popoverProps: popoverProps,
|
|
123
126
|
focusOnMount: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","ToggleControl","Dropdown","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","TextControl","RadioControl","VisuallyHidden","__","useDispatch","useState","useMemo","store","coreStore","noticesStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","StatusLabel","STATUS_OPTIONS","label","createElement","Fragment","variant","value","PageStatus","postType","postId","status","password","date","showPassword","setShowPassword","instanceId","editEntityRecord","createErrorNotice","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","saveStatus","newStatus","newPassword","newDate","error","errorMessage","message","code","type","handleTogglePassword","handleStatus","Date","setDate","getDate","className","contentClassName","focusOnMount","ref","renderToggle","onToggle","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","as","size","lineHeight","weight","upperCase","checked","htmlFor","placeholder","id"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-status.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tToggleControl,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from '../../sidebar-navigation-screen-page/status-label';\n\nconst STATUS_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Draft' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Not ready to publish.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'draft',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Pending' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Waiting for review before publishing.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'pending',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Private' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Only visible to site admins and editors.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'private',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Scheduled' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Publish automatically on a chosen date.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'future',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Published' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Visible to everyone.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'publish',\n\t},\n];\n\nexport default function PageStatus( {\n\tpostType,\n\tpostId,\n\tstatus,\n\tpassword,\n\tdate,\n} ) {\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst instanceId = useInstanceId( PageStatus );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change status' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveStatus = async ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t\tpassword: newPassword,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tsaveStatus( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( value === 'publish' ) {\n\t\t\tif ( new Date( date ) > new Date() ) {\n\t\t\t\tnewDate = null;\n\t\t\t}\n\t\t} else if ( value === 'future' ) {\n\t\t\tif ( ! date || new Date( date ) < new Date() ) {\n\t\t\t\tnewDate = new Date();\n\t\t\t\tnewDate.setDate( newDate.getDate() + 7 );\n\t\t\t}\n\t\t} else if ( value === 'private' && password ) {\n\t\t\tsetShowPassword( false );\n\t\t\tnewPassword = '';\n\t\t}\n\t\tsaveStatus( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Status' ) }\n\t\t\t</Text>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<StatusLabel\n\t\t\t\t\t\t\tstatus={ password ? 'protected' : status }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Status' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t<VStack spacing={ 5 }>\n\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__options\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\tselected={ status }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t<fieldset className=\"edit-site-change-status__password-fieldset\">\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tas=\"legend\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__password-legend\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"11\"\n\t\t\t\t\t\t\t\t\t\t\tlineHeight={ 1.4 }\n\t\t\t\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\t\t\t\tupperCase={ true }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Password' ) }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Hide this page behind a password'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleTogglePassword }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thtmlFor={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaveStatus( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Button","ToggleControl","Dropdown","__experimentalText","Text","__experimentalVStack","VStack","TextControl","RadioControl","VisuallyHidden","__","useDispatch","useState","useMemo","store","coreStore","noticesStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","privateApis","editorPrivateApis","StatusLabel","unlock","PostPanelRow","STATUS_OPTIONS","label","createElement","Fragment","variant","value","PageStatus","postType","postId","status","password","date","showPassword","setShowPassword","instanceId","editEntityRecord","createErrorNotice","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","saveStatus","newStatus","newPassword","newDate","error","errorMessage","message","code","type","handleTogglePassword","handleStatus","Date","setDate","getDate","contentClassName","focusOnMount","ref","renderToggle","onToggle","className","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","as","size","lineHeight","weight","upperCase","checked","htmlFor","placeholder","id"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-status.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tToggleControl,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from '../../sidebar-navigation-screen-page/status-label';\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nconst STATUS_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Draft' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Not ready to publish.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'draft',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Pending' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Waiting for review before publishing.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'pending',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Private' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Only visible to site admins and editors.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'private',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Scheduled' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Publish automatically on a chosen date.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'future',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Published' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Visible to everyone.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'publish',\n\t},\n];\n\nexport default function PageStatus( {\n\tpostType,\n\tpostId,\n\tstatus,\n\tpassword,\n\tdate,\n} ) {\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst instanceId = useInstanceId( PageStatus );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change status' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveStatus = async ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t\tpassword: newPassword,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tsaveStatus( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( value === 'publish' ) {\n\t\t\tif ( new Date( date ) > new Date() ) {\n\t\t\t\tnewDate = null;\n\t\t\t}\n\t\t} else if ( value === 'future' ) {\n\t\t\tif ( ! date || new Date( date ) < new Date() ) {\n\t\t\t\tnewDate = new Date();\n\t\t\t\tnewDate.setDate( newDate.getDate() + 7 );\n\t\t\t}\n\t\t} else if ( value === 'private' && password ) {\n\t\t\tsetShowPassword( false );\n\t\t\tnewPassword = '';\n\t\t}\n\t\tsaveStatus( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Status' ) }>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<StatusLabel\n\t\t\t\t\t\t\tstatus={ password ? 'protected' : status }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Status' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t<VStack spacing={ 5 }>\n\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__options\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\tselected={ status }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t<fieldset className=\"edit-site-change-status__password-fieldset\">\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tas=\"legend\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__password-legend\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"11\"\n\t\t\t\t\t\t\t\t\t\t\tlineHeight={ 1.4 }\n\t\t\t\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\t\t\t\tupperCase={ true }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Password' ) }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Hide this page behind a password'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleTogglePassword }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thtmlFor={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaveStatus( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -3,13 +3,12 @@ import { createElement } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
|
-
import { PostURLPanel } from '@wordpress/editor';
|
|
6
|
+
import { PostAuthorPanel, PostURLPanel, PostSchedulePanel } from '@wordpress/editor';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
import PageStatus from './page-status';
|
|
12
|
-
import PublishDate from './publish-date';
|
|
13
12
|
import EditTemplate from './edit-template';
|
|
14
13
|
export default function PageSummary({
|
|
15
14
|
status,
|
|
@@ -18,17 +17,14 @@ export default function PageSummary({
|
|
|
18
17
|
postId,
|
|
19
18
|
postType
|
|
20
19
|
}) {
|
|
21
|
-
return createElement(VStack,
|
|
20
|
+
return createElement(VStack, {
|
|
21
|
+
spacing: 0
|
|
22
|
+
}, createElement(PageStatus, {
|
|
22
23
|
status: status,
|
|
23
24
|
date: date,
|
|
24
25
|
password: password,
|
|
25
26
|
postId: postId,
|
|
26
27
|
postType: postType
|
|
27
|
-
}), createElement(
|
|
28
|
-
status: status,
|
|
29
|
-
date: date,
|
|
30
|
-
postId: postId,
|
|
31
|
-
postType: postType
|
|
32
|
-
}), createElement(EditTemplate, null), createElement(PostURLPanel, null));
|
|
28
|
+
}), createElement(PostSchedulePanel, null), createElement(EditTemplate, null), createElement(PostURLPanel, null), createElement(PostAuthorPanel, null));
|
|
33
29
|
}
|
|
34
30
|
//# sourceMappingURL=page-summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","PostURLPanel","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","PostAuthorPanel","PostURLPanel","PostSchedulePanel","PageStatus","EditTemplate","PageSummary","status","date","password","postId","postType","createElement","spacing"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport {\n\tPostAuthorPanel,\n\tPostURLPanel,\n\tPostSchedulePanel,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport PageStatus from './page-status';\nimport EditTemplate from './edit-template';\n\nexport default function PageSummary( {\n\tstatus,\n\tdate,\n\tpassword,\n\tpostId,\n\tpostType,\n} ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<PageStatus\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpassword={ password }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<PostSchedulePanel />\n\t\t\t<EditTemplate />\n\t\t\t<PostURLPanel />\n\t\t\t<PostAuthorPanel />\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SACCC,eAAe,EACfC,YAAY,EACZC,iBAAiB,QACX,mBAAmB;;AAE1B;AACA;AACA;AACA,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,YAAY,MAAM,iBAAiB;AAE1C,eAAe,SAASC,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACZ,MAAM;IAACa,OAAO,EAAG;EAAG,GACpBD,aAAA,CAACR,UAAU;IACVG,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACFC,aAAA,CAACT,iBAAiB,MAAE,CAAC,EACrBS,aAAA,CAACP,YAAY,MAAE,CAAC,EAChBO,aAAA,CAACV,YAAY,MAAE,CAAC,EAChBU,aAAA,CAACX,eAAe,MAAE,CACX,CAAC;AAEX"}
|
|
@@ -10,12 +10,12 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
10
10
|
/**
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
|
-
import { useCurrentTemplateSlug, useEditedPostContext
|
|
13
|
+
import { useAllowSwitchingTemplates, useCurrentTemplateSlug, useEditedPostContext } from './hooks';
|
|
14
14
|
export default function ResetDefaultTemplate({
|
|
15
15
|
onClick
|
|
16
16
|
}) {
|
|
17
17
|
const currentTemplateSlug = useCurrentTemplateSlug();
|
|
18
|
-
const
|
|
18
|
+
const allowSwitchingTemplate = useAllowSwitchingTemplates();
|
|
19
19
|
const {
|
|
20
20
|
postType,
|
|
21
21
|
postId
|
|
@@ -24,7 +24,7 @@ export default function ResetDefaultTemplate({
|
|
|
24
24
|
editEntityRecord
|
|
25
25
|
} = useDispatch(coreStore);
|
|
26
26
|
// The default template in a post is indicated by an empty string.
|
|
27
|
-
if (!currentTemplateSlug ||
|
|
27
|
+
if (!currentTemplateSlug || !allowSwitchingTemplate) {
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
30
|
return createElement(MenuGroup, null, createElement(MenuItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuGroup","MenuItem","__","useDispatch","store","coreStore","
|
|
1
|
+
{"version":3,"names":["MenuGroup","MenuItem","__","useDispatch","store","coreStore","useAllowSwitchingTemplates","useCurrentTemplateSlug","useEditedPostContext","ResetDefaultTemplate","onClick","currentTemplateSlug","allowSwitchingTemplate","postType","postId","editEntityRecord","createElement","template","undoIgnore"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAllowSwitchingTemplates,\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n} from './hooks';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst allowSwitchingTemplate = useAllowSwitchingTemplates();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || ! allowSwitchingTemplate ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t\t\t{ template: '' },\n\t\t\t\t\t\t{ undoIgnore: true }\n\t\t\t\t\t);\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Use default template' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SACCC,0BAA0B,EAC1BC,sBAAsB,EACtBC,oBAAoB,QACd,SAAS;AAEhB,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAGJ,sBAAsB,CAAC,CAAC;EACpD,MAAMK,sBAAsB,GAAGN,0BAA0B,CAAC,CAAC;EAC3D,MAAM;IAAEO,QAAQ;IAAEC;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACnD,MAAM;IAAEO;EAAiB,CAAC,GAAGZ,WAAW,CAAEE,SAAU,CAAC;EACrD;EACA,IAAK,CAAEM,mBAAmB,IAAI,CAAEC,sBAAsB,EAAG;IACxD,OAAO,IAAI;EACZ;EACA,OACCI,aAAA,CAAChB,SAAS,QACTgB,aAAA,CAACf,QAAQ;IACRS,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBK,gBAAgB,CACf,UAAU,EACVF,QAAQ,EACRC,MAAM,EACN;QAAEG,QAAQ,EAAE;MAAG,CAAC,EAChB;QAAEC,UAAU,EAAE;MAAK,CACpB,CAAC;MACDR,OAAO,CAAC,CAAC;IACV;EAAG,GAEDR,EAAE,CAAE,sBAAuB,CACpB,CACA,CAAC;AAEd"}
|
|
@@ -11,6 +11,7 @@ import { Button } from '@wordpress/components';
|
|
|
11
11
|
import { __, sprintf } from '@wordpress/i18n';
|
|
12
12
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
13
13
|
import { store as interfaceStore } from '@wordpress/interface';
|
|
14
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Internal dependencies
|
|
@@ -23,15 +24,18 @@ const SettingsHeader = ({
|
|
|
23
24
|
sidebarName
|
|
24
25
|
}) => {
|
|
25
26
|
const {
|
|
26
|
-
|
|
27
|
+
isEditingPage,
|
|
27
28
|
entityType
|
|
28
29
|
} = useSelect(select => {
|
|
29
30
|
const {
|
|
30
31
|
getEditedPostType,
|
|
31
|
-
|
|
32
|
+
isPage
|
|
32
33
|
} = select(editSiteStore);
|
|
34
|
+
const {
|
|
35
|
+
getRenderingMode
|
|
36
|
+
} = select(editorStore);
|
|
33
37
|
return {
|
|
34
|
-
|
|
38
|
+
isEditingPage: isPage() && getRenderingMode() !== 'template-only',
|
|
35
39
|
entityType: getEditedPostType()
|
|
36
40
|
};
|
|
37
41
|
});
|
|
@@ -42,7 +46,7 @@ const SettingsHeader = ({
|
|
|
42
46
|
const openTemplateSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE);
|
|
43
47
|
const openBlockSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK);
|
|
44
48
|
let templateAriaLabel;
|
|
45
|
-
if (
|
|
49
|
+
if (isEditingPage) {
|
|
46
50
|
templateAriaLabel = sidebarName === SIDEBAR_TEMPLATE ?
|
|
47
51
|
// translators: ARIA label for the Template sidebar tab, selected.
|
|
48
52
|
__('Page (selected)') :
|
|
@@ -63,8 +67,8 @@ const SettingsHeader = ({
|
|
|
63
67
|
'is-active': sidebarName === SIDEBAR_TEMPLATE
|
|
64
68
|
}),
|
|
65
69
|
"aria-label": templateAriaLabel,
|
|
66
|
-
"data-label":
|
|
67
|
-
},
|
|
70
|
+
"data-label": isEditingPage ? __('Page') : entityLabel
|
|
71
|
+
}, isEditingPage ? __('Page') : entityLabel)), createElement("li", null, createElement(Button, {
|
|
68
72
|
onClick: openBlockSettings,
|
|
69
73
|
className: classnames('edit-site-sidebar-edit-mode__panel-tab', {
|
|
70
74
|
'is-active': sidebarName === SIDEBAR_BLOCK
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Button","__","sprintf","useSelect","useDispatch","store","interfaceStore","STORE_NAME","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SettingsHeader","sidebarName","
|
|
1
|
+
{"version":3,"names":["classnames","Button","__","sprintf","useSelect","useDispatch","store","interfaceStore","editorStore","STORE_NAME","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SettingsHeader","sidebarName","isEditingPage","entityType","select","getEditedPostType","isPage","getRenderingMode","entityLabel","enableComplementaryArea","openTemplateSettings","openBlockSettings","templateAriaLabel","createElement","onClick","className"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/settings-header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME } from '../../../store/constants';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';\nimport { store as editSiteStore } from '../../../store';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../../utils/constants';\n\nconst SettingsHeader = ( { sidebarName } ) => {\n\tconst { isEditingPage, entityType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, isPage } = select( editSiteStore );\n\t\tconst { getRenderingMode } = select( editorStore );\n\n\t\treturn {\n\t\t\tisEditingPage: isPage() && getRenderingMode() !== 'template-only',\n\t\t\tentityType: getEditedPostType(),\n\t\t};\n\t} );\n\n\tconst entityLabel =\n\t\tPOST_TYPE_LABELS[ entityType ] ||\n\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ];\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst openTemplateSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\tconst openBlockSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\n\tlet templateAriaLabel;\n\tif ( isEditingPage ) {\n\t\ttemplateAriaLabel =\n\t\t\tsidebarName === SIDEBAR_TEMPLATE\n\t\t\t\t? // translators: ARIA label for the Template sidebar tab, selected.\n\t\t\t\t __( 'Page (selected)' )\n\t\t\t\t: // translators: ARIA label for the Template Settings Sidebar tab, not selected.\n\t\t\t\t __( 'Page' );\n\t} else {\n\t\ttemplateAriaLabel =\n\t\t\tsidebarName === SIDEBAR_TEMPLATE\n\t\t\t\t? // translators: ARIA label for the Template sidebar tab, selected.\n\t\t\t\t sprintf( __( '%s (selected)' ), entityLabel )\n\t\t\t\t: // translators: ARIA label for the Template Settings Sidebar tab, not selected.\n\t\t\t\t entityLabel;\n\t}\n\n\t/* Use a list so screen readers will announce how many tabs there are. */\n\treturn (\n\t\t<ul>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openTemplateSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_TEMPLATE,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ templateAriaLabel }\n\t\t\t\t\tdata-label={ isEditingPage ? __( 'Page' ) : entityLabel }\n\t\t\t\t>\n\t\t\t\t\t{ isEditingPage ? __( 'Page' ) : entityLabel }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openBlockSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_BLOCK,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tsidebarName === SIDEBAR_BLOCK\n\t\t\t\t\t\t\t? // translators: ARIA label for the Block Settings Sidebar tab, selected.\n\t\t\t\t\t\t\t __( 'Block (selected)' )\n\t\t\t\t\t\t\t: // translators: ARIA label for the Block Settings Sidebar tab, not selected.\n\t\t\t\t\t\t\t __( 'Block' )\n\t\t\t\t\t}\n\t\t\t\t\tdata-label={ __( 'Block' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Block' ) }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t</ul>\n\t);\n};\n\nexport default SettingsHeader;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,cAAc,QAAQ,sBAAsB;AAC9D,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,cAAc;AAC9D,SAASL,KAAK,IAAIM,aAAa,QAAQ,gBAAgB;AACvD,SAASC,gBAAgB,EAAEC,kBAAkB,QAAQ,0BAA0B;AAE/E,MAAMC,cAAc,GAAGA,CAAE;EAAEC;AAAY,CAAC,KAAM;EAC7C,MAAM;IAAEC,aAAa;IAAEC;EAAW,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IAC9D,MAAM;MAAEC,iBAAiB;MAAEC;IAAO,CAAC,GAAGF,MAAM,CAAEP,aAAc,CAAC;IAC7D,MAAM;MAAEU;IAAiB,CAAC,GAAGH,MAAM,CAAEX,WAAY,CAAC;IAElD,OAAO;MACNS,aAAa,EAAEI,MAAM,CAAC,CAAC,IAAIC,gBAAgB,CAAC,CAAC,KAAK,eAAe;MACjEJ,UAAU,EAAEE,iBAAiB,CAAC;IAC/B,CAAC;EACF,CAAE,CAAC;EAEH,MAAMG,WAAW,GAChBV,gBAAgB,CAAEK,UAAU,CAAE,IAC9BL,gBAAgB,CAAEC,kBAAkB,CAAE;EAEvC,MAAM;IAAEU;EAAwB,CAAC,GAAGnB,WAAW,CAAEE,cAAe,CAAC;EACjE,MAAMkB,oBAAoB,GAAGA,CAAA,KAC5BD,uBAAuB,CAAEf,UAAU,EAAEE,gBAAiB,CAAC;EACxD,MAAMe,iBAAiB,GAAGA,CAAA,KACzBF,uBAAuB,CAAEf,UAAU,EAAEC,aAAc,CAAC;EAErD,IAAIiB,iBAAiB;EACrB,IAAKV,aAAa,EAAG;IACpBU,iBAAiB,GAChBX,WAAW,KAAKL,gBAAgB;IAC7B;IACAT,EAAE,CAAE,iBAAkB,CAAC;IACvB;IACAA,EAAE,CAAE,MAAO,CAAC;EACjB,CAAC,MAAM;IACNyB,iBAAiB,GAChBX,WAAW,KAAKL,gBAAgB;IAC7B;IACAR,OAAO,CAAED,EAAE,CAAE,eAAgB,CAAC,EAAEqB,WAAY,CAAC;IAC7C;IACAA,WAAW;EAChB;;EAEA;EACA,OACCK,aAAA,aACCA,aAAA,aACCA,aAAA,CAAC3B,MAAM;IACN4B,OAAO,EAAGJ,oBAAsB;IAChCK,SAAS,EAAG9B,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEgB,WAAW,KAAKL;IAC9B,CACD,CAAG;IACH,cAAagB,iBAAmB;IAChC,cAAaV,aAAa,GAAGf,EAAE,CAAE,MAAO,CAAC,GAAGqB;EAAa,GAEvDN,aAAa,GAAGf,EAAE,CAAE,MAAO,CAAC,GAAGqB,WAC1B,CACL,CAAC,EACLK,aAAA,aACCA,aAAA,CAAC3B,MAAM;IACN4B,OAAO,EAAGH,iBAAmB;IAC7BI,SAAS,EAAG9B,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEgB,WAAW,KAAKN;IAC9B,CACD,CAAG;IACH,cACCM,WAAW,KAAKN,aAAa;IAC1B;IACAR,EAAE,CAAE,kBAAmB,CAAC;IACxB;IACAA,EAAE,CAAE,OAAQ,CACf;IACD,cAAaA,EAAE,CAAE,OAAQ;EAAG,GAE1BA,EAAE,CAAE,OAAQ,CACP,CACL,CACD,CAAC;AAEP,CAAC;AAED,eAAea,cAAc"}
|
|
@@ -11,6 +11,8 @@ import { pencil } from '@wordpress/icons';
|
|
|
11
11
|
import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
12
12
|
import { escapeAttribute } from '@wordpress/escape-html';
|
|
13
13
|
import { safeDecodeURIComponent, filterURLForDisplay } from '@wordpress/url';
|
|
14
|
+
import { useEffect } from '@wordpress/element';
|
|
15
|
+
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* Internal dependencies
|
|
@@ -22,18 +24,23 @@ import SidebarButton from '../sidebar-button';
|
|
|
22
24
|
import PageDetails from './page-details';
|
|
23
25
|
import PageActions from '../page-actions';
|
|
24
26
|
import SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';
|
|
27
|
+
const {
|
|
28
|
+
useHistory
|
|
29
|
+
} = unlock(routerPrivateApis);
|
|
25
30
|
export default function SidebarNavigationScreenPage() {
|
|
26
|
-
const navigator = useNavigator();
|
|
27
31
|
const {
|
|
28
32
|
setCanvasMode
|
|
29
33
|
} = unlock(useDispatch(editSiteStore));
|
|
34
|
+
const history = useHistory();
|
|
30
35
|
const {
|
|
31
36
|
params: {
|
|
32
37
|
postId
|
|
33
|
-
}
|
|
38
|
+
},
|
|
39
|
+
goTo
|
|
34
40
|
} = useNavigator();
|
|
35
41
|
const {
|
|
36
|
-
record
|
|
42
|
+
record,
|
|
43
|
+
hasResolved
|
|
37
44
|
} = useEntityRecord('postType', 'page', postId);
|
|
38
45
|
const {
|
|
39
46
|
featuredMediaAltText,
|
|
@@ -49,6 +56,18 @@ export default function SidebarNavigationScreenPage() {
|
|
|
49
56
|
featuredMediaAltText: escapeAttribute(attachedMedia?.alt_text || attachedMedia?.description?.raw || '')
|
|
50
57
|
};
|
|
51
58
|
}, [record]);
|
|
59
|
+
|
|
60
|
+
// Redirect to the main pages navigation screen if the page is not found or has been deleted.
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (hasResolved && !record) {
|
|
63
|
+
history.push({
|
|
64
|
+
path: '/page',
|
|
65
|
+
postId: undefined,
|
|
66
|
+
postType: undefined,
|
|
67
|
+
canvas: 'view'
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}, [hasResolved, history]);
|
|
52
71
|
const featureImageAltText = featuredMediaAltText ? decodeEntities(featuredMediaAltText) : decodeEntities(record?.title?.rendered || __('Featured image'));
|
|
53
72
|
return record ? createElement(SidebarNavigationScreen, {
|
|
54
73
|
title: decodeEntities(record?.title?.rendered || __('(no title)')),
|
|
@@ -58,7 +77,7 @@ export default function SidebarNavigationScreenPage() {
|
|
|
58
77
|
as: SidebarButton
|
|
59
78
|
},
|
|
60
79
|
onRemove: () => {
|
|
61
|
-
|
|
80
|
+
goTo('/page');
|
|
62
81
|
}
|
|
63
82
|
}), createElement(SidebarButton, {
|
|
64
83
|
onClick: () => setCanvasMode('edit'),
|