@wordpress/edit-site 5.24.1 → 5.25.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/add-new-template/add-custom-template-modal-content.js +2 -3
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +48 -23
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +5 -54
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +14 -5
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +6 -17
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +8 -7
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +1 -1
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js +8 -7
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/screen-revisions/get-revision-changes.js +146 -0
- package/build/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
- package/build/components/global-styles/screen-revisions/index.js +6 -10
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +63 -13
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/header-edit-mode/document-tools/index.js +17 -10
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +16 -38
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +11 -9
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/layout/index.js +9 -8
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page/header.js +2 -1
- package/build/components/page/header.js.map +1 -1
- package/build/components/page-pages/index.js +31 -28
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +1 -2
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +3 -0
- package/build/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +18 -17
- package/build/components/page-templates/dataviews-templates.js.map +1 -1
- package/build/components/preferences-modal/index.js +36 -20
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/routes/use-title.js +3 -4
- package/build/components/routes/use-title.js.map +1 -1
- package/build/components/save-button/index.js +2 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/sidebar/index.js +26 -12
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +2 -10
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +2 -2
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/index.js +9 -3
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +1 -2
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +3 -89
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/index.js +2 -1
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/template-areas.js +117 -0
- package/build/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
- package/build/components/site-hub/index.js +6 -3
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +3 -0
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/welcome-guide/styles.js +1 -1
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +9 -1
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +1 -1
- package/build/hooks/navigation-menu-edit.js.map +1 -1
- package/build/hooks/template-part-edit.js +1 -1
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/store/actions.js +15 -8
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +0 -18
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +12 -6
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +15 -1
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +50 -25
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +8 -56
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +14 -5
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +9 -20
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +9 -7
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +9 -7
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/get-revision-changes.js +139 -0
- package/build-module/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
- package/build-module/components/global-styles/screen-revisions/index.js +7 -11
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +64 -14
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/header-edit-mode/document-tools/index.js +17 -10
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +20 -42
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +12 -10
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/layout/index.js +9 -8
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page/header.js +2 -1
- package/build-module/components/page/header.js.map +1 -1
- package/build-module/components/page-pages/index.js +31 -28
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +1 -2
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +3 -0
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +18 -17
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +37 -21
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/routes/use-title.js +3 -4
- package/build-module/components/routes/use-title.js.map +1 -1
- package/build-module/components/save-button/index.js +2 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +26 -12
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +2 -10
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +2 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +9 -3
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -3
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +5 -90
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +2 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/template-areas.js +109 -0
- package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
- package/build-module/components/site-hub/index.js +6 -3
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +3 -0
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +1 -1
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +9 -1
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/navigation-menu-edit.js +1 -1
- package/build-module/hooks/navigation-menu-edit.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +1 -1
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/store/actions.js +13 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +0 -17
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +10 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +8 -0
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +302 -354
- package/build-style/style.css +302 -354
- package/package.json +42 -42
- package/src/components/add-new-template/add-custom-template-modal-content.js +1 -1
- package/src/components/block-editor/editor-canvas.js +63 -47
- package/src/components/block-editor/site-editor-canvas.js +32 -96
- package/src/components/block-editor/style.scss +6 -12
- package/src/components/block-editor/use-site-editor-settings.js +47 -36
- package/src/components/editor/index.js +10 -16
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +12 -6
- package/src/components/global-styles/font-library-modal/context.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -6
- package/src/components/global-styles/screen-revisions/get-revision-changes.js +171 -0
- package/src/components/global-styles/screen-revisions/index.js +4 -11
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +86 -17
- package/src/components/global-styles/screen-revisions/style.scss +10 -2
- package/src/components/global-styles/screen-revisions/test/get-revision-changes.js +191 -0
- package/src/components/header-edit-mode/document-tools/index.js +13 -13
- package/src/components/header-edit-mode/index.js +29 -63
- package/src/components/header-edit-mode/more-menu/index.js +18 -22
- package/src/components/header-edit-mode/style.scss +58 -33
- package/src/components/layout/index.js +21 -20
- package/src/components/list/style.scss +5 -0
- package/src/components/page/header.js +2 -1
- package/src/components/page/style.scss +2 -2
- package/src/components/page-pages/index.js +59 -35
- package/src/components/page-pages/style.scss +3 -1
- package/src/components/page-patterns/patterns-list.js +5 -2
- package/src/components/page-patterns/rename-menu-item.js +7 -1
- package/src/components/page-templates/dataviews-templates.js +28 -13
- package/src/components/preferences-modal/index.js +59 -33
- package/src/components/routes/use-title.js +3 -10
- package/src/components/save-button/index.js +1 -0
- package/src/components/sidebar/index.js +41 -24
- package/src/components/sidebar/style.scss +10 -12
- package/src/components/sidebar-dataviews/dataview-item.js +3 -7
- package/src/components/sidebar-dataviews/default-views.js +2 -2
- package/src/components/sidebar-edit-mode/page-panels/index.js +39 -25
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -2
- package/src/components/sidebar-edit-mode/page-panels/style.scss +1 -42
- package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +7 -1
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +1 -96
- package/src/components/sidebar-navigation-screen-template/index.js +8 -2
- package/src/components/sidebar-navigation-screen-template/template-areas.js +135 -0
- package/src/components/site-hub/index.js +4 -5
- package/src/components/template-actions/rename-menu-item.js +7 -1
- package/src/components/welcome-guide/styles.js +1 -1
- package/src/hooks/commands/use-common-commands.js +10 -5
- package/src/hooks/navigation-menu-edit.js +1 -1
- package/src/hooks/template-part-edit.js +1 -1
- package/src/store/actions.js +15 -5
- package/src/store/reducer.js +0 -18
- package/src/store/selectors.js +15 -3
- package/src/style.scss +1 -2
- package/src/utils/constants.js +8 -0
- package/build/components/dataviews/add-filter.js +0 -91
- package/build/components/dataviews/add-filter.js.map +0 -1
- package/build/components/dataviews/constants.js +0 -14
- package/build/components/dataviews/constants.js.map +0 -1
- package/build/components/dataviews/dataviews.js +0 -99
- package/build/components/dataviews/dataviews.js.map +0 -1
- package/build/components/dataviews/filter-summary.js +0 -62
- package/build/components/dataviews/filter-summary.js.map +0 -1
- package/build/components/dataviews/filters.js +0 -63
- package/build/components/dataviews/filters.js.map +0 -1
- package/build/components/dataviews/index.js +0 -21
- package/build/components/dataviews/index.js.map +0 -1
- package/build/components/dataviews/item-actions.js +0 -184
- package/build/components/dataviews/item-actions.js.map +0 -1
- package/build/components/dataviews/pagination.js +0 -123
- package/build/components/dataviews/pagination.js.map +0 -1
- package/build/components/dataviews/reset-filters.js +0 -33
- package/build/components/dataviews/reset-filters.js.map +0 -1
- package/build/components/dataviews/search.js +0 -51
- package/build/components/dataviews/search.js.map +0 -1
- package/build/components/dataviews/view-actions.js +0 -244
- package/build/components/dataviews/view-actions.js.map +0 -1
- package/build/components/dataviews/view-grid.js +0 -82
- package/build/components/dataviews/view-grid.js.map +0 -1
- package/build/components/dataviews/view-list.js +0 -399
- package/build/components/dataviews/view-list.js.map +0 -1
- package/build/components/dataviews/view-side-by-side.js +0 -20
- package/build/components/dataviews/view-side-by-side.js.map +0 -1
- package/build/components/header-edit-mode/document-actions/index.js +0 -172
- package/build/components/header-edit-mode/document-actions/index.js.map +0 -1
- package/build/components/page-content-focus-notifications/back-to-page-notification.js +0 -61
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-notifications/edit-template-notification.js +0 -102
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-notifications/index.js +0 -22
- package/build/components/page-content-focus-notifications/index.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +0 -101
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +0 -79
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -48
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -84
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
- package/build/utils/use-debounced-input.js +0 -22
- package/build/utils/use-debounced-input.js.map +0 -1
- package/build-module/components/dataviews/add-filter.js +0 -84
- package/build-module/components/dataviews/add-filter.js.map +0 -1
- package/build-module/components/dataviews/constants.js +0 -6
- package/build-module/components/dataviews/constants.js.map +0 -1
- package/build-module/components/dataviews/dataviews.js +0 -90
- package/build-module/components/dataviews/dataviews.js.map +0 -1
- package/build-module/components/dataviews/filter-summary.js +0 -55
- package/build-module/components/dataviews/filter-summary.js.map +0 -1
- package/build-module/components/dataviews/filters.js +0 -55
- package/build-module/components/dataviews/filters.js.map +0 -1
- package/build-module/components/dataviews/index.js +0 -2
- package/build-module/components/dataviews/index.js.map +0 -1
- package/build-module/components/dataviews/item-actions.js +0 -177
- package/build-module/components/dataviews/item-actions.js.map +0 -1
- package/build-module/components/dataviews/pagination.js +0 -115
- package/build-module/components/dataviews/pagination.js.map +0 -1
- package/build-module/components/dataviews/reset-filters.js +0 -26
- package/build-module/components/dataviews/reset-filters.js.map +0 -1
- package/build-module/components/dataviews/search.js +0 -43
- package/build-module/components/dataviews/search.js.map +0 -1
- package/build-module/components/dataviews/view-actions.js +0 -237
- package/build-module/components/dataviews/view-actions.js.map +0 -1
- package/build-module/components/dataviews/view-grid.js +0 -74
- package/build-module/components/dataviews/view-grid.js.map +0 -1
- package/build-module/components/dataviews/view-list.js +0 -390
- package/build-module/components/dataviews/view-list.js.map +0 -1
- package/build-module/components/dataviews/view-side-by-side.js +0 -12
- package/build-module/components/dataviews/view-side-by-side.js.map +0 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +0 -164
- package/build-module/components/header-edit-mode/document-actions/index.js.map +0 -1
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js +0 -54
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js +0 -96
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-notifications/index.js +0 -14
- package/build-module/components/page-content-focus-notifications/index.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +0 -93
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +0 -69
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -41
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -77
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
- package/build-module/utils/use-debounced-input.js +0 -15
- package/build-module/utils/use-debounced-input.js.map +0 -1
- package/src/components/dataviews/README.md +0 -191
- package/src/components/dataviews/add-filter.js +0 -108
- package/src/components/dataviews/constants.js +0 -5
- package/src/components/dataviews/dataviews.js +0 -99
- package/src/components/dataviews/filter-summary.js +0 -79
- package/src/components/dataviews/filters.js +0 -65
- package/src/components/dataviews/index.js +0 -1
- package/src/components/dataviews/item-actions.js +0 -208
- package/src/components/dataviews/pagination.js +0 -144
- package/src/components/dataviews/reset-filters.js +0 -26
- package/src/components/dataviews/search.js +0 -42
- package/src/components/dataviews/style.scss +0 -131
- package/src/components/dataviews/view-actions.js +0 -319
- package/src/components/dataviews/view-grid.js +0 -90
- package/src/components/dataviews/view-list.js +0 -512
- package/src/components/dataviews/view-side-by-side.js +0 -9
- package/src/components/header-edit-mode/document-actions/index.js +0 -204
- package/src/components/header-edit-mode/document-actions/style.scss +0 -145
- package/src/components/page-content-focus-notifications/back-to-page-notification.js +0 -58
- package/src/components/page-content-focus-notifications/edit-template-notification.js +0 -104
- package/src/components/page-content-focus-notifications/index.js +0 -14
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +0 -108
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +0 -99
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -45
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -83
- package/src/utils/use-debounced-input.js +0 -18
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { Button, __experimentalHStack as HStack, __experimentalText as Text, __experimentalNumberControl as NumberControl } from '@wordpress/components';
|
|
6
|
-
import { createInterpolateElement } from '@wordpress/element';
|
|
7
|
-
import { sprintf, __, _x, _n } from '@wordpress/i18n';
|
|
8
|
-
import { chevronRight, chevronLeft, previous, next } from '@wordpress/icons';
|
|
9
|
-
function Pagination({
|
|
10
|
-
view,
|
|
11
|
-
onChangeView,
|
|
12
|
-
paginationInfo: {
|
|
13
|
-
totalItems = 0,
|
|
14
|
-
totalPages
|
|
15
|
-
}
|
|
16
|
-
}) {
|
|
17
|
-
if (!totalItems || !totalPages) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return createElement(HStack, {
|
|
21
|
-
expanded: false,
|
|
22
|
-
spacing: 3,
|
|
23
|
-
justify: "space-between",
|
|
24
|
-
className: "dataviews-pagination"
|
|
25
|
-
}, createElement(Text, {
|
|
26
|
-
variant: "muted"
|
|
27
|
-
},
|
|
28
|
-
// translators: %s: Total number of entries.
|
|
29
|
-
sprintf(
|
|
30
|
-
// translators: %s: Total number of entries.
|
|
31
|
-
_n('%s item', '%s items', totalItems), totalItems)), !!totalItems && createElement(HStack, {
|
|
32
|
-
expanded: false,
|
|
33
|
-
spacing: 3
|
|
34
|
-
}, createElement(HStack, {
|
|
35
|
-
justify: "flex-start",
|
|
36
|
-
expanded: false,
|
|
37
|
-
spacing: 1
|
|
38
|
-
}, createElement(Button, {
|
|
39
|
-
onClick: () => onChangeView({
|
|
40
|
-
...view,
|
|
41
|
-
page: 1
|
|
42
|
-
}),
|
|
43
|
-
disabled: view.page === 1,
|
|
44
|
-
__experimentalIsFocusable: true,
|
|
45
|
-
label: __('First page'),
|
|
46
|
-
icon: previous,
|
|
47
|
-
showTooltip: true,
|
|
48
|
-
size: "compact"
|
|
49
|
-
}), createElement(Button, {
|
|
50
|
-
onClick: () => onChangeView({
|
|
51
|
-
...view,
|
|
52
|
-
page: view.page - 1
|
|
53
|
-
}),
|
|
54
|
-
disabled: view.page === 1,
|
|
55
|
-
__experimentalIsFocusable: true,
|
|
56
|
-
label: __('Previous page'),
|
|
57
|
-
icon: chevronLeft,
|
|
58
|
-
showTooltip: true,
|
|
59
|
-
size: "compact"
|
|
60
|
-
})), createElement(HStack, {
|
|
61
|
-
justify: "flex-start",
|
|
62
|
-
expanded: false,
|
|
63
|
-
spacing: 2
|
|
64
|
-
}, createInterpolateElement(sprintf(
|
|
65
|
-
// translators: %1$s: Current page number, %2$s: Total number of pages.
|
|
66
|
-
_x('<CurrenPageControl /> of %2$s', 'paging'), view.page, totalPages), {
|
|
67
|
-
CurrenPageControl: createElement(NumberControl, {
|
|
68
|
-
"aria-label": __('Current page'),
|
|
69
|
-
min: 1,
|
|
70
|
-
max: totalPages,
|
|
71
|
-
onChange: value => {
|
|
72
|
-
const _value = +value;
|
|
73
|
-
if (!_value || _value < 1 || _value > totalPages) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
onChangeView({
|
|
77
|
-
...view,
|
|
78
|
-
page: _value
|
|
79
|
-
});
|
|
80
|
-
},
|
|
81
|
-
step: "1",
|
|
82
|
-
value: view.page,
|
|
83
|
-
isDragEnabled: false,
|
|
84
|
-
spinControls: "none"
|
|
85
|
-
})
|
|
86
|
-
})), createElement(HStack, {
|
|
87
|
-
justify: "flex-start",
|
|
88
|
-
expanded: false,
|
|
89
|
-
spacing: 1
|
|
90
|
-
}, createElement(Button, {
|
|
91
|
-
onClick: () => onChangeView({
|
|
92
|
-
...view,
|
|
93
|
-
page: view.page + 1
|
|
94
|
-
}),
|
|
95
|
-
disabled: view.page >= totalPages,
|
|
96
|
-
__experimentalIsFocusable: true,
|
|
97
|
-
label: __('Next page'),
|
|
98
|
-
icon: chevronRight,
|
|
99
|
-
showTooltip: true,
|
|
100
|
-
size: "compact"
|
|
101
|
-
}), createElement(Button, {
|
|
102
|
-
onClick: () => onChangeView({
|
|
103
|
-
...view,
|
|
104
|
-
page: totalPages
|
|
105
|
-
}),
|
|
106
|
-
disabled: view.page >= totalPages,
|
|
107
|
-
__experimentalIsFocusable: true,
|
|
108
|
-
label: __('Last page'),
|
|
109
|
-
icon: next,
|
|
110
|
-
showTooltip: true,
|
|
111
|
-
size: "compact"
|
|
112
|
-
}))));
|
|
113
|
-
}
|
|
114
|
-
export default Pagination;
|
|
115
|
-
//# sourceMappingURL=pagination.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","__experimentalHStack","HStack","__experimentalText","Text","__experimentalNumberControl","NumberControl","createInterpolateElement","sprintf","__","_x","_n","chevronRight","chevronLeft","previous","next","Pagination","view","onChangeView","paginationInfo","totalItems","totalPages","createElement","expanded","spacing","justify","className","variant","onClick","page","disabled","__experimentalIsFocusable","label","icon","showTooltip","size","CurrenPageControl","min","max","onChange","value","_value","step","isDragEnabled","spinControls"],"sources":["@wordpress/edit-site/src/components/dataviews/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { sprintf, __, _x, _n } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft, previous, next } from '@wordpress/icons';\n\nfunction Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"space-between\"\n\t\t\tclassName=\"dataviews-pagination\"\n\t\t>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t{ !! totalItems && (\n\t\t\t\t<HStack expanded={ false } spacing={ 3 }>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\t\t\ticon={ previous }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t\t_x( '<CurrenPageControl /> of %2$s', 'paging' ),\n\t\t\t\t\t\t\t\tview.page,\n\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\t\tmax={ totalPages }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst _value = +value;\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t! _value ||\n\t\t\t\t\t\t\t\t\t\t\t\t_value < 1 ||\n\t\t\t\t\t\t\t\t\t\t\t\t_value > totalPages\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tpage: _value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: totalPages } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\t\t\ticon={ next }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default Pagination;\n"],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { Button } from '@wordpress/components';
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
-
export default (({
|
|
8
|
-
view,
|
|
9
|
-
onChangeView
|
|
10
|
-
}) => {
|
|
11
|
-
return createElement(Button, {
|
|
12
|
-
disabled: view.search === '' && view.filters?.length === 0,
|
|
13
|
-
__experimentalIsFocusable: true,
|
|
14
|
-
size: "compact",
|
|
15
|
-
variant: "tertiary",
|
|
16
|
-
onClick: () => {
|
|
17
|
-
onChangeView(currentView => ({
|
|
18
|
-
...currentView,
|
|
19
|
-
page: 1,
|
|
20
|
-
search: '',
|
|
21
|
-
filters: []
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
}, __('Reset filters'));
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=reset-filters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","__","view","onChangeView","createElement","disabled","search","filters","length","__experimentalIsFocusable","size","variant","onClick","currentView","page"],"sources":["@wordpress/edit-site/src/components/dataviews/reset-filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default ( { view, onChangeView } ) => {\n\treturn (\n\t\t<Button\n\t\t\tdisabled={ view.search === '' && view.filters?.length === 0 }\n\t\t\t__experimentalIsFocusable\n\t\t\tsize=\"compact\"\n\t\t\tvariant=\"tertiary\"\n\t\t\tonClick={ () => {\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tsearch: '',\n\t\t\t\t\tfilters: [],\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Reset filters' ) }\n\t\t</Button>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,gBAAe,CAAE;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EAC5C,OACCC,aAAA,CAACJ,MAAM;IACNK,QAAQ,EAAGH,IAAI,CAACI,MAAM,KAAK,EAAE,IAAIJ,IAAI,CAACK,OAAO,EAAEC,MAAM,KAAK,CAAG;IAC7DC,yBAAyB;IACzBC,IAAI,EAAC,SAAS;IACdC,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGA,CAAA,KAAM;MACfT,YAAY,CAAIU,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACPR,MAAM,EAAE,EAAE;QACVC,OAAO,EAAE;MACV,CAAC,CAAG,CAAC;IACN;EAAG,GAEDN,EAAE,CAAE,eAAgB,CACf,CAAC;AAEX,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { useEffect, useRef } from '@wordpress/element';
|
|
7
|
-
import { SearchControl } from '@wordpress/components';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
|
-
import useDebouncedInput from '../../utils/use-debounced-input';
|
|
13
|
-
export default function Search({
|
|
14
|
-
label,
|
|
15
|
-
view,
|
|
16
|
-
onChangeView
|
|
17
|
-
}) {
|
|
18
|
-
const [search, setSearch, debouncedSearch] = useDebouncedInput(view.search);
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
setSearch(view.search);
|
|
21
|
-
}, [view]);
|
|
22
|
-
const onChangeViewRef = useRef(onChangeView);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
onChangeViewRef.current = onChangeView;
|
|
25
|
-
}, [onChangeView]);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
onChangeViewRef.current(currentView => ({
|
|
28
|
-
...currentView,
|
|
29
|
-
page: 1,
|
|
30
|
-
search: debouncedSearch
|
|
31
|
-
}));
|
|
32
|
-
}, [debouncedSearch]);
|
|
33
|
-
const searchLabel = label || __('Filter list');
|
|
34
|
-
return createElement(SearchControl, {
|
|
35
|
-
__nextHasNoMarginBottom: true,
|
|
36
|
-
onChange: setSearch,
|
|
37
|
-
value: search,
|
|
38
|
-
label: searchLabel,
|
|
39
|
-
placeholder: searchLabel,
|
|
40
|
-
size: "compact"
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__","useEffect","useRef","SearchControl","useDebouncedInput","Search","label","view","onChangeView","search","setSearch","debouncedSearch","onChangeViewRef","current","currentView","page","searchLabel","createElement","__nextHasNoMarginBottom","onChange","value","placeholder","size"],"sources":["@wordpress/edit-site/src/components/dataviews/search.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\n\nexport default function Search( { label, view, onChangeView } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search );\n\t}, [ view ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t}, [ onChangeView ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} ) );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Filter list' );\n\treturn (\n\t\t<SearchControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,iCAAiC;AAE/D,eAAe,SAASC,MAAMA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC/D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAGP,iBAAiB,CAC/DG,IAAI,CAACE,MACN,CAAC;EACDR,SAAS,CAAE,MAAM;IAChBS,SAAS,CAAEH,IAAI,CAACE,MAAO,CAAC;EACzB,CAAC,EAAE,CAAEF,IAAI,CAAG,CAAC;EACb,MAAMK,eAAe,GAAGV,MAAM,CAAEM,YAAa,CAAC;EAC9CP,SAAS,CAAE,MAAM;IAChBW,eAAe,CAACC,OAAO,GAAGL,YAAY;EACvC,CAAC,EAAE,CAAEA,YAAY,CAAG,CAAC;EACrBP,SAAS,CAAE,MAAM;IAChBW,eAAe,CAACC,OAAO,CAAIC,WAAW,KAAQ;MAC7C,GAAGA,WAAW;MACdC,IAAI,EAAE,CAAC;MACPN,MAAM,EAAEE;IACT,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMK,WAAW,GAAGV,KAAK,IAAIN,EAAE,CAAE,aAAc,CAAC;EAChD,OACCiB,aAAA,CAACd,aAAa;IACbe,uBAAuB;IACvBC,QAAQ,EAAGT,SAAW;IACtBU,KAAK,EAAGX,MAAQ;IAChBH,KAAK,EAAGU,WAAa;IACrBK,WAAW,EAAGL,WAAa;IAC3BM,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ"}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { createElement, Fragment } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { Button, Icon, privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
6
|
-
import { chevronRightSmall, check, blockTable, arrowUp, arrowDown, grid, columns } from '@wordpress/icons';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
|
-
import { unlock } from '../../lock-unlock';
|
|
13
|
-
const {
|
|
14
|
-
DropdownMenuV2: DropdownMenu,
|
|
15
|
-
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
16
|
-
DropdownMenuItemV2: DropdownMenuItem,
|
|
17
|
-
DropdownSubMenuV2: DropdownSubMenu,
|
|
18
|
-
DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
|
|
19
|
-
} = unlock(componentsPrivateApis);
|
|
20
|
-
const availableViews = [{
|
|
21
|
-
id: 'list',
|
|
22
|
-
label: __('List')
|
|
23
|
-
}, {
|
|
24
|
-
id: 'grid',
|
|
25
|
-
label: __('Grid')
|
|
26
|
-
}, {
|
|
27
|
-
id: 'side-by-side',
|
|
28
|
-
label: __('Side by side')
|
|
29
|
-
}];
|
|
30
|
-
function ViewTypeMenu({
|
|
31
|
-
view,
|
|
32
|
-
onChangeView,
|
|
33
|
-
supportedLayouts
|
|
34
|
-
}) {
|
|
35
|
-
let _availableViews = availableViews;
|
|
36
|
-
if (supportedLayouts) {
|
|
37
|
-
_availableViews = _availableViews.filter(_view => supportedLayouts.includes(_view.id));
|
|
38
|
-
}
|
|
39
|
-
if (_availableViews.length === 1) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
const activeView = _availableViews.find(v => view.type === v.id);
|
|
43
|
-
return createElement(DropdownSubMenu, {
|
|
44
|
-
trigger: createElement(DropdownSubMenuTrigger, {
|
|
45
|
-
suffix: createElement(Fragment, null, activeView.label, createElement(Icon, {
|
|
46
|
-
icon: chevronRightSmall
|
|
47
|
-
}))
|
|
48
|
-
}, __('Layout'))
|
|
49
|
-
}, _availableViews.map(availableView => {
|
|
50
|
-
return createElement(DropdownMenuItem, {
|
|
51
|
-
key: availableView.id,
|
|
52
|
-
prefix: availableView.id === view.type && createElement(Icon, {
|
|
53
|
-
icon: check
|
|
54
|
-
}),
|
|
55
|
-
onSelect: event => {
|
|
56
|
-
// We need to handle this on DropDown component probably..
|
|
57
|
-
event.preventDefault();
|
|
58
|
-
onChangeView({
|
|
59
|
-
...view,
|
|
60
|
-
type: availableView.id
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
// TODO: check about role and a11y.
|
|
64
|
-
,
|
|
65
|
-
role: "menuitemcheckbox"
|
|
66
|
-
}, availableView.label);
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
const PAGE_SIZE_VALUES = [10, 20, 50, 100];
|
|
70
|
-
function PageSizeMenu({
|
|
71
|
-
view,
|
|
72
|
-
onChangeView
|
|
73
|
-
}) {
|
|
74
|
-
return createElement(DropdownSubMenu, {
|
|
75
|
-
trigger: createElement(DropdownSubMenuTrigger, {
|
|
76
|
-
suffix: createElement(Fragment, null, view.perPage, createElement(Icon, {
|
|
77
|
-
icon: chevronRightSmall
|
|
78
|
-
}))
|
|
79
|
-
}, __('Rows per page'))
|
|
80
|
-
}, PAGE_SIZE_VALUES.map(size => {
|
|
81
|
-
return createElement(DropdownMenuItem, {
|
|
82
|
-
key: size,
|
|
83
|
-
prefix: view.perPage === size && createElement(Icon, {
|
|
84
|
-
icon: check
|
|
85
|
-
}),
|
|
86
|
-
onSelect: event => {
|
|
87
|
-
// We need to handle this on DropDown component probably..
|
|
88
|
-
event.preventDefault();
|
|
89
|
-
onChangeView({
|
|
90
|
-
...view,
|
|
91
|
-
perPage: size,
|
|
92
|
-
page: 1
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
// TODO: check about role and a11y.
|
|
96
|
-
,
|
|
97
|
-
role: "menuitemcheckbox"
|
|
98
|
-
}, size);
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
function FieldsVisibilityMenu({
|
|
102
|
-
view,
|
|
103
|
-
onChangeView,
|
|
104
|
-
fields
|
|
105
|
-
}) {
|
|
106
|
-
const hidableFields = fields.filter(field => field.enableHiding !== false);
|
|
107
|
-
if (!hidableFields?.length) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
return createElement(DropdownSubMenu, {
|
|
111
|
-
trigger: createElement(DropdownSubMenuTrigger, {
|
|
112
|
-
suffix: createElement(Icon, {
|
|
113
|
-
icon: chevronRightSmall
|
|
114
|
-
})
|
|
115
|
-
}, __('Fields'))
|
|
116
|
-
}, hidableFields?.map(field => {
|
|
117
|
-
return createElement(DropdownMenuItem, {
|
|
118
|
-
key: field.id,
|
|
119
|
-
prefix: !view.hiddenFields?.includes(field.id) && createElement(Icon, {
|
|
120
|
-
icon: check
|
|
121
|
-
}),
|
|
122
|
-
onSelect: event => {
|
|
123
|
-
event.preventDefault();
|
|
124
|
-
onChangeView({
|
|
125
|
-
...view,
|
|
126
|
-
hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...view.hiddenFields, field.id]
|
|
127
|
-
});
|
|
128
|
-
},
|
|
129
|
-
role: "menuitemcheckbox"
|
|
130
|
-
}, field.header);
|
|
131
|
-
}));
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// This object is used to construct the sorting options per sortable field.
|
|
135
|
-
const sortingItemsInfo = {
|
|
136
|
-
asc: {
|
|
137
|
-
icon: arrowUp,
|
|
138
|
-
label: __('Sort ascending')
|
|
139
|
-
},
|
|
140
|
-
desc: {
|
|
141
|
-
icon: arrowDown,
|
|
142
|
-
label: __('Sort descending')
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
function SortMenu({
|
|
146
|
-
fields,
|
|
147
|
-
view,
|
|
148
|
-
onChangeView
|
|
149
|
-
}) {
|
|
150
|
-
const sortableFields = fields.filter(field => field.enableSorting !== false);
|
|
151
|
-
if (!sortableFields?.length) {
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
const currentSortedField = fields.find(field => field.id === view.sort?.field);
|
|
155
|
-
return createElement(DropdownSubMenu, {
|
|
156
|
-
trigger: createElement(DropdownSubMenuTrigger, {
|
|
157
|
-
suffix: createElement(Fragment, null, currentSortedField?.header, createElement(Icon, {
|
|
158
|
-
icon: chevronRightSmall
|
|
159
|
-
}))
|
|
160
|
-
}, __('Sort by'))
|
|
161
|
-
}, sortableFields?.map(field => {
|
|
162
|
-
const sortedDirection = view.sort?.direction;
|
|
163
|
-
return createElement(DropdownSubMenu, {
|
|
164
|
-
key: field.id,
|
|
165
|
-
trigger: createElement(DropdownSubMenuTrigger, {
|
|
166
|
-
suffix: createElement(Icon, {
|
|
167
|
-
icon: chevronRightSmall
|
|
168
|
-
})
|
|
169
|
-
}, field.header),
|
|
170
|
-
side: "left"
|
|
171
|
-
}, Object.entries(sortingItemsInfo).map(([direction, info]) => {
|
|
172
|
-
const isActive = currentSortedField && sortedDirection === direction && field.id === currentSortedField.id;
|
|
173
|
-
return createElement(DropdownMenuItem, {
|
|
174
|
-
key: direction,
|
|
175
|
-
prefix: createElement(Icon, {
|
|
176
|
-
icon: info.icon
|
|
177
|
-
}),
|
|
178
|
-
suffix: isActive && createElement(Icon, {
|
|
179
|
-
icon: check
|
|
180
|
-
}),
|
|
181
|
-
onSelect: event => {
|
|
182
|
-
event.preventDefault();
|
|
183
|
-
if (sortedDirection === direction) {
|
|
184
|
-
onChangeView({
|
|
185
|
-
...view,
|
|
186
|
-
sort: undefined
|
|
187
|
-
});
|
|
188
|
-
} else {
|
|
189
|
-
onChangeView({
|
|
190
|
-
...view,
|
|
191
|
-
sort: {
|
|
192
|
-
field: field.id,
|
|
193
|
-
direction
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}, info.label);
|
|
199
|
-
}));
|
|
200
|
-
}));
|
|
201
|
-
}
|
|
202
|
-
const VIEW_TYPE_ICONS = {
|
|
203
|
-
list: blockTable,
|
|
204
|
-
grid,
|
|
205
|
-
'side-by-side': columns
|
|
206
|
-
};
|
|
207
|
-
export default function ViewActions({
|
|
208
|
-
fields,
|
|
209
|
-
view,
|
|
210
|
-
onChangeView,
|
|
211
|
-
supportedLayouts
|
|
212
|
-
}) {
|
|
213
|
-
return createElement(DropdownMenu, {
|
|
214
|
-
trigger: createElement(Button, {
|
|
215
|
-
variant: "tertiary",
|
|
216
|
-
size: "compact",
|
|
217
|
-
icon: VIEW_TYPE_ICONS[view.type] || VIEW_TYPE_ICONS.list,
|
|
218
|
-
label: __('View options')
|
|
219
|
-
})
|
|
220
|
-
}, createElement(DropdownMenuGroup, null, createElement(ViewTypeMenu, {
|
|
221
|
-
view: view,
|
|
222
|
-
onChangeView: onChangeView,
|
|
223
|
-
supportedLayouts: supportedLayouts
|
|
224
|
-
}), createElement(SortMenu, {
|
|
225
|
-
fields: fields,
|
|
226
|
-
view: view,
|
|
227
|
-
onChangeView: onChangeView
|
|
228
|
-
}), createElement(FieldsVisibilityMenu, {
|
|
229
|
-
fields: fields,
|
|
230
|
-
view: view,
|
|
231
|
-
onChangeView: onChangeView
|
|
232
|
-
}), createElement(PageSizeMenu, {
|
|
233
|
-
view: view,
|
|
234
|
-
onChangeView: onChangeView
|
|
235
|
-
})));
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=view-actions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Icon","privateApis","componentsPrivateApis","chevronRightSmall","check","blockTable","arrowUp","arrowDown","grid","columns","__","unlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownSubMenuV2","DropdownSubMenu","DropdownSubMenuTriggerV2","DropdownSubMenuTrigger","availableViews","id","label","ViewTypeMenu","view","onChangeView","supportedLayouts","_availableViews","filter","_view","includes","length","activeView","find","v","type","createElement","trigger","suffix","Fragment","icon","map","availableView","key","prefix","onSelect","event","preventDefault","role","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","field","enableHiding","hiddenFields","header","sortingItemsInfo","asc","desc","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","undefined","VIEW_TYPE_ICONS","list","ViewActions","variant"],"sources":["@wordpress/edit-site/src/components/dataviews/view-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport {\n\tchevronRightSmall,\n\tcheck,\n\tblockTable,\n\tarrowUp,\n\tarrowDown,\n\tgrid,\n\tcolumns,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownSubMenuV2: DropdownSubMenu,\n\tDropdownSubMenuTriggerV2: DropdownSubMenuTrigger,\n} = unlock( componentsPrivateApis );\n\nconst availableViews = [\n\t{\n\t\tid: 'list',\n\t\tlabel: __( 'List' ),\n\t},\n\t{\n\t\tid: 'grid',\n\t\tlabel: __( 'Grid' ),\n\t},\n\t{\n\t\tid: 'side-by-side',\n\t\tlabel: __( 'Side by side' ),\n\t},\n];\n\nfunction ViewTypeMenu( { view, onChangeView, supportedLayouts } ) {\n\tlet _availableViews = availableViews;\n\tif ( supportedLayouts ) {\n\t\t_availableViews = _availableViews.filter( ( _view ) =>\n\t\t\tsupportedLayouts.includes( _view.id )\n\t\t);\n\t}\n\tif ( _availableViews.length === 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = _availableViews.find( ( v ) => view.type === v.id );\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ activeView.label }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ _availableViews.map( ( availableView ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ availableView.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tavailableView.id === view.type && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( { ...view, type: availableView.id } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ availableView.label }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction PageSizeMenu( { view, onChangeView } ) {\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ view.perPage }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ /* TODO: probably label per view type. */ }\n\t\t\t\t\t{ __( 'Rows per page' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tview.perPage === size && <Icon icon={ check } />\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t// We need to handle this on DropDown component probably..\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( { ...view, perPage: size, page: 1 } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// TODO: check about role and a11y.\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ size }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nfunction FieldsVisibilityMenu( { view, onChangeView, fields } ) {\n\tconst hidableFields = fields.filter(\n\t\t( field ) => field.enableHiding !== false\n\t);\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t! view.hiddenFields?.includes( field.id ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\thiddenFields: view.hiddenFields?.includes(\n\t\t\t\t\t\t\t\t\tfield.id\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t? view.hiddenFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...view.hiddenFields, field.id ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\n// This object is used to construct the sorting options per sortable field.\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nfunction SortMenu( { fields, view, onChangeView } ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownSubMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ currentSortedField?.header }\n\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenu\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside=\"left\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => {\n\t\t\t\t\t\t\t\tconst isActive =\n\t\t\t\t\t\t\t\t\tcurrentSortedField &&\n\t\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tisActive && <Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tsortedDirection === direction\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsort: undefined,\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownSubMenu>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenu>\n\t);\n}\n\nconst VIEW_TYPE_ICONS = { list: blockTable, grid, 'side-by-side': columns };\n\nexport default function ViewActions( {\n\tfields,\n\tview,\n\tonChangeView,\n\tsupportedLayouts,\n} ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={\n\t\t\t\t\t\tVIEW_TYPE_ICONS[ view.type ] || VIEW_TYPE_ICONS.list\n\t\t\t\t\t}\n\t\t\t\t\tlabel={ __( 'View options' ) }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t<ViewTypeMenu\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t\t<SortMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<FieldsVisibilityMenu\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t\t<PageSizeMenu view={ view } onChangeView={ onChangeView } />\n\t\t\t</DropdownMenuGroup>\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
|
-
import { useAsyncList } from '@wordpress/compose';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal dependencies
|
|
10
|
-
*/
|
|
11
|
-
import ItemActions from './item-actions';
|
|
12
|
-
export function ViewGrid({
|
|
13
|
-
data,
|
|
14
|
-
fields,
|
|
15
|
-
view,
|
|
16
|
-
actions,
|
|
17
|
-
getItemId
|
|
18
|
-
}) {
|
|
19
|
-
const mediaField = fields.find(field => field.id === view.layout.mediaField);
|
|
20
|
-
const primaryField = fields.find(field => field.id === view.layout.primaryField);
|
|
21
|
-
const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.mediaField, view.layout.primaryField].includes(field.id));
|
|
22
|
-
const shownData = useAsyncList(data, {
|
|
23
|
-
step: 3
|
|
24
|
-
});
|
|
25
|
-
return createElement(Grid, {
|
|
26
|
-
gap: 8,
|
|
27
|
-
columns: 2,
|
|
28
|
-
alignment: "top",
|
|
29
|
-
className: "dataviews-grid-view"
|
|
30
|
-
}, shownData.map((item, index) => createElement(VStack, {
|
|
31
|
-
spacing: 3,
|
|
32
|
-
key: getItemId?.(item) || index,
|
|
33
|
-
className: "dataviews-view-grid__card"
|
|
34
|
-
}, createElement("div", {
|
|
35
|
-
className: "dataviews-view-grid__media"
|
|
36
|
-
}, mediaField?.render({
|
|
37
|
-
item,
|
|
38
|
-
view
|
|
39
|
-
})), createElement(HStack, {
|
|
40
|
-
className: "dataviews-view-grid__title",
|
|
41
|
-
justify: "space-between"
|
|
42
|
-
}, primaryField?.render({
|
|
43
|
-
item,
|
|
44
|
-
view
|
|
45
|
-
}), createElement(ItemActions, {
|
|
46
|
-
item: item,
|
|
47
|
-
actions: actions,
|
|
48
|
-
isCompact: true
|
|
49
|
-
})), createElement(VStack, {
|
|
50
|
-
className: "dataviews-view-grid__fields",
|
|
51
|
-
spacing: 3
|
|
52
|
-
}, visibleFields.map(field => {
|
|
53
|
-
const renderedValue = field.render({
|
|
54
|
-
item,
|
|
55
|
-
view
|
|
56
|
-
});
|
|
57
|
-
if (!renderedValue) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
return createElement(VStack, {
|
|
61
|
-
className: "dataviews-view-grid__field",
|
|
62
|
-
key: field.id,
|
|
63
|
-
spacing: 1
|
|
64
|
-
}, createElement("div", {
|
|
65
|
-
className: "dataviews-view-grid__field-header"
|
|
66
|
-
}, field.header), createElement("div", {
|
|
67
|
-
className: "dataviews-view-grid__field-value"
|
|
68
|
-
}, field.render({
|
|
69
|
-
item,
|
|
70
|
-
view
|
|
71
|
-
})));
|
|
72
|
-
})))));
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=view-grid.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","useAsyncList","ItemActions","ViewGrid","data","fields","view","actions","getItemId","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","shownData","step","createElement","gap","columns","alignment","className","map","item","index","spacing","key","render","justify","isCompact","renderedValue","header"],"sources":["@wordpress/edit-site/src/components/dataviews/view-grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\n\nexport function ViewGrid( { data, fields, view, actions, getItemId } ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\treturn (\n\t\t<Grid\n\t\t\tgap={ 8 }\n\t\t\tcolumns={ 2 }\n\t\t\talignment=\"top\"\n\t\t\tclassName=\"dataviews-grid-view\"\n\t\t>\n\t\t\t{ shownData.map( ( item, index ) => (\n\t\t\t\t<VStack\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tkey={ getItemId?.( item ) || index }\n\t\t\t\t\tclassName=\"dataviews-view-grid__card\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t\t\t{ mediaField?.render( { item, view } ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__title\"\n\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryField?.render( { item, view } ) }\n\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tview,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-header\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-value\">\n\t\t\t\t\t\t\t\t\t\t{ field.render( { item, view } ) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA,OAAOC,WAAW,MAAM,gBAAgB;AAExC,OAAO,SAASC,QAAQA,CAAE;EAAEC,IAAI;EAAEC,MAAM;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAU,CAAC,EAAG;EACtE,MAAMC,UAAU,GAAGJ,MAAM,CAACK,IAAI,CAC3BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKN,IAAI,CAACO,MAAM,CAACJ,UACvC,CAAC;EACD,MAAMK,YAAY,GAAGT,MAAM,CAACK,IAAI,CAC7BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKN,IAAI,CAACO,MAAM,CAACC,YACvC,CAAC;EACD,MAAMC,aAAa,GAAGV,MAAM,CAACW,MAAM,CAChCL,KAAK,IACN,CAAEL,IAAI,CAACW,YAAY,CAACC,QAAQ,CAAEP,KAAK,CAACC,EAAG,CAAC,IACxC,CAAE,CAAEN,IAAI,CAACO,MAAM,CAACJ,UAAU,EAAEH,IAAI,CAACO,MAAM,CAACC,YAAY,CAAE,CAACI,QAAQ,CAC9DP,KAAK,CAACC,EACP,CACF,CAAC;EACD,MAAMO,SAAS,GAAGlB,YAAY,CAAEG,IAAI,EAAE;IAAEgB,IAAI,EAAE;EAAE,CAAE,CAAC;EACnD,OACCC,aAAA,CAACzB,IAAI;IACJ0B,GAAG,EAAG,CAAG;IACTC,OAAO,EAAG,CAAG;IACbC,SAAS,EAAC,KAAK;IACfC,SAAS,EAAC;EAAqB,GAE7BN,SAAS,CAACO,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAC7BP,aAAA,CAACrB,MAAM;IACN6B,OAAO,EAAG,CAAG;IACbC,GAAG,EAAGtB,SAAS,GAAImB,IAAK,CAAC,IAAIC,KAAO;IACpCH,SAAS,EAAC;EAA2B,GAErCJ,aAAA;IAAKI,SAAS,EAAC;EAA4B,GACxChB,UAAU,EAAEsB,MAAM,CAAE;IAAEJ,IAAI;IAAErB;EAAK,CAAE,CACjC,CAAC,EACNe,aAAA,CAACvB,MAAM;IACN2B,SAAS,EAAC,4BAA4B;IACtCO,OAAO,EAAC;EAAe,GAErBlB,YAAY,EAAEiB,MAAM,CAAE;IAAEJ,IAAI;IAAErB;EAAK,CAAE,CAAC,EACxCe,aAAA,CAACnB,WAAW;IACXyB,IAAI,EAAGA,IAAM;IACbpB,OAAO,EAAGA,OAAS;IACnB0B,SAAS;EAAA,CACT,CACM,CAAC,EACTZ,aAAA,CAACrB,MAAM;IACNyB,SAAS,EAAC,6BAA6B;IACvCI,OAAO,EAAG;EAAG,GAEXd,aAAa,CAACW,GAAG,CAAIf,KAAK,IAAM;IACjC,MAAMuB,aAAa,GAAGvB,KAAK,CAACoB,MAAM,CAAE;MACnCJ,IAAI;MACJrB;IACD,CAAE,CAAC;IACH,IAAK,CAAE4B,aAAa,EAAG;MACtB,OAAO,IAAI;IACZ;IACA,OACCb,aAAA,CAACrB,MAAM;MACNyB,SAAS,EAAC,4BAA4B;MACtCK,GAAG,EAAGnB,KAAK,CAACC,EAAI;MAChBiB,OAAO,EAAG;IAAG,GAEbR,aAAA;MAAKI,SAAS,EAAC;IAAmC,GAC/Cd,KAAK,CAACwB,MACJ,CAAC,EACNd,aAAA;MAAKI,SAAS,EAAC;IAAkC,GAC9Cd,KAAK,CAACoB,MAAM,CAAE;MAAEJ,IAAI;MAAErB;IAAK,CAAE,CAC3B,CACE,CAAC;EAEX,CAAE,CACK,CACD,CACP,CACG,CAAC;AAET"}
|