Lidarr/frontend/src/Artist/Editor/Delete/DeleteArtistModalContentCon...

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-09-04 02:20:56 +00:00
import _ from 'lodash';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { bulkDeleteArtist } from 'Store/Actions/artistEditorActions';
2020-09-07 01:33:10 +00:00
import createAllArtistSelector from 'Store/Selectors/createAllArtistSelector';
2017-09-04 02:20:56 +00:00
import DeleteArtistModalContent from './DeleteArtistModalContent';
function createMapStateToProps() {
return createSelector(
(state, { artistIds }) => artistIds,
createAllArtistSelector(),
2017-09-16 20:22:06 +00:00
(artistIds, allArtists) => {
const selectedArtist = _.intersectionWith(allArtists, artistIds, (s, id) => {
2017-09-04 02:20:56 +00:00
return s.id === id;
});
2017-09-16 20:22:06 +00:00
const sortedArtist = _.orderBy(selectedArtist, 'sortName');
2017-10-07 22:38:31 +00:00
const artist = _.map(sortedArtist, (s) => {
2017-09-04 02:20:56 +00:00
return {
artistName: s.artistName,
2017-09-04 02:20:56 +00:00
path: s.path
};
});
return {
2017-10-07 22:38:31 +00:00
artist
2017-09-04 02:20:56 +00:00
};
}
);
}
function createMapDispatchToProps(dispatch, props) {
return {
onDeleteSelectedPress(deleteFiles) {
dispatch(bulkDeleteArtist({
artistIds: props.artistIds,
deleteFiles
}));
props.onModalClose();
}
};
}
export default connect(createMapStateToProps, createMapDispatchToProps)(DeleteArtistModalContent);