diff --git a/src/renderer/components/item-object-list/item-list-layout.tsx b/src/renderer/components/item-object-list/item-list-layout.tsx index 6d6ca701ab..a2d528ce68 100644 --- a/src/renderer/components/item-object-list/item-list-layout.tsx +++ b/src/renderer/components/item-object-list/item-list-layout.tsx @@ -233,13 +233,6 @@ export class ItemListLayout extends React.Component { if (!item) return; const itemId = item.getId(); - const customProps = customizeTableRowProps ? customizeTableRowProps(item) : {}; - - // make sure a disabled item is not in the selected state - if (customProps.disabled) { - store.unselect(item); - } - return ( { sortItem={item} selected={detailsItem && detailsItem.getId() === itemId} onClick={hasDetailsView ? prevDefault(() => onDetails(item)) : undefined} - {...customProps} + {...(customizeTableRowProps ? customizeTableRowProps(item) : {})} > {isSelectable && ( { return; } - let items = this.items; - if ( customizeTableRowProps ) { - items = items.filter((item) => !customizeTableRowProps(item).disabled); - } + const enabledItems = customizeTableRowProps + ? this.items.filter(item => !customizeTableRowProps(item).disabled) + : this.items; return ( {isSelectable && ( store.toggleSelectionAll(items))} + isChecked={store.isSelectedAll(enabledItems)} + onClick={prevDefault(() => store.toggleSelectionAll(enabledItems))} /> )} {renderTableHeader.map((cellProps, index) => {