Make SongDatagrid faster by using PureDatagridBody

This commit is contained in:
Deluan
2020-11-27 12:02:46 -05:00
committed by Deluan Quintão
parent 0e9b0d466c
commit 7d075b1882
+21 -7
View File
@@ -1,6 +1,6 @@
import React, { isValidElement, useMemo, useCallback } from 'react' import React, { isValidElement, useMemo, useCallback } from 'react'
import { useDispatch } from 'react-redux' import { useDispatch } from 'react-redux'
import { Datagrid, DatagridBody, DatagridRow } from 'react-admin' import { Datagrid, PureDatagridBody, DatagridRow } from 'react-admin'
import { TableCell, TableRow, Typography } from '@material-ui/core' import { TableCell, TableRow, Typography } from '@material-ui/core'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { makeStyles } from '@material-ui/core/styles' import { makeStyles } from '@material-ui/core/styles'
@@ -119,10 +119,9 @@ SongDatagridRow.defaultProps = {
onClickDiscSubtitle: () => {}, onClickDiscSubtitle: () => {},
} }
export const SongDatagrid = ({ const SongDatagridBody = ({
contextAlwaysVisible, contextAlwaysVisible,
showDiscSubtitles, showDiscSubtitles,
classes,
...rest ...rest
}) => { }) => {
const dispatch = useDispatch() const dispatch = useDispatch()
@@ -160,10 +159,9 @@ export const SongDatagrid = ({
return set return set
}, [ids, data, showDiscSubtitles]) }, [ids, data, showDiscSubtitles])
const SongDatagridBody = (props) => {
return ( return (
<DatagridBody <PureDatagridBody
{...props} {...rest}
row={ row={
<SongDatagridRow <SongDatagridRow
firstTracks={firstTracks} firstTracks={firstTracks}
@@ -174,7 +172,23 @@ export const SongDatagrid = ({
/> />
) )
} }
return <Datagrid {...rest} body={<SongDatagridBody />} classes={classes} />
export const SongDatagrid = ({
contextAlwaysVisible,
showDiscSubtitles,
...rest
}) => {
return (
<Datagrid
{...rest}
body={
<SongDatagridBody
contextAlwaysVisible={contextAlwaysVisible}
showDiscSubtitles={showDiscSubtitles}
/>
}
/>
)
} }
SongDatagrid.propTypes = { SongDatagrid.propTypes = {