@wordpress/edit-site 5.22.0 → 5.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/actions/index.js +86 -4
- 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/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 +90 -0
- package/build/components/dataviews/add-filter.js.map +1 -0
- package/build/components/dataviews/dataviews.js +23 -4
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filters.js +36 -32
- package/build/components/dataviews/filters.js.map +1 -1
- package/build/components/dataviews/in-filter.js +22 -20
- package/build/components/dataviews/in-filter.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 +81 -13
- package/build/components/dataviews/item-actions.js.map +1 -1
- package/build/components/dataviews/pagination.js +3 -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 +27 -10
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-list.js +126 -5
- 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 +53 -53
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +42 -21
- package/build/components/global-styles/screen-revisions/index.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 +3 -3
- 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-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 +48 -116
- package/build/components/header-edit-mode/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 +1 -0
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/page-content-focus-manager/back-to-page-notification.js +5 -10
- package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- 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 +133 -78
- 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 +1 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/dataviews-templates.js +201 -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/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 +189 -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 +60 -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/page-panels/edit-template.js +11 -11
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- 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 +4 -12
- 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/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/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/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
- 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/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 +35 -82
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +25 -63
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +3 -3
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/actions/index.js +85 -5
- 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/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 +83 -0
- package/build-module/components/dataviews/add-filter.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +22 -4
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filters.js +34 -32
- package/build-module/components/dataviews/filters.js.map +1 -1
- package/build-module/components/dataviews/in-filter.js +20 -19
- package/build-module/components/dataviews/in-filter.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 +84 -16
- package/build-module/components/dataviews/item-actions.js.map +1 -1
- package/build-module/components/dataviews/pagination.js +3 -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 +28 -11
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-list.js +128 -7
- 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 +57 -57
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +42 -21
- package/build-module/components/global-styles/screen-revisions/index.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 +3 -3
- 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-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 +52 -120
- package/build-module/components/header-edit-mode/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 +1 -1
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
- package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- 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 +137 -80
- 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 +2 -2
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/dataviews-templates.js +193 -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/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 +180 -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 +52 -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/page-panels/edit-template.js +12 -12
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
- 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 +5 -13
- 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/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/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/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
- 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/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 +33 -79
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +19 -58
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +1 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +69 -119
- package/build-style/style.css +69 -119
- package/package.json +41 -41
- package/src/components/actions/index.js +113 -5
- package/src/components/add-new-template/new-template.js +0 -5
- 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 +77 -83
- package/src/components/dataviews/add-filter.js +111 -0
- package/src/components/dataviews/dataviews.js +20 -2
- package/src/components/dataviews/filters.js +56 -49
- package/src/components/dataviews/in-filter.js +35 -17
- package/src/components/dataviews/index.js +1 -1
- package/src/components/dataviews/item-actions.js +95 -20
- package/src/components/dataviews/pagination.js +5 -4
- package/src/components/dataviews/reset-filters.js +26 -0
- package/src/components/dataviews/search.js +1 -0
- package/src/components/dataviews/style.scss +5 -1
- package/src/components/dataviews/view-actions.js +39 -9
- package/src/components/dataviews/view-list.js +174 -3
- package/src/components/dataviews/view-side-by-side.js +9 -0
- package/src/components/editor/index.js +149 -121
- package/src/components/global-styles/screen-revisions/index.js +52 -25
- package/src/components/global-styles/screen-root.js +2 -1
- package/src/components/global-styles/ui.js +1 -1
- package/src/components/global-styles-renderer/index.js +1 -1
- package/src/components/header-edit-mode/document-tools/index.js +201 -0
- package/src/components/header-edit-mode/index.js +86 -184
- 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 +1 -1
- package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
- package/src/components/page-main/index.js +6 -1
- package/src/components/page-pages/index.js +162 -81
- 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 +3 -2
- package/src/components/page-templates/dataviews-templates.js +224 -0
- package/src/components/page-templates/template-actions.js +209 -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 +227 -0
- package/src/components/sidebar-dataviews/dataview-item.js +67 -0
- package/src/components/sidebar-dataviews/default-views.js +54 -0
- package/src/components/sidebar-dataviews/index.js +36 -45
- package/src/components/sidebar-dataviews/style.scss +22 -0
- package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
- package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
- 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/template-panel/hooks.js +11 -7
- 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/page-details.js +4 -17
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
- package/src/components/site-hub/index.js +9 -8
- package/src/components/start-template-options/index.js +14 -12
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
- package/src/components/template-part-converter/convert-to-regular.js +1 -1
- 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 +37 -95
- package/src/store/selectors.js +31 -91
- package/src/store/test/actions.js +11 -137
- package/src/store/test/selectors.js +0 -82
- package/src/style.scss +1 -0
- package/src/utils/constants.js +1 -1
- 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/page-pages/default-views.js +0 -62
- package/build/components/page-pages/default-views.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/page-pages/default-views.js +0 -55
- package/build-module/components/page-pages/default-views.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/page-pages/default-views.js +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","InFilter","Filters","fields","view","onChangeView","
|
|
1
|
+
{"version":3,"names":["__","default","InFilter","OPERATOR_IN","AddFilter","ResetFilters","VALID_OPERATORS","Filters","fields","view","onChangeView","filters","forEach","field","filter","some","operator","push","id","name","header","elements","value","label","isVisible","f","filterComponents","map","createElement","key","length"],"sources":["@wordpress/edit-site/src/components/dataviews/filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { default as InFilter, OPERATOR_IN } from './in-filter';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\n\nconst VALID_OPERATORS = [ OPERATOR_IN ];\n\nexport default function Filters( { fields, view, onChangeView } ) {\n\tconst filters = [];\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( filter ) => {\n\t\t\tif ( VALID_OPERATORS.some( ( operator ) => operator === filter ) ) {\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: field.id,\n\t\t\t\t\tname: field.header,\n\t\t\t\t\toperator: filter,\n\t\t\t\t\telements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tlabel: __( 'All' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...( field.elements || [] ),\n\t\t\t\t\t],\n\t\t\t\t\tisVisible: view.filters.some(\n\t\t\t\t\t\t( f ) => f.field === field.id && f.operator === filter\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\tconst filterComponents = filters?.map( ( filter ) => {\n\t\tif ( ! filter.isVisible ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( OPERATOR_IN === filter.operator ) {\n\t\t\treturn (\n\t\t\t\t<InFilter\n\t\t\t\t\tkey={ filter.field + '.' + filter.operator }\n\t\t\t\t\tfilter={ filter }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t} );\n\n\tfilterComponents.push(\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfields={ fields }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t/>\n\t);\n\n\tif ( filterComponents.length > 1 ) {\n\t\tfilterComponents.push(\n\t\t\t<ResetFilters\n\t\t\t\tkey=\"reset-filters\"\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn filterComponents;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,aAAa;AAC9D,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,YAAY,MAAM,iBAAiB;AAE1C,MAAMC,eAAe,GAAG,CAAEH,WAAW,CAAE;AAEvC,eAAe,SAASI,OAAOA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACjE,MAAMC,OAAO,GAAG,EAAE;EAClBH,MAAM,CAACI,OAAO,CAAIC,KAAK,IAAM;IAC5B,IAAK,CAAEA,KAAK,CAACF,OAAO,EAAG;MACtB;IACD;IAEAE,KAAK,CAACF,OAAO,CAACC,OAAO,CAAIE,MAAM,IAAM;MACpC,IAAKR,eAAe,CAACS,IAAI,CAAIC,QAAQ,IAAMA,QAAQ,KAAKF,MAAO,CAAC,EAAG;QAClEH,OAAO,CAACM,IAAI,CAAE;UACbJ,KAAK,EAAEA,KAAK,CAACK,EAAE;UACfC,IAAI,EAAEN,KAAK,CAACO,MAAM;UAClBJ,QAAQ,EAAEF,MAAM;UAChBO,QAAQ,EAAE,CACT;YACCC,KAAK,EAAE,EAAE;YACTC,KAAK,EAAEvB,EAAE,CAAE,KAAM;UAClB,CAAC,EACD,IAAKa,KAAK,CAACQ,QAAQ,IAAI,EAAE,CAAE,CAC3B;UACDG,SAAS,EAAEf,IAAI,CAACE,OAAO,CAACI,IAAI,CACzBU,CAAC,IAAMA,CAAC,CAACZ,KAAK,KAAKA,KAAK,CAACK,EAAE,IAAIO,CAAC,CAACT,QAAQ,KAAKF,MACjD;QACD,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,MAAMY,gBAAgB,GAAGf,OAAO,EAAEgB,GAAG,CAAIb,MAAM,IAAM;IACpD,IAAK,CAAEA,MAAM,CAACU,SAAS,EAAG;MACzB,OAAO,IAAI;IACZ;IAEA,IAAKrB,WAAW,KAAKW,MAAM,CAACE,QAAQ,EAAG;MACtC,OACCY,aAAA,CAAC1B,QAAQ;QACR2B,GAAG,EAAGf,MAAM,CAACD,KAAK,GAAG,GAAG,GAAGC,MAAM,CAACE,QAAU;QAC5CF,MAAM,EAAGA,MAAQ;QACjBL,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA;MAAc,CAC7B,CAAC;IAEJ;IAEA,OAAO,IAAI;EACZ,CAAE,CAAC;EAEHgB,gBAAgB,CAACT,IAAI,CACpBW,aAAA,CAACxB,SAAS;IACTyB,GAAG,EAAC,YAAY;IAChBrB,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACF,CAAC;EAED,IAAKgB,gBAAgB,CAACI,MAAM,GAAG,CAAC,EAAG;IAClCJ,gBAAgB,CAACT,IAAI,CACpBW,aAAA,CAACvB,YAAY;MACZwB,GAAG,EAAC,eAAe;MACnBpB,IAAI,EAAGA,IAAM;MACbC,YAAY,EAAGA;IAAc,CAC7B,CACF,CAAC;EACF;EAEA,OAAOgB,gBAAgB;AACxB"}
|
|
@@ -3,37 +3,38 @@ import { createElement } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, SelectControl } from '@wordpress/components';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal dependencies
|
|
10
|
-
*/
|
|
11
|
-
import { unlock } from '../../lock-unlock';
|
|
12
|
-
const {
|
|
13
|
-
cleanEmptyObject
|
|
14
|
-
} = unlock(blockEditorPrivateApis);
|
|
6
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
+
export const OPERATOR_IN = 'in';
|
|
15
8
|
export default (({
|
|
16
9
|
filter,
|
|
17
10
|
view,
|
|
18
11
|
onChangeView
|
|
19
12
|
}) => {
|
|
13
|
+
const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
|
|
14
|
+
const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
|
|
15
|
+
const id = `dataviews__filters-in-${filter.field}`;
|
|
20
16
|
return createElement(SelectControl, {
|
|
21
|
-
|
|
17
|
+
id: id,
|
|
18
|
+
__nextHasNoMarginBottom: true,
|
|
19
|
+
value: activeValue,
|
|
22
20
|
prefix: createElement(InputControlPrefixWrapper, {
|
|
23
|
-
as: "
|
|
21
|
+
as: "label",
|
|
22
|
+
htmlFor: id,
|
|
24
23
|
className: "dataviews__select-control-prefix"
|
|
25
|
-
}, filter.
|
|
24
|
+
}, sprintf( /* translators: filter name. */
|
|
25
|
+
__('%s:'), filter.name)),
|
|
26
26
|
options: filter.elements,
|
|
27
27
|
onChange: value => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
|
|
29
|
+
filters.push({
|
|
30
|
+
field: filter.field,
|
|
31
|
+
operator: OPERATOR_IN,
|
|
32
|
+
value
|
|
33
|
+
});
|
|
31
34
|
onChangeView(currentView => ({
|
|
32
35
|
...currentView,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
[filter.id]: value
|
|
36
|
-
})
|
|
36
|
+
page: 1,
|
|
37
|
+
filters
|
|
37
38
|
}));
|
|
38
39
|
}
|
|
39
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","
|
|
1
|
+
{"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","__","sprintf","OPERATOR_IN","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","createElement","__nextHasNoMarginBottom","prefix","as","htmlFor","className","name","options","elements","onChange","push","currentView","page"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\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\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uCAAuC,IAAIC,yBAAyB,EACpEC,aAAa,QACP,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAE7C,OAAO,MAAMC,WAAW,GAAG,IAAI;AAE/B,gBAAe,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WACrD,CAAC;EAED,MAAMU,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACCM,aAAA,CAACjB,aAAa;IACbgB,EAAE,EAAGA,EAAI;IACTE,uBAAuB;IACvBH,KAAK,EAAGF,WAAa;IACrBM,MAAM,EACLF,aAAA,CAAClB,yBAAyB;MACzBqB,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGL,EAAI;MACdM,SAAS,EAAC;IAAkC,GAE1CpB,OAAO,EACR;IACAD,EAAE,CAAE,KAAM,CAAC,EACXG,MAAM,CAACmB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGpB,MAAM,CAACqB,QAAU;IAC3BC,QAAQ,EAAKX,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WAC7C,CAAC;MAEDK,OAAO,CAACmB,IAAI,CAAE;QACbhB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAET,WAAW;QACrBY;MACD,CAAE,CAAC;MAEHT,YAAY,CAAIsB,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACPrB;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as DataViews } from './dataviews';
|
|
1
|
+
export { default as DataViews, viewTypeSupportsMap } from './dataviews';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","DataViews"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews } from './dataviews';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa"}
|
|
1
|
+
{"version":3,"names":["default","DataViews","viewTypeSupportsMap"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews, viewTypeSupportsMap } from './dataviews';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,EAAEC,mBAAmB,QAAQ,aAAa"}
|
|
@@ -1,11 +1,60 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
1
|
+
import { createElement, Fragment } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { DropdownMenu, MenuGroup, MenuItem, Button, __experimentalHStack as HStack } from '@wordpress/components';
|
|
5
|
+
import { DropdownMenu, MenuGroup, MenuItem, Button, Modal, __experimentalHStack as HStack } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
|
-
import { useMemo } from '@wordpress/element';
|
|
7
|
+
import { useMemo, useState } from '@wordpress/element';
|
|
8
8
|
import { moreVertical } from '@wordpress/icons';
|
|
9
|
+
function PrimaryActionTrigger({
|
|
10
|
+
action,
|
|
11
|
+
onClick
|
|
12
|
+
}) {
|
|
13
|
+
return createElement(Button, {
|
|
14
|
+
label: action.label,
|
|
15
|
+
icon: action.icon,
|
|
16
|
+
isDestructive: action.isDestructive,
|
|
17
|
+
size: "compact",
|
|
18
|
+
onClick: onClick
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function SecondaryActionTrigger({
|
|
22
|
+
action,
|
|
23
|
+
onClick
|
|
24
|
+
}) {
|
|
25
|
+
return createElement(MenuItem, {
|
|
26
|
+
onClick: onClick,
|
|
27
|
+
isDestructive: action.isDestructive
|
|
28
|
+
}, action.label);
|
|
29
|
+
}
|
|
30
|
+
function ActionWithModal({
|
|
31
|
+
action,
|
|
32
|
+
item,
|
|
33
|
+
ActionTrigger
|
|
34
|
+
}) {
|
|
35
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
36
|
+
const actionTriggerProps = {
|
|
37
|
+
action,
|
|
38
|
+
onClick: () => setIsModalOpen(true)
|
|
39
|
+
};
|
|
40
|
+
const {
|
|
41
|
+
RenderModal,
|
|
42
|
+
hideModalHeader
|
|
43
|
+
} = action;
|
|
44
|
+
return createElement(Fragment, null, createElement(ActionTrigger, {
|
|
45
|
+
...actionTriggerProps
|
|
46
|
+
}), isModalOpen && createElement(Modal, {
|
|
47
|
+
title: !hideModalHeader && action.label,
|
|
48
|
+
__experimentalHideHeader: !!hideModalHeader,
|
|
49
|
+
onRequestClose: () => {
|
|
50
|
+
setIsModalOpen(false);
|
|
51
|
+
},
|
|
52
|
+
overlayClassName: "dataviews-action-modal"
|
|
53
|
+
}, createElement(RenderModal, {
|
|
54
|
+
item: item,
|
|
55
|
+
closeModal: () => setIsModalOpen(false)
|
|
56
|
+
})));
|
|
57
|
+
}
|
|
9
58
|
export default function ItemActions({
|
|
10
59
|
item,
|
|
11
60
|
actions
|
|
@@ -36,20 +85,39 @@ export default function ItemActions({
|
|
|
36
85
|
}
|
|
37
86
|
return createElement(HStack, {
|
|
38
87
|
justify: "flex-end"
|
|
39
|
-
}, !!primaryActions.length && primaryActions.map(action =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
88
|
+
}, !!primaryActions.length && primaryActions.map(action => {
|
|
89
|
+
if (!!action.RenderModal) {
|
|
90
|
+
return createElement(ActionWithModal, {
|
|
91
|
+
key: action.id,
|
|
92
|
+
action: action,
|
|
93
|
+
item: item,
|
|
94
|
+
ActionTrigger: PrimaryActionTrigger
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return createElement(PrimaryActionTrigger, {
|
|
98
|
+
key: action.id,
|
|
99
|
+
action: action,
|
|
100
|
+
item: item,
|
|
101
|
+
onClick: () => action.callback(item)
|
|
102
|
+
});
|
|
103
|
+
}), !!secondaryActions.length && createElement(DropdownMenu, {
|
|
47
104
|
icon: moreVertical,
|
|
48
105
|
label: __('Actions')
|
|
49
|
-
}, () => createElement(MenuGroup, null, secondaryActions.map(action =>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
106
|
+
}, () => createElement(MenuGroup, null, secondaryActions.map(action => {
|
|
107
|
+
if (!!action.RenderModal) {
|
|
108
|
+
return createElement(ActionWithModal, {
|
|
109
|
+
key: action.id,
|
|
110
|
+
action: action,
|
|
111
|
+
item: item,
|
|
112
|
+
ActionTrigger: SecondaryActionTrigger
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return createElement(SecondaryActionTrigger, {
|
|
116
|
+
key: action.id,
|
|
117
|
+
action: action,
|
|
118
|
+
item: item,
|
|
119
|
+
onClick: () => action.callback(item)
|
|
120
|
+
});
|
|
121
|
+
}))));
|
|
54
122
|
}
|
|
55
123
|
//# sourceMappingURL=item-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DropdownMenu","MenuGroup","MenuItem","Button","__experimentalHStack","HStack","__","useMemo","moreVertical","
|
|
1
|
+
{"version":3,"names":["DropdownMenu","MenuGroup","MenuItem","Button","Modal","__experimentalHStack","HStack","__","useMemo","useState","moreVertical","PrimaryActionTrigger","action","onClick","createElement","label","icon","isDestructive","size","SecondaryActionTrigger","ActionWithModal","item","ActionTrigger","isModalOpen","setIsModalOpen","actionTriggerProps","RenderModal","hideModalHeader","Fragment","title","__experimentalHideHeader","onRequestClose","overlayClassName","closeModal","ItemActions","actions","primaryActions","secondaryActions","reduce","accumulator","isEligible","isPrimary","push","length","justify","map","key","id","callback"],"sources":["@wordpress/edit-site/src/components/dataviews/item-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\nfunction PrimaryActionTrigger( { action, onClick } ) {\n\treturn (\n\t\t<Button\n\t\t\tlabel={ action.label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction SecondaryActionTrigger( { action, onClick } ) {\n\treturn (\n\t\t<MenuItem onClick={ onClick } isDestructive={ action.isDestructive }>\n\t\t\t{ action.label }\n\t\t</MenuItem>\n\t);\n}\n\nfunction ActionWithModal( { action, item, ActionTrigger } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function ItemActions( { item, actions } ) {\n\tconst { primaryActions, secondaryActions } = useMemo( () => {\n\t\treturn actions.reduce(\n\t\t\t( accumulator, action ) => {\n\t\t\t\t// If an action is eligible for all items, doesn't need\n\t\t\t\t// to provide the `isEligible` function.\n\t\t\t\tif ( action.isEligible && ! action.isEligible( item ) ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tif ( action.isPrimary && !! action.icon ) {\n\t\t\t\t\taccumulator.primaryActions.push( action );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.secondaryActions.push( action );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ primaryActions: [], secondaryActions: [] }\n\t\t);\n\t}, [ actions, item ] );\n\tif ( ! primaryActions.length && ! secondaryActions.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack justify=\"flex-end\">\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tActionTrigger={ PrimaryActionTrigger }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<PrimaryActionTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tonClick={ () => action.callback( item ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t{ !! secondaryActions.length && (\n\t\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'Actions' ) }>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ secondaryActions.map( ( action ) => {\n\t\t\t\t\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tActionTrigger={\n\t\t\t\t\t\t\t\t\t\t\t\tSecondaryActionTrigger\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}\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<SecondaryActionTrigger\n\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\taction.callback( item )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -67,12 +67,13 @@ function Pagination({
|
|
|
67
67
|
min: 1,
|
|
68
68
|
max: totalPages,
|
|
69
69
|
onChange: value => {
|
|
70
|
-
|
|
70
|
+
const _value = +value;
|
|
71
|
+
if (!_value || _value < 1 || _value > totalPages) {
|
|
71
72
|
return;
|
|
72
73
|
}
|
|
73
74
|
onChangeView({
|
|
74
75
|
...view,
|
|
75
|
-
page:
|
|
76
|
+
page: _value
|
|
76
77
|
});
|
|
77
78
|
},
|
|
78
79
|
step: "1",
|
|
@@ -1 +1 @@
|
|
|
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","label","icon","showTooltip","size","CurrenPageControl","min","max","onChange","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\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\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\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t!
|
|
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","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\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\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\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\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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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useEffect","useRef","SearchControl","useDebouncedInput","Search","label","view","onChangeView","search","setSearch","debouncedSearch","onChangeViewRef","current","currentView","page","searchLabel","createElement","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\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,QAAQ,
|
|
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"}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { Button, Icon, privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
6
|
-
import { chevronRightSmall, check, blockTable,
|
|
6
|
+
import { chevronRightSmall, check, blockTable, arrowUp, arrowDown, grid, columns } from '@wordpress/icons';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -23,19 +23,30 @@ const availableViews = [{
|
|
|
23
23
|
}, {
|
|
24
24
|
id: 'grid',
|
|
25
25
|
label: __('Grid')
|
|
26
|
+
}, {
|
|
27
|
+
id: 'side-by-side',
|
|
28
|
+
label: __('Side by side')
|
|
26
29
|
}];
|
|
27
30
|
function ViewTypeMenu({
|
|
28
31
|
view,
|
|
29
|
-
onChangeView
|
|
32
|
+
onChangeView,
|
|
33
|
+
supportedLayouts
|
|
30
34
|
}) {
|
|
31
|
-
|
|
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);
|
|
32
43
|
return createElement(DropdownSubMenuV2, {
|
|
33
44
|
trigger: createElement(DropdownSubMenuTriggerV2, {
|
|
34
45
|
suffix: createElement(Fragment, null, activeView.label, createElement(Icon, {
|
|
35
46
|
icon: chevronRightSmall
|
|
36
47
|
}))
|
|
37
48
|
}, __('Layout'))
|
|
38
|
-
},
|
|
49
|
+
}, _availableViews.map(availableView => {
|
|
39
50
|
return createElement(DropdownMenuItemV2, {
|
|
40
51
|
key: availableView.id,
|
|
41
52
|
prefix: availableView.id === view.type && createElement(Icon, {
|
|
@@ -55,7 +66,7 @@ function ViewTypeMenu({
|
|
|
55
66
|
}, availableView.label);
|
|
56
67
|
}));
|
|
57
68
|
}
|
|
58
|
-
const PAGE_SIZE_VALUES = [
|
|
69
|
+
const PAGE_SIZE_VALUES = [10, 20, 50, 100];
|
|
59
70
|
function PageSizeMenu({
|
|
60
71
|
view,
|
|
61
72
|
onChangeView
|
|
@@ -188,22 +199,28 @@ function SortMenu({
|
|
|
188
199
|
}));
|
|
189
200
|
}));
|
|
190
201
|
}
|
|
202
|
+
const VIEW_TYPE_ICONS = {
|
|
203
|
+
list: blockTable,
|
|
204
|
+
grid,
|
|
205
|
+
'side-by-side': columns
|
|
206
|
+
};
|
|
191
207
|
export default function ViewActions({
|
|
192
208
|
fields,
|
|
193
209
|
view,
|
|
194
|
-
onChangeView
|
|
210
|
+
onChangeView,
|
|
211
|
+
supportedLayouts
|
|
195
212
|
}) {
|
|
196
213
|
return createElement(DropdownMenuV2, {
|
|
197
214
|
label: __('Actions'),
|
|
198
215
|
trigger: createElement(Button, {
|
|
199
216
|
variant: "tertiary",
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}))
|
|
217
|
+
size: "compact",
|
|
218
|
+
icon: VIEW_TYPE_ICONS[view.type] || VIEW_TYPE_ICONS.list
|
|
219
|
+
}, __('View'))
|
|
204
220
|
}, createElement(DropdownMenuGroupV2, null, createElement(ViewTypeMenu, {
|
|
205
221
|
view: view,
|
|
206
|
-
onChangeView: onChangeView
|
|
222
|
+
onChangeView: onChangeView,
|
|
223
|
+
supportedLayouts: supportedLayouts
|
|
207
224
|
}), createElement(SortMenu, {
|
|
208
225
|
fields: fields,
|
|
209
226
|
view: view,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Icon","privateApis","componentsPrivateApis","chevronRightSmall","check","blockTable","chevronDown","arrowUp","arrowDown","__","unlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","availableViews","id","label","ViewTypeMenu","view","onChangeView","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","filter","field","enableHiding","length","hiddenFields","includes","header","sortingItemsInfo","asc","desc","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","side","Object","entries","info","isActive","undefined","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\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":["Button","Icon","privateApis","componentsPrivateApis","chevronRightSmall","check","blockTable","arrowUp","arrowDown","grid","columns","__","unlock","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","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,\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\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<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 = [ 10, 20, 50, 100 ];\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\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<DropdownMenuV2\n\t\t\tlabel={ __( 'Actions' ) }\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>\n\t\t\t\t\t{ __( 'View' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t<DropdownMenuGroupV2>\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</DropdownMenuGroupV2>\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
|