@wordpress/edit-site 5.26.0 → 5.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/actions/index.js +139 -36
- package/build/components/actions/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -1
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/font-families.js +3 -2
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +3 -4
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +80 -41
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +49 -22
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/fonts-grid.js +4 -1
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +4 -4
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +16 -8
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/local-fonts.js +13 -4
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +49 -20
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +103 -17
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +4 -1
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/layout/hooks.js +6 -5
- package/build/components/layout/hooks.js.map +1 -1
- package/build/components/layout/index.js +19 -28
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +135 -0
- package/build/components/layout/router.js.map +1 -0
- package/build/components/page-pages/index.js +92 -69
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +11 -6
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build/components/page-patterns/index.js +295 -15
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +51 -23
- package/build/components/page-templates-template-parts/actions.js.map +1 -0
- package/build/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
- package/build/components/page-templates-template-parts/index.js +395 -0
- package/build/components/page-templates-template-parts/index.js.map +1 -0
- package/build/components/preferences-modal/index.js +9 -134
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/revisions/index.js +1 -1
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-button/index.js +4 -2
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-panel/index.js +6 -5
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +3 -1
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +4 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +2 -2
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +8 -7
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +2 -10
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +26 -3
- package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +3 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +33 -5
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +13 -6
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/template-part-edit.js +7 -6
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/store/actions.js +11 -29
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +85 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +2 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-is-list-page.js +1 -1
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build/utils/use-actual-current-theme.js +32 -0
- package/build/utils/use-actual-current-theme.js.map +1 -0
- package/build-module/components/actions/index.js +139 -36
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +1 -1
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +3 -2
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +4 -5
- package/build-module/components/global-styles/font-family-item.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +82 -42
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +4 -4
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +4 -1
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/layout/hooks.js +6 -5
- package/build-module/components/layout/hooks.js.map +1 -1
- package/build-module/components/layout/index.js +19 -28
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +127 -0
- package/build-module/components/layout/router.js.map +1 -0
- package/build-module/components/page-pages/index.js +91 -70
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build-module/components/page-patterns/index.js +296 -16
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
- package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
- package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
- package/build-module/components/page-templates-template-parts/index.js +385 -0
- package/build-module/components/page-templates-template-parts/index.js.map +1 -0
- package/build-module/components/preferences-modal/index.js +12 -136
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/revisions/index.js +1 -1
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-button/index.js +4 -2
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +7 -6
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +4 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +2 -2
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +8 -7
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
- package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +3 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +7 -6
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +13 -30
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +83 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +2 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +1 -1
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-module/utils/use-actual-current-theme.js +24 -0
- package/build-module/utils/use-actual-current-theme.js.map +1 -0
- package/build-style/style-rtl.css +302 -188
- package/build-style/style.css +302 -188
- package/package.json +42 -42
- package/src/components/actions/index.js +236 -84
- package/src/components/editor-canvas-container/index.js +1 -1
- package/src/components/global-styles/font-families.js +14 -8
- package/src/components/global-styles/font-family-item.js +7 -4
- package/src/components/global-styles/font-library-modal/context.js +156 -50
- package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
- package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
- package/src/components/global-styles/font-library-modal/index.js +4 -4
- package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
- package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
- package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
- package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
- package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
- package/src/components/global-styles/font-library-modal/style.scss +1 -0
- package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
- package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
- package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
- package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
- package/src/components/global-styles/screen-typography.js +9 -3
- package/src/components/global-styles/style.scss +4 -0
- package/src/components/header-edit-mode/style.scss +15 -5
- package/src/components/layout/hooks.js +6 -5
- package/src/components/layout/index.js +80 -96
- package/src/components/layout/router.js +121 -0
- package/src/components/layout/style.scss +13 -16
- package/src/components/page/style.scss +1 -8
- package/src/components/page-pages/index.js +142 -148
- package/src/components/page-pages/style.scss +41 -2
- package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
- package/src/components/page-patterns/index.js +392 -14
- package/src/components/page-patterns/style.scss +36 -2
- package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
- package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
- package/src/components/page-templates-template-parts/style.scss +44 -0
- package/src/components/preferences-modal/index.js +8 -211
- package/src/components/revisions/index.js +1 -1
- package/src/components/save-button/index.js +7 -4
- package/src/components/save-panel/index.js +13 -12
- package/src/components/sidebar/index.js +4 -5
- package/src/components/sidebar-dataviews/dataview-item.js +2 -1
- package/src/components/sidebar-dataviews/default-views.js +4 -2
- package/src/components/sidebar-dataviews/index.js +8 -6
- package/src/components/sidebar-navigation-item/style.scss +1 -1
- package/src/components/sidebar-navigation-screen/index.js +19 -10
- package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
- package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
- package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
- package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
- package/src/components/site-hub/index.js +4 -1
- package/src/components/site-hub/style.scss +1 -12
- package/src/components/site-icon/style.scss +1 -1
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
- package/src/hooks/commands/use-edit-mode-commands.js +50 -3
- package/src/hooks/push-changes-to-global-styles/index.js +29 -23
- package/src/hooks/template-part-edit.js +12 -12
- package/src/index.js +1 -1
- package/src/store/actions.js +17 -51
- package/src/store/private-actions.js +133 -0
- package/src/store/selectors.js +2 -4
- package/src/style.scss +2 -1
- package/src/utils/get-is-list-page.js +3 -2
- package/src/utils/use-actual-current-theme.js +27 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
- package/build/components/page-main/index.js +0 -44
- package/build/components/page-main/index.js.map +0 -1
- package/build/components/page-patterns/dataviews-patterns.js +0 -307
- package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
- package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
- package/build/components/page-template-parts/index.js +0 -81
- package/build/components/page-template-parts/index.js.map +0 -1
- package/build/components/page-templates/index.js +0 -352
- package/build/components/page-templates/index.js.map +0 -1
- package/build/components/page-templates/template-actions.js.map +0 -1
- package/build/components/post-preview/index.js +0 -29
- package/build/components/post-preview/index.js.map +0 -1
- package/build/components/preferences-modal/enable-feature.js +0 -36
- package/build/components/preferences-modal/enable-feature.js.map +0 -1
- package/build/components/preferences-modal/enable-panel-option.js +0 -33
- package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
- package/build-module/components/page-main/index.js +0 -36
- package/build-module/components/page-main/index.js.map +0 -1
- package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
- package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
- package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
- package/build-module/components/page-template-parts/index.js +0 -73
- package/build-module/components/page-template-parts/index.js.map +0 -1
- package/build-module/components/page-templates/index.js +0 -344
- package/build-module/components/page-templates/index.js.map +0 -1
- package/build-module/components/page-templates/template-actions.js.map +0 -1
- package/build-module/components/post-preview/index.js +0 -21
- package/build-module/components/post-preview/index.js.map +0 -1
- package/build-module/components/preferences-modal/enable-feature.js +0 -29
- package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
- package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
- package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
- package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
- package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
- package/src/components/page-main/index.js +0 -38
- package/src/components/page-patterns/dataviews-patterns.js +0 -380
- package/src/components/page-template-parts/index.js +0 -99
- package/src/components/page-templates/style.scss +0 -13
- package/src/components/post-preview/index.js +0 -16
- package/src/components/preferences-modal/enable-feature.js +0 -31
- package/src/components/preferences-modal/enable-panel-option.js +0 -23
- /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
- /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
- /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
.edit-site-sidebar-navigation-screen-templates__templates-group-title.components-item {
|
|
2
|
+
text-transform: uppercase;
|
|
3
|
+
color: $gray-200;
|
|
4
|
+
// 6px right padding to align with + button
|
|
5
|
+
padding: $grid-unit-30 6px $grid-unit-20 $grid-unit-20;
|
|
6
|
+
border-top: 1px solid $gray-800;
|
|
7
|
+
font-size: 11px;
|
|
8
|
+
font-weight: 500;
|
|
9
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useEntityRecords } from '@wordpress/core-data';
|
|
5
|
+
import { useMemo } from '@wordpress/element';
|
|
6
|
+
import { __experimentalItemGroup as ItemGroup } from '@wordpress/components';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import DataViewItem from '../sidebar-dataviews/dataview-item';
|
|
12
|
+
import { useAddedBy } from '../list/added-by';
|
|
13
|
+
import { layout } from '@wordpress/icons';
|
|
14
|
+
|
|
15
|
+
const EMPTY_ARRAY = [];
|
|
16
|
+
|
|
17
|
+
function TemplateDataviewItem( { template, isActive } ) {
|
|
18
|
+
const { text, icon } = useAddedBy( template.type, template.id );
|
|
19
|
+
return (
|
|
20
|
+
<DataViewItem
|
|
21
|
+
key={ text }
|
|
22
|
+
slug={ text }
|
|
23
|
+
title={ text }
|
|
24
|
+
icon={ icon }
|
|
25
|
+
isActive={ isActive }
|
|
26
|
+
isCustom="false"
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default function DataviewsTemplatesSidebarContent( {
|
|
32
|
+
activeView,
|
|
33
|
+
postType,
|
|
34
|
+
config,
|
|
35
|
+
} ) {
|
|
36
|
+
const { records } = useEntityRecords( 'postType', postType, {
|
|
37
|
+
per_page: -1,
|
|
38
|
+
} );
|
|
39
|
+
const firstItemPerAuthorText = useMemo( () => {
|
|
40
|
+
const firstItemPerAuthor = records?.reduce( ( acc, template ) => {
|
|
41
|
+
const author = template.author_text;
|
|
42
|
+
if ( author && ! acc[ author ] ) {
|
|
43
|
+
acc[ author ] = template;
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, {} );
|
|
47
|
+
return (
|
|
48
|
+
( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??
|
|
49
|
+
EMPTY_ARRAY
|
|
50
|
+
);
|
|
51
|
+
}, [ records ] );
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<ItemGroup>
|
|
55
|
+
<DataViewItem
|
|
56
|
+
slug={ 'all' }
|
|
57
|
+
title={ config[ postType ].title }
|
|
58
|
+
icon={ layout }
|
|
59
|
+
isActive={ activeView === 'all' }
|
|
60
|
+
isCustom="false"
|
|
61
|
+
/>
|
|
62
|
+
{ firstItemPerAuthorText.map( ( template ) => {
|
|
63
|
+
return (
|
|
64
|
+
<TemplateDataviewItem
|
|
65
|
+
key={ template.author_text }
|
|
66
|
+
template={ template }
|
|
67
|
+
isActive={ activeView === template.author_text }
|
|
68
|
+
/>
|
|
69
|
+
);
|
|
70
|
+
} ) }
|
|
71
|
+
</ItemGroup>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
|
+
|
|
6
7
|
import { __experimentalUseNavigator as useNavigator } from '@wordpress/components';
|
|
7
8
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
8
9
|
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
TEMPLATE_PART_POST_TYPE,
|
|
17
18
|
} from '../../utils/constants';
|
|
18
19
|
import { unlock } from '../../lock-unlock';
|
|
20
|
+
import DataviewsTemplatesSidebarContent from './content';
|
|
19
21
|
|
|
20
22
|
const config = {
|
|
21
23
|
[ TEMPLATE_POST_TYPE ]: {
|
|
@@ -40,7 +42,7 @@ export default function SidebarNavigationScreenTemplatesBrowse() {
|
|
|
40
42
|
params: { postType },
|
|
41
43
|
} = useNavigator();
|
|
42
44
|
const {
|
|
43
|
-
params: { didAccessPatternsPage },
|
|
45
|
+
params: { didAccessPatternsPage, activeView = 'all' },
|
|
44
46
|
} = useLocation();
|
|
45
47
|
|
|
46
48
|
const isTemplatePartsMode = useSelect( ( select ) => {
|
|
@@ -56,6 +58,13 @@ export default function SidebarNavigationScreenTemplatesBrowse() {
|
|
|
56
58
|
title={ config[ postType ].title }
|
|
57
59
|
description={ config[ postType ].description }
|
|
58
60
|
backPath={ config[ postType ].backPath }
|
|
61
|
+
content={
|
|
62
|
+
<DataviewsTemplatesSidebarContent
|
|
63
|
+
activeView={ activeView }
|
|
64
|
+
postType={ postType }
|
|
65
|
+
config={ config }
|
|
66
|
+
/>
|
|
67
|
+
}
|
|
59
68
|
/>
|
|
60
69
|
);
|
|
61
70
|
}
|
|
@@ -180,7 +180,10 @@ const SiteHub = memo( ( { isTransparent, className } ) => {
|
|
|
180
180
|
'View site (opens in a new tab)'
|
|
181
181
|
) }
|
|
182
182
|
icon={ external }
|
|
183
|
-
className=
|
|
183
|
+
className={ classnames(
|
|
184
|
+
'edit-site-site-hub__site-view-link',
|
|
185
|
+
{ 'is-transparent': isTransparent }
|
|
186
|
+
) }
|
|
184
187
|
/>
|
|
185
188
|
) }
|
|
186
189
|
</HStack>
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.edit-site-site-hub__site-title,
|
|
12
|
+
.edit-site-site-hub__site-view-link,
|
|
12
13
|
.edit-site-site-hub_toggle-command-center {
|
|
13
14
|
transition: opacity ease 0.1s;
|
|
14
15
|
|
|
@@ -20,22 +21,10 @@
|
|
|
20
21
|
.edit-site-site-hub__site-view-link {
|
|
21
22
|
flex-grow: 0;
|
|
22
23
|
margin-right: var(--wp-admin-border-width-focus);
|
|
23
|
-
@include break-mobile() {
|
|
24
|
-
opacity: 0;
|
|
25
|
-
transition: opacity 0.2s ease-in-out;
|
|
26
|
-
}
|
|
27
|
-
&:focus {
|
|
28
|
-
opacity: 1;
|
|
29
|
-
}
|
|
30
24
|
svg {
|
|
31
25
|
fill: $gray-200;
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
|
-
&:hover {
|
|
35
|
-
.edit-site-site-hub__site-view-link {
|
|
36
|
-
opacity: 1;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
28
|
}
|
|
40
29
|
|
|
41
30
|
.edit-site-site-hub__post-type {
|
|
@@ -27,7 +27,7 @@ const postTypesWithoutParentTemplate = [
|
|
|
27
27
|
PATTERN_TYPES.user,
|
|
28
28
|
];
|
|
29
29
|
|
|
30
|
-
function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
30
|
+
function useResolveEditedEntityAndContext( { path, postId, postType } ) {
|
|
31
31
|
const { hasLoadedAllDependencies, homepageId, url, frontPageTemplateId } =
|
|
32
32
|
useSelect( ( select ) => {
|
|
33
33
|
const { getSite, getUnstableBase, getEntityRecords } =
|
|
@@ -128,10 +128,25 @@ function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
|
128
128
|
return currentTemplate.id;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
|
|
132
131
|
// If no template is assigned, use the default template.
|
|
132
|
+
let slugToCheck;
|
|
133
|
+
// In `draft` status we might not have a slug available, so we use the `single`
|
|
134
|
+
// post type templates slug(ex page, single-post, single-product etc..).
|
|
135
|
+
// Pages do not need the `single` prefix in the slug to be prioritized
|
|
136
|
+
// through template hierarchy.
|
|
137
|
+
if ( editedEntity.slug ) {
|
|
138
|
+
slugToCheck =
|
|
139
|
+
postTypeToResolve === 'page'
|
|
140
|
+
? `${ postTypeToResolve }-${ editedEntity.slug }`
|
|
141
|
+
: `single-${ postTypeToResolve }-${ editedEntity.slug }`;
|
|
142
|
+
} else {
|
|
143
|
+
slugToCheck =
|
|
144
|
+
postTypeToResolve === 'page'
|
|
145
|
+
? 'page'
|
|
146
|
+
: `single-${ postTypeToResolve }`;
|
|
147
|
+
}
|
|
133
148
|
return getDefaultTemplateId( {
|
|
134
|
-
slug:
|
|
149
|
+
slug: slugToCheck,
|
|
135
150
|
} );
|
|
136
151
|
}
|
|
137
152
|
|
|
@@ -144,6 +159,11 @@ function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
|
144
159
|
return resolveTemplateForPostTypeAndId( postType, postId );
|
|
145
160
|
}
|
|
146
161
|
|
|
162
|
+
// Some URLs in list views are different
|
|
163
|
+
if ( path === '/pages' && postId ) {
|
|
164
|
+
return resolveTemplateForPostTypeAndId( 'page', postId );
|
|
165
|
+
}
|
|
166
|
+
|
|
147
167
|
// If we're rendering the home page, and we have a static home page, resolve its template.
|
|
148
168
|
if ( homepageId ) {
|
|
149
169
|
return resolveTemplateForPostTypeAndId( 'page', homepageId );
|
|
@@ -161,6 +181,7 @@ function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
|
161
181
|
url,
|
|
162
182
|
postId,
|
|
163
183
|
postType,
|
|
184
|
+
path,
|
|
164
185
|
frontPageTemplateId,
|
|
165
186
|
]
|
|
166
187
|
);
|
|
@@ -174,12 +195,25 @@ function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
|
174
195
|
return { postType, postId };
|
|
175
196
|
}
|
|
176
197
|
|
|
198
|
+
// Some URLs in list views are different
|
|
199
|
+
if ( path === '/pages' && postId ) {
|
|
200
|
+
return { postType: 'page', postId };
|
|
201
|
+
}
|
|
202
|
+
|
|
177
203
|
if ( homepageId ) {
|
|
178
204
|
return { postType: 'page', postId: homepageId };
|
|
179
205
|
}
|
|
180
206
|
|
|
181
207
|
return {};
|
|
182
|
-
}, [ homepageId, postType, postId ] );
|
|
208
|
+
}, [ homepageId, postType, postId, path ] );
|
|
209
|
+
|
|
210
|
+
if ( path === '/wp_template/all' && postId ) {
|
|
211
|
+
return { isReady: true, postType: 'wp_template', postId, context };
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if ( path === '/wp_template_part/all' && postId ) {
|
|
215
|
+
return { isReady: true, postType: 'wp_template_part', postId, context };
|
|
216
|
+
}
|
|
183
217
|
|
|
184
218
|
if ( postTypesWithoutParentTemplate.includes( postType ) ) {
|
|
185
219
|
return { isReady: true, postType, postId, context };
|
|
@@ -197,7 +231,8 @@ function useResolveEditedEntityAndContext( { postId, postType } ) {
|
|
|
197
231
|
return { isReady: false };
|
|
198
232
|
}
|
|
199
233
|
|
|
200
|
-
export function
|
|
234
|
+
export default function useInitEditedEntityFromURL() {
|
|
235
|
+
const { params = {} } = useLocation();
|
|
201
236
|
const { postType, postId, context, isReady } =
|
|
202
237
|
useResolveEditedEntityAndContext( params );
|
|
203
238
|
|
|
@@ -209,8 +244,3 @@ export function useInitEditedEntity( params ) {
|
|
|
209
244
|
}
|
|
210
245
|
}, [ isReady, postType, postId, context, setEditedEntity ] );
|
|
211
246
|
}
|
|
212
|
-
|
|
213
|
-
export default function useInitEditedEntityFromURL() {
|
|
214
|
-
const { params = {} } = useLocation();
|
|
215
|
-
return useInitEditedEntity( params );
|
|
216
|
-
}
|
|
@@ -82,6 +82,7 @@ export default function useSyncPathWithURL() {
|
|
|
82
82
|
postType: navigatorParams?.postType,
|
|
83
83
|
postId: navigatorParams?.postId,
|
|
84
84
|
path: undefined,
|
|
85
|
+
layout: undefined,
|
|
85
86
|
} );
|
|
86
87
|
} else if (
|
|
87
88
|
navigatorLocation.path.startsWith( '/page/' ) &&
|
|
@@ -91,6 +92,7 @@ export default function useSyncPathWithURL() {
|
|
|
91
92
|
postType: 'page',
|
|
92
93
|
postId: navigatorParams?.postId,
|
|
93
94
|
path: undefined,
|
|
95
|
+
layout: undefined,
|
|
94
96
|
} );
|
|
95
97
|
} else if ( navigatorLocation.path === '/patterns' ) {
|
|
96
98
|
updateUrlParams( {
|
|
@@ -99,12 +101,42 @@ export default function useSyncPathWithURL() {
|
|
|
99
101
|
canvas: undefined,
|
|
100
102
|
path: navigatorLocation.path,
|
|
101
103
|
} );
|
|
104
|
+
} else if (
|
|
105
|
+
navigatorLocation.path === '/wp_template/all' &&
|
|
106
|
+
! window?.__experimentalAdminViews
|
|
107
|
+
) {
|
|
108
|
+
// When the experiment is disabled, we only support table layout.
|
|
109
|
+
// Clear it out from the URL, so layouts other than table cannot be accessed.
|
|
110
|
+
updateUrlParams( {
|
|
111
|
+
postType: undefined,
|
|
112
|
+
categoryType: undefined,
|
|
113
|
+
categoryId: undefined,
|
|
114
|
+
path: navigatorLocation.path,
|
|
115
|
+
layout: undefined,
|
|
116
|
+
} );
|
|
117
|
+
} else if (
|
|
118
|
+
// These sidebar paths are special in the sense that the url in these pages may or may not have a postId and we need to retain it if it has.
|
|
119
|
+
// The "type" property should be kept as well.
|
|
120
|
+
( navigatorLocation.path === '/pages' &&
|
|
121
|
+
window?.__experimentalAdminViews ) ||
|
|
122
|
+
( navigatorLocation.path === '/wp_template/all' &&
|
|
123
|
+
window?.__experimentalAdminViews ) ||
|
|
124
|
+
( navigatorLocation.path === '/wp_template_part/all' &&
|
|
125
|
+
window?.__experimentalAdminViews )
|
|
126
|
+
) {
|
|
127
|
+
updateUrlParams( {
|
|
128
|
+
postType: undefined,
|
|
129
|
+
categoryType: undefined,
|
|
130
|
+
categoryId: undefined,
|
|
131
|
+
path: navigatorLocation.path,
|
|
132
|
+
} );
|
|
102
133
|
} else {
|
|
103
134
|
updateUrlParams( {
|
|
104
135
|
postType: undefined,
|
|
105
136
|
postId: undefined,
|
|
106
137
|
categoryType: undefined,
|
|
107
138
|
categoryId: undefined,
|
|
139
|
+
layout: undefined,
|
|
108
140
|
path:
|
|
109
141
|
navigatorLocation.path === '/'
|
|
110
142
|
? undefined
|
|
@@ -216,6 +216,8 @@ function useEditUICommands() {
|
|
|
216
216
|
showBlockBreadcrumbs,
|
|
217
217
|
isListViewOpen,
|
|
218
218
|
isDistractionFree,
|
|
219
|
+
isTopToolbar,
|
|
220
|
+
isFocusMode,
|
|
219
221
|
} = useSelect( ( select ) => {
|
|
220
222
|
const { get } = select( preferencesStore );
|
|
221
223
|
const { getEditorMode } = select( editSiteStore );
|
|
@@ -229,6 +231,8 @@ function useEditUICommands() {
|
|
|
229
231
|
showBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),
|
|
230
232
|
isListViewOpen: isListViewOpened(),
|
|
231
233
|
isDistractionFree: get( 'core', 'distractionFree' ),
|
|
234
|
+
isFocusMode: get( 'core', 'focusMode' ),
|
|
235
|
+
isTopToolbar: get( 'core', 'fixedToolbar' ),
|
|
232
236
|
};
|
|
233
237
|
}, [] );
|
|
234
238
|
const { openModal } = useDispatch( interfaceStore );
|
|
@@ -271,16 +275,33 @@ function useEditUICommands() {
|
|
|
271
275
|
|
|
272
276
|
commands.push( {
|
|
273
277
|
name: 'core/toggle-spotlight-mode',
|
|
274
|
-
label: __( 'Toggle spotlight
|
|
278
|
+
label: __( 'Toggle spotlight' ),
|
|
275
279
|
callback: ( { close } ) => {
|
|
276
280
|
toggle( 'core', 'focusMode' );
|
|
277
281
|
close();
|
|
282
|
+
createInfoNotice(
|
|
283
|
+
isFocusMode ? __( 'Spotlight off.' ) : __( 'Spotlight on.' ),
|
|
284
|
+
{
|
|
285
|
+
id: 'core/edit-site/toggle-spotlight-mode/notice',
|
|
286
|
+
type: 'snackbar',
|
|
287
|
+
actions: [
|
|
288
|
+
{
|
|
289
|
+
label: __( 'Undo' ),
|
|
290
|
+
onClick: () => {
|
|
291
|
+
toggle( 'core', 'focusMode' );
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
}
|
|
296
|
+
);
|
|
278
297
|
},
|
|
279
298
|
} );
|
|
280
299
|
|
|
281
300
|
commands.push( {
|
|
282
301
|
name: 'core/toggle-distraction-free',
|
|
283
|
-
label:
|
|
302
|
+
label: isDistractionFree
|
|
303
|
+
? __( 'Exit Distraction Free' )
|
|
304
|
+
: __( 'Enter Distraction Free ' ),
|
|
284
305
|
callback: ( { close } ) => {
|
|
285
306
|
toggleDistractionFree();
|
|
286
307
|
close();
|
|
@@ -296,6 +317,23 @@ function useEditUICommands() {
|
|
|
296
317
|
toggleDistractionFree();
|
|
297
318
|
}
|
|
298
319
|
close();
|
|
320
|
+
createInfoNotice(
|
|
321
|
+
isTopToolbar
|
|
322
|
+
? __( 'Top toolbar off.' )
|
|
323
|
+
: __( 'Top toolbar on.' ),
|
|
324
|
+
{
|
|
325
|
+
id: 'core/edit-site/toggle-top-toolbar/notice',
|
|
326
|
+
type: 'snackbar',
|
|
327
|
+
actions: [
|
|
328
|
+
{
|
|
329
|
+
label: __( 'Undo' ),
|
|
330
|
+
onClick: () => {
|
|
331
|
+
toggle( 'core', 'fixedToolbar' );
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
}
|
|
336
|
+
);
|
|
299
337
|
},
|
|
300
338
|
} );
|
|
301
339
|
|
|
@@ -350,11 +388,20 @@ function useEditUICommands() {
|
|
|
350
388
|
|
|
351
389
|
commands.push( {
|
|
352
390
|
name: 'core/toggle-list-view',
|
|
353
|
-
label:
|
|
391
|
+
label: isListViewOpen
|
|
392
|
+
? __( 'Close List View' )
|
|
393
|
+
: __( 'Open List View' ),
|
|
354
394
|
icon: listView,
|
|
355
395
|
callback: ( { close } ) => {
|
|
356
396
|
setIsListViewOpened( ! isListViewOpen );
|
|
357
397
|
close();
|
|
398
|
+
createInfoNotice(
|
|
399
|
+
isListViewOpen ? __( 'List View off.' ) : __( 'List View on.' ),
|
|
400
|
+
{
|
|
401
|
+
id: 'core/edit-site/toggle-list-view/notice',
|
|
402
|
+
type: 'snackbar',
|
|
403
|
+
}
|
|
404
|
+
);
|
|
358
405
|
},
|
|
359
406
|
} );
|
|
360
407
|
|
|
@@ -389,30 +389,36 @@ function PushChangesToGlobalStylesControl( {
|
|
|
389
389
|
);
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
{ blockEditingMode === 'default' &&
|
|
407
|
-
supportsStyles &&
|
|
408
|
-
isBlockBasedTheme && (
|
|
409
|
-
<InspectorAdvancedControls>
|
|
410
|
-
<PushChangesToGlobalStylesControl { ...props } />
|
|
411
|
-
</InspectorAdvancedControls>
|
|
412
|
-
) }
|
|
413
|
-
</>
|
|
414
|
-
);
|
|
392
|
+
function PushChangesToGlobalStyles( props ) {
|
|
393
|
+
const blockEditingMode = useBlockEditingMode();
|
|
394
|
+
const isBlockBasedTheme = useSelect(
|
|
395
|
+
( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,
|
|
396
|
+
[]
|
|
397
|
+
);
|
|
398
|
+
const supportsStyles = SUPPORTED_STYLES.some( ( feature ) =>
|
|
399
|
+
hasBlockSupport( props.name, feature )
|
|
400
|
+
);
|
|
401
|
+
const isDisplayed =
|
|
402
|
+
blockEditingMode === 'default' && supportsStyles && isBlockBasedTheme;
|
|
403
|
+
|
|
404
|
+
if ( ! isDisplayed ) {
|
|
405
|
+
return null;
|
|
415
406
|
}
|
|
407
|
+
|
|
408
|
+
return (
|
|
409
|
+
<InspectorAdvancedControls>
|
|
410
|
+
<PushChangesToGlobalStylesControl { ...props } />
|
|
411
|
+
</InspectorAdvancedControls>
|
|
412
|
+
);
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
const withPushChangesToGlobalStyles = createHigherOrderComponent(
|
|
416
|
+
( BlockEdit ) => ( props ) => (
|
|
417
|
+
<>
|
|
418
|
+
<BlockEdit { ...props } />
|
|
419
|
+
{ props.isSelected && <PushChangesToGlobalStyles { ...props } /> }
|
|
420
|
+
</>
|
|
421
|
+
)
|
|
416
422
|
);
|
|
417
423
|
|
|
418
424
|
addFilter(
|
|
@@ -52,16 +52,14 @@ function EditTemplatePartMenuItem( { attributes } ) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
return (
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
onClick
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
</ToolbarButton>
|
|
64
|
-
</BlockControls>
|
|
55
|
+
<ToolbarButton
|
|
56
|
+
{ ...linkProps }
|
|
57
|
+
onClick={ ( event ) => {
|
|
58
|
+
linkProps.onClick( event );
|
|
59
|
+
} }
|
|
60
|
+
>
|
|
61
|
+
{ __( 'Edit' ) }
|
|
62
|
+
</ToolbarButton>
|
|
65
63
|
);
|
|
66
64
|
}
|
|
67
65
|
|
|
@@ -72,9 +70,11 @@ export const withEditBlockControls = createHigherOrderComponent(
|
|
|
72
70
|
|
|
73
71
|
return (
|
|
74
72
|
<>
|
|
75
|
-
<BlockEdit { ...props } />
|
|
73
|
+
<BlockEdit key="edit" { ...props } />
|
|
76
74
|
{ isDisplayed && (
|
|
77
|
-
<
|
|
75
|
+
<BlockControls group="other">
|
|
76
|
+
<EditTemplatePartMenuItem attributes={ attributes } />
|
|
77
|
+
</BlockControls>
|
|
78
78
|
) }
|
|
79
79
|
</>
|
|
80
80
|
);
|
package/src/index.js
CHANGED
|
@@ -52,7 +52,6 @@ export function initializeEditor( id, settings ) {
|
|
|
52
52
|
// We dispatch actions and update the store synchronously before rendering
|
|
53
53
|
// so that we won't trigger unnecessary re-renders with useEffect.
|
|
54
54
|
dispatch( preferencesStore ).setDefaults( 'core/edit-site', {
|
|
55
|
-
editorMode: 'visual',
|
|
56
55
|
welcomeGuide: true,
|
|
57
56
|
welcomeGuideStyles: true,
|
|
58
57
|
welcomeGuidePage: true,
|
|
@@ -62,6 +61,7 @@ export function initializeEditor( id, settings ) {
|
|
|
62
61
|
dispatch( preferencesStore ).setDefaults( 'core', {
|
|
63
62
|
allowRightClickOverrides: true,
|
|
64
63
|
distractionFree: false,
|
|
64
|
+
editorMode: 'visual',
|
|
65
65
|
fixedToolbar: false,
|
|
66
66
|
focusMode: false,
|
|
67
67
|
inactivePanels: [],
|
package/src/store/actions.js
CHANGED
|
@@ -5,7 +5,7 @@ import apiFetch from '@wordpress/api-fetch';
|
|
|
5
5
|
import { parse, __unstableSerializeAndClean } from '@wordpress/blocks';
|
|
6
6
|
import deprecated from '@wordpress/deprecated';
|
|
7
7
|
import { addQueryArgs } from '@wordpress/url';
|
|
8
|
-
import { __
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
9
|
import { store as noticesStore } from '@wordpress/notices';
|
|
10
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
11
11
|
import { store as interfaceStore } from '@wordpress/interface';
|
|
@@ -13,7 +13,6 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
|
13
13
|
import { store as editorStore } from '@wordpress/editor';
|
|
14
14
|
import { speak } from '@wordpress/a11y';
|
|
15
15
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
16
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
17
16
|
|
|
18
17
|
/**
|
|
19
18
|
* Internal dependencies
|
|
@@ -25,6 +24,8 @@ import {
|
|
|
25
24
|
TEMPLATE_PART_POST_TYPE,
|
|
26
25
|
NAVIGATION_POST_TYPE,
|
|
27
26
|
} from '../utils/constants';
|
|
27
|
+
import { removeTemplates } from './private-actions';
|
|
28
|
+
|
|
28
29
|
/**
|
|
29
30
|
* Dispatches an action that toggles a feature flag.
|
|
30
31
|
*
|
|
@@ -133,54 +134,9 @@ export const addTemplate =
|
|
|
133
134
|
*
|
|
134
135
|
* @param {Object} template The template object.
|
|
135
136
|
*/
|
|
136
|
-
export const removeTemplate =
|
|
137
|
-
( template )
|
|
138
|
-
|
|
139
|
-
try {
|
|
140
|
-
await registry
|
|
141
|
-
.dispatch( coreStore )
|
|
142
|
-
.deleteEntityRecord( 'postType', template.type, template.id, {
|
|
143
|
-
force: true,
|
|
144
|
-
} );
|
|
145
|
-
|
|
146
|
-
const lastError = registry
|
|
147
|
-
.select( coreStore )
|
|
148
|
-
.getLastEntityDeleteError(
|
|
149
|
-
'postType',
|
|
150
|
-
template.type,
|
|
151
|
-
template.id
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
if ( lastError ) {
|
|
155
|
-
throw lastError;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// Depending on how the entity was retrieved it's title might be
|
|
159
|
-
// an object or simple string.
|
|
160
|
-
const templateTitle =
|
|
161
|
-
typeof template.title === 'string'
|
|
162
|
-
? template.title
|
|
163
|
-
: template.title?.rendered;
|
|
164
|
-
|
|
165
|
-
registry.dispatch( noticesStore ).createSuccessNotice(
|
|
166
|
-
sprintf(
|
|
167
|
-
/* translators: The template/part's name. */
|
|
168
|
-
__( '"%s" deleted.' ),
|
|
169
|
-
decodeEntities( templateTitle )
|
|
170
|
-
),
|
|
171
|
-
{ type: 'snackbar', id: 'site-editor-template-deleted-success' }
|
|
172
|
-
);
|
|
173
|
-
} catch ( error ) {
|
|
174
|
-
const errorMessage =
|
|
175
|
-
error.message && error.code !== 'unknown_error'
|
|
176
|
-
? error.message
|
|
177
|
-
: __( 'An error occurred while deleting the template.' );
|
|
178
|
-
|
|
179
|
-
registry
|
|
180
|
-
.dispatch( noticesStore )
|
|
181
|
-
.createErrorNotice( errorMessage, { type: 'snackbar' } );
|
|
182
|
-
}
|
|
183
|
-
};
|
|
137
|
+
export const removeTemplate = ( template ) => {
|
|
138
|
+
return removeTemplates( [ template ] );
|
|
139
|
+
};
|
|
184
140
|
|
|
185
141
|
/**
|
|
186
142
|
* Action that sets a template part.
|
|
@@ -549,7 +505,7 @@ export const switchEditorMode =
|
|
|
549
505
|
( { dispatch, registry } ) => {
|
|
550
506
|
registry
|
|
551
507
|
.dispatch( 'core/preferences' )
|
|
552
|
-
.set( 'core
|
|
508
|
+
.set( 'core', 'editorMode', mode );
|
|
553
509
|
|
|
554
510
|
// Unselect blocks when we switch to a non visual mode.
|
|
555
511
|
if ( mode !== 'visual' ) {
|
|
@@ -626,6 +582,16 @@ export const toggleDistractionFree =
|
|
|
626
582
|
{
|
|
627
583
|
id: 'core/edit-site/distraction-free-mode/notice',
|
|
628
584
|
type: 'snackbar',
|
|
585
|
+
actions: [
|
|
586
|
+
{
|
|
587
|
+
label: __( 'Undo' ),
|
|
588
|
+
onClick: () => {
|
|
589
|
+
registry
|
|
590
|
+
.dispatch( preferencesStore )
|
|
591
|
+
.toggle( 'core', 'distractionFree' );
|
|
592
|
+
},
|
|
593
|
+
},
|
|
594
|
+
],
|
|
629
595
|
}
|
|
630
596
|
);
|
|
631
597
|
} );
|