@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
|
@@ -11,8 +11,6 @@ import {
|
|
|
11
11
|
editedPost,
|
|
12
12
|
blockInserterPanel,
|
|
13
13
|
listViewPanel,
|
|
14
|
-
hasPageContentFocus,
|
|
15
|
-
pageContentFocusType,
|
|
16
14
|
} from '../reducer';
|
|
17
15
|
|
|
18
16
|
import { setIsInserterOpened } from '../actions';
|
|
@@ -149,64 +147,4 @@ describe( 'state', () => {
|
|
|
149
147
|
);
|
|
150
148
|
} );
|
|
151
149
|
} );
|
|
152
|
-
|
|
153
|
-
describe( 'hasPageContentFocus()', () => {
|
|
154
|
-
it( 'defaults to false', () => {
|
|
155
|
-
expect( hasPageContentFocus( undefined, {} ) ).toBe( false );
|
|
156
|
-
} );
|
|
157
|
-
|
|
158
|
-
it( 'becomes false when editing a template', () => {
|
|
159
|
-
expect(
|
|
160
|
-
hasPageContentFocus( true, {
|
|
161
|
-
type: 'SET_EDITED_POST',
|
|
162
|
-
postType: 'wp_template',
|
|
163
|
-
} )
|
|
164
|
-
).toBe( false );
|
|
165
|
-
} );
|
|
166
|
-
|
|
167
|
-
it( 'becomes true when editing a page', () => {
|
|
168
|
-
expect(
|
|
169
|
-
hasPageContentFocus( false, {
|
|
170
|
-
type: 'SET_EDITED_POST',
|
|
171
|
-
postType: 'wp_template',
|
|
172
|
-
context: {
|
|
173
|
-
postType: 'page',
|
|
174
|
-
postId: 123,
|
|
175
|
-
},
|
|
176
|
-
} )
|
|
177
|
-
).toBe( true );
|
|
178
|
-
} );
|
|
179
|
-
|
|
180
|
-
it( 'can be set', () => {
|
|
181
|
-
expect(
|
|
182
|
-
hasPageContentFocus( false, {
|
|
183
|
-
type: 'SET_HAS_PAGE_CONTENT_FOCUS',
|
|
184
|
-
hasPageContentFocus: true,
|
|
185
|
-
} )
|
|
186
|
-
).toBe( true );
|
|
187
|
-
expect(
|
|
188
|
-
hasPageContentFocus( true, {
|
|
189
|
-
type: 'SET_HAS_PAGE_CONTENT_FOCUS',
|
|
190
|
-
hasPageContentFocus: false,
|
|
191
|
-
} )
|
|
192
|
-
).toBe( false );
|
|
193
|
-
} );
|
|
194
|
-
} );
|
|
195
|
-
|
|
196
|
-
describe( 'pageContentFocusType', () => {
|
|
197
|
-
it( 'defaults to disableTemplate', () => {
|
|
198
|
-
expect( pageContentFocusType( undefined, {} ) ).toBe(
|
|
199
|
-
'disableTemplate'
|
|
200
|
-
);
|
|
201
|
-
} );
|
|
202
|
-
|
|
203
|
-
it( 'can be set', () => {
|
|
204
|
-
expect(
|
|
205
|
-
pageContentFocusType( 'disableTemplate', {
|
|
206
|
-
type: 'SET_PAGE_CONTENT_FOCUS_TYPE',
|
|
207
|
-
pageContentFocusType: 'enableTemplate',
|
|
208
|
-
} )
|
|
209
|
-
).toBe( 'enableTemplate' );
|
|
210
|
-
} );
|
|
211
|
-
} );
|
|
212
150
|
} );
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
isInserterOpened,
|
|
14
14
|
isListViewOpened,
|
|
15
15
|
isPage,
|
|
16
|
-
hasPageContentFocus,
|
|
17
16
|
} from '../selectors';
|
|
18
17
|
|
|
19
18
|
describe( 'selectors', () => {
|
|
@@ -88,38 +87,4 @@ describe( 'selectors', () => {
|
|
|
88
87
|
expect( isPage( state ) ).toBe( false );
|
|
89
88
|
} );
|
|
90
89
|
} );
|
|
91
|
-
|
|
92
|
-
describe( 'hasPageContentFocus', () => {
|
|
93
|
-
it( 'returns true if locked and the edited post type is a page', () => {
|
|
94
|
-
const state = {
|
|
95
|
-
editedPost: {
|
|
96
|
-
postType: 'wp_template',
|
|
97
|
-
context: { postType: 'page', postId: 123 },
|
|
98
|
-
},
|
|
99
|
-
hasPageContentFocus: true,
|
|
100
|
-
};
|
|
101
|
-
expect( hasPageContentFocus( state ) ).toBe( true );
|
|
102
|
-
} );
|
|
103
|
-
|
|
104
|
-
it( 'returns false if not locked and the edited post type is a page', () => {
|
|
105
|
-
const state = {
|
|
106
|
-
editedPost: {
|
|
107
|
-
postType: 'wp_template',
|
|
108
|
-
context: { postType: 'page', postId: 123 },
|
|
109
|
-
},
|
|
110
|
-
hasPageContentFocus: false,
|
|
111
|
-
};
|
|
112
|
-
expect( hasPageContentFocus( state ) ).toBe( false );
|
|
113
|
-
} );
|
|
114
|
-
|
|
115
|
-
it( 'returns false if locked and the edited post type is a template', () => {
|
|
116
|
-
const state = {
|
|
117
|
-
editedPost: {
|
|
118
|
-
postType: 'wp_template',
|
|
119
|
-
},
|
|
120
|
-
hasPageContentFocus: true,
|
|
121
|
-
};
|
|
122
|
-
expect( hasPageContentFocus( state ) ).toBe( false );
|
|
123
|
-
} );
|
|
124
|
-
} );
|
|
125
90
|
} );
|
package/src/style.scss
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
@import "./components/page/style.scss";
|
|
14
14
|
@import "./components/page-pages/style.scss";
|
|
15
15
|
@import "./components/page-patterns/style.scss";
|
|
16
|
+
@import "./components/page-templates/style.scss";
|
|
16
17
|
@import "./components/table/style.scss";
|
|
17
18
|
@import "./components/sidebar-edit-mode/style.scss";
|
|
18
19
|
@import "./components/sidebar-edit-mode/page-panels/style.scss";
|
package/src/utils/constants.js
CHANGED
|
@@ -38,16 +38,6 @@ export const FOCUSABLE_ENTITIES = [
|
|
|
38
38
|
PATTERN_TYPES.user,
|
|
39
39
|
];
|
|
40
40
|
|
|
41
|
-
/**
|
|
42
|
-
* Block types that are considered to be page content. These are the only blocks
|
|
43
|
-
* editable when hasPageContentFocus() is true.
|
|
44
|
-
*/
|
|
45
|
-
export const PAGE_CONTENT_BLOCK_TYPES = {
|
|
46
|
-
'core/post-title': true,
|
|
47
|
-
'core/post-featured-image': true,
|
|
48
|
-
'core/post-content': true,
|
|
49
|
-
};
|
|
50
|
-
|
|
51
41
|
export const POST_TYPE_LABELS = {
|
|
52
42
|
[ TEMPLATE_POST_TYPE ]: __( 'Template' ),
|
|
53
43
|
[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.OPERATOR_IN = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _components = require("@wordpress/components");
|
|
9
|
-
var _i18n = require("@wordpress/i18n");
|
|
10
|
-
/**
|
|
11
|
-
* WordPress dependencies
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
const OPERATOR_IN = 'in';
|
|
15
|
-
exports.OPERATOR_IN = OPERATOR_IN;
|
|
16
|
-
var _default = ({
|
|
17
|
-
filter,
|
|
18
|
-
view,
|
|
19
|
-
onChangeView
|
|
20
|
-
}) => {
|
|
21
|
-
const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
|
|
22
|
-
const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
|
|
23
|
-
const id = `dataviews__filters-in-${filter.field}`;
|
|
24
|
-
return (0, _react.createElement)(_components.SelectControl, {
|
|
25
|
-
id: id,
|
|
26
|
-
__nextHasNoMarginBottom: true,
|
|
27
|
-
value: activeValue,
|
|
28
|
-
prefix: (0, _react.createElement)(_components.__experimentalInputControlPrefixWrapper, {
|
|
29
|
-
as: "label",
|
|
30
|
-
htmlFor: id,
|
|
31
|
-
className: "dataviews__select-control-prefix"
|
|
32
|
-
}, (0, _i18n.sprintf)( /* translators: filter name. */
|
|
33
|
-
(0, _i18n.__)('%s:'), filter.name)),
|
|
34
|
-
options: filter.elements,
|
|
35
|
-
onChange: value => {
|
|
36
|
-
const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
|
|
37
|
-
filters.push({
|
|
38
|
-
field: filter.field,
|
|
39
|
-
operator: OPERATOR_IN,
|
|
40
|
-
value
|
|
41
|
-
});
|
|
42
|
-
onChangeView(currentView => ({
|
|
43
|
-
...currentView,
|
|
44
|
-
page: 1,
|
|
45
|
-
filters
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
exports.default = _default;
|
|
51
|
-
//# sourceMappingURL=in-filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","OPERATOR_IN","exports","_default","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","_react","createElement","SelectControl","__nextHasNoMarginBottom","prefix","__experimentalInputControlPrefixWrapper","as","htmlFor","className","sprintf","__","name","options","elements","onChange","push","currentView","page","default"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAPA;AACA;AACA;;AAOO,MAAME,WAAW,GAAG,IAAI;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,IAAAE,QAAA,GAEjBA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WACrD,CAAC;EAED,MAAMY,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,aAAa;IACbH,EAAE,EAAGA,EAAI;IACTI,uBAAuB;IACvBL,KAAK,EAAGF,WAAa;IACrBQ,MAAM,EACL,IAAAJ,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAwB,uCAAyB;MACzBC,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGR,EAAI;MACdS,SAAS,EAAC;IAAkC,GAE1C,IAAAC,aAAO,GACR;IACA,IAAAC,QAAE,EAAE,KAAM,CAAC,EACXvB,MAAM,CAACwB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGzB,MAAM,CAAC0B,QAAU;IAC3BC,QAAQ,EAAKhB,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WAC7C,CAAC;MAEDO,OAAO,CAACwB,IAAI,CAAE;QACbrB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAEX,WAAW;QACrBc;MACD,CAAE,CAAC;MAEHT,YAAY,CAAI2B,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACP1B;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC;AAAAN,OAAA,CAAAiC,OAAA,GAAAhC,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_notices","_i18n","_store","BackToPageNotification","useBackToPageNotification","hasPageContentFocus","useSelect","select","editSiteStore","isPage","alreadySeen","useRef","createInfoNotice","useDispatch","noticesStore","setHasPageContentFocus","useEffect","current","__","isDismissible","type","actions","label","onClick"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { isPage } = useSelect( editSiteStore );\n\n\tconst alreadySeen = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isPage() && ! alreadySeen.current && ! hasPageContentFocus ) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t}, [\n\t\tisPage,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASK,sBAAsBA,CAAA,EAAG;EAChDC,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACO,SAASA,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,mBAAmB,GAAG,IAAAC,eAAS,EAClCC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACH,mBAAmB,CAAC,CAAC,EAC3D,EACD,CAAC;EACD,MAAM;IAAEI;EAAO,CAAC,GAAG,IAAAH,eAAS,EAAEE,YAAc,CAAC;EAE7C,MAAME,WAAW,GAAG,IAAAC,eAAM,EAAE,KAAM,CAAC;EAEnC,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EACxD,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAF,iBAAW,EAAEL,YAAc,CAAC;EAE/D,IAAAQ,kBAAS,EAAE,MAAM;IAChB,IAAKP,MAAM,CAAC,CAAC,IAAI,CAAEC,WAAW,CAACO,OAAO,IAAI,CAAEZ,mBAAmB,EAAG;MACjEO,gBAAgB,CAAE,IAAAM,QAAE,EAAE,6BAA8B,CAAC,EAAE;QACtDC,aAAa,EAAE,IAAI;QACnBC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,IAAAJ,QAAE,EAAE,cAAe,CAAC;UAC3BK,OAAO,EAAEA,CAAA,KAAMR,sBAAsB,CAAE,IAAK;QAC7C,CAAC;MAEH,CAAE,CAAC;MACHL,WAAW,CAACO,OAAO,GAAG,IAAI;IAC3B;EACD,CAAC,EAAE,CACFR,MAAM,EACNJ,mBAAmB,EACnBO,gBAAgB,EAChBG,sBAAsB,CACrB,CAAC;AACJ"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = DisableNonPageContentBlocks;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _data = require("@wordpress/data");
|
|
9
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
10
|
-
var _element = require("@wordpress/element");
|
|
11
|
-
var _constants = require("../../utils/constants");
|
|
12
|
-
/**
|
|
13
|
-
* WordPress dependencies
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Internal dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
function DisableBlock({
|
|
21
|
-
clientId
|
|
22
|
-
}) {
|
|
23
|
-
const isDescendentOfQueryLoop = (0, _data.useSelect)(select => {
|
|
24
|
-
const {
|
|
25
|
-
getBlockParentsByBlockName
|
|
26
|
-
} = select(_blockEditor.store);
|
|
27
|
-
return getBlockParentsByBlockName(clientId, 'core/query').length !== 0;
|
|
28
|
-
}, [clientId]);
|
|
29
|
-
const mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';
|
|
30
|
-
const {
|
|
31
|
-
setBlockEditingMode,
|
|
32
|
-
unsetBlockEditingMode
|
|
33
|
-
} = (0, _data.useDispatch)(_blockEditor.store);
|
|
34
|
-
(0, _element.useEffect)(() => {
|
|
35
|
-
if (mode) {
|
|
36
|
-
setBlockEditingMode(clientId, mode);
|
|
37
|
-
return () => {
|
|
38
|
-
unsetBlockEditingMode(clientId);
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}, [clientId, mode, setBlockEditingMode, unsetBlockEditingMode]);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Component that when rendered, makes it so that the site editor allows only
|
|
46
|
-
* page content to be edited.
|
|
47
|
-
*/
|
|
48
|
-
function DisableNonPageContentBlocks() {
|
|
49
|
-
(0, _blockEditor.useBlockEditingMode)('disabled');
|
|
50
|
-
const clientIds = (0, _data.useSelect)(select => {
|
|
51
|
-
const {
|
|
52
|
-
__experimentalGetGlobalBlocksByName
|
|
53
|
-
} = select(_blockEditor.store);
|
|
54
|
-
return __experimentalGetGlobalBlocksByName(Object.keys(_constants.PAGE_CONTENT_BLOCK_TYPES));
|
|
55
|
-
}, []);
|
|
56
|
-
return clientIds.map(clientId => {
|
|
57
|
-
return (0, _react.createElement)(DisableBlock, {
|
|
58
|
-
key: clientId,
|
|
59
|
-
clientId: clientId
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=disable-non-page-content-blocks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blockEditor","_element","_constants","DisableBlock","clientId","isDescendentOfQueryLoop","useSelect","select","getBlockParentsByBlockName","blockEditorStore","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect","DisableNonPageContentBlocks","useBlockEditingMode","clientIds","__experimentalGetGlobalBlocksByName","Object","keys","PAGE_CONTENT_BLOCK_TYPES","map","_react","createElement","key"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';\n\nfunction DisableBlock( { clientId } ) {\n\tconst isDescendentOfQueryLoop = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/query' ).length !==\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t\treturn () => {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t};\n\t\t}\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n}\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tconst clientIds = useSelect( ( select ) => {\n\t\tconst { __experimentalGetGlobalBlocksByName } =\n\t\t\tselect( blockEditorStore );\n\t\treturn __experimentalGetGlobalBlocksByName(\n\t\t\tObject.keys( PAGE_CONTENT_BLOCK_TYPES )\n\t\t);\n\t}, [] );\n\n\treturn clientIds.map( ( clientId ) => {\n\t\treturn <DisableBlock key={ clientId } clientId={ clientId } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,SAASI,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrC,MAAMC,uBAAuB,GAAG,IAAAC,eAAS,EACtCC,MAAM,IAAM;IACb,MAAM;MAAEC;IAA2B,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IACjE,OACCD,0BAA0B,CAAEJ,QAAQ,EAAE,YAAa,CAAC,CAACM,MAAM,KAC3D,CAAC;EAEH,CAAC,EACD,CAAEN,QAAQ,CACX,CAAC;EACD,MAAMO,IAAI,GAAGN,uBAAuB,GAAGO,SAAS,GAAG,aAAa;EAChE,MAAM;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GACnD,IAAAC,iBAAW,EAAEN,kBAAiB,CAAC;EAChC,IAAAO,kBAAS,EAAE,MAAM;IAChB,IAAKL,IAAI,EAAG;MACXE,mBAAmB,CAAET,QAAQ,EAAEO,IAAK,CAAC;MACrC,OAAO,MAAM;QACZG,qBAAqB,CAAEV,QAAS,CAAC;MAClC,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,QAAQ,EAAEO,IAAI,EAAEE,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACe,SAASG,2BAA2BA,CAAA,EAAG;EACrD,IAAAC,gCAAmB,EAAE,UAAW,CAAC;EACjC,MAAMC,SAAS,GAAG,IAAAb,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAM;MAAEa;IAAoC,CAAC,GAC5Cb,MAAM,CAAEE,kBAAiB,CAAC;IAC3B,OAAOW,mCAAmC,CACzCC,MAAM,CAACC,IAAI,CAAEC,mCAAyB,CACvC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAOJ,SAAS,CAACK,GAAG,CAAIpB,QAAQ,IAAM;IACrC,OAAO,IAAAqB,MAAA,CAAAC,aAAA,EAACvB,YAAY;MAACwB,GAAG,EAAGvB,QAAU;MAACA,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAC/D,CAAE,CAAC;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_notices","_i18n","_components","_store","EditTemplateNotification","contentRef","hasPageContentFocus","useSelect","select","editSiteStore","getNotices","noticesStore","createInfoNotice","removeNotice","useDispatch","setHasPageContentFocus","isDialogOpen","setIsDialogOpen","useState","lastNoticeId","useRef","useEffect","handleClick","event","target","classList","contains","isNoticeAlreadyShowing","some","notice","id","current","__","isDismissible","type","actions","label","onClick","handleDblClick","canvas","addEventListener","removeEventListener","_react","createElement","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/edit-template-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateNotification( { contentRef } ) {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { getNotices } = useSelect( noticesStore );\n\n\tconst { createInfoNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tconst lastNoticeId = useRef( 0 );\n\n\tuseEffect( () => {\n\t\tconst handleClick = async ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst isNoticeAlreadyShowing = getNotices().some(\n\t\t\t\t( notice ) => notice.id === lastNoticeId.current\n\t\t\t);\n\t\t\tif ( isNoticeAlreadyShowing ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { notice } = await createInfoNotice(\n\t\t\t\t__( 'Edit your template to edit this block.' ),\n\t\t\t\t{\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit template' ),\n\t\t\t\t\t\t\tonClick: () => setHasPageContentFocus( false ),\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\tlastNoticeId.current = notice.id;\n\t\t};\n\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lastNoticeId.current ) {\n\t\t\t\tremoveNotice( lastNoticeId.current );\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'click', handleClick );\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'click', handleClick );\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t>\n\t\t\t{ __( 'Edit your template to edit this block.' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = PageContentFocusManager;
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _data = require("@wordpress/data");
|
|
10
|
-
var _element = require("@wordpress/element");
|
|
11
|
-
var _store = require("../../store");
|
|
12
|
-
var _disableNonPageContentBlocks = _interopRequireDefault(require("./disable-non-page-content-blocks"));
|
|
13
|
-
var _editTemplateNotification = _interopRequireDefault(require("./edit-template-notification"));
|
|
14
|
-
var _backToPageNotification = _interopRequireDefault(require("./back-to-page-notification"));
|
|
15
|
-
var _lockUnlock = require("../../lock-unlock");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function PageContentFocusManager({
|
|
25
|
-
contentRef
|
|
26
|
-
}) {
|
|
27
|
-
const {
|
|
28
|
-
hasPageContentFocus,
|
|
29
|
-
pageContentFocusType,
|
|
30
|
-
canvasMode
|
|
31
|
-
} = (0, _data.useSelect)(select => {
|
|
32
|
-
const {
|
|
33
|
-
getPageContentFocusType,
|
|
34
|
-
getCanvasMode
|
|
35
|
-
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
36
|
-
const _canvasMode = getCanvasMode();
|
|
37
|
-
return {
|
|
38
|
-
canvasMode: _canvasMode,
|
|
39
|
-
pageContentFocusType: getPageContentFocusType(),
|
|
40
|
-
hasPageContentFocus: select(_store.store).hasPageContentFocus()
|
|
41
|
-
};
|
|
42
|
-
}, []);
|
|
43
|
-
const {
|
|
44
|
-
setPageContentFocusType
|
|
45
|
-
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
|
|
46
|
-
|
|
47
|
-
/*
|
|
48
|
-
* Ensure that the page content focus type is set to `disableTemplate` when
|
|
49
|
-
* the canvas mode is not `edit`. This makes the experience consistent with
|
|
50
|
-
* refreshing the page, which resets the page content focus type.
|
|
51
|
-
*/
|
|
52
|
-
(0, _element.useEffect)(() => {
|
|
53
|
-
if (canvasMode !== 'edit' && !!pageContentFocusType) {
|
|
54
|
-
setPageContentFocusType(null);
|
|
55
|
-
}
|
|
56
|
-
}, [canvasMode, pageContentFocusType]);
|
|
57
|
-
return (0, _react.createElement)(_react.Fragment, null, hasPageContentFocus && (0, _react.createElement)(_disableNonPageContentBlocks.default, null), (0, _react.createElement)(_editTemplateNotification.default, {
|
|
58
|
-
contentRef: contentRef
|
|
59
|
-
}), (0, _react.createElement)(_backToPageNotification.default, null));
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_store","_disableNonPageContentBlocks","_interopRequireDefault","_editTemplateNotification","_backToPageNotification","_lockUnlock","PageContentFocusManager","contentRef","hasPageContentFocus","pageContentFocusType","canvasMode","useSelect","select","getPageContentFocusType","getCanvasMode","unlock","editSiteStore","_canvasMode","setPageContentFocusType","useDispatch","useEffect","_react","createElement","Fragment","default"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport EditTemplateNotification from './edit-template-notification';\nimport BackToPageNotification from './back-to-page-notification';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PageContentFocusManager( { contentRef } ) {\n\tconst { hasPageContentFocus, pageContentFocusType, canvasMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPageContentFocusType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _canvasMode = getCanvasMode();\n\t\t\treturn {\n\t\t\t\tcanvasMode: _canvasMode,\n\t\t\t\tpageContentFocusType: getPageContentFocusType(),\n\t\t\t\thasPageContentFocus:\n\t\t\t\t\tselect( editSiteStore ).hasPageContentFocus(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setPageContentFocusType } = unlock( useDispatch( editSiteStore ) );\n\n\t/*\n\t * Ensure that the page content focus type is set to `disableTemplate` when\n\t * the canvas mode is not `edit`. This makes the experience consistent with\n\t * refreshing the page, which resets the page content focus type.\n\t */\n\tuseEffect( () => {\n\t\tif ( canvasMode !== 'edit' && !! pageContentFocusType ) {\n\t\t\tsetPageContentFocusType( null );\n\t\t}\n\t}, [ canvasMode, pageContentFocusType ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasPageContentFocus && <DisableNonPageContentBlocks /> }\n\t\t\t<EditTemplateNotification contentRef={ contentRef } />\n\t\t\t<BackToPageNotification />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,uBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOe,SAASQ,uBAAuBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EACjE,MAAM;IAAEC,mBAAmB;IAAEC,oBAAoB;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EACxEC,MAAM,IAAM;IACb,MAAM;MAAEC,uBAAuB;MAAEC;IAAc,CAAC,GAAG,IAAAC,kBAAM,EACxDH,MAAM,CAAEI,YAAc,CACvB,CAAC;IACD,MAAMC,WAAW,GAAGH,aAAa,CAAC,CAAC;IACnC,OAAO;MACNJ,UAAU,EAAEO,WAAW;MACvBR,oBAAoB,EAAEI,uBAAuB,CAAC,CAAC;MAC/CL,mBAAmB,EAClBI,MAAM,CAAEI,YAAc,CAAC,CAACR,mBAAmB,CAAC;IAC9C,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEU;EAAwB,CAAC,GAAG,IAAAH,kBAAM,EAAE,IAAAI,iBAAW,EAAEH,YAAc,CAAE,CAAC;;EAE1E;AACD;AACA;AACA;AACA;EACC,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKV,UAAU,KAAK,MAAM,IAAI,CAAC,CAAED,oBAAoB,EAAG;MACvDS,uBAAuB,CAAE,IAAK,CAAC;IAChC;EACD,CAAC,EAAE,CAAER,UAAU,EAAED,oBAAoB,CAAG,CAAC;EAEzC,OACC,IAAAY,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGf,mBAAmB,IAAI,IAAAa,MAAA,CAAAC,aAAA,EAACrB,4BAAA,CAAAuB,OAA2B,MAAE,CAAC,EACxD,IAAAH,MAAA,CAAAC,aAAA,EAACnB,yBAAA,CAAAqB,OAAwB;IAACjB,UAAU,EAAGA;EAAY,CAAE,CAAC,EACtD,IAAAc,MAAA,CAAAC,aAAA,EAAClB,uBAAA,CAAAoB,OAAsB,MAAE,CACxB,CAAC;AAEL"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = ChangeStatus;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _components = require("@wordpress/components");
|
|
9
|
-
var _i18n = require("@wordpress/i18n");
|
|
10
|
-
var _data = require("@wordpress/data");
|
|
11
|
-
var _element = require("@wordpress/element");
|
|
12
|
-
var _coreData = require("@wordpress/core-data");
|
|
13
|
-
var _notices = require("@wordpress/notices");
|
|
14
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
15
|
-
var _date = require("@wordpress/date");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
function ChangeStatus({
|
|
21
|
-
postType,
|
|
22
|
-
postId,
|
|
23
|
-
status,
|
|
24
|
-
date
|
|
25
|
-
}) {
|
|
26
|
-
const {
|
|
27
|
-
editEntityRecord
|
|
28
|
-
} = (0, _data.useDispatch)(_coreData.store);
|
|
29
|
-
const {
|
|
30
|
-
createErrorNotice
|
|
31
|
-
} = (0, _data.useDispatch)(_notices.store);
|
|
32
|
-
const [popoverAnchor, setPopoverAnchor] = (0, _element.useState)(null);
|
|
33
|
-
// Memoize popoverProps to avoid returning a new object every time.
|
|
34
|
-
const popoverProps = (0, _element.useMemo)(() => ({
|
|
35
|
-
// Anchor the popover to the middle of the entire row so that it doesn't
|
|
36
|
-
// move around when the label changes.
|
|
37
|
-
anchor: popoverAnchor,
|
|
38
|
-
'aria-label': (0, _i18n.__)('Change publish date'),
|
|
39
|
-
placement: 'bottom-end'
|
|
40
|
-
}), [popoverAnchor]);
|
|
41
|
-
const saveDate = async newDate => {
|
|
42
|
-
try {
|
|
43
|
-
let newStatus = status;
|
|
44
|
-
if (status === 'future' && new Date(newDate) < new Date()) {
|
|
45
|
-
newStatus = 'publish';
|
|
46
|
-
} else if (status === 'publish' && new Date(newDate) > new Date()) {
|
|
47
|
-
newStatus = 'future';
|
|
48
|
-
}
|
|
49
|
-
await editEntityRecord('postType', postType, postId, {
|
|
50
|
-
status: newStatus,
|
|
51
|
-
date: newDate
|
|
52
|
-
});
|
|
53
|
-
} catch (error) {
|
|
54
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while updating the status');
|
|
55
|
-
createErrorNotice(errorMessage, {
|
|
56
|
-
type: 'snackbar'
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const relateToNow = date ? (0, _date.humanTimeDiff)(date) : (0, _i18n.__)('Immediately');
|
|
61
|
-
return (0, _react.createElement)(_components.__experimentalHStack, {
|
|
62
|
-
className: "edit-site-summary-field"
|
|
63
|
-
}, (0, _react.createElement)(_components.__experimentalText, {
|
|
64
|
-
className: "edit-site-summary-field__label"
|
|
65
|
-
}, (0, _i18n.__)('Publish')), (0, _react.createElement)(_components.Dropdown, {
|
|
66
|
-
contentClassName: "edit-site-change-status__content",
|
|
67
|
-
popoverProps: popoverProps,
|
|
68
|
-
focusOnMount: true,
|
|
69
|
-
ref: setPopoverAnchor,
|
|
70
|
-
renderToggle: ({
|
|
71
|
-
onToggle
|
|
72
|
-
}) => (0, _react.createElement)(_components.Button, {
|
|
73
|
-
className: "edit-site-summary-field__trigger",
|
|
74
|
-
variant: "tertiary",
|
|
75
|
-
onClick: onToggle
|
|
76
|
-
}, relateToNow),
|
|
77
|
-
renderContent: ({
|
|
78
|
-
onClose
|
|
79
|
-
}) => (0, _react.createElement)(_blockEditor.__experimentalPublishDateTimePicker, {
|
|
80
|
-
currentDate: date,
|
|
81
|
-
is12Hour: true,
|
|
82
|
-
onClose: onClose,
|
|
83
|
-
onChange: saveDate
|
|
84
|
-
})
|
|
85
|
-
}));
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=publish-date.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_data","_element","_coreData","_notices","_blockEditor","_date","ChangeStatus","postType","postId","status","date","editEntityRecord","useDispatch","coreStore","createErrorNotice","noticesStore","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","__","placement","saveDate","newDate","newStatus","Date","error","errorMessage","message","code","type","relateToNow","humanTimeDiff","_react","createElement","__experimentalHStack","className","__experimentalText","Dropdown","contentClassName","focusOnMount","ref","renderToggle","onToggle","Button","variant","onClick","renderContent","onClose","__experimentalPublishDateTimePicker","currentDate","is12Hour","onChange"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/publish-date.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\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 { __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';\nimport { humanTimeDiff } from '@wordpress/date';\n\nexport default function ChangeStatus( { postType, postId, status, date } ) {\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 publish date' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveDate = async ( newDate ) => {\n\t\ttry {\n\t\t\tlet newStatus = status;\n\t\t\tif ( status === 'future' && new Date( newDate ) < new Date() ) {\n\t\t\t\tnewStatus = 'publish';\n\t\t\t} else if (\n\t\t\t\tstatus === 'publish' &&\n\t\t\t\tnew Date( newDate ) > new Date()\n\t\t\t) {\n\t\t\t\tnewStatus = 'future';\n\t\t\t}\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\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 relateToNow = date ? humanTimeDiff( date ) : __( 'Immediately' );\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{ __( 'Publish' ) }\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{ relateToNow }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\tis12Hour\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\tonChange={ saveDate }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAfA;AACA;AACA;;AAee,SAASQ,YAAYA,CAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,MAAM;EAAEC;AAAK,CAAC,EAAG;EAC1E,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EACrD,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,cAAa,CAAC;EAEzD,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAK,CAAC;EAC5D;EACA,MAAMC,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IACP;IACA;IACAC,MAAM,EAAEL,aAAa;IACrB,YAAY,EAAE,IAAAM,QAAE,EAAE,qBAAsB,CAAC;IACzCC,SAAS,EAAE;EACZ,CAAC,CAAE,EACH,CAAEP,aAAa,CAChB,CAAC;EAED,MAAMQ,QAAQ,GAAG,MAAQC,OAAO,IAAM;IACrC,IAAI;MACH,IAAIC,SAAS,GAAGjB,MAAM;MACtB,IAAKA,MAAM,KAAK,QAAQ,IAAI,IAAIkB,IAAI,CAAEF,OAAQ,CAAC,GAAG,IAAIE,IAAI,CAAC,CAAC,EAAG;QAC9DD,SAAS,GAAG,SAAS;MACtB,CAAC,MAAM,IACNjB,MAAM,KAAK,SAAS,IACpB,IAAIkB,IAAI,CAAEF,OAAQ,CAAC,GAAG,IAAIE,IAAI,CAAC,CAAC,EAC/B;QACDD,SAAS,GAAG,QAAQ;MACrB;MACA,MAAMf,gBAAgB,CAAE,UAAU,EAAEJ,QAAQ,EAAEC,MAAM,EAAE;QACrDC,MAAM,EAAEiB,SAAS;QACjBhB,IAAI,EAAEe;MACP,CAAE,CAAC;IACJ,CAAC,CAAC,OAAQG,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACb,IAAAR,QAAE,EAAE,6CAA8C,CAAC;MAEvDR,iBAAiB,CAAEe,YAAY,EAAE;QAChCG,IAAI,EAAE;MACP,CAAE,CAAC;IACJ;EACD,CAAC;EAED,MAAMC,WAAW,GAAGvB,IAAI,GAAG,IAAAwB,mBAAa,EAAExB,IAAK,CAAC,GAAG,IAAAY,QAAE,EAAE,aAAc,CAAC;EAEtE,OACC,IAAAa,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAwC,oBAAM;IAACC,SAAS,EAAC;EAAyB,GAC1C,IAAAH,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0C,kBAAI;IAACD,SAAS,EAAC;EAAgC,GAC7C,IAAAhB,QAAE,EAAE,SAAU,CACX,CAAC,EACP,IAAAa,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA2C,QAAQ;IACRC,gBAAgB,EAAC,kCAAkC;IACnDtB,YAAY,EAAGA,YAAc;IAC7BuB,YAAY;IACZC,GAAG,EAAG1B,gBAAkB;IACxB2B,YAAY,EAAGA,CAAE;MAAEC;IAAS,CAAC,KAC5B,IAAAV,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAiD,MAAM;MACNR,SAAS,EAAC,kCAAkC;MAC5CS,OAAO,EAAC,UAAU;MAClBC,OAAO,EAAGH;IAAU,GAElBZ,WACK,CACN;IACHgB,aAAa,EAAGA,CAAE;MAAEC;IAAQ,CAAC,KAC5B,IAAAf,MAAA,CAAAC,aAAA,EAAChC,YAAA,CAAA+C,mCAAqB;MACrBC,WAAW,EAAG1C,IAAM;MACpB2C,QAAQ;MACRH,OAAO,EAAGA,OAAS;MACnBI,QAAQ,EAAG9B;IAAU,CACrB;EACC,CACH,CACM,CAAC;AAEX"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, SelectControl } from '@wordpress/components';
|
|
6
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
-
export const OPERATOR_IN = 'in';
|
|
8
|
-
export default (({
|
|
9
|
-
filter,
|
|
10
|
-
view,
|
|
11
|
-
onChangeView
|
|
12
|
-
}) => {
|
|
13
|
-
const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
|
|
14
|
-
const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
|
|
15
|
-
const id = `dataviews__filters-in-${filter.field}`;
|
|
16
|
-
return createElement(SelectControl, {
|
|
17
|
-
id: id,
|
|
18
|
-
__nextHasNoMarginBottom: true,
|
|
19
|
-
value: activeValue,
|
|
20
|
-
prefix: createElement(InputControlPrefixWrapper, {
|
|
21
|
-
as: "label",
|
|
22
|
-
htmlFor: id,
|
|
23
|
-
className: "dataviews__select-control-prefix"
|
|
24
|
-
}, sprintf( /* translators: filter name. */
|
|
25
|
-
__('%s:'), filter.name)),
|
|
26
|
-
options: filter.elements,
|
|
27
|
-
onChange: value => {
|
|
28
|
-
const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
|
|
29
|
-
filters.push({
|
|
30
|
-
field: filter.field,
|
|
31
|
-
operator: OPERATOR_IN,
|
|
32
|
-
value
|
|
33
|
-
});
|
|
34
|
-
onChangeView(currentView => ({
|
|
35
|
-
...currentView,
|
|
36
|
-
page: 1,
|
|
37
|
-
filters
|
|
38
|
-
}));
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=in-filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","__","sprintf","OPERATOR_IN","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","createElement","__nextHasNoMarginBottom","prefix","as","htmlFor","className","name","options","elements","onChange","push","currentView","page"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uCAAuC,IAAIC,yBAAyB,EACpEC,aAAa,QACP,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAE7C,OAAO,MAAMC,WAAW,GAAG,IAAI;AAE/B,gBAAe,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WACrD,CAAC;EAED,MAAMU,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACCM,aAAA,CAACjB,aAAa;IACbgB,EAAE,EAAGA,EAAI;IACTE,uBAAuB;IACvBH,KAAK,EAAGF,WAAa;IACrBM,MAAM,EACLF,aAAA,CAAClB,yBAAyB;MACzBqB,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGL,EAAI;MACdM,SAAS,EAAC;IAAkC,GAE1CpB,OAAO,EACR;IACAD,EAAE,CAAE,KAAM,CAAC,EACXG,MAAM,CAACmB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGpB,MAAM,CAACqB,QAAU;IAC3BC,QAAQ,EAAKX,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WAC7C,CAAC;MAEDK,OAAO,CAACmB,IAAI,CAAE;QACbhB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAET,WAAW;QACrBY;MACD,CAAE,CAAC;MAEHT,YAAY,CAAIsB,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACPrB;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","useEffect","useRef","store","noticesStore","__","editSiteStore","BackToPageNotification","useBackToPageNotification","hasPageContentFocus","select","isPage","alreadySeen","createInfoNotice","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { isPage } = useSelect( editSiteStore );\n\n\tconst alreadySeen = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isPage() && ! alreadySeen.current && ! hasPageContentFocus ) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t}, [\n\t\tisPage,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsBA,CAAA,EAAG;EAChDC,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,mBAAmB,GAAGV,SAAS,CAClCW,MAAM,IAAMA,MAAM,CAAEJ,aAAc,CAAC,CAACG,mBAAmB,CAAC,CAAC,EAC3D,EACD,CAAC;EACD,MAAM;IAAEE;EAAO,CAAC,GAAGZ,SAAS,CAAEO,aAAc,CAAC;EAE7C,MAAMM,WAAW,GAAGV,MAAM,CAAE,KAAM,CAAC;EAEnC,MAAM;IAAEW;EAAiB,CAAC,GAAGb,WAAW,CAAEI,YAAa,CAAC;EACxD,MAAM;IAAEU;EAAuB,CAAC,GAAGd,WAAW,CAAEM,aAAc,CAAC;EAE/DL,SAAS,CAAE,MAAM;IAChB,IAAKU,MAAM,CAAC,CAAC,IAAI,CAAEC,WAAW,CAACG,OAAO,IAAI,CAAEN,mBAAmB,EAAG;MACjEI,gBAAgB,CAAER,EAAE,CAAE,6BAA8B,CAAC,EAAE;QACtDW,aAAa,EAAE,IAAI;QACnBC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAEd,EAAE,CAAE,cAAe,CAAC;UAC3Be,OAAO,EAAEA,CAAA,KAAMN,sBAAsB,CAAE,IAAK;QAC7C,CAAC;MAEH,CAAE,CAAC;MACHF,WAAW,CAACG,OAAO,GAAG,IAAI;IAC3B;EACD,CAAC,EAAE,CACFJ,MAAM,EACNF,mBAAmB,EACnBI,gBAAgB,EAChBC,sBAAsB,CACrB,CAAC;AACJ"}
|
package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
-
import { useBlockEditingMode, store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
|
-
import { useEffect } from '@wordpress/element';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
|
-
import { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';
|
|
13
|
-
function DisableBlock({
|
|
14
|
-
clientId
|
|
15
|
-
}) {
|
|
16
|
-
const isDescendentOfQueryLoop = useSelect(select => {
|
|
17
|
-
const {
|
|
18
|
-
getBlockParentsByBlockName
|
|
19
|
-
} = select(blockEditorStore);
|
|
20
|
-
return getBlockParentsByBlockName(clientId, 'core/query').length !== 0;
|
|
21
|
-
}, [clientId]);
|
|
22
|
-
const mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';
|
|
23
|
-
const {
|
|
24
|
-
setBlockEditingMode,
|
|
25
|
-
unsetBlockEditingMode
|
|
26
|
-
} = useDispatch(blockEditorStore);
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
if (mode) {
|
|
29
|
-
setBlockEditingMode(clientId, mode);
|
|
30
|
-
return () => {
|
|
31
|
-
unsetBlockEditingMode(clientId);
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}, [clientId, mode, setBlockEditingMode, unsetBlockEditingMode]);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Component that when rendered, makes it so that the site editor allows only
|
|
39
|
-
* page content to be edited.
|
|
40
|
-
*/
|
|
41
|
-
export default function DisableNonPageContentBlocks() {
|
|
42
|
-
useBlockEditingMode('disabled');
|
|
43
|
-
const clientIds = useSelect(select => {
|
|
44
|
-
const {
|
|
45
|
-
__experimentalGetGlobalBlocksByName
|
|
46
|
-
} = select(blockEditorStore);
|
|
47
|
-
return __experimentalGetGlobalBlocksByName(Object.keys(PAGE_CONTENT_BLOCK_TYPES));
|
|
48
|
-
}, []);
|
|
49
|
-
return clientIds.map(clientId => {
|
|
50
|
-
return createElement(DisableBlock, {
|
|
51
|
-
key: clientId,
|
|
52
|
-
clientId: clientId
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=disable-non-page-content-blocks.js.map
|
package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","useBlockEditingMode","store","blockEditorStore","useEffect","PAGE_CONTENT_BLOCK_TYPES","DisableBlock","clientId","isDescendentOfQueryLoop","select","getBlockParentsByBlockName","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","DisableNonPageContentBlocks","clientIds","__experimentalGetGlobalBlocksByName","Object","keys","map","createElement","key"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';\n\nfunction DisableBlock( { clientId } ) {\n\tconst isDescendentOfQueryLoop = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/query' ).length !==\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t\treturn () => {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t};\n\t\t}\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n}\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tconst clientIds = useSelect( ( select ) => {\n\t\tconst { __experimentalGetGlobalBlocksByName } =\n\t\t\tselect( blockEditorStore );\n\t\treturn __experimentalGetGlobalBlocksByName(\n\t\t\tObject.keys( PAGE_CONTENT_BLOCK_TYPES )\n\t\t);\n\t}, [] );\n\n\treturn clientIds.map( ( clientId ) => {\n\t\treturn <DisableBlock key={ clientId } clientId={ clientId } />;\n\t} );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,uBAAuB;AAEhE,SAASC,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrC,MAAMC,uBAAuB,GAAGT,SAAS,CACtCU,MAAM,IAAM;IACb,MAAM;MAAEC;IAA2B,CAAC,GAAGD,MAAM,CAAEN,gBAAiB,CAAC;IACjE,OACCO,0BAA0B,CAAEH,QAAQ,EAAE,YAAa,CAAC,CAACI,MAAM,KAC3D,CAAC;EAEH,CAAC,EACD,CAAEJ,QAAQ,CACX,CAAC;EACD,MAAMK,IAAI,GAAGJ,uBAAuB,GAAGK,SAAS,GAAG,aAAa;EAChE,MAAM;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GACnDf,WAAW,CAAEG,gBAAiB,CAAC;EAChCC,SAAS,CAAE,MAAM;IAChB,IAAKQ,IAAI,EAAG;MACXE,mBAAmB,CAAEP,QAAQ,EAAEK,IAAK,CAAC;MACrC,OAAO,MAAM;QACZG,qBAAqB,CAAER,QAAS,CAAC;MAClC,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,QAAQ,EAAEK,IAAI,EAAEE,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACrDf,mBAAmB,CAAE,UAAW,CAAC;EACjC,MAAMgB,SAAS,GAAGlB,SAAS,CAAIU,MAAM,IAAM;IAC1C,MAAM;MAAES;IAAoC,CAAC,GAC5CT,MAAM,CAAEN,gBAAiB,CAAC;IAC3B,OAAOe,mCAAmC,CACzCC,MAAM,CAACC,IAAI,CAAEf,wBAAyB,CACvC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAOY,SAAS,CAACI,GAAG,CAAId,QAAQ,IAAM;IACrC,OAAOe,aAAA,CAAChB,YAAY;MAACiB,GAAG,EAAGhB,QAAU;MAACA,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAC/D,CAAE,CAAC;AACJ"}
|
package/build-module/components/page-content-focus-manager/edit-template-notification.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","useEffect","useState","useRef","store","noticesStore","__","__experimentalConfirmDialog","ConfirmDialog","editSiteStore","EditTemplateNotification","contentRef","hasPageContentFocus","select","getNotices","createInfoNotice","removeNotice","setHasPageContentFocus","isDialogOpen","setIsDialogOpen","lastNoticeId","handleClick","event","target","classList","contains","isNoticeAlreadyShowing","some","notice","id","current","isDismissible","type","actions","label","onClick","handleDblClick","canvas","addEventListener","removeEventListener","createElement","isOpen","confirmButtonText","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/edit-template-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateNotification( { contentRef } ) {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { getNotices } = useSelect( noticesStore );\n\n\tconst { createInfoNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tconst lastNoticeId = useRef( 0 );\n\n\tuseEffect( () => {\n\t\tconst handleClick = async ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst isNoticeAlreadyShowing = getNotices().some(\n\t\t\t\t( notice ) => notice.id === lastNoticeId.current\n\t\t\t);\n\t\t\tif ( isNoticeAlreadyShowing ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { notice } = await createInfoNotice(\n\t\t\t\t__( 'Edit your template to edit this block.' ),\n\t\t\t\t{\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit template' ),\n\t\t\t\t\t\t\tonClick: () => setHasPageContentFocus( false ),\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\tlastNoticeId.current = notice.id;\n\t\t};\n\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lastNoticeId.current ) {\n\t\t\t\tremoveNotice( lastNoticeId.current );\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'click', handleClick );\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'click', handleClick );\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t>\n\t\t\t{ __( 'Edit your template to edit this block.' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,oBAAoB;AAChE,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;;AAEpF;AACA;AACA;AACA,SAASJ,KAAK,IAAIK,aAAa,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,wBAAwBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAClE,MAAMC,mBAAmB,GAAGb,SAAS,CAClCc,MAAM,IAAMA,MAAM,CAAEJ,aAAc,CAAC,CAACG,mBAAmB,CAAC,CAAC,EAC3D,EACD,CAAC;EACD,MAAM;IAAEE;EAAW,CAAC,GAAGf,SAAS,CAAEM,YAAa,CAAC;EAEhD,MAAM;IAAEU,gBAAgB;IAAEC;EAAa,CAAC,GAAGhB,WAAW,CAAEK,YAAa,CAAC;EACtE,MAAM;IAAEY;EAAuB,CAAC,GAAGjB,WAAW,CAAES,aAAc,CAAC;EAE/D,MAAM,CAAES,YAAY,EAAEC,eAAe,CAAE,GAAGjB,QAAQ,CAAE,KAAM,CAAC;EAE3D,MAAMkB,YAAY,GAAGjB,MAAM,CAAE,CAAE,CAAC;EAEhCF,SAAS,CAAE,MAAM;IAChB,MAAMoB,WAAW,GAAG,MAAQC,KAAK,IAAM;MACtC,IAAK,CAAEV,mBAAmB,EAAG;QAC5B;MACD;MACA,IAAK,CAAEU,KAAK,CAACC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAAE,mBAAoB,CAAC,EAAG;QAC/D;MACD;MACA,MAAMC,sBAAsB,GAAGZ,UAAU,CAAC,CAAC,CAACa,IAAI,CAC7CC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKT,YAAY,CAACU,OAC1C,CAAC;MACD,IAAKJ,sBAAsB,EAAG;QAC7B;MACD;MACA,MAAM;QAAEE;MAAO,CAAC,GAAG,MAAMb,gBAAgB,CACxCT,EAAE,CAAE,wCAAyC,CAAC,EAC9C;QACCyB,aAAa,EAAE,IAAI;QACnBC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE5B,EAAE,CAAE,eAAgB,CAAC;UAC5B6B,OAAO,EAAEA,CAAA,KAAMlB,sBAAsB,CAAE,KAAM;QAC9C,CAAC;MAEH,CACD,CAAC;MACDG,YAAY,CAACU,OAAO,GAAGF,MAAM,CAACC,EAAE;IACjC,CAAC;IAED,MAAMO,cAAc,GAAKd,KAAK,IAAM;MACnC,IAAK,CAAEV,mBAAmB,EAAG;QAC5B;MACD;MACA,IAAK,CAAEU,KAAK,CAACC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAAE,mBAAoB,CAAC,EAAG;QAC/D;MACD;MACA,IAAKL,YAAY,CAACU,OAAO,EAAG;QAC3Bd,YAAY,CAAEI,YAAY,CAACU,OAAQ,CAAC;MACrC;MACAX,eAAe,CAAE,IAAK,CAAC;IACxB,CAAC;IAED,MAAMkB,MAAM,GAAG1B,UAAU,CAACmB,OAAO;IACjCO,MAAM,EAAEC,gBAAgB,CAAE,OAAO,EAAEjB,WAAY,CAAC;IAChDgB,MAAM,EAAEC,gBAAgB,CAAE,UAAU,EAAEF,cAAe,CAAC;IACtD,OAAO,MAAM;MACZC,MAAM,EAAEE,mBAAmB,CAAE,OAAO,EAAElB,WAAY,CAAC;MACnDgB,MAAM,EAAEE,mBAAmB,CAAE,UAAU,EAAEH,cAAe,CAAC;IAC1D,CAAC;EACF,CAAC,EAAE,CAAEhB,YAAY,EAAER,mBAAmB,EAAED,UAAU,CAACmB,OAAO,CAAG,CAAC;EAE9D,OACCU,aAAA,CAAChC,aAAa;IACbiC,MAAM,EAAGvB,YAAc;IACvBwB,iBAAiB,EAAGpC,EAAE,CAAE,eAAgB,CAAG;IAC3CqC,SAAS,EAAGA,CAAA,KAAM;MACjBxB,eAAe,CAAE,KAAM,CAAC;MACxBF,sBAAsB,CAAE,KAAM,CAAC;IAChC,CAAG;IACH2B,QAAQ,EAAGA,CAAA,KAAMzB,eAAe,CAAE,KAAM;EAAG,GAEzCb,EAAE,CAAE,wCAAyC,CACjC,CAAC;AAElB"}
|