@wordpress/dataviews 2.1.0 → 2.2.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 +8 -5
- package/build/bulk-actions-toolbar.js +5 -1
- package/build/bulk-actions-toolbar.js.map +1 -1
- package/build/bulk-actions.js +10 -20
- package/build/bulk-actions.js.map +1 -1
- package/build/dataviews.js +17 -11
- package/build/dataviews.js.map +1 -1
- package/build/item-actions.js +16 -5
- package/build/item-actions.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/single-selection-checkbox.js +1 -1
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/view-list.js +9 -3
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +11 -5
- package/build/view-table.js.map +1 -1
- package/build-module/bulk-actions-toolbar.js +5 -1
- package/build-module/bulk-actions-toolbar.js.map +1 -1
- package/build-module/bulk-actions.js +11 -21
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/dataviews.js +18 -12
- package/build-module/dataviews.js.map +1 -1
- package/build-module/item-actions.js +16 -5
- package/build-module/item-actions.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/single-selection-checkbox.js +1 -1
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/view-list.js +9 -3
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +11 -5
- package/build-module/view-table.js.map +1 -1
- package/build-types/bulk-actions-toolbar.d.ts.map +1 -1
- package/build-types/bulk-actions.d.ts.map +1 -1
- package/build-types/dataviews.d.ts +3 -1
- package/build-types/dataviews.d.ts.map +1 -1
- package/build-types/item-actions.d.ts.map +1 -1
- package/build-types/types.d.ts +5 -11
- package/build-types/types.d.ts.map +1 -1
- package/build-types/view-list.d.ts.map +1 -1
- package/build-types/view-table.d.ts.map +1 -1
- package/package.json +10 -9
- package/src/bulk-actions-toolbar.tsx +5 -1
- package/src/bulk-actions.tsx +13 -32
- package/src/dataviews.tsx +25 -24
- package/src/item-actions.tsx +12 -8
- package/src/lock-unlock.ts +1 -1
- package/src/single-selection-checkbox.tsx +1 -1
- package/src/types.ts +7 -13
- package/src/view-list.tsx +10 -7
- package/src/view-table.tsx +14 -3
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -145,19 +145,21 @@ function BulkSelectionCheckbox({
|
|
|
145
145
|
selection,
|
|
146
146
|
onSelectionChange,
|
|
147
147
|
data,
|
|
148
|
-
actions
|
|
148
|
+
actions,
|
|
149
|
+
getItemId
|
|
149
150
|
}) {
|
|
150
151
|
const selectableItems = useMemo(() => {
|
|
151
152
|
return data.filter(item => {
|
|
152
153
|
return actions.some(action => action.supportsBulk && (!action.isEligible || action.isEligible(item)));
|
|
153
154
|
});
|
|
154
155
|
}, [data, actions]);
|
|
155
|
-
const
|
|
156
|
+
const selectedItems = data.filter(item => selection.includes(getItemId(item)) && selectableItems.includes(item));
|
|
157
|
+
const areAllSelected = selectedItems.length === selectableItems.length;
|
|
156
158
|
return /*#__PURE__*/_jsx(CheckboxControl, {
|
|
157
159
|
className: "dataviews-view-table-selection-checkbox",
|
|
158
160
|
__nextHasNoMarginBottom: true,
|
|
159
161
|
checked: areAllSelected,
|
|
160
|
-
indeterminate: !areAllSelected && !!
|
|
162
|
+
indeterminate: !areAllSelected && !!selectedItems.length,
|
|
161
163
|
onChange: () => {
|
|
162
164
|
if (areAllSelected) {
|
|
163
165
|
onSelectionChange([]);
|
|
@@ -181,7 +183,7 @@ function TableRow({
|
|
|
181
183
|
data
|
|
182
184
|
}) {
|
|
183
185
|
const hasPossibleBulkAction = useHasAPossibleBulkAction(actions, item);
|
|
184
|
-
const isSelected = selection.includes(id);
|
|
186
|
+
const isSelected = hasPossibleBulkAction && selection.includes(id);
|
|
185
187
|
const [isHovered, setIsHovered] = useState(false);
|
|
186
188
|
const handleMouseEnter = () => {
|
|
187
189
|
setIsHovered(true);
|
|
@@ -206,6 +208,9 @@ function TableRow({
|
|
|
206
208
|
isTouchDevice.current = true;
|
|
207
209
|
},
|
|
208
210
|
onClick: () => {
|
|
211
|
+
if (!hasPossibleBulkAction) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
209
214
|
if (!isTouchDevice.current && document.getSelection()?.type !== 'Range') {
|
|
210
215
|
if (!isSelected) {
|
|
211
216
|
onSelectionChange(data.filter(_item => {
|
|
@@ -329,7 +334,8 @@ function ViewTable({
|
|
|
329
334
|
selection: selection,
|
|
330
335
|
onSelectionChange: onSelectionChange,
|
|
331
336
|
data: data,
|
|
332
|
-
actions: actions
|
|
337
|
+
actions: actions,
|
|
338
|
+
getItemId: getItemId
|
|
333
339
|
})
|
|
334
340
|
}), visibleFields.map((field, index) => /*#__PURE__*/_jsx("th", {
|
|
335
341
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Spinner","forwardRef","useEffect","useId","useRef","useState","useMemo","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","_Fragment","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithDropDownMenuSeparators","children","toArray","filter","Boolean","map","child","i","_HeaderMenu","HeaderMenu","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","isChecked","value","name","checked","onChange","prefix","icon","onClick","page","undefined","operator","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","selectableItems","item","action","supportsBulk","isEligible","areAllSelected","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","getItemId","hasPossibleBulkAction","isSelected","includes","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","isTouchDevice","onMouseEnter","onMouseLeave","onTouchStart","current","document","getSelection","type","_item","itemId","width","disabled","maxWidth","render","e","stopPropagation","ViewTable","fields","isLoading","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","hidden","get","fallback","node","layout","mediaField","hasData","find","scope","index","set","delete","toString"],"sources":["@wordpress/dataviews/src/view-table.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport {\n\tSORTING_DIRECTIONS,\n\tsortArrows,\n\tsortLabels,\n\tsortValues,\n} from './constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from './bulk-actions';\nimport type {\n\tAction,\n\tAnyItem,\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item extends AnyItem > {\n\tfield: NormalizedField< Item >;\n\tview: ViewTableType;\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\ninterface BulkSelectionCheckboxProps< Item extends AnyItem > {\n\tselection: string[];\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n\tactions: Action< Item >[];\n}\n\ninterface TableRowProps< Item extends AnyItem > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tid: string;\n\tvisibleFields: NormalizedField< Item >[];\n\tprimaryField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item extends AnyItem >(\n\t{\n\t\tfield,\n\t\tview,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\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\tdirection,\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( field );\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.concat(\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} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst HeaderMenu: < Item extends AnyItem >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nfunction BulkSelectionCheckbox< Item extends AnyItem >( {\n\tselection,\n\tonSelectionChange,\n\tdata,\n\tactions,\n}: BulkSelectionCheckboxProps< Item > ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) =>\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst areAllSelected = selection.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && !! selection.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableRow< Item extends AnyItem >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tid,\n\tvisibleFields,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonSelectionChange,\n\tdata,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = selection.includes( id );\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId === id ||\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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} else {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId !== id &&\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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}\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t<td\n\t\t\t\t\tkey={ field.id }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\tprimaryField?.id === field.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item extends AnyItem >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonSelectionChange,\n\tselection,\n\tsetOpenedFilter,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst hasData = !! data?.length;\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id\n\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Spinner","forwardRef","useEffect","useId","useRef","useState","useMemo","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","_Fragment","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithDropDownMenuSeparators","children","toArray","filter","Boolean","map","child","i","_HeaderMenu","HeaderMenu","field","view","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","isChecked","value","name","checked","onChange","prefix","icon","onClick","page","undefined","operator","hiddenFields","concat","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","getItemId","selectableItems","item","action","supportsBulk","isEligible","selectedItems","includes","areAllSelected","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","hasPossibleBulkAction","isSelected","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","isTouchDevice","onMouseEnter","onMouseLeave","onTouchStart","current","document","getSelection","type","_item","itemId","width","disabled","maxWidth","render","e","stopPropagation","ViewTable","fields","isLoading","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","hidden","get","fallback","node","layout","mediaField","hasData","find","scope","index","set","delete","toString"],"sources":["@wordpress/dataviews/src/view-table.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport {\n\tSORTING_DIRECTIONS,\n\tsortArrows,\n\tsortLabels,\n\tsortValues,\n} from './constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from './bulk-actions';\nimport type {\n\tAction,\n\tAnyItem,\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from './types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item extends AnyItem > {\n\tfield: NormalizedField< Item >;\n\tview: ViewTableType;\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\ninterface BulkSelectionCheckboxProps< Item extends AnyItem > {\n\tselection: string[];\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n\tactions: Action< Item >[];\n\tgetItemId: ( item: Item ) => string;\n}\n\ninterface TableRowProps< Item extends AnyItem > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tid: string;\n\tvisibleFields: NormalizedField< Item >[];\n\tprimaryField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonSelectionChange: ( items: Item[] ) => void;\n\tdata: Item[];\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item extends AnyItem >(\n\t{\n\t\tfield,\n\t\tview,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\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\tsort: {\n\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\tdirection,\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\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</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\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>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonHide( field );\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.concat(\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} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst HeaderMenu: < Item extends AnyItem >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nfunction BulkSelectionCheckbox< Item extends AnyItem >( {\n\tselection,\n\tonSelectionChange,\n\tdata,\n\tactions,\n\tgetItemId,\n}: BulkSelectionCheckboxProps< Item > ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) =>\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst selectedItems = data.filter(\n\t\t( item ) =>\n\t\t\tselection.includes( getItemId( item ) ) &&\n\t\t\tselectableItems.includes( item )\n\t);\n\tconst areAllSelected = selectedItems.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && !! selectedItems.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange( selectableItems );\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableRow< Item extends AnyItem >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tid,\n\tvisibleFields,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonSelectionChange,\n\tdata,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId === id ||\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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} else {\n\t\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\t\tdata.filter( ( _item ) => {\n\t\t\t\t\t\t\t\tconst itemId = getItemId?.( _item );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\titemId !== id &&\n\t\t\t\t\t\t\t\t\tselection.includes( itemId )\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}\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t<td\n\t\t\t\t\tkey={ field.id }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\tprimaryField?.id === field.id,\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\t\t{ field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item extends AnyItem >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonSelectionChange,\n\tselection,\n\tsetOpenedFilter,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField ].includes( field.id )\n\t);\n\tconst hasData = !! data?.length;\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id\n\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-actions-toolbar.d.ts","sourceRoot":"","sources":["../src/bulk-actions-toolbar.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bulk-actions-toolbar.d.ts","sourceRoot":"","sources":["../src/bulk-actions-toolbar.tsx"],"names":[],"mappings":";AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiB/C,UAAU,uBAAuB,CAAE,IAAI,SAAS,OAAO;IACtD,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,iBAAiB,EAAE,CAAE,SAAS,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;IACjD,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AA6KD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,IAAI,SAAS,OAAO,EAAI,EACnE,IAAI,EACJ,SAAS,EACT,OAAqB,EACrB,iBAAiB,EACjB,SAAS,GACT,EAAE,uBAAuB,CAAE,IAAI,CAAE,sCAqDjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-actions.d.ts","sourceRoot":"","sources":["../src/bulk-actions.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bulk-actions.d.ts","sourceRoot":"","sources":["../src/bulk-actions.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAAE,MAAM,EAAe,OAAO,EAAE,MAAM,SAAS,CAAC;AA4B5D,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAE,SAAS,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;IACjD,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AAED,wBAAgB,yBAAyB,CAAE,IAAI,SAAS,OAAO,EAC9D,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,WAUV;AAED,wBAAgB,iCAAiC,CAAE,IAAI,SAAS,OAAO,EACtE,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,EAAE,WAYZ;AA8FD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EAC5D,IAAI,EACJ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,sCAiG1B"}
|
|
@@ -15,8 +15,10 @@ interface DataViewsProps<Item extends AnyItem> {
|
|
|
15
15
|
totalPages: number;
|
|
16
16
|
};
|
|
17
17
|
supportedLayouts: string[];
|
|
18
|
+
selection?: string[];
|
|
19
|
+
setSelection?: (selection: string[]) => void;
|
|
18
20
|
onSelectionChange?: (items: Item[]) => void;
|
|
19
21
|
}
|
|
20
|
-
export default function DataViews<Item extends AnyItem>({ view, onChangeView, fields, search, searchLabel, actions, data, getItemId, isLoading, paginationInfo, supportedLayouts, onSelectionChange, }: DataViewsProps<Item>): import("react").JSX.Element;
|
|
22
|
+
export default function DataViews<Item extends AnyItem>({ view, onChangeView, fields, search, searchLabel, actions, data, getItemId, isLoading, paginationInfo, supportedLayouts, selection: selectionProperty, setSelection: setSelectionProperty, onSelectionChange, }: DataViewsProps<Item>): import("react").JSX.Element;
|
|
21
23
|
export {};
|
|
22
24
|
//# sourceMappingURL=dataviews.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataviews.d.ts","sourceRoot":"","sources":["../src/dataviews.tsx"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAiB,MAAM,SAAS,CAAC;AAE3E,UAAU,cAAc,CAAE,IAAI,SAAS,OAAO;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAE,KAAK,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;CAC9C;AAqBD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,IAAI,SAAS,OAAO,EAAI,EAC1D,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,MAAa,EACb,WAAuB,EACvB,OAAY,EACZ,IAAI,EACJ,SAA4B,EAC5B,SAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAA4C,GAC5C,EAAE,cAAc,CAAE,IAAI,CAAE,+
|
|
1
|
+
{"version":3,"file":"dataviews.d.ts","sourceRoot":"","sources":["../src/dataviews.tsx"],"names":[],"mappings":";AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAiB,MAAM,SAAS,CAAC;AAE3E,UAAU,cAAc,CAAE,IAAI,SAAS,OAAO;IAC7C,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,CAAE,SAAS,EAAE,MAAM,EAAE,KAAM,IAAI,CAAC;IAC/C,iBAAiB,CAAC,EAAE,CAAE,KAAK,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;CAC9C;AAqBD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,IAAI,SAAS,OAAO,EAAI,EAC1D,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,MAAa,EACb,WAAuB,EACvB,OAAY,EACZ,IAAI,EACJ,SAA4B,EAC5B,SAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,oBAAoB,EAClC,iBAA4C,GAC5C,EAAE,cAAc,CAAE,IAAI,CAAE,+BA6GxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-actions.d.ts","sourceRoot":"","sources":["../src/item-actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"item-actions.d.ts","sourceRoot":"","sources":["../src/item-actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAoB7D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAU/E,MAAM,WAAW,kBAAkB,CAAE,IAAI,SAAS,OAAO;IACxD,MAAM,EAAE,MAAM,CAAE,IAAI,CAAE,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;CACd;AAED,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,MAAM,EAAE,eAAe,CAAE,IAAI,CAAE,CAAC;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,oBAAoB,CAAE,IAAI,SAAS,OAAO,CACnD,SAAQ,gBAAgB,CAAE,IAAI,CAAE;IAChC,aAAa,EAAE,CAAE,KAAK,EAAE,kBAAkB,CAAE,IAAI,CAAE,KAAM,YAAY,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,6BAA6B,CAAE,IAAI,SAAS,OAAO;IAC5D,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;CACX;AAED,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA0CD,wBAAgB,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EACpD,MAAM,EACN,KAAK,EACL,UAAU,GACV,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAiB1B;AAED,wBAAgB,eAAe,CAAE,IAAI,SAAS,OAAO,EAAI,EACxD,MAAM,EACN,KAAK,EACL,aAAa,EACb,MAAM,GACN,EAAE,oBAAoB,CAAE,IAAI,CAAE,+BAsB9B;AAED,wBAAgB,wBAAwB,CAAE,IAAI,SAAS,OAAO,EAAI,EACjE,OAAO,EACP,IAAI,GACJ,EAAE,6BAA6B,CAAE,IAAI,CAAE,+BA4BvC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EAC5D,IAAI,EACJ,OAAO,EACP,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAuD1B"}
|
package/build-types/types.d.ts
CHANGED
|
@@ -263,21 +263,12 @@ interface ActionBase<Item extends AnyItem> {
|
|
|
263
263
|
supportsBulk?: boolean;
|
|
264
264
|
}
|
|
265
265
|
export interface ActionModal<Item extends AnyItem> extends ActionBase<Item> {
|
|
266
|
-
/**
|
|
267
|
-
* The callback to execute when the action has finished.
|
|
268
|
-
*/
|
|
269
|
-
onActionPerformed: ((items: Item[]) => void) | undefined;
|
|
270
|
-
/**
|
|
271
|
-
* The callback to execute when the action is triggered.
|
|
272
|
-
*/
|
|
273
|
-
onActionStart: ((items: Item[]) => void) | undefined;
|
|
274
266
|
/**
|
|
275
267
|
* Modal to render when the action is triggered.
|
|
276
268
|
*/
|
|
277
|
-
RenderModal: ({ items, closeModal,
|
|
269
|
+
RenderModal: ({ items, closeModal, onActionPerformed, }: {
|
|
278
270
|
items: Item[];
|
|
279
271
|
closeModal?: () => void;
|
|
280
|
-
onActionStart?: (items: Item[]) => void;
|
|
281
272
|
onActionPerformed?: (items: Item[]) => void;
|
|
282
273
|
}) => ReactElement;
|
|
283
274
|
/**
|
|
@@ -293,7 +284,10 @@ export interface ActionButton<Item extends AnyItem> extends ActionBase<AnyItem>
|
|
|
293
284
|
/**
|
|
294
285
|
* The callback to execute when the action is triggered.
|
|
295
286
|
*/
|
|
296
|
-
callback: (items: Item[]
|
|
287
|
+
callback: (items: Item[], context: {
|
|
288
|
+
registry: any;
|
|
289
|
+
onActionPerformed?: (items: Item[]) => void;
|
|
290
|
+
}) => void;
|
|
297
291
|
}
|
|
298
292
|
export type Action<Item extends AnyItem> = ActionModal<Item> | ActionButton<Item>;
|
|
299
293
|
export interface ViewBaseProps<Item extends AnyItem> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-list.d.ts","sourceRoot":"","sources":["../src/view-list.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"view-list.d.ts","sourceRoot":"","sources":["../src/view-list.tsx"],"names":[],"mappings":";AAmCA,OAAO,KAAK,EAAU,OAAO,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AA8Q/E,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,SAAS,OAAO,EACrD,KAAK,EAAE,aAAa,CAAE,IAAI,CAAE,+BA2G5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-table.d.ts","sourceRoot":"","sources":["../src/view-table.tsx"],"names":[],"mappings":";AA8CA,OAAO,KAAK,EAEX,OAAO,EAIP,cAAc,EACd,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"view-table.d.ts","sourceRoot":"","sources":["../src/view-table.tsx"],"names":[],"mappings":";AA8CA,OAAO,KAAK,EAEX,OAAO,EAIP,cAAc,EACd,MAAM,SAAS,CAAC;AAsXjB,iBAAS,SAAS,CAAE,IAAI,SAAS,OAAO,EAAI,EAC3C,OAAO,EACP,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,IAAI,GACJ,EAAE,cAAc,CAAE,IAAI,CAAE,2CAkKxB;AAED,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/dataviews",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -30,13 +30,14 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@ariakit/react": "^0.3.12",
|
|
32
32
|
"@babel/runtime": "^7.16.0",
|
|
33
|
-
"@wordpress/components": "^28.
|
|
34
|
-
"@wordpress/compose": "^7.
|
|
35
|
-
"@wordpress/
|
|
36
|
-
"@wordpress/
|
|
37
|
-
"@wordpress/
|
|
38
|
-
"@wordpress/
|
|
39
|
-
"@wordpress/
|
|
33
|
+
"@wordpress/components": "^28.2.0",
|
|
34
|
+
"@wordpress/compose": "^7.2.0",
|
|
35
|
+
"@wordpress/data": "^10.2.0",
|
|
36
|
+
"@wordpress/element": "^6.2.0",
|
|
37
|
+
"@wordpress/i18n": "^5.2.0",
|
|
38
|
+
"@wordpress/icons": "^10.2.0",
|
|
39
|
+
"@wordpress/primitives": "^4.2.0",
|
|
40
|
+
"@wordpress/private-apis": "^1.2.0",
|
|
40
41
|
"clsx": "^2.1.1",
|
|
41
42
|
"remove-accents": "^0.5.0"
|
|
42
43
|
},
|
|
@@ -46,5 +47,5 @@
|
|
|
46
47
|
"publishConfig": {
|
|
47
48
|
"access": "public"
|
|
48
49
|
},
|
|
49
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "aa5b14bb5bdbb8d8a02914e154c3bc1c2f18ace6"
|
|
50
51
|
}
|
|
@@ -12,6 +12,7 @@ import { useMemo, useState, useRef } from '@wordpress/element';
|
|
|
12
12
|
import { _n, sprintf, __ } from '@wordpress/i18n';
|
|
13
13
|
import { closeSmall } from '@wordpress/icons';
|
|
14
14
|
import { useReducedMotion } from '@wordpress/compose';
|
|
15
|
+
import { useRegistry } from '@wordpress/data';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Internal dependencies
|
|
@@ -92,6 +93,7 @@ function ActionButton< Item extends AnyItem >( {
|
|
|
92
93
|
actionInProgress,
|
|
93
94
|
setActionInProgress,
|
|
94
95
|
}: ActionButtonProps< Item > ) {
|
|
96
|
+
const registry = useRegistry();
|
|
95
97
|
const selectedEligibleItems = useMemo( () => {
|
|
96
98
|
return selectedItems.filter( ( item ) => {
|
|
97
99
|
return ! action.isEligible || action.isEligible( item );
|
|
@@ -113,7 +115,9 @@ function ActionButton< Item extends AnyItem >( {
|
|
|
113
115
|
action={ action }
|
|
114
116
|
onClick={ () => {
|
|
115
117
|
setActionInProgress( action.id );
|
|
116
|
-
action.callback( selectedItems
|
|
118
|
+
action.callback( selectedItems, {
|
|
119
|
+
registry,
|
|
120
|
+
} );
|
|
117
121
|
} }
|
|
118
122
|
items={ selectedEligibleItems }
|
|
119
123
|
isBusy={ actionInProgress === action.id }
|
package/src/bulk-actions.tsx
CHANGED
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
Modal,
|
|
8
8
|
} from '@wordpress/components';
|
|
9
9
|
import { __, sprintf, _n } from '@wordpress/i18n';
|
|
10
|
-
import { useMemo, useState, useCallback
|
|
10
|
+
import { useMemo, useState, useCallback } from '@wordpress/element';
|
|
11
|
+
import { useRegistry } from '@wordpress/data';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Internal dependencies
|
|
@@ -119,6 +120,7 @@ function BulkActionItem< Item extends AnyItem >( {
|
|
|
119
120
|
selectedItems,
|
|
120
121
|
setActionWithModal,
|
|
121
122
|
}: BulkActionsItemProps< Item > ) {
|
|
123
|
+
const registry = useRegistry();
|
|
122
124
|
const eligibleItems = useMemo( () => {
|
|
123
125
|
return selectedItems.filter(
|
|
124
126
|
( item ) => ! action.isEligible || action.isEligible( item )
|
|
@@ -136,7 +138,7 @@ function BulkActionItem< Item extends AnyItem >( {
|
|
|
136
138
|
if ( shouldShowModal ) {
|
|
137
139
|
setActionWithModal( action );
|
|
138
140
|
} else {
|
|
139
|
-
|
|
141
|
+
action.callback( eligibleItems, { registry } );
|
|
140
142
|
}
|
|
141
143
|
} }
|
|
142
144
|
suffix={
|
|
@@ -194,37 +196,16 @@ export default function BulkActions< Item extends AnyItem >( {
|
|
|
194
196
|
}, [ data, bulkActions ] );
|
|
195
197
|
|
|
196
198
|
const numberSelectableItems = selectableItems.length;
|
|
197
|
-
const areAllSelected =
|
|
198
|
-
selection && selection.length === numberSelectableItems;
|
|
199
199
|
|
|
200
200
|
const selectedItems = useMemo( () => {
|
|
201
|
-
return data.filter(
|
|
202
|
-
|
|
201
|
+
return data.filter(
|
|
202
|
+
( item ) =>
|
|
203
|
+
selection.includes( getItemId( item ) ) &&
|
|
204
|
+
selectableItems.includes( item )
|
|
203
205
|
);
|
|
204
|
-
}, [ selection, data, getItemId ] );
|
|
206
|
+
}, [ selection, data, getItemId, selectableItems ] );
|
|
205
207
|
|
|
206
|
-
const
|
|
207
|
-
return selectedItems.some( ( item ) => {
|
|
208
|
-
return ! selectableItems.includes( item );
|
|
209
|
-
} );
|
|
210
|
-
}, [ selectedItems, selectableItems ] );
|
|
211
|
-
useEffect( () => {
|
|
212
|
-
if ( hasNonSelectableItemSelected ) {
|
|
213
|
-
onSelectionChange(
|
|
214
|
-
selectedItems.filter( ( selectedItem ) => {
|
|
215
|
-
return selectableItems.some( ( item ) => {
|
|
216
|
-
return getItemId( selectedItem ) === getItemId( item );
|
|
217
|
-
} );
|
|
218
|
-
} )
|
|
219
|
-
);
|
|
220
|
-
}
|
|
221
|
-
}, [
|
|
222
|
-
hasNonSelectableItemSelected,
|
|
223
|
-
selectedItems,
|
|
224
|
-
selectableItems,
|
|
225
|
-
getItemId,
|
|
226
|
-
onSelectionChange,
|
|
227
|
-
] );
|
|
208
|
+
const areAllSelected = selectedItems.length === numberSelectableItems;
|
|
228
209
|
|
|
229
210
|
if ( bulkActions.length === 0 ) {
|
|
230
211
|
return null;
|
|
@@ -243,15 +224,15 @@ export default function BulkActions< Item extends AnyItem >( {
|
|
|
243
224
|
variant="tertiary"
|
|
244
225
|
size="compact"
|
|
245
226
|
>
|
|
246
|
-
{
|
|
227
|
+
{ selectedItems.length
|
|
247
228
|
? sprintf(
|
|
248
229
|
/* translators: %d: Number of items. */
|
|
249
230
|
_n(
|
|
250
231
|
'Edit %d item',
|
|
251
232
|
'Edit %d items',
|
|
252
|
-
|
|
233
|
+
selectedItems.length
|
|
253
234
|
),
|
|
254
|
-
|
|
235
|
+
selectedItems.length
|
|
255
236
|
)
|
|
256
237
|
: __( 'Bulk edit' ) }
|
|
257
238
|
</Button>
|
package/src/dataviews.tsx
CHANGED
|
@@ -7,7 +7,7 @@ import type { ComponentType } from 'react';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { __experimentalHStack as HStack } from '@wordpress/components';
|
|
10
|
-
import { useMemo, useState, useCallback
|
|
10
|
+
import { useMemo, useState, useCallback } from '@wordpress/element';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
@@ -38,6 +38,8 @@ interface DataViewsProps< Item extends AnyItem > {
|
|
|
38
38
|
totalPages: number;
|
|
39
39
|
};
|
|
40
40
|
supportedLayouts: string[];
|
|
41
|
+
selection?: string[];
|
|
42
|
+
setSelection?: ( selection: string[] ) => void;
|
|
41
43
|
onSelectionChange?: ( items: Item[] ) => void;
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -72,30 +74,24 @@ export default function DataViews< Item extends AnyItem >( {
|
|
|
72
74
|
isLoading = false,
|
|
73
75
|
paginationInfo,
|
|
74
76
|
supportedLayouts,
|
|
77
|
+
selection: selectionProperty,
|
|
78
|
+
setSelection: setSelectionProperty,
|
|
75
79
|
onSelectionChange = defaultOnSelectionChange,
|
|
76
80
|
}: DataViewsProps< Item > ) {
|
|
77
|
-
const [
|
|
81
|
+
const [ selectionState, setSelectionState ] = useState< string[] >( [] );
|
|
82
|
+
let selection, setSelection;
|
|
83
|
+
if (
|
|
84
|
+
selectionProperty !== undefined &&
|
|
85
|
+
setSelectionProperty !== undefined
|
|
86
|
+
) {
|
|
87
|
+
selection = selectionProperty;
|
|
88
|
+
setSelection = setSelectionProperty;
|
|
89
|
+
} else {
|
|
90
|
+
selection = selectionState;
|
|
91
|
+
setSelection = setSelectionState;
|
|
92
|
+
}
|
|
78
93
|
const [ openedFilter, setOpenedFilter ] = useState< string | null >( null );
|
|
79
94
|
|
|
80
|
-
useEffect( () => {
|
|
81
|
-
if (
|
|
82
|
-
selection.length > 0 &&
|
|
83
|
-
selection.some(
|
|
84
|
-
( id ) => ! data.some( ( item ) => getItemId( item ) === id )
|
|
85
|
-
)
|
|
86
|
-
) {
|
|
87
|
-
const newSelection = selection.filter( ( id ) =>
|
|
88
|
-
data.some( ( item ) => getItemId( item ) === id )
|
|
89
|
-
);
|
|
90
|
-
setSelection( newSelection );
|
|
91
|
-
onSelectionChange(
|
|
92
|
-
data.filter( ( item ) =>
|
|
93
|
-
newSelection.includes( getItemId( item ) )
|
|
94
|
-
)
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
}, [ selection, data, getItemId, onSelectionChange ] );
|
|
98
|
-
|
|
99
95
|
const onSetSelection = useCallback(
|
|
100
96
|
( items: Item[] ) => {
|
|
101
97
|
setSelection( items.map( ( item ) => getItemId( item ) ) );
|
|
@@ -112,6 +108,11 @@ export default function DataViews< Item extends AnyItem >( {
|
|
|
112
108
|
actions,
|
|
113
109
|
data
|
|
114
110
|
);
|
|
111
|
+
const _selection = useMemo( () => {
|
|
112
|
+
return selection.filter( ( id ) =>
|
|
113
|
+
data.some( ( item ) => getItemId( item ) === id )
|
|
114
|
+
);
|
|
115
|
+
}, [ selection, data, getItemId ] );
|
|
115
116
|
return (
|
|
116
117
|
<div className="dataviews-wrapper">
|
|
117
118
|
<HStack
|
|
@@ -145,7 +146,7 @@ export default function DataViews< Item extends AnyItem >( {
|
|
|
145
146
|
actions={ actions }
|
|
146
147
|
data={ data }
|
|
147
148
|
onSelectionChange={ onSetSelection }
|
|
148
|
-
selection={
|
|
149
|
+
selection={ _selection }
|
|
149
150
|
getItemId={ getItemId }
|
|
150
151
|
/>
|
|
151
152
|
) }
|
|
@@ -164,7 +165,7 @@ export default function DataViews< Item extends AnyItem >( {
|
|
|
164
165
|
isLoading={ isLoading }
|
|
165
166
|
onChangeView={ onChangeView }
|
|
166
167
|
onSelectionChange={ onSetSelection }
|
|
167
|
-
selection={
|
|
168
|
+
selection={ _selection }
|
|
168
169
|
setOpenedFilter={ setOpenedFilter }
|
|
169
170
|
view={ view }
|
|
170
171
|
/>
|
|
@@ -178,7 +179,7 @@ export default function DataViews< Item extends AnyItem >( {
|
|
|
178
179
|
<BulkActionsToolbar
|
|
179
180
|
data={ data }
|
|
180
181
|
actions={ actions }
|
|
181
|
-
selection={
|
|
182
|
+
selection={ _selection }
|
|
182
183
|
onSelectionChange={ onSetSelection }
|
|
183
184
|
getItemId={ getItemId }
|
|
184
185
|
/>
|