@wordpress/edit-site 5.23.0 → 5.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/actions/index.js +56 -38
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +7 -2
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/dataviews/add-filter.js +21 -20
- package/build/components/dataviews/add-filter.js.map +1 -1
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +9 -7
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filter-summary.js +62 -0
- package/build/components/dataviews/filter-summary.js.map +1 -0
- package/build/components/dataviews/filters.js +15 -30
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/item-actions.js +84 -30
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +4 -0
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/view-actions.js +24 -24
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +48 -25
- package/build/components/dataviews/view-grid.js.map +1 -1
- package/build/components/dataviews/view-list.js +28 -33
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/editor/index.js +23 -27
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +4 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +22 -16
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +26 -5
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/ui.js +28 -36
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +21 -16
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +2 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/list/added-by.js +43 -54
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-notifications/index.js +22 -0
- package/build/components/page-content-focus-notifications/index.js.map +1 -0
- package/build/components/page-pages/index.js +9 -15
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +166 -51
- package/build/components/page-templates/dataviews-templates.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/save-button/index.js +9 -6
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +14 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +7 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +6 -5
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -12
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/welcome-guide/page.js +2 -2
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/template.js +6 -3
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/store/actions.js +4 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +2 -27
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -23
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -40
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +8 -4
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +1 -12
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +55 -36
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +7 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +21 -20
- package/build-module/components/dataviews/add-filter.js.map +1 -1
- package/build-module/components/dataviews/constants.js +6 -0
- package/build-module/components/dataviews/constants.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +9 -7
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filter-summary.js +55 -0
- package/build-module/components/dataviews/filter-summary.js.map +1 -0
- package/build-module/components/dataviews/filters.js +15 -28
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +84 -30
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +4 -0
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +24 -24
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +49 -26
- package/build-module/components/dataviews/view-grid.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +28 -33
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/editor/index.js +26 -30
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -2
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +23 -17
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +27 -6
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/ui.js +28 -36
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +2 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/list/added-by.js +44 -55
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-notifications/index.js +14 -0
- package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
- package/build-module/components/page-pages/index.js +10 -16
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +168 -53
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +1 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/save-button/index.js +11 -8
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +14 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +7 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +6 -5
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/style-book/index.js +22 -12
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +2 -2
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +6 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/store/actions.js +4 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -25
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -22
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -38
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +0 -10
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +152 -62
- package/build-style/style.css +152 -62
- package/package.json +41 -41
- package/src/components/actions/index.js +76 -48
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/dataviews/README.md +14 -11
- package/src/components/dataviews/add-filter.js +21 -24
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +10 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +18 -35
- package/src/components/dataviews/item-actions.js +106 -42
- package/src/components/dataviews/pagination.js +4 -0
- package/src/components/dataviews/style.scss +84 -8
- package/src/components/dataviews/view-actions.js +39 -41
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +50 -57
- package/src/components/editor/index.js +18 -34
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
- package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
- package/src/components/global-styles/header.js +2 -1
- package/src/components/global-styles/screen-block-list.js +37 -26
- package/src/components/global-styles/screen-revisions/index.js +39 -10
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
- package/src/components/global-styles/screen-revisions/style.scss +52 -28
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +59 -74
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/index.js +1 -0
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/list/added-by.js +23 -63
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/src/components/page-content-focus-notifications/index.js +14 -0
- package/src/components/page-pages/index.js +15 -20
- package/src/components/page-patterns/use-patterns.js +1 -1
- package/src/components/page-templates/dataviews-templates.js +169 -48
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/save-button/index.js +37 -24
- package/src/components/save-hub/index.js +15 -0
- package/src/components/save-hub/style.scss +7 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
- package/src/components/sidebar-dataviews/default-views.js +7 -2
- package/src/components/sidebar-dataviews/style.scss +7 -0
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
- package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
- package/src/components/welcome-guide/page.js +2 -2
- package/src/components/welcome-guide/template.js +4 -2
- package/src/hooks/commands/use-edit-mode-commands.js +22 -16
- package/src/store/actions.js +5 -1
- package/src/store/private-actions.js +1 -24
- package/src/store/private-selectors.js +0 -22
- package/src/store/reducer.js +0 -39
- package/src/store/selectors.js +12 -4
- package/src/store/test/actions.js +3 -32
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -35
- package/src/style.scss +1 -0
- package/src/utils/constants.js +0 -10
- package/build/components/dataviews/in-filter.js +0 -51
- package/build/components/dataviews/in-filter.js.map +0 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/index.js +0 -61
- package/build/components/page-content-focus-manager/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -42
- package/build-module/components/dataviews/in-filter.js.map +0 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/index.js +0 -52
- package/build-module/components/page-content-focus-manager/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/src/components/dataviews/in-filter.js +0 -63
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -21,7 +21,7 @@ import Link from '../routes/link';
|
|
|
21
21
|
import { DataViews, viewTypeSupportsMap } from '../dataviews';
|
|
22
22
|
import { default as DEFAULT_VIEWS } from '../sidebar-dataviews/default-views';
|
|
23
23
|
import {
|
|
24
|
-
|
|
24
|
+
trashPostAction,
|
|
25
25
|
usePermanentlyDeletePostAction,
|
|
26
26
|
useRestorePostAction,
|
|
27
27
|
postRevisionsAction,
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
import SideEditor from './side-editor';
|
|
32
32
|
import Media from '../media';
|
|
33
33
|
import { unlock } from '../../lock-unlock';
|
|
34
|
+
import { ENUMERATION_TYPE, OPERATOR_IN } from '../dataviews/constants';
|
|
34
35
|
const { useLocation } = unlock( routerPrivateApis );
|
|
35
36
|
|
|
36
37
|
const EMPTY_ARRAY = [];
|
|
@@ -38,6 +39,7 @@ const defaultConfigPerViewType = {
|
|
|
38
39
|
list: {},
|
|
39
40
|
grid: {
|
|
40
41
|
mediaField: 'featured-image',
|
|
42
|
+
primaryField: 'title',
|
|
41
43
|
},
|
|
42
44
|
};
|
|
43
45
|
|
|
@@ -120,10 +122,16 @@ export default function PagePages() {
|
|
|
120
122
|
const queryArgs = useMemo( () => {
|
|
121
123
|
const filters = {};
|
|
122
124
|
view.filters.forEach( ( filter ) => {
|
|
123
|
-
if (
|
|
125
|
+
if (
|
|
126
|
+
filter.field === 'status' &&
|
|
127
|
+
filter.operator === OPERATOR_IN
|
|
128
|
+
) {
|
|
124
129
|
filters.status = filter.value;
|
|
125
130
|
}
|
|
126
|
-
if (
|
|
131
|
+
if (
|
|
132
|
+
filter.field === 'author' &&
|
|
133
|
+
filter.operator === OPERATOR_IN
|
|
134
|
+
) {
|
|
127
135
|
filters.author = filter.value;
|
|
128
136
|
}
|
|
129
137
|
} );
|
|
@@ -219,15 +227,7 @@ export default function PagePages() {
|
|
|
219
227
|
header: __( 'Author' ),
|
|
220
228
|
id: 'author',
|
|
221
229
|
getValue: ( { item } ) => item._embedded?.author[ 0 ]?.name,
|
|
222
|
-
|
|
223
|
-
const author = item._embedded?.author[ 0 ];
|
|
224
|
-
return (
|
|
225
|
-
<a href={ `user-edit.php?user_id=${ author.id }` }>
|
|
226
|
-
{ author.name }
|
|
227
|
-
</a>
|
|
228
|
-
);
|
|
229
|
-
},
|
|
230
|
-
filters: [ 'in' ],
|
|
230
|
+
type: ENUMERATION_TYPE,
|
|
231
231
|
elements:
|
|
232
232
|
authors?.map( ( { id, name } ) => ( {
|
|
233
233
|
value: id,
|
|
@@ -240,7 +240,7 @@ export default function PagePages() {
|
|
|
240
240
|
getValue: ( { item } ) =>
|
|
241
241
|
STATUSES.find( ( { value } ) => value === item.status )
|
|
242
242
|
?.label ?? item.status,
|
|
243
|
-
|
|
243
|
+
type: ENUMERATION_TYPE,
|
|
244
244
|
elements: STATUSES,
|
|
245
245
|
enableSorting: false,
|
|
246
246
|
},
|
|
@@ -260,7 +260,6 @@ export default function PagePages() {
|
|
|
260
260
|
[ authors ]
|
|
261
261
|
);
|
|
262
262
|
|
|
263
|
-
const trashPostAction = useTrashPostAction();
|
|
264
263
|
const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
|
|
265
264
|
const restorePostAction = useRestorePostAction();
|
|
266
265
|
const editPostAction = useEditPostAction();
|
|
@@ -273,12 +272,7 @@ export default function PagePages() {
|
|
|
273
272
|
editPostAction,
|
|
274
273
|
postRevisionsAction,
|
|
275
274
|
],
|
|
276
|
-
[
|
|
277
|
-
trashPostAction,
|
|
278
|
-
permanentlyDeletePostAction,
|
|
279
|
-
restorePostAction,
|
|
280
|
-
editPostAction,
|
|
281
|
-
]
|
|
275
|
+
[ permanentlyDeletePostAction, restorePostAction, editPostAction ]
|
|
282
276
|
);
|
|
283
277
|
const onChangeView = useCallback(
|
|
284
278
|
( viewUpdater ) => {
|
|
@@ -309,6 +303,7 @@ export default function PagePages() {
|
|
|
309
303
|
fields={ fields }
|
|
310
304
|
actions={ actions }
|
|
311
305
|
data={ pages || EMPTY_ARRAY }
|
|
306
|
+
getItemId={ ( item ) => item.id }
|
|
312
307
|
isLoading={ isLoadingPages || isLoadingAuthors }
|
|
313
308
|
view={ view }
|
|
314
309
|
onChangeView={ onChangeView }
|
|
@@ -159,7 +159,7 @@ const selectPatterns = createSelector(
|
|
|
159
159
|
// User patterns can have their sync statuses checked directly
|
|
160
160
|
// Non-user patterns are all unsynced for the time being.
|
|
161
161
|
patterns = patterns.filter( ( pattern ) => {
|
|
162
|
-
return pattern.
|
|
162
|
+
return pattern.type === PATTERN_TYPES.user
|
|
163
163
|
? pattern.syncStatus === syncStatus
|
|
164
164
|
: syncStatus === PATTERN_SYNC_TYPES.unsynced;
|
|
165
165
|
} );
|
|
@@ -12,11 +12,17 @@ import {
|
|
|
12
12
|
__experimentalText as Text,
|
|
13
13
|
__experimentalHStack as HStack,
|
|
14
14
|
__experimentalVStack as VStack,
|
|
15
|
+
VisuallyHidden,
|
|
15
16
|
} from '@wordpress/components';
|
|
16
17
|
import { __, _x } from '@wordpress/i18n';
|
|
17
18
|
import { useState, useMemo, useCallback } from '@wordpress/element';
|
|
18
19
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
19
20
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
21
|
+
import { parse } from '@wordpress/blocks';
|
|
22
|
+
import {
|
|
23
|
+
BlockPreview,
|
|
24
|
+
privateApis as blockEditorPrivateApis,
|
|
25
|
+
} from '@wordpress/block-editor';
|
|
20
26
|
|
|
21
27
|
/**
|
|
22
28
|
* Internal dependencies
|
|
@@ -26,14 +32,29 @@ import Link from '../routes/link';
|
|
|
26
32
|
import { useAddedBy, AvatarImage } from '../list/added-by';
|
|
27
33
|
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
28
34
|
import { DataViews } from '../dataviews';
|
|
35
|
+
import { ENUMERATION_TYPE, OPERATOR_IN } from '../dataviews/constants';
|
|
29
36
|
import {
|
|
30
37
|
useResetTemplateAction,
|
|
31
38
|
deleteTemplateAction,
|
|
32
39
|
renameTemplateAction,
|
|
33
40
|
} from './template-actions';
|
|
41
|
+
import usePatternSettings from '../page-patterns/use-pattern-settings';
|
|
42
|
+
import { unlock } from '../../lock-unlock';
|
|
43
|
+
|
|
44
|
+
const { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(
|
|
45
|
+
blockEditorPrivateApis
|
|
46
|
+
);
|
|
34
47
|
|
|
35
48
|
const EMPTY_ARRAY = [];
|
|
36
49
|
|
|
50
|
+
const defaultConfigPerViewType = {
|
|
51
|
+
list: {},
|
|
52
|
+
grid: {
|
|
53
|
+
mediaField: 'preview',
|
|
54
|
+
primaryField: 'title',
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
37
58
|
const DEFAULT_VIEW = {
|
|
38
59
|
type: 'list',
|
|
39
60
|
search: '',
|
|
@@ -41,8 +62,9 @@ const DEFAULT_VIEW = {
|
|
|
41
62
|
perPage: 20,
|
|
42
63
|
// All fields are visible by default, so it's
|
|
43
64
|
// better to keep track of the hidden ones.
|
|
44
|
-
hiddenFields: [],
|
|
65
|
+
hiddenFields: [ 'preview' ],
|
|
45
66
|
layout: {},
|
|
67
|
+
filters: [],
|
|
46
68
|
};
|
|
47
69
|
|
|
48
70
|
function normalizeSearchInput( input = '' ) {
|
|
@@ -81,7 +103,7 @@ function TemplateTitle( { item } ) {
|
|
|
81
103
|
function AuthorField( { item } ) {
|
|
82
104
|
const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
|
|
83
105
|
return (
|
|
84
|
-
<HStack alignment="left">
|
|
106
|
+
<HStack alignment="left" spacing={ 1 }>
|
|
85
107
|
{ imageUrl ? (
|
|
86
108
|
<AvatarImage imageUrl={ imageUrl } />
|
|
87
109
|
) : (
|
|
@@ -94,12 +116,116 @@ function AuthorField( { item } ) {
|
|
|
94
116
|
);
|
|
95
117
|
}
|
|
96
118
|
|
|
119
|
+
function TemplatePreview( { content, viewType } ) {
|
|
120
|
+
const settings = usePatternSettings();
|
|
121
|
+
const [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );
|
|
122
|
+
const blocks = useMemo( () => {
|
|
123
|
+
return parse( content );
|
|
124
|
+
}, [ content ] );
|
|
125
|
+
if ( ! blocks?.length ) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
// Wrap everything in a block editor provider to ensure 'styles' that are needed
|
|
129
|
+
// for the previews are synced between the site editor store and the block editor store.
|
|
130
|
+
// Additionally we need to have the `__experimentalBlockPatterns` setting in order to
|
|
131
|
+
// render patterns inside the previews.
|
|
132
|
+
// TODO: Same approach is used in the patterns list and it becomes obvious that some of
|
|
133
|
+
// the block editor settings are needed in context where we don't have the block editor.
|
|
134
|
+
// Explore how we can solve this in a better way.
|
|
135
|
+
return (
|
|
136
|
+
<ExperimentalBlockEditorProvider settings={ settings }>
|
|
137
|
+
<div
|
|
138
|
+
className={ `page-templates-preview-field is-viewtype-${ viewType }` }
|
|
139
|
+
style={ { backgroundColor } }
|
|
140
|
+
>
|
|
141
|
+
<BlockPreview blocks={ blocks } />
|
|
142
|
+
</div>
|
|
143
|
+
</ExperimentalBlockEditorProvider>
|
|
144
|
+
);
|
|
145
|
+
}
|
|
146
|
+
|
|
97
147
|
export default function DataviewsTemplates() {
|
|
98
148
|
const [ view, setView ] = useState( DEFAULT_VIEW );
|
|
99
149
|
const { records: allTemplates, isResolving: isLoadingData } =
|
|
100
150
|
useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
|
|
101
151
|
per_page: -1,
|
|
102
152
|
} );
|
|
153
|
+
|
|
154
|
+
const authors = useMemo( () => {
|
|
155
|
+
if ( ! allTemplates ) {
|
|
156
|
+
return EMPTY_ARRAY;
|
|
157
|
+
}
|
|
158
|
+
const authorsSet = new Set();
|
|
159
|
+
allTemplates.forEach( ( template ) => {
|
|
160
|
+
authorsSet.add( template.author_text );
|
|
161
|
+
} );
|
|
162
|
+
return Array.from( authorsSet ).map( ( author ) => ( {
|
|
163
|
+
value: author,
|
|
164
|
+
label: author,
|
|
165
|
+
} ) );
|
|
166
|
+
}, [ allTemplates ] );
|
|
167
|
+
|
|
168
|
+
const fields = useMemo(
|
|
169
|
+
() => [
|
|
170
|
+
{
|
|
171
|
+
header: __( 'Preview' ),
|
|
172
|
+
id: 'preview',
|
|
173
|
+
render: ( { item, view: { type: viewType } } ) => {
|
|
174
|
+
return (
|
|
175
|
+
<TemplatePreview
|
|
176
|
+
content={ item.content.raw }
|
|
177
|
+
viewType={ viewType }
|
|
178
|
+
/>
|
|
179
|
+
);
|
|
180
|
+
},
|
|
181
|
+
minWidth: 120,
|
|
182
|
+
maxWidth: 120,
|
|
183
|
+
enableSorting: false,
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
header: __( 'Template' ),
|
|
187
|
+
id: 'title',
|
|
188
|
+
getValue: ( { item } ) => item.title?.rendered || item.slug,
|
|
189
|
+
render: ( { item } ) => <TemplateTitle item={ item } />,
|
|
190
|
+
maxWidth: 400,
|
|
191
|
+
enableHiding: false,
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
header: __( 'Description' ),
|
|
195
|
+
id: 'description',
|
|
196
|
+
getValue: ( { item } ) => item.description,
|
|
197
|
+
render: ( { item } ) => {
|
|
198
|
+
return item.description ? (
|
|
199
|
+
decodeEntities( item.description )
|
|
200
|
+
) : (
|
|
201
|
+
<>
|
|
202
|
+
<Text variant="muted" aria-hidden="true">
|
|
203
|
+
—
|
|
204
|
+
</Text>
|
|
205
|
+
<VisuallyHidden>
|
|
206
|
+
{ __( 'No description.' ) }
|
|
207
|
+
</VisuallyHidden>
|
|
208
|
+
</>
|
|
209
|
+
);
|
|
210
|
+
},
|
|
211
|
+
maxWidth: 200,
|
|
212
|
+
enableSorting: false,
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
header: __( 'Author' ),
|
|
216
|
+
id: 'author',
|
|
217
|
+
getValue: ( { item } ) => item.author_text,
|
|
218
|
+
render: ( { item } ) => {
|
|
219
|
+
return <AuthorField item={ item } />;
|
|
220
|
+
},
|
|
221
|
+
enableHiding: false,
|
|
222
|
+
type: ENUMERATION_TYPE,
|
|
223
|
+
elements: authors,
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
[ authors ]
|
|
227
|
+
);
|
|
228
|
+
|
|
103
229
|
const { shownTemplates, paginationInfo } = useMemo( () => {
|
|
104
230
|
if ( ! allTemplates ) {
|
|
105
231
|
return {
|
|
@@ -123,19 +249,40 @@ export default function DataviewsTemplates() {
|
|
|
123
249
|
);
|
|
124
250
|
} );
|
|
125
251
|
}
|
|
252
|
+
|
|
253
|
+
// Handle filters.
|
|
254
|
+
if ( view.filters.length > 0 ) {
|
|
255
|
+
view.filters.forEach( ( filter ) => {
|
|
256
|
+
if (
|
|
257
|
+
filter.field === 'author' &&
|
|
258
|
+
filter.operator === OPERATOR_IN &&
|
|
259
|
+
!! filter.value
|
|
260
|
+
) {
|
|
261
|
+
filteredTemplates = filteredTemplates.filter( ( item ) => {
|
|
262
|
+
return item.author_text === filter.value;
|
|
263
|
+
} );
|
|
264
|
+
}
|
|
265
|
+
} );
|
|
266
|
+
}
|
|
267
|
+
|
|
126
268
|
// Handle sorting.
|
|
127
|
-
// TODO: Explore how this can be more dynamic..
|
|
128
269
|
if ( view.sort ) {
|
|
129
|
-
|
|
270
|
+
const stringSortingFields = [ 'title', 'author' ];
|
|
271
|
+
const fieldId = view.sort.field;
|
|
272
|
+
if ( stringSortingFields.includes( fieldId ) ) {
|
|
273
|
+
const fieldToSort = fields.find( ( field ) => {
|
|
274
|
+
return field.id === fieldId;
|
|
275
|
+
} );
|
|
130
276
|
filteredTemplates.sort( ( a, b ) => {
|
|
131
|
-
const
|
|
132
|
-
const
|
|
277
|
+
const valueA = fieldToSort.getValue( { item: a } ) ?? '';
|
|
278
|
+
const valueB = fieldToSort.getValue( { item: b } ) ?? '';
|
|
133
279
|
return view.sort.direction === 'asc'
|
|
134
|
-
?
|
|
135
|
-
:
|
|
280
|
+
? valueA.localeCompare( valueB )
|
|
281
|
+
: valueB.localeCompare( valueA );
|
|
136
282
|
} );
|
|
137
283
|
}
|
|
138
284
|
}
|
|
285
|
+
|
|
139
286
|
// Handle pagination.
|
|
140
287
|
const start = ( view.page - 1 ) * view.perPage;
|
|
141
288
|
const totalItems = filteredTemplates?.length || 0;
|
|
@@ -150,44 +297,8 @@ export default function DataviewsTemplates() {
|
|
|
150
297
|
totalPages: Math.ceil( totalItems / view.perPage ),
|
|
151
298
|
},
|
|
152
299
|
};
|
|
153
|
-
}, [ allTemplates, view ] );
|
|
154
|
-
|
|
155
|
-
() => [
|
|
156
|
-
{
|
|
157
|
-
header: __( 'Template' ),
|
|
158
|
-
id: 'title',
|
|
159
|
-
getValue: ( { item } ) => item.title?.rendered || item.slug,
|
|
160
|
-
render: ( { item } ) => <TemplateTitle item={ item } />,
|
|
161
|
-
maxWidth: 400,
|
|
162
|
-
enableHiding: false,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
header: __( 'Description' ),
|
|
166
|
-
id: 'description',
|
|
167
|
-
getValue: ( { item } ) => item.description,
|
|
168
|
-
render: ( { item } ) => {
|
|
169
|
-
return (
|
|
170
|
-
item.description && (
|
|
171
|
-
<Text variant="muted">
|
|
172
|
-
{ decodeEntities( item.description ) }
|
|
173
|
-
</Text>
|
|
174
|
-
)
|
|
175
|
-
);
|
|
176
|
-
},
|
|
177
|
-
maxWidth: 200,
|
|
178
|
-
enableSorting: false,
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
header: __( 'Author' ),
|
|
182
|
-
id: 'author',
|
|
183
|
-
getValue: () => {},
|
|
184
|
-
render: ( { item } ) => <AuthorField item={ item } />,
|
|
185
|
-
enableHiding: false,
|
|
186
|
-
enableSorting: false,
|
|
187
|
-
},
|
|
188
|
-
],
|
|
189
|
-
[]
|
|
190
|
-
);
|
|
300
|
+
}, [ allTemplates, view, fields ] );
|
|
301
|
+
|
|
191
302
|
const resetTemplateAction = useResetTemplateAction();
|
|
192
303
|
const actions = useMemo(
|
|
193
304
|
() => [
|
|
@@ -199,10 +310,19 @@ export default function DataviewsTemplates() {
|
|
|
199
310
|
);
|
|
200
311
|
const onChangeView = useCallback(
|
|
201
312
|
( viewUpdater ) => {
|
|
202
|
-
|
|
313
|
+
let updatedView =
|
|
203
314
|
typeof viewUpdater === 'function'
|
|
204
315
|
? viewUpdater( view )
|
|
205
316
|
: viewUpdater;
|
|
317
|
+
if ( updatedView.type !== view.type ) {
|
|
318
|
+
updatedView = {
|
|
319
|
+
...updatedView,
|
|
320
|
+
layout: {
|
|
321
|
+
...defaultConfigPerViewType[ updatedView.type ],
|
|
322
|
+
},
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
|
|
206
326
|
setView( updatedView );
|
|
207
327
|
},
|
|
208
328
|
[ view, setView ]
|
|
@@ -214,10 +334,11 @@ export default function DataviewsTemplates() {
|
|
|
214
334
|
fields={ fields }
|
|
215
335
|
actions={ actions }
|
|
216
336
|
data={ shownTemplates }
|
|
337
|
+
getItemId={ ( item ) => item.id }
|
|
217
338
|
isLoading={ isLoadingData }
|
|
218
339
|
view={ view }
|
|
219
340
|
onChangeView={ onChangeView }
|
|
220
|
-
supportedLayouts={ [ 'list' ] }
|
|
341
|
+
supportedLayouts={ [ 'list', 'grid' ] }
|
|
221
342
|
/>
|
|
222
343
|
</Page>
|
|
223
344
|
);
|
|
@@ -34,7 +34,7 @@ export default function EditSitePreferencesModal() {
|
|
|
34
34
|
const { set: setPreference } = useDispatch( preferencesStore );
|
|
35
35
|
const toggleDistractionFree = () => {
|
|
36
36
|
registry.batch( () => {
|
|
37
|
-
setPreference( 'core/edit-site', 'fixedToolbar',
|
|
37
|
+
setPreference( 'core/edit-site', 'fixedToolbar', true );
|
|
38
38
|
setIsInserterOpened( false );
|
|
39
39
|
setIsListViewOpened( false );
|
|
40
40
|
closeGeneralSidebar();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
5
|
import { Button } from '@wordpress/components';
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
7
7
|
import { store as coreStore } from '@wordpress/core-data';
|
|
8
8
|
import { displayShortcut } from '@wordpress/keycodes';
|
|
9
9
|
|
|
@@ -11,7 +11,10 @@ import { displayShortcut } from '@wordpress/keycodes';
|
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
13
13
|
import { store as editSiteStore } from '../../store';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
currentlyPreviewingTheme,
|
|
16
|
+
isPreviewingTheme,
|
|
17
|
+
} from '../../utils/is-previewing-theme';
|
|
15
18
|
|
|
16
19
|
export default function SaveButton( {
|
|
17
20
|
className = 'edit-site-save-button__button',
|
|
@@ -21,24 +24,34 @@ export default function SaveButton( {
|
|
|
21
24
|
icon,
|
|
22
25
|
__next40pxDefaultSize = false,
|
|
23
26
|
} ) {
|
|
24
|
-
const { isDirty, isSaving, isSaveViewOpen } =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
27
|
+
const { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =
|
|
28
|
+
useSelect( ( select ) => {
|
|
29
|
+
const {
|
|
30
|
+
__experimentalGetDirtyEntityRecords,
|
|
31
|
+
isSavingEntityRecord,
|
|
32
|
+
isResolving,
|
|
33
|
+
} = select( coreStore );
|
|
34
|
+
const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
|
|
35
|
+
const { isSaveViewOpened } = select( editSiteStore );
|
|
36
|
+
const isActivatingTheme = isResolving( 'activateTheme' );
|
|
37
|
+
const previewingTheme = select( coreStore ).getTheme(
|
|
38
|
+
currentlyPreviewingTheme()
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
isDirty: dirtyEntityRecords.length > 0,
|
|
43
|
+
isSaving:
|
|
44
|
+
dirtyEntityRecords.some( ( record ) =>
|
|
45
|
+
isSavingEntityRecord(
|
|
46
|
+
record.kind,
|
|
47
|
+
record.name,
|
|
48
|
+
record.key
|
|
49
|
+
)
|
|
50
|
+
) || isActivatingTheme,
|
|
51
|
+
isSaveViewOpen: isSaveViewOpened(),
|
|
52
|
+
previewingThemeName: previewingTheme?.name?.rendered,
|
|
53
|
+
};
|
|
54
|
+
}, [] );
|
|
42
55
|
const { setIsSaveViewOpened } = useDispatch( editSiteStore );
|
|
43
56
|
|
|
44
57
|
const activateSaveEnabled = isPreviewingTheme() || isDirty;
|
|
@@ -47,13 +60,13 @@ export default function SaveButton( {
|
|
|
47
60
|
const getLabel = () => {
|
|
48
61
|
if ( isPreviewingTheme() ) {
|
|
49
62
|
if ( isSaving ) {
|
|
50
|
-
return
|
|
63
|
+
return sprintf( 'Activating %s', previewingThemeName );
|
|
51
64
|
} else if ( disabled ) {
|
|
52
65
|
return __( 'Saved' );
|
|
53
66
|
} else if ( isDirty ) {
|
|
54
|
-
return
|
|
67
|
+
return sprintf( 'Activate %s & Save', previewingThemeName );
|
|
55
68
|
}
|
|
56
|
-
return
|
|
69
|
+
return sprintf( 'Activate %s', previewingThemeName );
|
|
57
70
|
}
|
|
58
71
|
|
|
59
72
|
if ( isSaving ) {
|
|
@@ -85,7 +98,7 @@ export default function SaveButton( {
|
|
|
85
98
|
* Displaying the keyboard shortcut conditionally makes the tooltip
|
|
86
99
|
* itself show conditionally. This would trigger a full-rerendering
|
|
87
100
|
* of the button that we want to avoid. By setting `showTooltip`,
|
|
88
|
-
|
|
101
|
+
* the tooltip is always rendered even when there's no keyboard shortcut.
|
|
89
102
|
*/
|
|
90
103
|
showTooltip={ showTooltip }
|
|
91
104
|
icon={ icon }
|
|
@@ -106,6 +106,15 @@ export default function SaveHub() {
|
|
|
106
106
|
label = __( 'Saving' );
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
const { homeUrl } = useSelect( ( select ) => {
|
|
110
|
+
const {
|
|
111
|
+
getUnstableBase, // Site index.
|
|
112
|
+
} = select( coreStore );
|
|
113
|
+
return {
|
|
114
|
+
homeUrl: getUnstableBase()?.home,
|
|
115
|
+
};
|
|
116
|
+
}, [] );
|
|
117
|
+
|
|
109
118
|
const saveCurrentEntity = async () => {
|
|
110
119
|
if ( ! dirtyCurrentEntity ) return;
|
|
111
120
|
|
|
@@ -135,6 +144,12 @@ export default function SaveHub() {
|
|
|
135
144
|
|
|
136
145
|
createSuccessNotice( __( 'Site updated.' ), {
|
|
137
146
|
type: 'snackbar',
|
|
147
|
+
actions: [
|
|
148
|
+
{
|
|
149
|
+
label: __( 'View site' ),
|
|
150
|
+
url: homeUrl,
|
|
151
|
+
},
|
|
152
|
+
],
|
|
138
153
|
id: saveNoticeId,
|
|
139
154
|
} );
|
|
140
155
|
} catch ( error ) {
|
|
@@ -116,10 +116,12 @@ function CustomDataViewItem( { dataviewId, isActive } ) {
|
|
|
116
116
|
<DropdownMenu
|
|
117
117
|
icon={ moreVertical }
|
|
118
118
|
label={ __( 'Actions' ) }
|
|
119
|
+
className="edit-site-sidebar-dataviews-dataview-item__dropdown-menu"
|
|
119
120
|
toggleProps={ {
|
|
120
121
|
style: {
|
|
121
122
|
color: 'inherit',
|
|
122
123
|
},
|
|
124
|
+
size: 'small',
|
|
123
125
|
} }
|
|
124
126
|
>
|
|
125
127
|
{ ( { onClose } ) => (
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { trash } from '@wordpress/icons';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { OPERATOR_IN } from '../dataviews/constants';
|
|
11
|
+
|
|
7
12
|
const DEFAULT_PAGE_BASE = {
|
|
8
13
|
type: 'list',
|
|
9
14
|
search: '',
|
|
@@ -33,7 +38,7 @@ const DEFAULT_VIEWS = {
|
|
|
33
38
|
view: {
|
|
34
39
|
...DEFAULT_PAGE_BASE,
|
|
35
40
|
filters: [
|
|
36
|
-
{ field: 'status', operator:
|
|
41
|
+
{ field: 'status', operator: OPERATOR_IN, value: 'draft' },
|
|
37
42
|
],
|
|
38
43
|
},
|
|
39
44
|
},
|
|
@@ -44,7 +49,7 @@ const DEFAULT_VIEWS = {
|
|
|
44
49
|
view: {
|
|
45
50
|
...DEFAULT_PAGE_BASE,
|
|
46
51
|
filters: [
|
|
47
|
-
{ field: 'status', operator:
|
|
52
|
+
{ field: 'status', operator: OPERATOR_IN, value: 'trash' },
|
|
48
53
|
],
|
|
49
54
|
},
|
|
50
55
|
},
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
.edit-site-sidebar-dataviews-dataview-item {
|
|
11
|
+
border-radius: $radius-block-ui;
|
|
12
|
+
padding-right: $grid-unit-10;
|
|
13
|
+
|
|
14
|
+
.edit-site-sidebar-dataviews-dataview-item__dropdown-menu {
|
|
15
|
+
min-width: initial;
|
|
16
|
+
}
|
|
17
|
+
|
|
11
18
|
&:hover,
|
|
12
19
|
&:focus,
|
|
13
20
|
&[aria-current] {
|