1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

fixed non-virtual list row rendering (#4983)

This commit is contained in:
Jim Ehrismann 2022-03-10 09:05:05 -05:00 committed by GitHub
parent 8b6f8e5dc3
commit 98235d17ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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()}