quintodrome/ui/src/playlist/PlaylistSongBulkActions.jsx

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

43 lines
1 KiB
React
Raw Normal View History

2020-05-16 14:10:08 -08:00
import React, { Fragment, useEffect } from 'react'
2020-11-26 13:00:53 -09:00
import {
BulkDeleteButton,
useUnselectAll,
ResourceContextProvider,
} from 'react-admin'
import { MdOutlinePlaylistRemove } from 'react-icons/md'
2020-05-16 14:10:08 -08:00
import PropTypes from 'prop-types'
2020-11-26 13:00:53 -09:00
// Replace original resource with "fake" one for removing tracks from playlist
const PlaylistSongBulkActions = ({
playlistId,
resource,
onUnselectItems,
...rest
}) => {
2020-05-16 14:10:08 -08:00
const unselectAll = useUnselectAll()
useEffect(() => {
unselectAll('playlistTrack')
2021-04-05 18:20:55 -08:00
}, [unselectAll])
2020-11-26 13:00:53 -09:00
const mappedResource = `playlist/${playlistId}/tracks`
2020-05-16 14:10:08 -08:00
return (
2020-11-26 13:00:53 -09:00
<ResourceContextProvider value={mappedResource}>
<Fragment>
<BulkDeleteButton
{...rest}
label={'ra.action.remove'}
icon={<MdOutlinePlaylistRemove />}
resource={mappedResource}
onClick={onUnselectItems}
/>
2020-11-26 13:00:53 -09:00
</Fragment>
</ResourceContextProvider>
2020-05-16 14:10:08 -08:00
)
}
PlaylistSongBulkActions.propTypes = {
playlistId: PropTypes.string.isRequired,
}
export default PlaylistSongBulkActions