@wordpress/edit-site 5.22.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 +4 -0
- package/build/components/actions/index.js +115 -15
- package/build/components/actions/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +0 -7
- package/build/components/add-new-template/new-template.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/block-editor/use-site-editor-settings.js +54 -63
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/dataviews/add-filter.js +91 -0
- package/build/components/dataviews/add-filter.js.map +1 -0
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +30 -9
- 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 +37 -48
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/index.js +9 -2
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews/item-actions.js +139 -17
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +7 -2
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/reset-filters.js +33 -0
- package/build/components/dataviews/reset-filters.js.map +1 -0
- package/build/components/dataviews/search.js +1 -0
- package/build/components/dataviews/search.js.map +1 -1
- package/build/components/dataviews/view-actions.js +49 -32
- 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 +130 -14
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/dataviews/view-side-by-side.js +20 -0
- package/build/components/dataviews/view-side-by-side.js.map +1 -0
- package/build/components/editor/index.js +52 -56
- 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 +66 -24
- 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/screen-root.js +3 -3
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/ui.js +31 -39
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +1 -1
- package/build/components/global-styles-renderer/index.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/document-tools/index.js +160 -0
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build/components/header-edit-mode/index.js +50 -117
- 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/header-edit-mode/more-menu/site-export.js +2 -6
- package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build/components/layout/index.js +4 -19
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +44 -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 +11 -15
- 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-main/index.js +2 -1
- package/build/components/page-main/index.js.map +1 -1
- package/build/components/page-pages/index.js +137 -88
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-pages/side-editor.js +25 -0
- package/build/components/page-pages/side-editor.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +2 -2
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +3 -3
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +2 -2
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +316 -0
- package/build/components/page-templates/dataviews-templates.js.map +1 -0
- package/build/components/page-templates/template-actions.js +168 -0
- package/build/components/page-templates/template-actions.js.map +1 -0
- 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/index.js +1 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +124 -0
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +191 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build/components/sidebar-dataviews/dataview-item.js +71 -0
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build/components/sidebar-dataviews/default-views.js +65 -0
- package/build/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build/components/sidebar-dataviews/index.js +21 -38
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build/components/sidebar-edit-mode/default-sidebar.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 +18 -29
- 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 +5 -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 +6 -14
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.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-edit-mode/template-panel/hooks.js +3 -3
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.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/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/site-hub/index.js +18 -6
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/start-template-options/index.js +12 -16
- package/build/components/start-template-options/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 +150 -55
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/template-part-converter/convert-to-regular.js +1 -1
- package/build/components/template-part-converter/convert-to-regular.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/hooks/push-changes-to-global-styles/index.js +3 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/template-part-edit.js +6 -2
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +0 -3
- package/build/index.js.map +1 -1
- package/build/store/actions.js +39 -83
- 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 +33 -67
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +3 -14
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +113 -14
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +0 -7
- package/build-module/components/add-new-template/new-template.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/block-editor/use-site-editor-settings.js +54 -62
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +84 -0
- package/build-module/components/dataviews/add-filter.js.map +1 -0
- 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 +29 -9
- 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 +37 -48
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/index.js +1 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +142 -20
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +7 -2
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/reset-filters.js +26 -0
- package/build-module/components/dataviews/reset-filters.js.map +1 -0
- package/build-module/components/dataviews/search.js +1 -0
- package/build-module/components/dataviews/search.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +50 -33
- 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 +132 -16
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/dataviews/view-side-by-side.js +12 -0
- package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
- package/build-module/components/editor/index.js +55 -59
- 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 +67 -25
- 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/screen-root.js +3 -3
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/ui.js +31 -39
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -1
- package/build-module/components/global-styles-renderer/index.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/document-tools/index.js +152 -0
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build-module/components/header-edit-mode/index.js +54 -121
- 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/header-edit-mode/more-menu/site-export.js +2 -6
- package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build-module/components/layout/index.js +5 -20
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +45 -56
- 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 +11 -15
- 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-main/index.js +2 -1
- package/build-module/components/page-main/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +141 -90
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-pages/side-editor.js +17 -0
- package/build-module/components/page-pages/side-editor.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +2 -2
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +4 -4
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +3 -3
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +308 -0
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
- package/build-module/components/page-templates/template-actions.js +157 -0
- package/build-module/components/page-templates/template-actions.js.map +1 -0
- 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/index.js +1 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +182 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build-module/components/sidebar-dataviews/default-views.js +57 -0
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build-module/components/sidebar-dataviews/index.js +22 -39
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build-module/components/sidebar-edit-mode/default-sidebar.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 +20 -31
- 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 +6 -8
- 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 +8 -16
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.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-edit-mode/template-panel/hooks.js +4 -4
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.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/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/site-hub/index.js +19 -7
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +13 -16
- package/build-module/components/start-template-options/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 +150 -56
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.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/hooks/push-changes-to-global-styles/index.js +4 -2
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +6 -2
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +0 -3
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +37 -80
- 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 +27 -62
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +1 -11
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +221 -181
- package/build-style/style.css +221 -181
- package/package.json +41 -41
- package/src/components/actions/index.js +150 -14
- package/src/components/add-new-template/new-template.js +0 -5
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/block-editor/style.scss +0 -87
- package/src/components/block-editor/use-site-editor-settings.js +68 -89
- package/src/components/dataviews/README.md +80 -83
- package/src/components/dataviews/add-filter.js +108 -0
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +28 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +48 -58
- package/src/components/dataviews/index.js +1 -1
- package/src/components/dataviews/item-actions.js +169 -30
- package/src/components/dataviews/pagination.js +9 -4
- package/src/components/dataviews/reset-filters.js +26 -0
- package/src/components/dataviews/search.js +1 -0
- package/src/components/dataviews/style.scss +89 -9
- package/src/components/dataviews/view-actions.js +77 -49
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +182 -18
- package/src/components/dataviews/view-side-by-side.js +9 -0
- package/src/components/editor/index.js +135 -123
- 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 +91 -35
- 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/screen-root.js +2 -1
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +60 -75
- package/src/components/global-styles-renderer/index.js +1 -1
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/document-tools/index.js +201 -0
- package/src/components/header-edit-mode/index.js +87 -184
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
- package/src/components/header-edit-mode/style.scss +35 -2
- package/src/components/layout/index.js +4 -11
- package/src/components/layout/style.scss +6 -18
- package/src/components/list/added-by.js +24 -64
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +10 -22
- 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-main/index.js +6 -1
- package/src/components/page-pages/index.js +167 -91
- package/src/components/page-pages/side-editor.js +14 -0
- package/src/components/page-patterns/grid-item.js +3 -3
- package/src/components/page-patterns/patterns-list.js +10 -4
- package/src/components/page-patterns/use-patterns.js +4 -3
- package/src/components/page-templates/dataviews-templates.js +345 -0
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/page-templates/template-actions.js +209 -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/index.js +1 -2
- package/src/components/sidebar-dataviews/add-new-view.js +141 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +229 -0
- package/src/components/sidebar-dataviews/dataview-item.js +67 -0
- package/src/components/sidebar-dataviews/default-views.js +59 -0
- package/src/components/sidebar-dataviews/index.js +36 -45
- package/src/components/sidebar-dataviews/style.scss +29 -0
- package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -57
- 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 +10 -8
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +13 -12
- package/src/components/sidebar-edit-mode/page-panels/style.scss +14 -19
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
- package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/site-hub/index.js +9 -8
- package/src/components/start-template-options/index.js +14 -12
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +182 -63
- package/src/components/template-part-converter/convert-to-regular.js +1 -1
- 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/hooks/push-changes-to-global-styles/index.js +13 -6
- package/src/hooks/template-part-edit.js +4 -2
- package/src/index.js +0 -8
- package/src/store/actions.js +42 -96
- 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 +43 -95
- package/src/store/test/actions.js +14 -169
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -117
- package/src/style.scss +2 -0
- package/src/utils/constants.js +1 -11
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/index.js +0 -31
- package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build/components/block-editor/index.js +0 -30
- package/build/components/block-editor/index.js.map +0 -1
- package/build/components/dataviews/in-filter.js +0 -49
- 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 -50
- 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/page-pages/default-views.js +0 -62
- package/build/components/page-pages/default-views.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/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
- package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build-module/components/block-editor/index.js +0 -22
- package/build-module/components/block-editor/index.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -41
- 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 -43
- 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/page-pages/default-views.js +0 -55
- package/build-module/components/page-pages/default-views.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/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
- package/src/components/block-editor/block-editor-provider/index.js +0 -29
- package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
- package/src/components/block-editor/index.js +0 -28
- package/src/components/dataviews/in-filter.js +0 -45
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -52
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/page-pages/default-views.js +0 -60
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
1
2
|
/**
|
|
2
3
|
* WordPress dependencies
|
|
3
4
|
*/
|
|
4
|
-
import { external, trash } from '@wordpress/icons';
|
|
5
|
+
import { external, trash, backup } from '@wordpress/icons';
|
|
5
6
|
import { addQueryArgs } from '@wordpress/url';
|
|
6
7
|
import { useDispatch } from '@wordpress/data';
|
|
7
8
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
@@ -10,6 +11,8 @@ import { __, sprintf } from '@wordpress/i18n';
|
|
|
10
11
|
import { store as noticesStore } from '@wordpress/notices';
|
|
11
12
|
import { useMemo } from '@wordpress/element';
|
|
12
13
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
14
|
+
import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
15
|
+
|
|
13
16
|
/**
|
|
14
17
|
* Internal dependencies
|
|
15
18
|
*/
|
|
@@ -17,7 +20,60 @@ import { unlock } from '../../lock-unlock';
|
|
|
17
20
|
const {
|
|
18
21
|
useHistory
|
|
19
22
|
} = unlock(routerPrivateApis);
|
|
20
|
-
export
|
|
23
|
+
export const trashPostAction = {
|
|
24
|
+
id: 'move-to-trash',
|
|
25
|
+
label: __('Move to Trash'),
|
|
26
|
+
isPrimary: true,
|
|
27
|
+
icon: trash,
|
|
28
|
+
isEligible({
|
|
29
|
+
status
|
|
30
|
+
}) {
|
|
31
|
+
return status !== 'trash';
|
|
32
|
+
},
|
|
33
|
+
hideModalHeader: true,
|
|
34
|
+
RenderModal: ({
|
|
35
|
+
item: post,
|
|
36
|
+
closeModal
|
|
37
|
+
}) => {
|
|
38
|
+
const {
|
|
39
|
+
createSuccessNotice,
|
|
40
|
+
createErrorNotice
|
|
41
|
+
} = useDispatch(noticesStore);
|
|
42
|
+
const {
|
|
43
|
+
deleteEntityRecord
|
|
44
|
+
} = useDispatch(coreStore);
|
|
45
|
+
return createElement(VStack, {
|
|
46
|
+
spacing: "5"
|
|
47
|
+
}, createElement(Text, null, sprintf(
|
|
48
|
+
// translators: %s: The page's title.
|
|
49
|
+
__('Are you sure you want to delete "%s"?'), decodeEntities(post.title.rendered))), createElement(HStack, {
|
|
50
|
+
justify: "right"
|
|
51
|
+
}, createElement(Button, {
|
|
52
|
+
variant: "tertiary",
|
|
53
|
+
onClick: closeModal
|
|
54
|
+
}, __('Cancel')), createElement(Button, {
|
|
55
|
+
variant: "primary",
|
|
56
|
+
onClick: async () => {
|
|
57
|
+
try {
|
|
58
|
+
await deleteEntityRecord('postType', post.type, post.id, {}, {
|
|
59
|
+
throwOnError: true
|
|
60
|
+
});
|
|
61
|
+
createSuccessNotice(sprintf( /* translators: The page's title. */
|
|
62
|
+
__('"%s" moved to the Trash.'), decodeEntities(post.title.rendered)), {
|
|
63
|
+
type: 'snackbar',
|
|
64
|
+
id: 'edit-site-page-trashed'
|
|
65
|
+
});
|
|
66
|
+
} catch (error) {
|
|
67
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while moving the page to the trash.');
|
|
68
|
+
createErrorNotice(errorMessage, {
|
|
69
|
+
type: 'snackbar'
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}, __('Delete'))));
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
export function usePermanentlyDeletePostAction() {
|
|
21
77
|
const {
|
|
22
78
|
createSuccessNotice,
|
|
23
79
|
createErrorNotice
|
|
@@ -26,27 +82,29 @@ export function useTrashPostAction() {
|
|
|
26
82
|
deleteEntityRecord
|
|
27
83
|
} = useDispatch(coreStore);
|
|
28
84
|
return useMemo(() => ({
|
|
29
|
-
id: '
|
|
30
|
-
label: __('
|
|
85
|
+
id: 'permanently-delete',
|
|
86
|
+
label: __('Permanently delete'),
|
|
31
87
|
isPrimary: true,
|
|
32
88
|
icon: trash,
|
|
33
89
|
isEligible({
|
|
34
90
|
status
|
|
35
91
|
}) {
|
|
36
|
-
return status
|
|
92
|
+
return status === 'trash';
|
|
37
93
|
},
|
|
38
|
-
async
|
|
94
|
+
async callback(post) {
|
|
39
95
|
try {
|
|
40
|
-
await deleteEntityRecord('postType', post.type, post.id, {
|
|
96
|
+
await deleteEntityRecord('postType', post.type, post.id, {
|
|
97
|
+
force: true
|
|
98
|
+
}, {
|
|
41
99
|
throwOnError: true
|
|
42
100
|
});
|
|
43
|
-
createSuccessNotice(sprintf( /* translators: The
|
|
44
|
-
__('"%s"
|
|
101
|
+
createSuccessNotice(sprintf( /* translators: The posts's title. */
|
|
102
|
+
__('"%s" permanently deleted.'), decodeEntities(post.title.rendered)), {
|
|
45
103
|
type: 'snackbar',
|
|
46
|
-
id: 'edit-site-
|
|
104
|
+
id: 'edit-site-post-permanently-deleted'
|
|
47
105
|
});
|
|
48
106
|
} catch (error) {
|
|
49
|
-
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while
|
|
107
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while permanently deleting the post.');
|
|
50
108
|
createErrorNotice(errorMessage, {
|
|
51
109
|
type: 'snackbar'
|
|
52
110
|
});
|
|
@@ -54,6 +112,47 @@ export function useTrashPostAction() {
|
|
|
54
112
|
}
|
|
55
113
|
}), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
|
|
56
114
|
}
|
|
115
|
+
export function useRestorePostAction() {
|
|
116
|
+
const {
|
|
117
|
+
createSuccessNotice,
|
|
118
|
+
createErrorNotice
|
|
119
|
+
} = useDispatch(noticesStore);
|
|
120
|
+
const {
|
|
121
|
+
editEntityRecord,
|
|
122
|
+
saveEditedEntityRecord
|
|
123
|
+
} = useDispatch(coreStore);
|
|
124
|
+
return useMemo(() => ({
|
|
125
|
+
id: 'restore',
|
|
126
|
+
label: __('Restore'),
|
|
127
|
+
isPrimary: true,
|
|
128
|
+
icon: backup,
|
|
129
|
+
isEligible({
|
|
130
|
+
status
|
|
131
|
+
}) {
|
|
132
|
+
return status === 'trash';
|
|
133
|
+
},
|
|
134
|
+
async callback(post) {
|
|
135
|
+
await editEntityRecord('postType', post.type, post.id, {
|
|
136
|
+
status: 'draft'
|
|
137
|
+
});
|
|
138
|
+
try {
|
|
139
|
+
await saveEditedEntityRecord('postType', post.type, post.id, {
|
|
140
|
+
throwOnError: true
|
|
141
|
+
});
|
|
142
|
+
createSuccessNotice(sprintf( /* translators: The posts's title. */
|
|
143
|
+
__('"%s" has been restored.'), decodeEntities(post.title.rendered)), {
|
|
144
|
+
type: 'snackbar',
|
|
145
|
+
id: 'edit-site-post-restored'
|
|
146
|
+
});
|
|
147
|
+
} catch (error) {
|
|
148
|
+
const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while restoring the post.');
|
|
149
|
+
createErrorNotice(errorMessage, {
|
|
150
|
+
type: 'snackbar'
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
|
|
155
|
+
}
|
|
57
156
|
export const viewPostAction = {
|
|
58
157
|
id: 'view-post',
|
|
59
158
|
label: __('View'),
|
|
@@ -62,7 +161,7 @@ export const viewPostAction = {
|
|
|
62
161
|
isEligible(post) {
|
|
63
162
|
return post.status !== 'trash';
|
|
64
163
|
},
|
|
65
|
-
|
|
164
|
+
callback(post) {
|
|
66
165
|
document.location.href = post.link;
|
|
67
166
|
}
|
|
68
167
|
};
|
|
@@ -76,7 +175,7 @@ export function useEditPostAction() {
|
|
|
76
175
|
}) {
|
|
77
176
|
return status !== 'trash';
|
|
78
177
|
},
|
|
79
|
-
|
|
178
|
+
callback(post) {
|
|
80
179
|
history.push({
|
|
81
180
|
postId: post.id,
|
|
82
181
|
postType: post.type,
|
|
@@ -98,7 +197,7 @@ export const postRevisionsAction = {
|
|
|
98
197
|
const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
|
|
99
198
|
return lastRevisionId && revisionsCount > 1;
|
|
100
199
|
},
|
|
101
|
-
|
|
200
|
+
callback(post) {
|
|
102
201
|
const href = addQueryArgs('revision.php', {
|
|
103
202
|
revision: post?._links?.['predecessor-version']?.[0]?.id
|
|
104
203
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["external","trash","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","unlock","useHistory","useTrashPostAction","createSuccessNotice","createErrorNotice","deleteEntityRecord","id","label","isPrimary","icon","isEligible","status","perform","post","type","throwOnError","title","rendered","error","errorMessage","message","code","viewPostAction","document","location","href","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","revision"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useTrashPostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'move-to-trash',\n\t\t\tlabel: __( 'Move to Trash' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tasync perform( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while moving the page to the trash.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tperform( post ) {\n\t\tdocument.location.href = post.link;\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tperform( post ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tperform( post ) {\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["external","trash","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","unlock","useHistory","trashPostAction","id","label","isPrimary","icon","isEligible","status","hideModalHeader","RenderModal","item","post","closeModal","createSuccessNotice","createErrorNotice","deleteEntityRecord","createElement","spacing","title","rendered","justify","variant","onClick","type","throwOnError","error","errorMessage","message","code","usePermanentlyDeletePostAction","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","viewPostAction","document","location","href","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","revision"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport const trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\thideModalHeader: true,\n\tRenderModal: ( { item: post, closeModal } ) => {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\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} catch ( error ) {\n\t\t\t\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\t\t\t\terror.code !== 'unknown_error'\n\t\t\t\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the page to the trash.'\n\t\t\t\t\t\t\t\t\t\t );\n\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport function usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( post ) {\n\t\t\t\tawait editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t} );\n\t\t\t\ttry {\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( post ) {\n\t\tdocument.location.href = post.link;\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( post ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( post ) {\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ import AddCustomTemplateModalContent from './add-custom-template-modal-content';
|
|
|
29
29
|
import { useExistingTemplates, useDefaultTemplateTypes, useTaxonomiesMenuItems, usePostTypeMenuItems, useAuthorMenuItem, usePostTypeArchiveMenuItems } from './utils';
|
|
30
30
|
import AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';
|
|
31
31
|
import TemplateActionsLoadingScreen from './template-actions-loading-screen';
|
|
32
|
-
import { store as editSiteStore } from '../../store';
|
|
33
32
|
import { unlock } from '../../lock-unlock';
|
|
34
33
|
const {
|
|
35
34
|
useHistory
|
|
@@ -109,9 +108,6 @@ export default function NewTemplate({
|
|
|
109
108
|
createErrorNotice,
|
|
110
109
|
createSuccessNotice
|
|
111
110
|
} = useDispatch(noticesStore);
|
|
112
|
-
const {
|
|
113
|
-
setTemplate
|
|
114
|
-
} = unlock(useDispatch(editSiteStore));
|
|
115
111
|
const {
|
|
116
112
|
homeUrl
|
|
117
113
|
} = useSelect(select => {
|
|
@@ -151,9 +147,6 @@ export default function NewTemplate({
|
|
|
151
147
|
throwOnError: true
|
|
152
148
|
});
|
|
153
149
|
|
|
154
|
-
// Set template before navigating away to avoid initial stale value.
|
|
155
|
-
setTemplate(newTemplate.id, newTemplate.slug);
|
|
156
|
-
|
|
157
150
|
// Navigate to the created template editor.
|
|
158
151
|
history.push({
|
|
159
152
|
postId: newTemplate.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","plus","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","Toggle","restToggleProps","modalTitle","labels","singular_name","Fragment","add_new_item","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","onClose","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tplus,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\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 creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_ICONS[ slug ] || layout\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\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<Text\n\t\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TemplateListItem>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","plus","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","Toggle","restToggleProps","modalTitle","labels","singular_name","Fragment","add_new_item","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","onClose","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tplus,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\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 creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_ICONS[ slug ] || layout\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\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<Text\n\t\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TemplateListItem>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ import useSiteEditorSettings from './use-site-editor-settings';
|
|
|
21
21
|
import { store as editSiteStore } from '../../store';
|
|
22
22
|
import { FOCUSABLE_ENTITIES, NAVIGATION_POST_TYPE } from '../../utils/constants';
|
|
23
23
|
import { unlock } from '../../lock-unlock';
|
|
24
|
-
import
|
|
24
|
+
import PageContentFocusNotifications from '../page-content-focus-notifications';
|
|
25
25
|
const LAYOUT = {
|
|
26
26
|
type: 'default',
|
|
27
27
|
// At the root level of the site editor, no alignments should be allowed.
|
|
@@ -98,9 +98,14 @@ export default function SiteEditorCanvas() {
|
|
|
98
98
|
className: classnames('edit-site-block-editor__block-list wp-site-blocks', {
|
|
99
99
|
'is-navigation-block': isTemplateTypeNavigation
|
|
100
100
|
}),
|
|
101
|
+
dropZoneElement:
|
|
102
|
+
// Pass in the html element of the iframe to ensure that
|
|
103
|
+
// the drop zone extends to the very edges of the iframe,
|
|
104
|
+
// even if the template is shorter than the viewport.
|
|
105
|
+
contentRef.current?.parentNode,
|
|
101
106
|
layout: LAYOUT,
|
|
102
107
|
renderAppender: showBlockAppender
|
|
103
|
-
}))))), createElement(
|
|
108
|
+
}))))), createElement(PageContentFocusNotifications, {
|
|
104
109
|
contentRef: contentRef
|
|
105
110
|
}));
|
|
106
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useSelect","useDispatch","useRef","BlockList","BlockTools","store","blockEditorStore","useViewportMatch","useResizeObserver","BackButton","ResizableEditor","EditorCanvas","EditorCanvasContainer","useSiteEditorSettings","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","unlock","
|
|
1
|
+
{"version":3,"names":["classnames","useSelect","useDispatch","useRef","BlockList","BlockTools","store","blockEditorStore","useViewportMatch","useResizeObserver","BackButton","ResizableEditor","EditorCanvas","EditorCanvasContainer","useSiteEditorSettings","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","unlock","PageContentFocusNotifications","LAYOUT","type","alignments","SiteEditorCanvas","clearSelectedBlock","templateType","isFocusMode","isViewMode","select","getEditedPostType","getCanvasMode","_templateType","includes","resizeObserver","sizes","settings","hasBlocks","getBlockCount","blocks","isMobileViewport","enableResizing","contentRef","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","forceFullHeight","createElement","Fragment","Slot","editorCanvasView","className","__unstableContentRef","onClick","event","target","currentTarget","height","dropZoneElement","current","parentNode","layout","renderAppender"],"sources":["@wordpress/edit-site/src/components/block-editor/site-editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport {\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useViewportMatch, useResizeObserver } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport BackButton from './back-button';\nimport ResizableEditor from './resizable-editor';\nimport EditorCanvas from './editor-canvas';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport useSiteEditorSettings from './use-site-editor-settings';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport PageContentFocusNotifications from '../page-content-focus-notifications';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function SiteEditorCanvas() {\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst { templateType, isFocusMode, isViewMode } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\tconst _templateType = getEditedPostType();\n\n\t\treturn {\n\t\t\ttemplateType: _templateType,\n\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\tisViewMode: getCanvasMode() === 'view',\n\t\t};\n\t}, [] );\n\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\n\tconst settings = useSiteEditorSettings();\n\n\tconst { hasBlocks } = useSelect( ( select ) => {\n\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\tconst blocks = getBlockCount();\n\n\t\treturn {\n\t\t\thasBlocks: !! blocks,\n\t\t};\n\t}, [] );\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst enableResizing =\n\t\tisFocusMode &&\n\t\t! isViewMode &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport;\n\n\tconst contentRef = useRef();\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || isViewMode\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst forceFullHeight = isNavigationFocusMode;\n\n\treturn (\n\t\t<>\n\t\t\t<EditorCanvasContainer.Slot>\n\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t<div className=\"edit-site-visual-editor is-focus-mode\">\n\t\t\t\t\t\t\t{ editorCanvasView }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BlockTools\n\t\t\t\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t\t\t\t'is-focus-mode':\n\t\t\t\t\t\t\t\t\tisFocusMode || !! editorCanvasView,\n\t\t\t\t\t\t\t\t'is-view-mode': isViewMode,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t// Clear selected block when clicking on the gray background.\n\t\t\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BackButton />\n\t\t\t\t\t\t\t<ResizableEditor\n\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\theight={\n\t\t\t\t\t\t\t\t\tsizes.height && ! forceFullHeight\n\t\t\t\t\t\t\t\t\t\t? sizes.height\n\t\t\t\t\t\t\t\t\t\t: '100%'\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<EditorCanvas\n\t\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ resizeObserver }\n\t\t\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-block-editor__block-list wp-site-blocks',\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t'is-navigation-block':\n\t\t\t\t\t\t\t\t\t\t\t\t\tisTemplateTypeNavigation,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t\t\t\t// Pass in the html element of the iframe to ensure that\n\t\t\t\t\t\t\t\t\t\t\t// the drop zone extends to the very edges of the iframe,\n\t\t\t\t\t\t\t\t\t\t\t// even if the template is shorter than the viewport.\n\t\t\t\t\t\t\t\t\t\t\tcontentRef.current?.parentNode\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlayout={ LAYOUT }\n\t\t\t\t\t\t\t\t\t\trenderAppender={ showBlockAppender }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</EditorCanvas>\n\t\t\t\t\t\t\t</ResizableEditor>\n\t\t\t\t\t\t</BlockTools>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</EditorCanvasContainer.Slot>\n\t\t\t<PageContentFocusNotifications contentRef={ contentRef } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
5
5
|
import { useMemo } from '@wordpress/element';
|
|
6
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
+
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
8
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
9
|
+
|
|
7
10
|
/**
|
|
8
11
|
* Internal dependencies
|
|
9
12
|
*/
|
|
10
13
|
import { store as editSiteStore } from '../../store';
|
|
11
14
|
import { unlock } from '../../lock-unlock';
|
|
12
|
-
|
|
15
|
+
const {
|
|
16
|
+
useBlockEditorSettings
|
|
17
|
+
} = unlock(editorPrivateApis);
|
|
13
18
|
function useArchiveLabel(templateSlug) {
|
|
14
19
|
const taxonomyMatches = templateSlug?.match(/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/);
|
|
15
20
|
let taxonomy;
|
|
@@ -76,90 +81,77 @@ function useArchiveLabel(templateSlug) {
|
|
|
76
81
|
};
|
|
77
82
|
}, [authorSlug, isAuthor, taxonomy, term]);
|
|
78
83
|
}
|
|
79
|
-
export
|
|
80
|
-
var _storedSettings$__exp, _storedSettings$__exp2;
|
|
84
|
+
export function useSpecificEditorSettings() {
|
|
81
85
|
const {
|
|
82
86
|
setIsInserterOpened
|
|
83
87
|
} = useDispatch(editSiteStore);
|
|
84
88
|
const {
|
|
85
|
-
|
|
89
|
+
templateSlug,
|
|
90
|
+
focusMode,
|
|
91
|
+
isDistractionFree,
|
|
92
|
+
hasFixedToolbar,
|
|
93
|
+
keepCaretInsideBlock,
|
|
86
94
|
canvasMode,
|
|
87
|
-
|
|
88
|
-
siteSettings
|
|
95
|
+
settings
|
|
89
96
|
} = useSelect(select => {
|
|
90
97
|
const {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} = select(coreStore);
|
|
94
|
-
const {
|
|
95
|
-
getSettings,
|
|
98
|
+
getEditedPostType,
|
|
99
|
+
getEditedPostId,
|
|
96
100
|
getCanvasMode,
|
|
97
|
-
|
|
101
|
+
getSettings
|
|
98
102
|
} = unlock(select(editSiteStore));
|
|
99
|
-
return {
|
|
100
|
-
storedSettings: getSettings(setIsInserterOpened),
|
|
101
|
-
canvasMode: getCanvasMode(),
|
|
102
|
-
templateType: getEditedPostType(),
|
|
103
|
-
siteSettings: canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined
|
|
104
|
-
};
|
|
105
|
-
}, [setIsInserterOpened]);
|
|
106
|
-
const settingsBlockPatterns = (_storedSettings$__exp = storedSettings.__experimentalAdditionalBlockPatterns) !== null && _storedSettings$__exp !== void 0 ? _storedSettings$__exp :
|
|
107
|
-
// WP 6.0
|
|
108
|
-
storedSettings.__experimentalBlockPatterns; // WP 5.9
|
|
109
|
-
const settingsBlockPatternCategories = (_storedSettings$__exp2 = storedSettings.__experimentalAdditionalBlockPatternCategories) !== null && _storedSettings$__exp2 !== void 0 ? _storedSettings$__exp2 :
|
|
110
|
-
// WP 6.0
|
|
111
|
-
storedSettings.__experimentalBlockPatternCategories; // WP 5.9
|
|
112
|
-
|
|
113
|
-
const {
|
|
114
|
-
restBlockPatterns,
|
|
115
|
-
restBlockPatternCategories,
|
|
116
|
-
templateSlug,
|
|
117
|
-
userPatternCategories
|
|
118
|
-
} = useSelect(select => {
|
|
119
103
|
const {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
} = select(editSiteStore);
|
|
104
|
+
get: getPreference
|
|
105
|
+
} = select(preferencesStore);
|
|
123
106
|
const {
|
|
124
|
-
getEditedEntityRecord
|
|
125
|
-
getUserPatternCategories
|
|
107
|
+
getEditedEntityRecord
|
|
126
108
|
} = select(coreStore);
|
|
127
109
|
const usedPostType = getEditedPostType();
|
|
128
110
|
const usedPostId = getEditedPostId();
|
|
129
111
|
const _record = getEditedEntityRecord('postType', usedPostType, usedPostId);
|
|
130
112
|
return {
|
|
131
|
-
restBlockPatterns: select(coreStore).getBlockPatterns(),
|
|
132
|
-
restBlockPatternCategories: select(coreStore).getBlockPatternCategories(),
|
|
133
113
|
templateSlug: _record.slug,
|
|
134
|
-
|
|
114
|
+
focusMode: !!getPreference('core/edit-site', 'focusMode'),
|
|
115
|
+
isDistractionFree: !!getPreference('core/edit-site', 'distractionFree'),
|
|
116
|
+
hasFixedToolbar: !!getPreference('core/edit-site', 'fixedToolbar'),
|
|
117
|
+
keepCaretInsideBlock: !!getPreference('core/edit-site', 'keepCaretInsideBlock'),
|
|
118
|
+
canvasMode: getCanvasMode(),
|
|
119
|
+
settings: getSettings()
|
|
135
120
|
};
|
|
136
121
|
}, []);
|
|
137
122
|
const archiveLabels = useArchiveLabel(templateSlug);
|
|
138
|
-
const
|
|
139
|
-
postTypes
|
|
140
|
-
}) => {
|
|
141
|
-
return !postTypes || Array.isArray(postTypes) && postTypes.includes(templateType);
|
|
142
|
-
}), [settingsBlockPatterns, restBlockPatterns, templateType]);
|
|
143
|
-
const blockPatternCategories = useMemo(() => [...(settingsBlockPatternCategories || []), ...(restBlockPatternCategories || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)), [settingsBlockPatternCategories, restBlockPatternCategories]);
|
|
144
|
-
return useMemo(() => {
|
|
145
|
-
const {
|
|
146
|
-
__experimentalAdditionalBlockPatterns,
|
|
147
|
-
__experimentalAdditionalBlockPatternCategories,
|
|
148
|
-
focusMode,
|
|
149
|
-
...restStoredSettings
|
|
150
|
-
} = storedSettings;
|
|
123
|
+
const defaultEditorSettings = useMemo(() => {
|
|
151
124
|
return {
|
|
152
|
-
...
|
|
153
|
-
|
|
154
|
-
__experimentalBlockPatterns: blockPatterns,
|
|
155
|
-
__experimentalBlockPatternCategories: blockPatternCategories,
|
|
156
|
-
__experimentalUserPatternCategories: userPatternCategories,
|
|
125
|
+
...settings,
|
|
126
|
+
__experimentalSetIsInserterOpened: setIsInserterOpened,
|
|
157
127
|
focusMode: canvasMode === 'view' && focusMode ? false : focusMode,
|
|
128
|
+
isDistractionFree,
|
|
129
|
+
hasFixedToolbar,
|
|
130
|
+
keepCaretInsideBlock,
|
|
131
|
+
// I wonder if they should be set in the post editor too
|
|
158
132
|
__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
|
|
159
|
-
__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
|
|
160
|
-
pageOnFront: siteSettings?.page_on_front,
|
|
161
|
-
pageForPosts: siteSettings?.page_for_posts
|
|
133
|
+
__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
|
|
162
134
|
};
|
|
163
|
-
}, [
|
|
135
|
+
}, [settings, setIsInserterOpened, focusMode, isDistractionFree, hasFixedToolbar, keepCaretInsideBlock, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel]);
|
|
136
|
+
return defaultEditorSettings;
|
|
137
|
+
}
|
|
138
|
+
export default function useSiteEditorSettings() {
|
|
139
|
+
const defaultEditorSettings = useSpecificEditorSettings();
|
|
140
|
+
const {
|
|
141
|
+
postType,
|
|
142
|
+
postId
|
|
143
|
+
} = useSelect(select => {
|
|
144
|
+
const {
|
|
145
|
+
getEditedPostType,
|
|
146
|
+
getEditedPostId
|
|
147
|
+
} = unlock(select(editSiteStore));
|
|
148
|
+
const usedPostType = getEditedPostType();
|
|
149
|
+
const usedPostId = getEditedPostId();
|
|
150
|
+
return {
|
|
151
|
+
postType: usedPostType,
|
|
152
|
+
postId: usedPostId
|
|
153
|
+
};
|
|
154
|
+
}, []);
|
|
155
|
+
return useBlockEditorSettings(defaultEditorSettings, postType, postId);
|
|
164
156
|
}
|
|
165
157
|
//# sourceMappingURL=use-site-editor-settings.js.map
|