Fix context menu on mobile, removed console warnings
This commit is contained in:
@@ -117,7 +117,7 @@ const AlbumSongs = (props) => {
|
|||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<SongDatagrid
|
<SongDatagrid
|
||||||
expand={!isXsmall && <SongDetails />}
|
expand={isXsmall ? null : <SongDetails />}
|
||||||
rowClick={(id) => dispatch(playTracks(data, ids, id))}
|
rowClick={(id) => dispatch(playTracks(data, ids, id))}
|
||||||
{...controllerProps}
|
{...controllerProps}
|
||||||
hasBulkActions={hasBulkActions}
|
hasBulkActions={hasBulkActions}
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ const AlbumContextMenu = ({ record, discNumber, color, visible }) => {
|
|||||||
onClick={handleClick}
|
onClick={handleClick}
|
||||||
size={'small'}
|
size={'small'}
|
||||||
>
|
>
|
||||||
<MoreVertIcon />
|
<MoreVertIcon fontSize={'small'} />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Menu
|
<Menu
|
||||||
id="context-menu"
|
id="context-menu"
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ const SongContextMenu = ({
|
|||||||
className={classes.menu}
|
className={classes.menu}
|
||||||
disabled={updating}
|
disabled={updating}
|
||||||
>
|
>
|
||||||
<MoreVertIcon />
|
<MoreVertIcon fontSize={'small'} />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Menu
|
<Menu
|
||||||
id={'menu' + record.id}
|
id={'menu' + record.id}
|
||||||
|
|||||||
@@ -24,7 +24,12 @@ const useStyles = makeStyles({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const DiscSubtitleRow = ({ record, onClickDiscSubtitle, colSpan }) => {
|
const DiscSubtitleRow = ({
|
||||||
|
record,
|
||||||
|
onClickDiscSubtitle,
|
||||||
|
colSpan,
|
||||||
|
contextAlwaysVisible,
|
||||||
|
}) => {
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
const [visible, setVisible] = useState(false)
|
const [visible, setVisible] = useState(false)
|
||||||
const handlePlayDisc = (discNumber) => () => {
|
const handlePlayDisc = (discNumber) => () => {
|
||||||
@@ -49,7 +54,7 @@ const DiscSubtitleRow = ({ record, onClickDiscSubtitle, colSpan }) => {
|
|||||||
<AlbumContextMenu
|
<AlbumContextMenu
|
||||||
record={{ id: record.albumId }}
|
record={{ id: record.albumId }}
|
||||||
discNumber={record.discNumber}
|
discNumber={record.discNumber}
|
||||||
visible={visible}
|
visible={contextAlwaysVisible || visible}
|
||||||
/>
|
/>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@@ -61,19 +66,19 @@ export const SongDatagridRow = ({
|
|||||||
children,
|
children,
|
||||||
multiDisc,
|
multiDisc,
|
||||||
contextAlwaysVisible,
|
contextAlwaysVisible,
|
||||||
contextMenu,
|
|
||||||
onClickDiscSubtitle,
|
onClickDiscSubtitle,
|
||||||
...rest
|
...rest
|
||||||
}) => {
|
}) => {
|
||||||
const [visible, setVisible] = useState(false)
|
const [visible, setVisible] = useState(false)
|
||||||
const childCount = React.Children.count(children)
|
const childCount = children.filter((c) => isValidElement(c)).length
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{multiDisc && record.trackNumber === 1 && (
|
{multiDisc && record.trackNumber === 1 && (
|
||||||
<DiscSubtitleRow
|
<DiscSubtitleRow
|
||||||
record={record}
|
record={record}
|
||||||
onClickDiscSubtitle={onClickDiscSubtitle}
|
onClickDiscSubtitle={onClickDiscSubtitle}
|
||||||
colSpan={childCount}
|
contextAlwaysVisible={contextAlwaysVisible}
|
||||||
|
colSpan={childCount + (rest.expand ? 1 : 0)}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<DatagridRow
|
<DatagridRow
|
||||||
@@ -87,11 +92,10 @@ export const SongDatagridRow = ({
|
|||||||
(child, index) =>
|
(child, index) =>
|
||||||
child &&
|
child &&
|
||||||
isValidElement(child) &&
|
isValidElement(child) &&
|
||||||
(index < childCount - 1
|
(index < childCount
|
||||||
? child
|
? child
|
||||||
: cloneElement(child, {
|
: cloneElement(child, {
|
||||||
visible: contextAlwaysVisible || visible,
|
visible: contextAlwaysVisible || visible,
|
||||||
...rest,
|
|
||||||
}))
|
}))
|
||||||
)}
|
)}
|
||||||
</DatagridRow>
|
</DatagridRow>
|
||||||
|
|||||||
Reference in New Issue
Block a user