@wordpress/dataviews 1.2.0 → 2.0.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 +16 -0
- package/README.md +33 -30
- package/build/add-filter.js +30 -22
- package/build/add-filter.js.map +1 -1
- package/build/bulk-actions-toolbar.js +74 -69
- package/build/bulk-actions-toolbar.js.map +1 -1
- package/build/bulk-actions.js +69 -56
- package/build/bulk-actions.js.map +1 -1
- package/build/constants.js +17 -10
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +63 -56
- package/build/dataviews.js.map +1 -1
- package/build/filter-summary.js +105 -95
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js +18 -17
- package/build/filters.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/item-actions.js +78 -65
- package/build/item-actions.js.map +1 -1
- package/build/layouts.js.map +1 -1
- package/build/pagination.js +60 -57
- package/build/pagination.js.map +1 -1
- package/build/reset-filters.js +9 -4
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +108 -89
- package/build/search-widget.js.map +1 -1
- package/build/search.js +13 -6
- package/build/search.js.map +1 -1
- package/build/single-selection-checkbox.js +2 -2
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/utils.js +3 -15
- package/build/utils.js.map +1 -1
- package/build/view-actions.js +168 -120
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +113 -99
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +153 -132
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +220 -192
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js +30 -22
- package/build-module/add-filter.js.map +1 -1
- package/build-module/bulk-actions-toolbar.js +76 -69
- package/build-module/bulk-actions-toolbar.js.map +1 -1
- package/build-module/bulk-actions.js +71 -56
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/constants.js +16 -9
- package/build-module/constants.js.map +1 -1
- package/build-module/dataviews.js +64 -56
- package/build-module/dataviews.js.map +1 -1
- package/build-module/filter-summary.js +106 -96
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js +18 -17
- package/build-module/filters.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js +80 -65
- package/build-module/item-actions.js.map +1 -1
- package/build-module/layouts.js.map +1 -1
- package/build-module/pagination.js +61 -58
- package/build-module/pagination.js.map +1 -1
- package/build-module/reset-filters.js +9 -4
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +109 -89
- package/build-module/search-widget.js.map +1 -1
- package/build-module/search.js +13 -6
- package/build-module/search.js.map +1 -1
- package/build-module/single-selection-checkbox.js +2 -3
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/utils.js +2 -13
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js +170 -121
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +115 -99
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +154 -132
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +223 -194
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +109 -20
- package/build-style/style.css +109 -20
- package/build-types/add-filter.d.ts +9 -6
- package/build-types/add-filter.d.ts.map +1 -1
- package/build-types/bulk-actions-toolbar.d.ts +11 -7
- package/build-types/bulk-actions-toolbar.d.ts.map +1 -1
- package/build-types/bulk-actions.d.ts.map +1 -1
- package/build-types/constants.d.ts +19 -32
- package/build-types/constants.d.ts.map +1 -1
- package/build-types/dataviews.d.ts +21 -14
- package/build-types/dataviews.d.ts.map +1 -1
- package/build-types/filter-summary.d.ts +13 -5
- package/build-types/filter-summary.d.ts.map +1 -1
- package/build-types/filters.d.ts +11 -1
- package/build-types/filters.d.ts.map +1 -1
- package/build-types/index.d.ts +3 -3
- package/build-types/index.d.ts.map +1 -1
- package/build-types/item-actions.d.ts +5 -7
- package/build-types/item-actions.d.ts.map +1 -1
- package/build-types/layouts.d.ts +8 -4
- package/build-types/layouts.d.ts.map +1 -1
- package/build-types/reset-filters.d.ts +12 -5
- package/build-types/reset-filters.d.ts.map +1 -1
- package/build-types/search-widget.d.ts +9 -1
- package/build-types/search-widget.d.ts.map +1 -1
- package/build-types/search.d.ts +11 -1
- package/build-types/search.d.ts.map +1 -1
- package/build-types/types.d.ts +78 -10
- package/build-types/types.d.ts.map +1 -1
- package/build-types/utils.d.ts +2 -1
- package/build-types/utils.d.ts.map +1 -1
- package/build-types/view-actions.d.ts +10 -1
- package/build-types/view-actions.d.ts.map +1 -1
- package/build-types/view-grid.d.ts +1 -12
- package/build-types/view-grid.d.ts.map +1 -1
- package/build-types/view-list.d.ts +2 -14
- package/build-types/view-list.d.ts.map +1 -1
- package/build-types/view-table.d.ts +3 -12
- package/build-types/view-table.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/{add-filter.js → add-filter.tsx} +17 -1
- package/src/{bulk-actions-toolbar.js → bulk-actions-toolbar.tsx} +68 -40
- package/src/bulk-actions.tsx +5 -1
- package/src/constants.ts +12 -5
- package/src/{dataviews.js → dataviews.tsx} +41 -12
- package/src/{filter-summary.js → filter-summary.tsx} +35 -6
- package/src/{filters.js → filters.tsx} +18 -6
- package/src/item-actions.tsx +20 -15
- package/src/pagination.tsx +1 -1
- package/src/{reset-filters.js → reset-filters.tsx} +17 -2
- package/src/{search-widget.js → search-widget.tsx} +27 -7
- package/src/{search.js → search.tsx} +22 -5
- package/src/style.scss +97 -23
- package/src/types.ts +105 -10
- package/src/{utils.js → utils.ts} +5 -13
- package/src/{view-actions.js → view-actions.tsx} +105 -49
- package/src/view-grid.tsx +4 -20
- package/src/view-list.tsx +12 -23
- package/src/{view-table.js → view-table.tsx} +91 -32
- package/tsconfig.json +0 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dropdown-menu-helper.js +0 -71
- package/build/dropdown-menu-helper.js.map +0 -1
- package/build-module/dropdown-menu-helper.js +0 -64
- package/build-module/dropdown-menu-helper.js.map +0 -1
- package/build-types/dropdown-menu-helper.d.ts +0 -6
- package/build-types/dropdown-menu-helper.d.ts.map +0 -1
- package/src/dropdown-menu-helper.js +0 -61
- /package/src/{index.js → index.ts} +0 -0
- /package/src/{layouts.js → layouts.ts} +0 -0
package/build/bulk-actions.js
CHANGED
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = BulkActions;
|
|
7
7
|
exports.useHasAPossibleBulkAction = useHasAPossibleBulkAction;
|
|
8
8
|
exports.useSomeItemHasAPossibleBulkAction = useSomeItemHasAPossibleBulkAction;
|
|
9
|
-
var _react = require("react");
|
|
10
9
|
var _components = require("@wordpress/components");
|
|
11
10
|
var _i18n = require("@wordpress/i18n");
|
|
12
11
|
var _element = require("@wordpress/element");
|
|
13
12
|
var _lockUnlock = require("./lock-unlock");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
/**
|
|
15
15
|
* WordPress dependencies
|
|
16
16
|
*/
|
|
@@ -57,16 +57,18 @@ function ActionWithModal({
|
|
|
57
57
|
const onCloseModal = (0, _element.useCallback)(() => {
|
|
58
58
|
setActionWithModal(undefined);
|
|
59
59
|
}, [setActionWithModal]);
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
const label = typeof action.label === 'string' ? action.label : action.label(selectedItems);
|
|
61
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
|
|
62
|
+
title: !hideModalHeader ? label : undefined,
|
|
62
63
|
__experimentalHideHeader: !!hideModalHeader,
|
|
63
64
|
onRequestClose: onCloseModal,
|
|
64
|
-
overlayClassName: "dataviews-action-modal"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
overlayClassName: "dataviews-action-modal",
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(RenderModal, {
|
|
67
|
+
items: eligibleItems,
|
|
68
|
+
closeModal: onCloseModal,
|
|
69
|
+
onActionPerformed: () => onMenuOpenChange(false)
|
|
70
|
+
})
|
|
71
|
+
});
|
|
70
72
|
}
|
|
71
73
|
function BulkActionItem({
|
|
72
74
|
action,
|
|
@@ -77,8 +79,7 @@ function BulkActionItem({
|
|
|
77
79
|
return selectedItems.filter(item => !action.isEligible || action.isEligible(item));
|
|
78
80
|
}, [action, selectedItems]);
|
|
79
81
|
const shouldShowModal = ('RenderModal' in action);
|
|
80
|
-
return (0,
|
|
81
|
-
key: action.id,
|
|
82
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
82
83
|
disabled: eligibleItems.length === 0,
|
|
83
84
|
hideOnClick: !shouldShowModal,
|
|
84
85
|
onClick: async () => {
|
|
@@ -88,20 +89,24 @@ function BulkActionItem({
|
|
|
88
89
|
await action.callback(eligibleItems);
|
|
89
90
|
}
|
|
90
91
|
},
|
|
91
|
-
suffix: eligibleItems.length > 0 ? eligibleItems.length : undefined
|
|
92
|
-
|
|
92
|
+
suffix: eligibleItems.length > 0 ? eligibleItems.length : undefined,
|
|
93
|
+
children: action.label
|
|
94
|
+
}, action.id);
|
|
93
95
|
}
|
|
94
96
|
function ActionsMenuGroup({
|
|
95
97
|
actions,
|
|
96
98
|
selectedItems,
|
|
97
99
|
setActionWithModal
|
|
98
100
|
}) {
|
|
99
|
-
return (0,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
102
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuGroup, {
|
|
103
|
+
children: actions.map(action => /*#__PURE__*/(0, _jsxRuntime.jsx)(BulkActionItem, {
|
|
104
|
+
action: action,
|
|
105
|
+
selectedItems: selectedItems,
|
|
106
|
+
setActionWithModal: setActionWithModal
|
|
107
|
+
}, action.id))
|
|
108
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuSeparator, {})]
|
|
109
|
+
});
|
|
105
110
|
}
|
|
106
111
|
function BulkActions({
|
|
107
112
|
data,
|
|
@@ -140,42 +145,50 @@ function BulkActions({
|
|
|
140
145
|
if (bulkActions.length === 0) {
|
|
141
146
|
return null;
|
|
142
147
|
}
|
|
143
|
-
return (0,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
148
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
149
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenu, {
|
|
150
|
+
open: isMenuOpen,
|
|
151
|
+
onOpenChange: onMenuOpenChange,
|
|
152
|
+
label: (0, _i18n.__)('Bulk actions'),
|
|
153
|
+
style: {
|
|
154
|
+
minWidth: '240px'
|
|
155
|
+
},
|
|
156
|
+
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
157
|
+
className: "dataviews-bulk-edit-button",
|
|
158
|
+
__next40pxDefaultSize: true,
|
|
159
|
+
variant: "tertiary",
|
|
160
|
+
size: "compact",
|
|
161
|
+
children: selection.length ? (0, _i18n.sprintf)( /* translators: %d: Number of items. */
|
|
162
|
+
(0, _i18n._n)('Edit %d item', 'Edit %d items', selection.length), selection.length) : (0, _i18n.__)('Bulk edit')
|
|
163
|
+
}),
|
|
164
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ActionsMenuGroup, {
|
|
165
|
+
actions: bulkActions,
|
|
166
|
+
setActionWithModal: setActionWithModal,
|
|
167
|
+
selectedItems: selectedItems
|
|
168
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenuGroup, {
|
|
169
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
170
|
+
disabled: areAllSelected,
|
|
171
|
+
hideOnClick: false,
|
|
172
|
+
onClick: () => {
|
|
173
|
+
onSelectionChange(selectableItems);
|
|
174
|
+
},
|
|
175
|
+
suffix: numberSelectableItems,
|
|
176
|
+
children: (0, _i18n.__)('Select all')
|
|
177
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
|
|
178
|
+
disabled: selection.length === 0,
|
|
179
|
+
hideOnClick: false,
|
|
180
|
+
onClick: () => {
|
|
181
|
+
onSelectionChange([]);
|
|
182
|
+
},
|
|
183
|
+
children: (0, _i18n.__)('Deselect')
|
|
184
|
+
})]
|
|
185
|
+
})]
|
|
186
|
+
}), actionWithModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionWithModal, {
|
|
187
|
+
action: actionWithModal,
|
|
188
|
+
selectedItems: selectedItems,
|
|
189
|
+
setActionWithModal: setActionWithModal,
|
|
190
|
+
onMenuOpenChange: onMenuOpenChange
|
|
191
|
+
})]
|
|
192
|
+
});
|
|
180
193
|
}
|
|
181
194
|
//# sourceMappingURL=bulk-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","useHasAPossibleBulkAction","actions","item","useMemo","some","action","supportsBulk","isEligible","useSomeItemHasAPossibleBulkAction","data","ActionWithModal","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","RenderModal","hideModalHeader","onCloseModal","useCallback","undefined","_react","createElement","Modal","title","label","__experimentalHideHeader","onRequestClose","overlayClassName","items","closeModal","onActionPerformed","BulkActionItem","shouldShowModal","key","id","disabled","length","hideOnClick","onClick","callback","suffix","ActionsMenuGroup","Fragment","map","BulkActions","selection","onSelectionChange","getItemId","bulkActions","isMenuOpen","useState","actionWithModal","selectableItems","numberSelectableItems","areAllSelected","includes","hasNonSelectableItemSelected","useEffect","selectedItem","open","onOpenChange","__","style","minWidth","trigger","Button","className","__next40pxDefaultSize","variant","size","sprintf","_n"],"sources":["@wordpress/dataviews/src/bulk-actions.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, ActionModal, AnyItem } from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface ActionWithModalProps< Item extends AnyItem > {\n\taction: ActionModal< Item >;\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n\tonMenuOpenChange: ( isOpen: boolean ) => void;\n}\n\ninterface BulkActionsItemProps< Item extends AnyItem > {\n\taction: Action< Item >;\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n}\n\ninterface ActionsMenuGroupProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n}\n\ninterface BulkActionsProps< Item extends AnyItem > {\n\tdata: Item[];\n\tactions: Action< Item >[];\n\tselection: string[];\n\tonSelectionChange: ( selection: Item[] ) => void;\n\tgetItemId: ( item: Item ) => string;\n}\n\nexport function useHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\titem: Item\n) {\n\treturn useMemo( () => {\n\t\treturn actions.some( ( action ) => {\n\t\t\treturn (\n\t\t\t\taction.supportsBulk &&\n\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ actions, item ] );\n}\n\nexport function useSomeItemHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\tdata: Item[]\n) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nfunction ActionWithModal< Item extends AnyItem >( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n}: ActionWithModalProps< Item > ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter(\n\t\t\t( item ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader ? action.label : undefined }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonActionPerformed={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem< Item extends AnyItem >( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n}: BulkActionsItemProps< Item > ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter(\n\t\t\t( item ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = 'RenderModal' in action;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup< Item extends AnyItem >( {\n\tactions,\n\tselectedItems,\n\tsetActionWithModal,\n}: ActionsMenuGroupProps< Item > ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions< Item extends AnyItem >( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n}: BulkActionsProps< Item > ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState<\n\t\tActionModal< Item > | undefined\n\t>();\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn bulkActions.some(\n\t\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t\t);\n\t\t} );\n\t}, [ data, bulkActions ] );\n\n\tconst numberSelectableItems = selectableItems.length;\n\tconst areAllSelected =\n\t\tselection && selection.length === numberSelectableItems;\n\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst hasNonSelectableItemSelected = useMemo( () => {\n\t\treturn selectedItems.some( ( item ) => {\n\t\t\treturn ! selectableItems.includes( item );\n\t\t} );\n\t}, [ selectedItems, selectableItems ] );\n\tuseEffect( () => {\n\t\tif ( hasNonSelectableItemSelected ) {\n\t\t\tonSelectionChange(\n\t\t\t\tselectedItems.filter( ( selectedItem ) => {\n\t\t\t\t\treturn selectableItems.some( ( item ) => {\n\t\t\t\t\t\treturn getItemId( selectedItem ) === getItemId( item );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [\n\t\thasNonSelectableItemSelected,\n\t\tselectedItems,\n\t\tselectableItems,\n\t\tgetItemId,\n\t\tonSelectionChange,\n\t] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ numberSelectableItems }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_lockUnlock","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","useHasAPossibleBulkAction","actions","item","useMemo","some","action","supportsBulk","isEligible","useSomeItemHasAPossibleBulkAction","data","ActionWithModal","selectedItems","setActionWithModal","onMenuOpenChange","eligibleItems","filter","RenderModal","hideModalHeader","onCloseModal","useCallback","undefined","label","jsx","Modal","title","__experimentalHideHeader","onRequestClose","overlayClassName","children","items","closeModal","onActionPerformed","BulkActionItem","shouldShowModal","disabled","length","hideOnClick","onClick","callback","suffix","id","ActionsMenuGroup","jsxs","Fragment","map","BulkActions","selection","onSelectionChange","getItemId","bulkActions","isMenuOpen","useState","actionWithModal","selectableItems","numberSelectableItems","areAllSelected","includes","hasNonSelectableItemSelected","useEffect","selectedItem","open","onOpenChange","__","style","minWidth","trigger","Button","className","__next40pxDefaultSize","variant","size","sprintf","_n"],"sources":["@wordpress/dataviews/src/bulk-actions.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, ActionModal, AnyItem } from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface ActionWithModalProps< Item extends AnyItem > {\n\taction: ActionModal< Item >;\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n\tonMenuOpenChange: ( isOpen: boolean ) => void;\n}\n\ninterface BulkActionsItemProps< Item extends AnyItem > {\n\taction: Action< Item >;\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n}\n\ninterface ActionsMenuGroupProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tselectedItems: Item[];\n\tsetActionWithModal: ( action?: ActionModal< Item > ) => void;\n}\n\ninterface BulkActionsProps< Item extends AnyItem > {\n\tdata: Item[];\n\tactions: Action< Item >[];\n\tselection: string[];\n\tonSelectionChange: ( selection: Item[] ) => void;\n\tgetItemId: ( item: Item ) => string;\n}\n\nexport function useHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\titem: Item\n) {\n\treturn useMemo( () => {\n\t\treturn actions.some( ( action ) => {\n\t\t\treturn (\n\t\t\t\taction.supportsBulk &&\n\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ actions, item ] );\n}\n\nexport function useSomeItemHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\tdata: Item[]\n) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nfunction ActionWithModal< Item extends AnyItem >( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n\tonMenuOpenChange,\n}: ActionWithModalProps< Item > ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter(\n\t\t\t( item ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t}, [ action, selectedItems ] );\n\tconst { RenderModal, hideModalHeader } = action;\n\tconst onCloseModal = useCallback( () => {\n\t\tsetActionWithModal( undefined );\n\t}, [ setActionWithModal ] );\n\tconst label =\n\t\ttypeof action.label === 'string'\n\t\t\t? action.label\n\t\t\t: action.label( selectedItems );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ ! hideModalHeader ? label : undefined }\n\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\tonRequestClose={ onCloseModal }\n\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t>\n\t\t\t<RenderModal\n\t\t\t\titems={ eligibleItems }\n\t\t\t\tcloseModal={ onCloseModal }\n\t\t\t\tonActionPerformed={ () => onMenuOpenChange( false ) }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nfunction BulkActionItem< Item extends AnyItem >( {\n\taction,\n\tselectedItems,\n\tsetActionWithModal,\n}: BulkActionsItemProps< Item > ) {\n\tconst eligibleItems = useMemo( () => {\n\t\treturn selectedItems.filter(\n\t\t\t( item ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t}, [ action, selectedItems ] );\n\n\tconst shouldShowModal = 'RenderModal' in action;\n\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tkey={ action.id }\n\t\t\tdisabled={ eligibleItems.length === 0 }\n\t\t\thideOnClick={ ! shouldShowModal }\n\t\t\tonClick={ async () => {\n\t\t\t\tif ( shouldShowModal ) {\n\t\t\t\t\tsetActionWithModal( action );\n\t\t\t\t} else {\n\t\t\t\t\tawait action.callback( eligibleItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tsuffix={\n\t\t\t\teligibleItems.length > 0 ? eligibleItems.length : undefined\n\t\t\t}\n\t\t>\n\t\t\t{ action.label }\n\t\t</DropdownMenuItem>\n\t);\n}\n\nfunction ActionsMenuGroup< Item extends AnyItem >( {\n\tactions,\n\tselectedItems,\n\tsetActionWithModal,\n}: ActionsMenuGroupProps< Item > ) {\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenuGroup>\n\t\t\t\t{ actions.map( ( action ) => (\n\t\t\t\t\t<BulkActionItem\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</DropdownMenuGroup>\n\t\t\t<DropdownMenuSeparator />\n\t\t</>\n\t);\n}\n\nexport default function BulkActions< Item extends AnyItem >( {\n\tdata,\n\tactions,\n\tselection,\n\tonSelectionChange,\n\tgetItemId,\n}: BulkActionsProps< Item > ) {\n\tconst bulkActions = useMemo(\n\t\t() => actions.filter( ( action ) => action.supportsBulk ),\n\t\t[ actions ]\n\t);\n\tconst [ isMenuOpen, onMenuOpenChange ] = useState( false );\n\tconst [ actionWithModal, setActionWithModal ] = useState<\n\t\tActionModal< Item > | undefined\n\t>();\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn bulkActions.some(\n\t\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t\t);\n\t\t} );\n\t}, [ data, bulkActions ] );\n\n\tconst numberSelectableItems = selectableItems.length;\n\tconst areAllSelected =\n\t\tselection && selection.length === numberSelectableItems;\n\n\tconst selectedItems = useMemo( () => {\n\t\treturn data.filter( ( item ) =>\n\t\t\tselection.includes( getItemId( item ) )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst hasNonSelectableItemSelected = useMemo( () => {\n\t\treturn selectedItems.some( ( item ) => {\n\t\t\treturn ! selectableItems.includes( item );\n\t\t} );\n\t}, [ selectedItems, selectableItems ] );\n\tuseEffect( () => {\n\t\tif ( hasNonSelectableItemSelected ) {\n\t\t\tonSelectionChange(\n\t\t\t\tselectedItems.filter( ( selectedItem ) => {\n\t\t\t\t\treturn selectableItems.some( ( item ) => {\n\t\t\t\t\t\treturn getItemId( selectedItem ) === getItemId( item );\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [\n\t\thasNonSelectableItemSelected,\n\t\tselectedItems,\n\t\tselectableItems,\n\t\tgetItemId,\n\t\tonSelectionChange,\n\t] );\n\n\tif ( bulkActions.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\topen={ isMenuOpen }\n\t\t\t\tonOpenChange={ onMenuOpenChange }\n\t\t\t\tlabel={ __( 'Bulk actions' ) }\n\t\t\t\tstyle={ { minWidth: '240px' } }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-bulk-edit-button\"\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ selection.length\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of items. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'Edit %d item',\n\t\t\t\t\t\t\t\t\t\t'Edit %d items',\n\t\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tselection.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Bulk edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ActionsMenuGroup\n\t\t\t\t\tactions={ bulkActions }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t/>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ areAllSelected }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsuffix={ numberSelectableItems }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select all' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tdisabled={ selection.length === 0 }\n\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Deselect' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</DropdownMenu>\n\t\t\t{ actionWithModal && (\n\t\t\t\t<ActionWithModal\n\t\t\t\t\taction={ actionWithModal }\n\t\t\t\t\tselectedItems={ selectedItems }\n\t\t\t\t\tsetActionWithModal={ setActionWithModal }\n\t\t\t\t\tonMenuOpenChange={ onMenuOpenChange }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/constants.js
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SORTING_DIRECTIONS = exports.OPERATOR_IS_NOT_ALL = exports.OPERATOR_IS_NOT = exports.OPERATOR_IS_NONE = exports.OPERATOR_IS_ANY = exports.OPERATOR_IS_ALL = exports.OPERATOR_IS = exports.OPERATORS = exports.LAYOUT_TABLE = exports.LAYOUT_LIST = exports.LAYOUT_GRID = exports.ALL_OPERATORS = void 0;
|
|
6
|
+
exports.sortValues = exports.sortLabels = exports.sortArrows = exports.SORTING_DIRECTIONS = exports.OPERATOR_IS_NOT_ALL = exports.OPERATOR_IS_NOT = exports.OPERATOR_IS_NONE = exports.OPERATOR_IS_ANY = exports.OPERATOR_IS_ALL = exports.OPERATOR_IS = exports.OPERATORS = exports.LAYOUT_TABLE = exports.LAYOUT_LIST = exports.LAYOUT_GRID = exports.ALL_OPERATORS = void 0;
|
|
7
7
|
var _i18n = require("@wordpress/i18n");
|
|
8
8
|
/**
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
12
16
|
// Filter operators.
|
|
13
17
|
const OPERATOR_IS = exports.OPERATOR_IS = 'is';
|
|
14
18
|
const OPERATOR_IS_NOT = exports.OPERATOR_IS_NOT = 'isNot';
|
|
@@ -43,15 +47,18 @@ const OPERATORS = exports.OPERATORS = {
|
|
|
43
47
|
label: (0, _i18n.__)('Is not all')
|
|
44
48
|
}
|
|
45
49
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
const SORTING_DIRECTIONS = exports.SORTING_DIRECTIONS = ['asc', 'desc'];
|
|
51
|
+
const sortArrows = exports.sortArrows = {
|
|
52
|
+
asc: '↑',
|
|
53
|
+
desc: '↓'
|
|
54
|
+
};
|
|
55
|
+
const sortValues = exports.sortValues = {
|
|
56
|
+
asc: 'ascending',
|
|
57
|
+
desc: 'descending'
|
|
58
|
+
};
|
|
59
|
+
const sortLabels = exports.sortLabels = {
|
|
60
|
+
asc: (0, _i18n.__)('Sort ascending'),
|
|
61
|
+
desc: (0, _i18n.__)('Sort descending')
|
|
55
62
|
};
|
|
56
63
|
|
|
57
64
|
// View layouts.
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","OPERATOR_IS","exports","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","ALL_OPERATORS","OPERATORS","key","label","__","SORTING_DIRECTIONS","asc","desc","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST"],"sources":["@wordpress/dataviews/src/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\n\nexport const ALL_OPERATORS = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n];\nexport const OPERATORS = {\n\t[ OPERATOR_IS ]: {\n\t\tkey: 'is-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_IS_NOT ]: {\n\t\tkey: 'is-not-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n\t[ OPERATOR_IS_ANY ]: {\n\t\tkey: 'is-any-filter',\n\t\tlabel: __( 'Is any' ),\n\t},\n\t[ OPERATOR_IS_NONE ]: {\n\t\tkey: 'is-none-filter',\n\t\tlabel: __( 'Is none' ),\n\t},\n\t[ OPERATOR_IS_ALL ]: {\n\t\tkey: 'is-all-filter',\n\t\tlabel: __( 'Is all' ),\n\t},\n\t[ OPERATOR_IS_NOT_ALL ]: {\n\t\tkey: 'is-not-all-filter',\n\t\tlabel: __( 'Is not all' ),\n\t},\n};\n\
|
|
1
|
+
{"version":3,"names":["_i18n","require","OPERATOR_IS","exports","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","ALL_OPERATORS","OPERATORS","key","label","__","SORTING_DIRECTIONS","sortArrows","asc","desc","sortValues","sortLabels","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST"],"sources":["@wordpress/dataviews/src/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { Operator } from './types';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\n\nexport const ALL_OPERATORS = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n];\nexport const OPERATORS: Record< Operator, { key: string; label: string } > = {\n\t[ OPERATOR_IS ]: {\n\t\tkey: 'is-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_IS_NOT ]: {\n\t\tkey: 'is-not-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n\t[ OPERATOR_IS_ANY ]: {\n\t\tkey: 'is-any-filter',\n\t\tlabel: __( 'Is any' ),\n\t},\n\t[ OPERATOR_IS_NONE ]: {\n\t\tkey: 'is-none-filter',\n\t\tlabel: __( 'Is none' ),\n\t},\n\t[ OPERATOR_IS_ALL ]: {\n\t\tkey: 'is-all-filter',\n\t\tlabel: __( 'Is all' ),\n\t},\n\t[ OPERATOR_IS_NOT_ALL ]: {\n\t\tkey: 'is-not-all-filter',\n\t\tlabel: __( 'Is not all' ),\n\t},\n};\n\nexport const SORTING_DIRECTIONS = [ 'asc', 'desc' ] as const;\nexport const sortArrows = { asc: '↑', desc: '↓' };\nexport const sortValues = { asc: 'ascending', desc: 'descending' } as const;\nexport const sortLabels = {\n\tasc: __( 'Sort ascending' ),\n\tdesc: __( 'Sort descending' ),\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,IAAI;AACxB,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,OAAO;AAC/B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,OAAO;AAC/B,MAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG,QAAQ;AACjC,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,OAAO;AAC/B,MAAMC,mBAAmB,GAAAL,OAAA,CAAAK,mBAAA,GAAG,UAAU;AAEtC,MAAMC,aAAa,GAAAN,OAAA,CAAAM,aAAA,GAAG,CAC5BP,WAAW,EACXE,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,CACnB;AACM,MAAME,SAA6D,GAAAP,OAAA,CAAAO,SAAA,GAAG;EAC5E,CAAER,WAAW,GAAI;IAChBS,GAAG,EAAE,WAAW;IAChBC,KAAK,EAAE,IAAAC,QAAE,EAAE,IAAK;EACjB,CAAC;EACD,CAAET,eAAe,GAAI;IACpBO,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAER,eAAe,GAAI;IACpBM,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAEP,gBAAgB,GAAI;IACrBK,GAAG,EAAE,gBAAgB;IACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,SAAU;EACtB,CAAC;EACD,CAAEN,eAAe,GAAI;IACpBI,GAAG,EAAE,eAAe;IACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS;EACrB,CAAC;EACD,CAAEL,mBAAmB,GAAI;IACxBG,GAAG,EAAE,mBAAmB;IACxBC,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa;EACzB;AACD,CAAC;AAEM,MAAMC,kBAAkB,GAAAX,OAAA,CAAAW,kBAAA,GAAG,CAAE,KAAK,EAAE,MAAM,CAAW;AACrD,MAAMC,UAAU,GAAAZ,OAAA,CAAAY,UAAA,GAAG;EAAEC,GAAG,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAC;AAC1C,MAAMC,UAAU,GAAAf,OAAA,CAAAe,UAAA,GAAG;EAAEF,GAAG,EAAE,WAAW;EAAEC,IAAI,EAAE;AAAa,CAAU;AACpE,MAAME,UAAU,GAAAhB,OAAA,CAAAgB,UAAA,GAAG;EACzBH,GAAG,EAAE,IAAAH,QAAE,EAAE,gBAAiB,CAAC;EAC3BI,IAAI,EAAE,IAAAJ,QAAE,EAAE,iBAAkB;AAC7B,CAAC;;AAED;AACO,MAAMO,YAAY,GAAAjB,OAAA,CAAAiB,YAAA,GAAG,OAAO;AAC5B,MAAMC,WAAW,GAAAlB,OAAA,CAAAkB,WAAA,GAAG,MAAM;AAC1B,MAAMC,WAAW,GAAAnB,OAAA,CAAAmB,WAAA,GAAG,MAAM","ignoreList":[]}
|
package/build/dataviews.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = DataViews;
|
|
8
|
-
var _react = require("react");
|
|
9
8
|
var _components = require("@wordpress/components");
|
|
10
9
|
var _element = require("@wordpress/element");
|
|
11
10
|
var _pagination = _interopRequireDefault(require("./pagination"));
|
|
@@ -17,6 +16,11 @@ var _layouts = require("./layouts");
|
|
|
17
16
|
var _bulkActions = _interopRequireDefault(require("./bulk-actions"));
|
|
18
17
|
var _normalizeFields = require("./normalize-fields");
|
|
19
18
|
var _bulkActionsToolbar = _interopRequireDefault(require("./bulk-actions-toolbar"));
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
/**
|
|
21
|
+
* External dependencies
|
|
22
|
+
*/
|
|
23
|
+
|
|
20
24
|
/**
|
|
21
25
|
* WordPress dependencies
|
|
22
26
|
*/
|
|
@@ -31,7 +35,7 @@ function useSomeItemHasAPossibleBulkAction(actions, data) {
|
|
|
31
35
|
return (0, _element.useMemo)(() => {
|
|
32
36
|
return data.some(item => {
|
|
33
37
|
return actions.some(action => {
|
|
34
|
-
return action.supportsBulk && action.isEligible(item);
|
|
38
|
+
return action.supportsBulk && (!action.isEligible || action.isEligible(item));
|
|
35
39
|
});
|
|
36
40
|
});
|
|
37
41
|
}, [actions, data]);
|
|
@@ -63,61 +67,64 @@ function DataViews({
|
|
|
63
67
|
setSelection(items.map(item => getItemId(item)));
|
|
64
68
|
onSelectionChange(items);
|
|
65
69
|
}, [setSelection, getItemId, onSelectionChange]);
|
|
66
|
-
const ViewComponent = _layouts.VIEW_LAYOUTS.find(v => v.type === view.type)
|
|
70
|
+
const ViewComponent = _layouts.VIEW_LAYOUTS.find(v => v.type === view.type)?.component;
|
|
67
71
|
const _fields = (0, _element.useMemo)(() => (0, _normalizeFields.normalizeFields)(fields), [fields]);
|
|
68
72
|
const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(actions, data);
|
|
69
|
-
return (0,
|
|
70
|
-
className: "dataviews-wrapper"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
73
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
74
|
+
className: "dataviews-wrapper",
|
|
75
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
76
|
+
alignment: "top",
|
|
77
|
+
justify: "start",
|
|
78
|
+
className: "dataviews-filters__view-actions",
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
80
|
+
justify: "start",
|
|
81
|
+
className: "dataviews-filters__container",
|
|
82
|
+
wrap: true,
|
|
83
|
+
children: [search && /*#__PURE__*/(0, _jsxRuntime.jsx)(_search.default, {
|
|
84
|
+
label: searchLabel,
|
|
85
|
+
view: view,
|
|
86
|
+
onChangeView: onChangeView
|
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_filters.default, {
|
|
88
|
+
fields: _fields,
|
|
89
|
+
view: view,
|
|
90
|
+
onChangeView: onChangeView,
|
|
91
|
+
openedFilter: openedFilter,
|
|
92
|
+
setOpenedFilter: setOpenedFilter
|
|
93
|
+
})]
|
|
94
|
+
}), [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID].includes(view.type) && hasPossibleBulkAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bulkActions.default, {
|
|
95
|
+
actions: actions,
|
|
96
|
+
data: data,
|
|
97
|
+
onSelectionChange: onSetSelection,
|
|
98
|
+
selection: selection,
|
|
99
|
+
getItemId: getItemId
|
|
100
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_viewActions.default, {
|
|
101
|
+
fields: _fields,
|
|
102
|
+
view: view,
|
|
103
|
+
onChangeView: onChangeView,
|
|
104
|
+
supportedLayouts: supportedLayouts
|
|
105
|
+
})]
|
|
106
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ViewComponent, {
|
|
107
|
+
actions: actions,
|
|
108
|
+
data: data,
|
|
109
|
+
fields: _fields,
|
|
110
|
+
getItemId: getItemId,
|
|
111
|
+
isLoading: isLoading,
|
|
112
|
+
onChangeView: onChangeView,
|
|
113
|
+
onSelectionChange: onSetSelection,
|
|
114
|
+
selection: selection,
|
|
115
|
+
setOpenedFilter: setOpenedFilter,
|
|
116
|
+
view: view
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_pagination.default, {
|
|
118
|
+
view: view,
|
|
119
|
+
onChangeView: onChangeView,
|
|
120
|
+
paginationInfo: paginationInfo
|
|
121
|
+
}), [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID].includes(view.type) && hasPossibleBulkAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bulkActionsToolbar.default, {
|
|
122
|
+
data: data,
|
|
123
|
+
actions: actions,
|
|
124
|
+
selection: selection,
|
|
125
|
+
onSelectionChange: onSetSelection,
|
|
126
|
+
getItemId: getItemId
|
|
127
|
+
})]
|
|
128
|
+
});
|
|
122
129
|
}
|
|
123
130
|
//# sourceMappingURL=dataviews.js.map
|
package/build/dataviews.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_layouts","_bulkActions","_normalizeFields","_bulkActionsToolbar","defaultGetItemId","item","id","defaultOnSelectionChange","useSomeItemHasAPossibleBulkAction","actions","data","useMemo","some","action","supportsBulk","isEligible","DataViews","view","onChangeView","fields","search","searchLabel","undefined","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","selection","setSelection","useState","openedFilter","setOpenedFilter","useEffect","length","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","normalizeFields","hasPossibleBulkAction","_react","createElement","className","__experimentalHStack","alignment","justify","wrap","default","label","LAYOUT_TABLE","LAYOUT_GRID"],"sources":["@wordpress/dataviews/src/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nimport BulkActionsToolbar from './bulk-actions-toolbar';\n\nconst defaultGetItemId = ( item ) => item.id;\nconst defaultOnSelectionChange = () => {};\n\nfunction useSomeItemHasAPossibleBulkAction( actions, data ) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn action.supportsBulk && action.isEligible( item );\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n\tonSelectionChange = defaultOnSelectionChange,\n} ) {\n\tconst [ selection, setSelection ] = useState( [] );\n\tconst [ openedFilter, setOpenedFilter ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselection.length > 0 &&\n\t\t\tselection.some(\n\t\t\t\t( id ) => ! data.some( ( item ) => getItemId( item ) === id )\n\t\t\t)\n\t\t) {\n\t\t\tconst newSelection = selection.filter( ( id ) =>\n\t\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t\t);\n\t\t\tsetSelection( newSelection );\n\t\t\tonSelectionChange(\n\t\t\t\tdata.filter( ( item ) =>\n\t\t\t\t\tnewSelection.includes( getItemId( item ) )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selection, data, getItemId, onSelectionChange ] );\n\n\tconst onSetSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items.map( ( item ) => getItemId( item ) ) );\n\t\t\tonSelectionChange( items );\n\t\t},\n\t\t[ setSelection, getItemId, onSelectionChange ]\n\t);\n\n\tconst ViewComponent = VIEW_LAYOUTS.find(\n\t\t( v ) => v.type === view.type\n\t).component;\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\n\tconst hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(\n\t\tactions,\n\t\tdata\n\t);\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"start\"\n\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ViewActions\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\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<ViewComponent\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tfields={ _fields }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\tview={ view }\n\t\t\t/>\n\t\t\t<Pagination\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t/>\n\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t<BulkActionsToolbar\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\tsetSelection={ setSelection }\n\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_pagination","_interopRequireDefault","_viewActions","_filters","_search","_constants","_layouts","_bulkActions","_normalizeFields","_bulkActionsToolbar","_jsxRuntime","defaultGetItemId","item","id","defaultOnSelectionChange","useSomeItemHasAPossibleBulkAction","actions","data","useMemo","some","action","supportsBulk","isEligible","DataViews","view","onChangeView","fields","search","searchLabel","undefined","getItemId","isLoading","paginationInfo","supportedLayouts","onSelectionChange","selection","setSelection","useState","openedFilter","setOpenedFilter","useEffect","length","newSelection","filter","includes","onSetSelection","useCallback","items","map","ViewComponent","VIEW_LAYOUTS","find","v","type","component","_fields","normalizeFields","hasPossibleBulkAction","jsxs","className","children","__experimentalHStack","alignment","justify","wrap","jsx","default","label","LAYOUT_TABLE","LAYOUT_GRID"],"sources":["@wordpress/dataviews/src/dataviews.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nimport BulkActionsToolbar from './bulk-actions-toolbar';\nimport type { Action, AnyItem, Field, View, ViewBaseProps } from './types';\n\ninterface DataViewsProps< Item extends AnyItem > {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tgetItemId?: ( item: Item ) => string;\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tsupportedLayouts: string[];\n\tonSelectionChange?: ( items: Item[] ) => void;\n}\n\nconst defaultGetItemId = ( item: AnyItem ) => item.id;\nconst defaultOnSelectionChange = () => {};\n\nfunction useSomeItemHasAPossibleBulkAction< Item extends AnyItem >(\n\tactions: Action< Item >[],\n\tdata: Item[]\n) {\n\treturn useMemo( () => {\n\t\treturn data.some( ( item ) => {\n\t\t\treturn actions.some( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\t}, [ actions, data ] );\n}\n\nexport default function DataViews< Item extends AnyItem >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n\tonSelectionChange = defaultOnSelectionChange,\n}: DataViewsProps< Item > ) {\n\tconst [ selection, setSelection ] = useState< string[] >( [] );\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tselection.length > 0 &&\n\t\t\tselection.some(\n\t\t\t\t( id ) => ! data.some( ( item ) => getItemId( item ) === id )\n\t\t\t)\n\t\t) {\n\t\t\tconst newSelection = selection.filter( ( id ) =>\n\t\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t\t);\n\t\t\tsetSelection( newSelection );\n\t\t\tonSelectionChange(\n\t\t\t\tdata.filter( ( item ) =>\n\t\t\t\t\tnewSelection.includes( getItemId( item ) )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selection, data, getItemId, onSelectionChange ] );\n\n\tconst onSetSelection = useCallback(\n\t\t( items: Item[] ) => {\n\t\t\tsetSelection( items.map( ( item ) => getItemId( item ) ) );\n\t\t\tonSelectionChange( items );\n\t\t},\n\t\t[ setSelection, getItemId, onSelectionChange ]\n\t);\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< Item > >;\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\n\tconst hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(\n\t\tactions,\n\t\tdata\n\t);\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"start\"\n\t\t\t\tclassName=\"dataviews-filters__view-actions\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\t\t\twrap\n\t\t\t\t>\n\t\t\t\t\t{ search && (\n\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Filters\n\t\t\t\t\t\tfields={ _fields }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t\t<BulkActions\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t<ViewActions\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\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<ViewComponent\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tfields={ _fields }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tisLoading={ isLoading }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\tview={ view }\n\t\t\t/>\n\t\t\t<Pagination\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t/>\n\t\t\t{ [ LAYOUT_TABLE, LAYOUT_GRID ].includes( view.type ) &&\n\t\t\t\thasPossibleBulkAction && (\n\t\t\t\t\t<BulkActionsToolbar\n\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\tonSelectionChange={ onSetSelection }\n\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|