You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readarr/frontend/src/Artist/Editor/Delete/DeleteArtistModalContentCon...

46 lines
1.2 KiB

import _ from 'lodash';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import createAllArtistSelector from 'Store/Selectors/createAllArtistSelector';
import { bulkDeleteArtist } from 'Store/Actions/artistEditorActions';
import DeleteArtistModalContent from './DeleteArtistModalContent';
function createMapStateToProps() {
return createSelector(
(state, { authorIds }) => authorIds,
createAllArtistSelector(),
(authorIds, allArtists) => {
const selectedArtist = _.intersectionWith(allArtists, authorIds, (s, id) => {
return s.id === id;
});
const sortedArtist = _.orderBy(selectedArtist, 'sortName');
const artist = _.map(sortedArtist, (s) => {
return {
artistName: s.artistName,
path: s.path
};
});
return {
artist
};
}
);
}
function createMapDispatchToProps(dispatch, props) {
return {
onDeleteSelectedPress(deleteFiles) {
dispatch(bulkDeleteArtist({
authorIds: props.authorIds,
deleteFiles
}));
props.onModalClose();
}
};
}
export default connect(createMapStateToProps, createMapDispatchToProps)(DeleteArtistModalContent);