Make SongDatagrid faster by using PureDatagridBody
This commit is contained in:
@@ -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}
|
||||||
@@ -173,8 +171,24 @@ export const SongDatagrid = ({
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const SongDatagrid = ({
|
||||||
|
contextAlwaysVisible,
|
||||||
|
showDiscSubtitles,
|
||||||
|
...rest
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<Datagrid
|
||||||
|
{...rest}
|
||||||
|
body={
|
||||||
|
<SongDatagridBody
|
||||||
|
contextAlwaysVisible={contextAlwaysVisible}
|
||||||
|
showDiscSubtitles={showDiscSubtitles}
|
||||||
|
/>
|
||||||
}
|
}
|
||||||
return <Datagrid {...rest} body={<SongDatagridBody />} classes={classes} />
|
/>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
SongDatagrid.propTypes = {
|
SongDatagrid.propTypes = {
|
||||||
|
|||||||
Reference in New Issue
Block a user