mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-21 22:04:31 -04:00
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import _ from 'lodash';
|
|
import { connect } from 'react-redux';
|
|
import { createSelector } from 'reselect';
|
|
import createAllSeriesSelector from 'Store/Selectors/createAllSeriesSelector';
|
|
import { bulkDeleteArtist } from 'Store/Actions/seriesEditorActions';
|
|
import DeleteArtistModalContent from './DeleteArtistModalContent';
|
|
|
|
function createMapStateToProps() {
|
|
return createSelector(
|
|
(state, { artistIds }) => artistIds,
|
|
createAllSeriesSelector(),
|
|
(artistIds, allSeries) => {
|
|
const selectedSeries = _.intersectionWith(allSeries, artistIds, (s, id) => {
|
|
return s.id === id;
|
|
});
|
|
|
|
const sortedSeries = _.orderBy(selectedSeries, 'sortTitle');
|
|
const series = _.map(sortedSeries, (s) => {
|
|
return {
|
|
title: s.title,
|
|
path: s.path
|
|
};
|
|
});
|
|
|
|
return {
|
|
series
|
|
};
|
|
}
|
|
);
|
|
}
|
|
|
|
function createMapDispatchToProps(dispatch, props) {
|
|
return {
|
|
onDeleteSelectedPress(deleteFiles) {
|
|
dispatch(bulkDeleteArtist({
|
|
artistIds: props.artistIds,
|
|
deleteFiles
|
|
}));
|
|
|
|
props.onModalClose();
|
|
}
|
|
};
|
|
}
|
|
|
|
export default connect(createMapStateToProps, createMapDispatchToProps)(DeleteArtistModalContent);
|