fixed non-virtual list row rendering (#4983)

This commit is contained in:
Jim Ehrismann authored and GitHub committed 2022-03-10 09:05:05 -05:00
1 parent 8b6f8e5dc3
commit 98235d17ac
1 file changed
+20 -10
@@ -69,28 +69,24 @@ export class ItemListLayoutContent<I extends ItemObject> extends React.Component
}
@boundMethod
getRow(uid: string) {
return (
<div key={uid}>
<Observer>
{() => {
renderRow(item: I) {
return this.getTableRow(item);
}
getTableRow(item: I) {
const {
isSelectable, renderTableHeader, renderTableContents, renderItemMenu,
store, hasDetailsView, onDetails,
copyClassNameFromHeadCells, customizeTableRowProps, detailsItem,
} = this.props;
const { isSelected } = store;
const item = this.props.getItems().find(item => item.getId() == uid);
if (!item) return null;
const itemId = item.getId();
return (
<TableRow
nowrap
searchItem={item}
sortItem={item}
selected={detailsItem && detailsItem.getId() === itemId}
selected={detailsItem && detailsItem.getId() === item.getId()}
onClick={hasDetailsView ? prevDefault(() => onDetails(item)) : undefined}
{...customizeTableRowProps(item)}
>
@@ -129,6 +125,19 @@ export class ItemListLayoutContent<I extends ItemObject> extends React.Component
)}
</TableRow>
);
}
@boundMethod
getRow(uid: string) {
return (
<div key={uid}>
<Observer>
{() => {
const item = this.props.getItems().find(item => item.getId() === uid);
if (!item) return null;
return this.getTableRow(item);
}}
</Observer>
</div>
@@ -248,6 +257,7 @@ export class ItemListLayoutContent<I extends ItemObject> extends React.Component
selectable={hasDetailsView}
sortable={sortingCallbacks}
getTableRow={this.getRow}
renderRow={virtual ? undefined : this.renderRow}
items={items}
selectedItemId={selectedItemId}
noItems={this.renderNoItems()}