@wordpress/edit-site 5.22.0 → 5.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/actions/index.js +115 -15
- package/build/components/actions/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +0 -7
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +7 -2
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +54 -63
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/dataviews/add-filter.js +91 -0
- package/build/components/dataviews/add-filter.js.map +1 -0
- package/build/components/dataviews/constants.js +14 -0
- package/build/components/dataviews/constants.js.map +1 -0
- package/build/components/dataviews/dataviews.js +30 -9
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filter-summary.js +62 -0
- package/build/components/dataviews/filter-summary.js.map +1 -0
- package/build/components/dataviews/filters.js +37 -48
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/index.js +9 -2
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews/item-actions.js +139 -17
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +7 -2
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/reset-filters.js +33 -0
- package/build/components/dataviews/reset-filters.js.map +1 -0
- package/build/components/dataviews/search.js +1 -0
- package/build/components/dataviews/search.js.map +1 -1
- package/build/components/dataviews/view-actions.js +49 -32
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +48 -25
- package/build/components/dataviews/view-grid.js.map +1 -1
- package/build/components/dataviews/view-list.js +130 -14
- package/build/components/dataviews/view-list.js.map +1 -1
- package/build/components/dataviews/view-side-by-side.js +20 -0
- package/build/components/dataviews/view-side-by-side.js.map +1 -0
- package/build/components/editor/index.js +52 -56
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +4 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +22 -16
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +66 -24
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-root.js +3 -3
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/ui.js +31 -39
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +1 -1
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +21 -16
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/document-tools/index.js +160 -0
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build/components/header-edit-mode/index.js +50 -117
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +1 -1
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
- package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build/components/layout/index.js +4 -19
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +44 -54
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
- package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build/components/page-content-focus-notifications/index.js +22 -0
- package/build/components/page-content-focus-notifications/index.js.map +1 -0
- package/build/components/page-main/index.js +2 -1
- package/build/components/page-main/index.js.map +1 -1
- package/build/components/page-pages/index.js +137 -88
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-pages/side-editor.js +25 -0
- package/build/components/page-pages/side-editor.js.map +1 -0
- package/build/components/page-patterns/grid-item.js +2 -2
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +3 -3
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +2 -2
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +316 -0
- package/build/components/page-templates/dataviews-templates.js.map +1 -0
- package/build/components/page-templates/template-actions.js +168 -0
- package/build/components/page-templates/template-actions.js.map +1 -0
- package/build/components/preferences-modal/index.js +1 -1
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/save-button/index.js +9 -6
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +14 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +124 -0
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +191 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build/components/sidebar-dataviews/dataview-item.js +71 -0
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build/components/sidebar-dataviews/default-views.js +65 -0
- package/build/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build/components/sidebar-dataviews/index.js +21 -38
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +6 -5
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +18 -29
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +5 -8
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +6 -14
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/site-hub/index.js +18 -6
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/start-template-options/index.js +12 -16
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -12
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -55
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/template-part-converter/convert-to-regular.js +1 -1
- package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build/components/welcome-guide/page.js +2 -2
- package/build/components/welcome-guide/page.js.map +1 -1
- package/build/components/welcome-guide/template.js +6 -3
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +3 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/template-part-edit.js +6 -2
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/index.js +0 -3
- package/build/index.js.map +1 -1
- package/build/store/actions.js +39 -83
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +2 -27
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -23
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -40
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +33 -67
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +3 -14
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +113 -14
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +0 -7
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +7 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/dataviews/add-filter.js +84 -0
- package/build-module/components/dataviews/add-filter.js.map +1 -0
- package/build-module/components/dataviews/constants.js +6 -0
- package/build-module/components/dataviews/constants.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +29 -9
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filter-summary.js +55 -0
- package/build-module/components/dataviews/filter-summary.js.map +1 -0
- package/build-module/components/dataviews/filters.js +37 -48
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/index.js +1 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +142 -20
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +7 -2
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/reset-filters.js +26 -0
- package/build-module/components/dataviews/reset-filters.js.map +1 -0
- package/build-module/components/dataviews/search.js +1 -0
- package/build-module/components/dataviews/search.js.map +1 -1
- package/build-module/components/dataviews/view-actions.js +50 -33
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +49 -26
- package/build-module/components/dataviews/view-grid.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +132 -16
- package/build-module/components/dataviews/view-list.js.map +1 -1
- package/build-module/components/dataviews/view-side-by-side.js +12 -0
- package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
- package/build-module/components/editor/index.js +55 -59
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/header.js +4 -2
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +23 -17
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +67 -25
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +3 -3
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/ui.js +31 -39
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -1
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
- package/build-module/components/header-edit-mode/index.js +54 -121
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
- package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
- package/build-module/components/layout/index.js +5 -20
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +45 -56
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
- package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
- package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
- package/build-module/components/page-content-focus-notifications/index.js +14 -0
- package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
- package/build-module/components/page-main/index.js +2 -1
- package/build-module/components/page-main/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +141 -90
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-pages/side-editor.js +17 -0
- package/build-module/components/page-pages/side-editor.js.map +1 -0
- package/build-module/components/page-patterns/grid-item.js +2 -2
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +4 -4
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +3 -3
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +308 -0
- package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
- package/build-module/components/page-templates/template-actions.js +157 -0
- package/build-module/components/page-templates/template-actions.js.map +1 -0
- package/build-module/components/preferences-modal/index.js +1 -1
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/save-button/index.js +11 -8
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +14 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +182 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
- package/build-module/components/sidebar-dataviews/default-views.js +57 -0
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
- package/build-module/components/sidebar-dataviews/index.js +22 -39
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
- package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +6 -5
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +20 -31
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +6 -8
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +8 -16
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +3 -11
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/site-hub/index.js +19 -7
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +13 -16
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/style-book/index.js +22 -12
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -56
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +2 -2
- package/build-module/components/welcome-guide/page.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +6 -3
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +6 -2
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/index.js +0 -3
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +37 -80
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +1 -25
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -22
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -38
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +27 -62
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +1 -11
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +221 -181
- package/build-style/style.css +221 -181
- package/package.json +41 -41
- package/src/components/actions/index.js +150 -14
- package/src/components/add-new-template/new-template.js +0 -5
- package/src/components/block-editor/site-editor-canvas.js +8 -2
- package/src/components/block-editor/style.scss +0 -87
- package/src/components/block-editor/use-site-editor-settings.js +68 -89
- package/src/components/dataviews/README.md +80 -83
- package/src/components/dataviews/add-filter.js +108 -0
- package/src/components/dataviews/constants.js +5 -0
- package/src/components/dataviews/dataviews.js +28 -10
- package/src/components/dataviews/filter-summary.js +79 -0
- package/src/components/dataviews/filters.js +48 -58
- package/src/components/dataviews/index.js +1 -1
- package/src/components/dataviews/item-actions.js +169 -30
- package/src/components/dataviews/pagination.js +9 -4
- package/src/components/dataviews/reset-filters.js +26 -0
- package/src/components/dataviews/search.js +1 -0
- package/src/components/dataviews/style.scss +89 -9
- package/src/components/dataviews/view-actions.js +77 -49
- package/src/components/dataviews/view-grid.js +63 -38
- package/src/components/dataviews/view-list.js +182 -18
- package/src/components/dataviews/view-side-by-side.js +9 -0
- package/src/components/editor/index.js +135 -123
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
- package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
- package/src/components/global-styles/header.js +2 -1
- package/src/components/global-styles/screen-block-list.js +37 -26
- package/src/components/global-styles/screen-revisions/index.js +91 -35
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
- package/src/components/global-styles/screen-revisions/style.scss +52 -28
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
- package/src/components/global-styles/screen-root.js +2 -1
- package/src/components/global-styles/style.scss +0 -11
- package/src/components/global-styles/ui.js +60 -75
- package/src/components/global-styles-renderer/index.js +1 -1
- package/src/components/header-edit-mode/document-actions/index.js +20 -18
- package/src/components/header-edit-mode/document-tools/index.js +201 -0
- package/src/components/header-edit-mode/index.js +87 -184
- package/src/components/header-edit-mode/more-menu/index.js +1 -1
- package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
- package/src/components/header-edit-mode/style.scss +35 -2
- package/src/components/layout/index.js +4 -11
- package/src/components/layout/style.scss +6 -18
- package/src/components/list/added-by.js +24 -64
- package/src/components/list/style.scss +11 -13
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +10 -22
- package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
- package/src/components/page-content-focus-notifications/index.js +14 -0
- package/src/components/page-main/index.js +6 -1
- package/src/components/page-pages/index.js +167 -91
- package/src/components/page-pages/side-editor.js +14 -0
- package/src/components/page-patterns/grid-item.js +3 -3
- package/src/components/page-patterns/patterns-list.js +10 -4
- package/src/components/page-patterns/use-patterns.js +4 -3
- package/src/components/page-templates/dataviews-templates.js +345 -0
- package/src/components/page-templates/style.scss +13 -0
- package/src/components/page-templates/template-actions.js +209 -0
- package/src/components/preferences-modal/index.js +1 -1
- package/src/components/save-button/index.js +37 -24
- package/src/components/save-hub/index.js +15 -0
- package/src/components/save-hub/style.scss +7 -0
- package/src/components/sidebar/index.js +1 -2
- package/src/components/sidebar-dataviews/add-new-view.js +141 -0
- package/src/components/sidebar-dataviews/custom-dataviews-list.js +229 -0
- package/src/components/sidebar-dataviews/dataview-item.js +67 -0
- package/src/components/sidebar-dataviews/default-views.js +59 -0
- package/src/components/sidebar-dataviews/index.js +36 -45
- package/src/components/sidebar-dataviews/style.scss +29 -0
- package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
- package/src/components/sidebar-edit-mode/index.js +13 -9
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -57
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +10 -8
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +13 -12
- package/src/components/sidebar-edit-mode/page-panels/style.scss +14 -19
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
- package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
- package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
- package/src/components/sidebar-navigation-screen/style.scss +1 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
- package/src/components/sidebar-navigation-screen-page/index.js +24 -3
- package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
- package/src/components/site-hub/index.js +9 -8
- package/src/components/start-template-options/index.js +14 -12
- package/src/components/style-book/index.js +48 -35
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +182 -63
- package/src/components/template-part-converter/convert-to-regular.js +1 -1
- package/src/components/welcome-guide/page.js +2 -2
- package/src/components/welcome-guide/template.js +4 -2
- package/src/hooks/commands/use-edit-mode-commands.js +22 -16
- package/src/hooks/push-changes-to-global-styles/index.js +13 -6
- package/src/hooks/template-part-edit.js +4 -2
- package/src/index.js +0 -8
- package/src/store/actions.js +42 -96
- package/src/store/private-actions.js +1 -24
- package/src/store/private-selectors.js +0 -22
- package/src/store/reducer.js +0 -39
- package/src/store/selectors.js +43 -95
- package/src/store/test/actions.js +14 -169
- package/src/store/test/reducer.js +0 -62
- package/src/store/test/selectors.js +0 -117
- package/src/style.scss +2 -0
- package/src/utils/constants.js +1 -11
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/index.js +0 -31
- package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build/components/block-editor/index.js +0 -30
- package/build/components/block-editor/index.js.map +0 -1
- package/build/components/dataviews/in-filter.js +0 -49
- package/build/components/dataviews/in-filter.js.map +0 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -50
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build/components/page-content-focus-manager/index.js +0 -61
- package/build/components/page-content-focus-manager/index.js.map +0 -1
- package/build/components/page-pages/default-views.js +0 -62
- package/build/components/page-pages/default-views.js.map +0 -1
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
- package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
- package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
- package/build-module/components/block-editor/index.js +0 -22
- package/build-module/components/block-editor/index.js.map +0 -1
- package/build-module/components/dataviews/in-filter.js +0 -41
- package/build-module/components/dataviews/in-filter.js.map +0 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -43
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
- package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
- package/build-module/components/page-content-focus-manager/index.js +0 -52
- package/build-module/components/page-content-focus-manager/index.js.map +0 -1
- package/build-module/components/page-pages/default-views.js +0 -55
- package/build-module/components/page-pages/default-views.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
- package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
- package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
- package/src/components/block-editor/block-editor-provider/index.js +0 -29
- package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
- package/src/components/block-editor/index.js +0 -28
- package/src/components/dataviews/in-filter.js +0 -45
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -52
- package/src/components/page-content-focus-manager/index.js +0 -51
- package/src/components/page-pages/default-views.js +0 -60
- package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
|
@@ -18,11 +18,11 @@ var _lockUnlock = require("../../lock-unlock");
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
const {
|
|
21
|
-
DropdownMenuV2,
|
|
22
|
-
DropdownMenuGroupV2,
|
|
23
|
-
DropdownMenuItemV2,
|
|
24
|
-
DropdownSubMenuV2,
|
|
25
|
-
DropdownSubMenuTriggerV2
|
|
21
|
+
DropdownMenuV2: DropdownMenu,
|
|
22
|
+
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
23
|
+
DropdownMenuItemV2: DropdownMenuItem,
|
|
24
|
+
DropdownSubMenuV2: DropdownSubMenu,
|
|
25
|
+
DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
|
|
26
26
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
27
27
|
const availableViews = [{
|
|
28
28
|
id: 'list',
|
|
@@ -30,20 +30,31 @@ const availableViews = [{
|
|
|
30
30
|
}, {
|
|
31
31
|
id: 'grid',
|
|
32
32
|
label: (0, _i18n.__)('Grid')
|
|
33
|
+
}, {
|
|
34
|
+
id: 'side-by-side',
|
|
35
|
+
label: (0, _i18n.__)('Side by side')
|
|
33
36
|
}];
|
|
34
37
|
function ViewTypeMenu({
|
|
35
38
|
view,
|
|
36
|
-
onChangeView
|
|
39
|
+
onChangeView,
|
|
40
|
+
supportedLayouts
|
|
37
41
|
}) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
let _availableViews = availableViews;
|
|
43
|
+
if (supportedLayouts) {
|
|
44
|
+
_availableViews = _availableViews.filter(_view => supportedLayouts.includes(_view.id));
|
|
45
|
+
}
|
|
46
|
+
if (_availableViews.length === 1) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const activeView = _availableViews.find(v => view.type === v.id);
|
|
50
|
+
return (0, _react.createElement)(DropdownSubMenu, {
|
|
51
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
41
52
|
suffix: (0, _react.createElement)(_react.Fragment, null, activeView.label, (0, _react.createElement)(_components.Icon, {
|
|
42
53
|
icon: _icons.chevronRightSmall
|
|
43
54
|
}))
|
|
44
55
|
}, (0, _i18n.__)('Layout'))
|
|
45
|
-
},
|
|
46
|
-
return (0, _react.createElement)(
|
|
56
|
+
}, _availableViews.map(availableView => {
|
|
57
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
47
58
|
key: availableView.id,
|
|
48
59
|
prefix: availableView.id === view.type && (0, _react.createElement)(_components.Icon, {
|
|
49
60
|
icon: _icons.check
|
|
@@ -62,19 +73,19 @@ function ViewTypeMenu({
|
|
|
62
73
|
}, availableView.label);
|
|
63
74
|
}));
|
|
64
75
|
}
|
|
65
|
-
const PAGE_SIZE_VALUES = [
|
|
76
|
+
const PAGE_SIZE_VALUES = [10, 20, 50, 100];
|
|
66
77
|
function PageSizeMenu({
|
|
67
78
|
view,
|
|
68
79
|
onChangeView
|
|
69
80
|
}) {
|
|
70
|
-
return (0, _react.createElement)(
|
|
71
|
-
trigger: (0, _react.createElement)(
|
|
81
|
+
return (0, _react.createElement)(DropdownSubMenu, {
|
|
82
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
72
83
|
suffix: (0, _react.createElement)(_react.Fragment, null, view.perPage, (0, _react.createElement)(_components.Icon, {
|
|
73
84
|
icon: _icons.chevronRightSmall
|
|
74
85
|
}))
|
|
75
86
|
}, (0, _i18n.__)('Rows per page'))
|
|
76
87
|
}, PAGE_SIZE_VALUES.map(size => {
|
|
77
|
-
return (0, _react.createElement)(
|
|
88
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
78
89
|
key: size,
|
|
79
90
|
prefix: view.perPage === size && (0, _react.createElement)(_components.Icon, {
|
|
80
91
|
icon: _icons.check
|
|
@@ -103,14 +114,14 @@ function FieldsVisibilityMenu({
|
|
|
103
114
|
if (!hidableFields?.length) {
|
|
104
115
|
return null;
|
|
105
116
|
}
|
|
106
|
-
return (0, _react.createElement)(
|
|
107
|
-
trigger: (0, _react.createElement)(
|
|
117
|
+
return (0, _react.createElement)(DropdownSubMenu, {
|
|
118
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
108
119
|
suffix: (0, _react.createElement)(_components.Icon, {
|
|
109
120
|
icon: _icons.chevronRightSmall
|
|
110
121
|
})
|
|
111
122
|
}, (0, _i18n.__)('Fields'))
|
|
112
123
|
}, hidableFields?.map(field => {
|
|
113
|
-
return (0, _react.createElement)(
|
|
124
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
114
125
|
key: field.id,
|
|
115
126
|
prefix: !view.hiddenFields?.includes(field.id) && (0, _react.createElement)(_components.Icon, {
|
|
116
127
|
icon: _icons.check
|
|
@@ -148,17 +159,17 @@ function SortMenu({
|
|
|
148
159
|
return null;
|
|
149
160
|
}
|
|
150
161
|
const currentSortedField = fields.find(field => field.id === view.sort?.field);
|
|
151
|
-
return (0, _react.createElement)(
|
|
152
|
-
trigger: (0, _react.createElement)(
|
|
162
|
+
return (0, _react.createElement)(DropdownSubMenu, {
|
|
163
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
153
164
|
suffix: (0, _react.createElement)(_react.Fragment, null, currentSortedField?.header, (0, _react.createElement)(_components.Icon, {
|
|
154
165
|
icon: _icons.chevronRightSmall
|
|
155
166
|
}))
|
|
156
167
|
}, (0, _i18n.__)('Sort by'))
|
|
157
168
|
}, sortableFields?.map(field => {
|
|
158
169
|
const sortedDirection = view.sort?.direction;
|
|
159
|
-
return (0, _react.createElement)(
|
|
170
|
+
return (0, _react.createElement)(DropdownSubMenu, {
|
|
160
171
|
key: field.id,
|
|
161
|
-
trigger: (0, _react.createElement)(
|
|
172
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
162
173
|
suffix: (0, _react.createElement)(_components.Icon, {
|
|
163
174
|
icon: _icons.chevronRightSmall
|
|
164
175
|
})
|
|
@@ -166,7 +177,7 @@ function SortMenu({
|
|
|
166
177
|
side: "left"
|
|
167
178
|
}, Object.entries(sortingItemsInfo).map(([direction, info]) => {
|
|
168
179
|
const isActive = currentSortedField && sortedDirection === direction && field.id === currentSortedField.id;
|
|
169
|
-
return (0, _react.createElement)(
|
|
180
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
170
181
|
key: direction,
|
|
171
182
|
prefix: (0, _react.createElement)(_components.Icon, {
|
|
172
183
|
icon: info.icon
|
|
@@ -195,22 +206,28 @@ function SortMenu({
|
|
|
195
206
|
}));
|
|
196
207
|
}));
|
|
197
208
|
}
|
|
209
|
+
const VIEW_TYPE_ICONS = {
|
|
210
|
+
list: _icons.blockTable,
|
|
211
|
+
grid: _icons.grid,
|
|
212
|
+
'side-by-side': _icons.columns
|
|
213
|
+
};
|
|
198
214
|
function ViewActions({
|
|
199
215
|
fields,
|
|
200
216
|
view,
|
|
201
|
-
onChangeView
|
|
217
|
+
onChangeView,
|
|
218
|
+
supportedLayouts
|
|
202
219
|
}) {
|
|
203
|
-
return (0, _react.createElement)(
|
|
204
|
-
label: (0, _i18n.__)('Actions'),
|
|
220
|
+
return (0, _react.createElement)(DropdownMenu, {
|
|
205
221
|
trigger: (0, _react.createElement)(_components.Button, {
|
|
206
222
|
variant: "tertiary",
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
})
|
|
211
|
-
}, (0, _react.createElement)(
|
|
223
|
+
size: "compact",
|
|
224
|
+
icon: VIEW_TYPE_ICONS[view.type] || VIEW_TYPE_ICONS.list,
|
|
225
|
+
label: (0, _i18n.__)('View options')
|
|
226
|
+
})
|
|
227
|
+
}, (0, _react.createElement)(DropdownMenuGroup, null, (0, _react.createElement)(ViewTypeMenu, {
|
|
212
228
|
view: view,
|
|
213
|
-
onChangeView: onChangeView
|
|
229
|
+
onChangeView: onChangeView,
|
|
230
|
+
supportedLayouts: supportedLayouts
|
|
214
231
|
}), (0, _react.createElement)(SortMenu, {
|
|
215
232
|
fields: fields,
|
|
216
233
|
view: view,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","unlock","componentsPrivateApis","availableViews","id","label","__","ViewTypeMenu","view","onChangeView","activeView","find","v","type","_react","createElement","trigger","suffix","Fragment","Icon","icon","chevronRightSmall","map","availableView","key","prefix","check","onSelect","event","preventDefault","role","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","filter","field","enableHiding","length","hiddenFields","includes","header","sortingItemsInfo","asc","arrowUp","desc","arrowDown","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","undefined","ViewActions","Button","variant","blockTable","chevronDown"],"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\tchevronDown,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\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];\n\nfunction ViewTypeMenu( { view, onChangeView } ) {\n\tconst activeView = availableViews.find( ( v ) => view.type === v.id );\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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<DropdownMenuItemV2\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</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nconst PAGE_SIZE_VALUES = [ 5, 20, 50 ];\nfunction PageSizeMenu( { view, onChangeView } ) {\n\treturn (\n\t\t<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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<DropdownMenuItemV2\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</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\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<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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<DropdownMenuItemV2\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</DropdownMenuItemV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\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<DropdownSubMenuV2\n\t\t\ttrigger={\n\t\t\t\t<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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<DropdownSubMenuV2\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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<DropdownMenuItemV2\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</DropdownMenuItemV2>\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</DropdownSubMenuV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownSubMenuV2>\n\t);\n}\n\nexport default function ViewActions( { fields, view, onChangeView } ) {\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\ttrigger={\n\t\t\t\t<Button variant=\"tertiary\" icon={ blockTable }>\n\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t\t<Icon icon={ chevronDown } />\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroupV2>\n\t\t\t\t<ViewTypeMenu view={ view } onChangeView={ onChangeView } />\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</DropdownMenuGroupV2>\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownSubMenuV2","DropdownSubMenu","DropdownSubMenuTriggerV2","DropdownSubMenuTrigger","unlock","componentsPrivateApis","availableViews","id","label","__","ViewTypeMenu","view","onChangeView","supportedLayouts","_availableViews","filter","_view","includes","length","activeView","find","v","type","_react","createElement","trigger","suffix","Fragment","Icon","icon","chevronRightSmall","map","availableView","key","prefix","check","onSelect","event","preventDefault","role","PAGE_SIZE_VALUES","PageSizeMenu","perPage","size","page","FieldsVisibilityMenu","fields","hidableFields","field","enableHiding","hiddenFields","header","sortingItemsInfo","asc","arrowUp","desc","arrowDown","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","undefined","VIEW_TYPE_ICONS","list","blockTable","grid","columns","ViewActions","Button","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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"}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ViewGrid = ViewGrid;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _components = require("@wordpress/components");
|
|
10
|
+
var _compose = require("@wordpress/compose");
|
|
10
11
|
var _itemActions = _interopRequireDefault(require("./item-actions"));
|
|
11
12
|
/**
|
|
12
13
|
* WordPress dependencies
|
|
@@ -20,40 +21,62 @@ function ViewGrid({
|
|
|
20
21
|
data,
|
|
21
22
|
fields,
|
|
22
23
|
view,
|
|
23
|
-
actions
|
|
24
|
+
actions,
|
|
25
|
+
getItemId
|
|
24
26
|
}) {
|
|
25
27
|
const mediaField = fields.find(field => field.id === view.layout.mediaField);
|
|
26
|
-
const
|
|
28
|
+
const primaryField = fields.find(field => field.id === view.layout.primaryField);
|
|
29
|
+
const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.mediaField, view.layout.primaryField].includes(field.id));
|
|
30
|
+
const shownData = (0, _compose.useAsyncList)(data, {
|
|
31
|
+
step: 3
|
|
32
|
+
});
|
|
27
33
|
return (0, _react.createElement)(_components.__experimentalGrid, {
|
|
28
34
|
gap: 8,
|
|
29
35
|
columns: 2,
|
|
30
|
-
alignment: "top"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
alignment: "top",
|
|
37
|
+
className: "dataviews-grid-view"
|
|
38
|
+
}, shownData.map((item, index) => (0, _react.createElement)(_components.__experimentalVStack, {
|
|
39
|
+
spacing: 3,
|
|
40
|
+
key: getItemId?.(item) || index,
|
|
41
|
+
className: "dataviews-view-grid__card"
|
|
42
|
+
}, (0, _react.createElement)("div", {
|
|
43
|
+
className: "dataviews-view-grid__media"
|
|
44
|
+
}, mediaField?.render({
|
|
45
|
+
item,
|
|
46
|
+
view
|
|
47
|
+
})), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
48
|
+
className: "dataviews-view-grid__title",
|
|
49
|
+
justify: "space-between"
|
|
50
|
+
}, primaryField?.render({
|
|
51
|
+
item,
|
|
52
|
+
view
|
|
53
|
+
}), (0, _react.createElement)(_itemActions.default, {
|
|
54
|
+
item: item,
|
|
55
|
+
actions: actions,
|
|
56
|
+
isCompact: true
|
|
57
|
+
})), (0, _react.createElement)(_components.__experimentalVStack, {
|
|
58
|
+
className: "dataviews-view-grid__fields",
|
|
59
|
+
spacing: 3
|
|
60
|
+
}, visibleFields.map(field => {
|
|
61
|
+
const renderedValue = field.render({
|
|
37
62
|
item,
|
|
38
63
|
view
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
64
|
+
});
|
|
65
|
+
if (!renderedValue) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return (0, _react.createElement)(_components.__experimentalVStack, {
|
|
69
|
+
className: "dataviews-view-grid__field",
|
|
70
|
+
key: field.id,
|
|
71
|
+
spacing: 1
|
|
72
|
+
}, (0, _react.createElement)("div", {
|
|
73
|
+
className: "dataviews-view-grid__field-header"
|
|
74
|
+
}, field.header), (0, _react.createElement)("div", {
|
|
75
|
+
className: "dataviews-view-grid__field-value"
|
|
50
76
|
}, field.render({
|
|
51
77
|
item,
|
|
52
78
|
view
|
|
53
|
-
})))
|
|
54
|
-
|
|
55
|
-
actions: actions
|
|
56
|
-
}))));
|
|
57
|
-
}));
|
|
79
|
+
})));
|
|
80
|
+
})))));
|
|
58
81
|
}
|
|
59
82
|
//# sourceMappingURL=view-grid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_itemActions","_interopRequireDefault","ViewGrid","data","fields","view","actions","mediaField","find","field","id","layout","visibleFields","filter","hiddenFields","includes","_react","createElement","__experimentalGrid","gap","columns","alignment","map","item","index","__experimentalVStack","
|
|
1
|
+
{"version":3,"names":["_components","require","_compose","_itemActions","_interopRequireDefault","ViewGrid","data","fields","view","actions","getItemId","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","shownData","useAsyncList","step","_react","createElement","__experimentalGrid","gap","columns","alignment","className","map","item","index","__experimentalVStack","spacing","key","render","__experimentalHStack","justify","default","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":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGO,SAASI,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,GAAG,IAAAC,qBAAY,EAAEhB,IAAI,EAAE;IAAEiB,IAAI,EAAE;EAAE,CAAE,CAAC;EACnD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA0B,kBAAI;IACJC,GAAG,EAAG,CAAG;IACTC,OAAO,EAAG,CAAG;IACbC,SAAS,EAAC,KAAK;IACfC,SAAS,EAAC;EAAqB,GAE7BT,SAAS,CAACU,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAC7B,IAAAT,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAkC,oBAAM;IACNC,OAAO,EAAG,CAAG;IACbC,GAAG,EAAG1B,SAAS,GAAIsB,IAAK,CAAC,IAAIC,KAAO;IACpCH,SAAS,EAAC;EAA2B,GAErC,IAAAN,MAAA,CAAAC,aAAA;IAAKK,SAAS,EAAC;EAA4B,GACxCnB,UAAU,EAAE0B,MAAM,CAAE;IAAEL,IAAI;IAAExB;EAAK,CAAE,CACjC,CAAC,EACN,IAAAgB,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAsC,oBAAM;IACNR,SAAS,EAAC,4BAA4B;IACtCS,OAAO,EAAC;EAAe,GAErBvB,YAAY,EAAEqB,MAAM,CAAE;IAAEL,IAAI;IAAExB;EAAK,CAAE,CAAC,EACxC,IAAAgB,MAAA,CAAAC,aAAA,EAACtB,YAAA,CAAAqC,OAAW;IACXR,IAAI,EAAGA,IAAM;IACbvB,OAAO,EAAGA,OAAS;IACnBgC,SAAS;EAAA,CACT,CACM,CAAC,EACT,IAAAjB,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAkC,oBAAM;IACNJ,SAAS,EAAC,6BAA6B;IACvCK,OAAO,EAAG;EAAG,GAEXlB,aAAa,CAACc,GAAG,CAAIlB,KAAK,IAAM;IACjC,MAAM6B,aAAa,GAAG7B,KAAK,CAACwB,MAAM,CAAE;MACnCL,IAAI;MACJxB;IACD,CAAE,CAAC;IACH,IAAK,CAAEkC,aAAa,EAAG;MACtB,OAAO,IAAI;IACZ;IACA,OACC,IAAAlB,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAAkC,oBAAM;MACNJ,SAAS,EAAC,4BAA4B;MACtCM,GAAG,EAAGvB,KAAK,CAACC,EAAI;MAChBqB,OAAO,EAAG;IAAG,GAEb,IAAAX,MAAA,CAAAC,aAAA;MAAKK,SAAS,EAAC;IAAmC,GAC/CjB,KAAK,CAAC8B,MACJ,CAAC,EACN,IAAAnB,MAAA,CAAAC,aAAA;MAAKK,SAAS,EAAC;IAAkC,GAC9CjB,KAAK,CAACwB,MAAM,CAAE;MAAEL,IAAI;MAAExB;IAAK,CAAE,CAC3B,CACE,CAAC;EAEX,CAAE,CACK,CACD,CACP,CACG,CAAC;AAET"}
|
|
@@ -8,11 +8,13 @@ exports.default = void 0;
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _reactTable = require("@tanstack/react-table");
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
|
+
var _compose = require("@wordpress/compose");
|
|
11
12
|
var _icons = require("@wordpress/icons");
|
|
12
13
|
var _components = require("@wordpress/components");
|
|
13
14
|
var _element = require("@wordpress/element");
|
|
14
15
|
var _lockUnlock = require("../../lock-unlock");
|
|
15
16
|
var _itemActions = _interopRequireDefault(require("./item-actions"));
|
|
17
|
+
var _constants = require("./constants");
|
|
16
18
|
/**
|
|
17
19
|
* External dependencies
|
|
18
20
|
*/
|
|
@@ -26,10 +28,12 @@ var _itemActions = _interopRequireDefault(require("./item-actions"));
|
|
|
26
28
|
*/
|
|
27
29
|
|
|
28
30
|
const {
|
|
29
|
-
DropdownMenuV2,
|
|
30
|
-
DropdownMenuGroupV2,
|
|
31
|
-
DropdownMenuItemV2,
|
|
32
|
-
DropdownMenuSeparatorV2
|
|
31
|
+
DropdownMenuV2: DropdownMenu,
|
|
32
|
+
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
33
|
+
DropdownMenuItemV2: DropdownMenuItem,
|
|
34
|
+
DropdownMenuSeparatorV2: DropdownMenuSeparator,
|
|
35
|
+
DropdownSubMenuV2: DropdownSubMenu,
|
|
36
|
+
DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
|
|
33
37
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
34
38
|
const EMPTY_OBJECT = {};
|
|
35
39
|
const sortingItemsInfo = {
|
|
@@ -60,7 +64,15 @@ function HeaderMenu({
|
|
|
60
64
|
return text;
|
|
61
65
|
}
|
|
62
66
|
const sortedDirection = header.column.getIsSorted();
|
|
63
|
-
|
|
67
|
+
let filter;
|
|
68
|
+
if (header.column.columnDef.type === _constants.ENUMERATION_TYPE) {
|
|
69
|
+
filter = {
|
|
70
|
+
field: header.column.columnDef.id,
|
|
71
|
+
elements: header.column.columnDef.elements || []
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const isFilterable = !!filter;
|
|
75
|
+
return (0, _react.createElement)(DropdownMenu, {
|
|
64
76
|
align: "start",
|
|
65
77
|
trigger: (0, _react.createElement)(_components.Button, {
|
|
66
78
|
icon: sortIcons[header.column.getIsSorted()],
|
|
@@ -70,7 +82,7 @@ function HeaderMenu({
|
|
|
70
82
|
padding: 0
|
|
71
83
|
}
|
|
72
84
|
})
|
|
73
|
-
}, (0, _react.createElement)(WithSeparators, null, isSortable && (0, _react.createElement)(
|
|
85
|
+
}, (0, _react.createElement)(WithSeparators, null, isSortable && (0, _react.createElement)(DropdownMenuGroup, null, Object.entries(sortingItemsInfo).map(([direction, info]) => (0, _react.createElement)(DropdownMenuItem, {
|
|
74
86
|
key: direction,
|
|
75
87
|
prefix: (0, _react.createElement)(_components.Icon, {
|
|
76
88
|
icon: info.icon
|
|
@@ -89,7 +101,7 @@ function HeaderMenu({
|
|
|
89
101
|
}]);
|
|
90
102
|
}
|
|
91
103
|
}
|
|
92
|
-
}, info.label))), isHidable && (0, _react.createElement)(
|
|
104
|
+
}, info.label))), isHidable && (0, _react.createElement)(DropdownMenuItem, {
|
|
93
105
|
prefix: (0, _react.createElement)(_components.Icon, {
|
|
94
106
|
icon: _icons.unseen
|
|
95
107
|
}),
|
|
@@ -97,14 +109,50 @@ function HeaderMenu({
|
|
|
97
109
|
event.preventDefault();
|
|
98
110
|
header.column.getToggleVisibilityHandler()(event);
|
|
99
111
|
}
|
|
100
|
-
}, (0, _i18n.__)('Hide'))))
|
|
112
|
+
}, (0, _i18n.__)('Hide')), isFilterable && (0, _react.createElement)(DropdownMenuGroup, null, (0, _react.createElement)(DropdownSubMenu, {
|
|
113
|
+
key: filter.field,
|
|
114
|
+
trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
|
|
115
|
+
prefix: (0, _react.createElement)(_components.Icon, {
|
|
116
|
+
icon: _icons.funnel
|
|
117
|
+
}),
|
|
118
|
+
suffix: (0, _react.createElement)(_components.Icon, {
|
|
119
|
+
icon: _icons.chevronRightSmall
|
|
120
|
+
})
|
|
121
|
+
}, (0, _i18n.__)('Filter by'))
|
|
122
|
+
}, filter.elements.map(element => {
|
|
123
|
+
let isActive = false;
|
|
124
|
+
const columnFilters = dataView.getState().columnFilters;
|
|
125
|
+
const columnFilter = columnFilters.find(f => Object.keys(f)[0].split(':')[0] === filter.field);
|
|
126
|
+
if (columnFilter) {
|
|
127
|
+
const value = Object.values(columnFilter)[0];
|
|
128
|
+
// Intentionally use loose comparison, so it does type conversion.
|
|
129
|
+
// This covers the case where a top-level filter for the same field converts a number into a string.
|
|
130
|
+
isActive = element.value == value; // eslint-disable-line eqeqeq
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return (0, _react.createElement)(DropdownMenuItem, {
|
|
134
|
+
key: element.value,
|
|
135
|
+
suffix: isActive && (0, _react.createElement)(_components.Icon, {
|
|
136
|
+
icon: _icons.check
|
|
137
|
+
}),
|
|
138
|
+
onSelect: () => {
|
|
139
|
+
const otherFilters = columnFilters?.filter(f => {
|
|
140
|
+
const [field, operator] = Object.keys(f)[0].split(':');
|
|
141
|
+
return field !== filter.field || operator !== _constants.OPERATOR_IN;
|
|
142
|
+
});
|
|
143
|
+
dataView.setColumnFilters([...otherFilters, {
|
|
144
|
+
[filter.field + ':in']: isActive ? undefined : element.value
|
|
145
|
+
}]);
|
|
146
|
+
}
|
|
147
|
+
}, element.label);
|
|
148
|
+
})))));
|
|
101
149
|
}
|
|
102
150
|
function WithSeparators({
|
|
103
151
|
children
|
|
104
152
|
}) {
|
|
105
153
|
return _element.Children.toArray(children).filter(Boolean).map((child, i) => (0, _react.createElement)(_element.Fragment, {
|
|
106
154
|
key: i
|
|
107
|
-
}, i > 0 && (0, _react.createElement)(
|
|
155
|
+
}, i > 0 && (0, _react.createElement)(DropdownMenuSeparator, null), child));
|
|
108
156
|
}
|
|
109
157
|
function ViewList({
|
|
110
158
|
view,
|
|
@@ -112,6 +160,7 @@ function ViewList({
|
|
|
112
160
|
fields,
|
|
113
161
|
actions,
|
|
114
162
|
data,
|
|
163
|
+
getItemId,
|
|
115
164
|
isLoading = false,
|
|
116
165
|
paginationInfo
|
|
117
166
|
}) {
|
|
@@ -135,7 +184,7 @@ function ViewList({
|
|
|
135
184
|
});
|
|
136
185
|
if (actions?.length) {
|
|
137
186
|
_columns.push({
|
|
138
|
-
header: (0,
|
|
187
|
+
header: (0, _i18n.__)('Actions'),
|
|
139
188
|
id: 'actions',
|
|
140
189
|
cell: props => {
|
|
141
190
|
return (0, _react.createElement)(_itemActions.default, {
|
|
@@ -157,8 +206,63 @@ function ViewList({
|
|
|
157
206
|
[fieldId]: false
|
|
158
207
|
}), {});
|
|
159
208
|
}, [view.hiddenFields]);
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Transform the filters from the view format into the tanstack columns filter format.
|
|
212
|
+
*
|
|
213
|
+
* Input:
|
|
214
|
+
*
|
|
215
|
+
* view.filters = [
|
|
216
|
+
* { field: 'date', operator: 'before', value: '2020-01-01' },
|
|
217
|
+
* { field: 'date', operator: 'after', value: '2020-01-01' },
|
|
218
|
+
* ]
|
|
219
|
+
*
|
|
220
|
+
* Output:
|
|
221
|
+
*
|
|
222
|
+
* columnFilters = [
|
|
223
|
+
* { "date:before": '2020-01-01' },
|
|
224
|
+
* { "date:after": '2020-01-01' }
|
|
225
|
+
* ]
|
|
226
|
+
*
|
|
227
|
+
* @param {Array} filters The view filters to transform.
|
|
228
|
+
* @return {Array} The transformed TanStack column filters.
|
|
229
|
+
*/
|
|
230
|
+
const toTanStackColumnFilters = filters => filters?.map(filter => ({
|
|
231
|
+
[filter.field + ':' + filter.operator]: filter.value
|
|
232
|
+
}));
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Transform the filters from the view format into the tanstack columns filter format.
|
|
236
|
+
*
|
|
237
|
+
* Input:
|
|
238
|
+
*
|
|
239
|
+
* columnFilters = [
|
|
240
|
+
* { "date:before": '2020-01-01'},
|
|
241
|
+
* { "date:after": '2020-01-01' }
|
|
242
|
+
* ]
|
|
243
|
+
*
|
|
244
|
+
* Output:
|
|
245
|
+
*
|
|
246
|
+
* view.filters = [
|
|
247
|
+
* { field: 'date', operator: 'before', value: '2020-01-01' },
|
|
248
|
+
* { field: 'date', operator: 'after', value: '2020-01-01' },
|
|
249
|
+
* ]
|
|
250
|
+
*
|
|
251
|
+
* @param {Array} filters The TanStack column filters to transform.
|
|
252
|
+
* @return {Array} The transformed view filters.
|
|
253
|
+
*/
|
|
254
|
+
const fromTanStackColumnFilters = filters => filters.map(filter => {
|
|
255
|
+
const [key, value] = Object.entries(filter)[0];
|
|
256
|
+
const [field, operator] = key.split(':');
|
|
257
|
+
return {
|
|
258
|
+
field,
|
|
259
|
+
operator,
|
|
260
|
+
value
|
|
261
|
+
};
|
|
262
|
+
});
|
|
263
|
+
const shownData = (0, _compose.useAsyncList)(data);
|
|
160
264
|
const dataView = (0, _reactTable.useReactTable)({
|
|
161
|
-
data,
|
|
265
|
+
data: shownData,
|
|
162
266
|
columns,
|
|
163
267
|
manualSorting: true,
|
|
164
268
|
manualFiltering: true,
|
|
@@ -170,12 +274,14 @@ function ViewList({
|
|
|
170
274
|
desc: view.sort.direction === 'desc'
|
|
171
275
|
}] : [],
|
|
172
276
|
globalFilter: view.search,
|
|
277
|
+
columnFilters: toTanStackColumnFilters(view.filters),
|
|
173
278
|
pagination: {
|
|
174
279
|
pageIndex: view.page,
|
|
175
280
|
pageSize: view.perPage
|
|
176
281
|
},
|
|
177
282
|
columnVisibility: columnVisibility !== null && columnVisibility !== void 0 ? columnVisibility : EMPTY_OBJECT
|
|
178
283
|
},
|
|
284
|
+
getRowId: getItemId,
|
|
179
285
|
onSortingChange: sortingUpdater => {
|
|
180
286
|
onChangeView(currentView => {
|
|
181
287
|
const sort = typeof sortingUpdater === 'function' ? sortingUpdater(currentView.sort ? [{
|
|
@@ -219,7 +325,14 @@ function ViewList({
|
|
|
219
325
|
onChangeView({
|
|
220
326
|
...view,
|
|
221
327
|
search: value,
|
|
222
|
-
page:
|
|
328
|
+
page: 1
|
|
329
|
+
});
|
|
330
|
+
},
|
|
331
|
+
onColumnFiltersChange: columnFiltersUpdater => {
|
|
332
|
+
onChangeView({
|
|
333
|
+
...view,
|
|
334
|
+
filters: fromTanStackColumnFilters(columnFiltersUpdater()),
|
|
335
|
+
page: 1
|
|
223
336
|
});
|
|
224
337
|
},
|
|
225
338
|
onPaginationChange: paginationUpdater => {
|
|
@@ -263,17 +376,20 @@ function ViewList({
|
|
|
263
376
|
colSpan: header.colSpan,
|
|
264
377
|
style: {
|
|
265
378
|
width: header.column.columnDef.width || undefined,
|
|
379
|
+
minWidth: header.column.columnDef.minWidth || undefined,
|
|
266
380
|
maxWidth: header.column.columnDef.maxWidth || undefined
|
|
267
|
-
}
|
|
381
|
+
},
|
|
382
|
+
"data-field-id": header.id
|
|
268
383
|
}, (0, _react.createElement)(HeaderMenu, {
|
|
269
384
|
dataView: dataView,
|
|
270
385
|
header: header
|
|
271
386
|
})))))), (0, _react.createElement)("tbody", null, rows.map(row => (0, _react.createElement)("tr", {
|
|
272
387
|
key: row.id
|
|
273
388
|
}, row.getVisibleCells().map(cell => (0, _react.createElement)("td", {
|
|
274
|
-
key: cell.id,
|
|
389
|
+
key: cell.column.id,
|
|
275
390
|
style: {
|
|
276
391
|
width: cell.column.columnDef.width || undefined,
|
|
392
|
+
minWidth: cell.column.columnDef.minWidth || undefined,
|
|
277
393
|
maxWidth: cell.column.columnDef.maxWidth || undefined
|
|
278
394
|
}
|
|
279
395
|
}, (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()))))))), !hasRows && (0, _react.createElement)("p", null, (0, _i18n.__)('no results')));
|