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.
29 lines
982 B
29 lines
982 B
import _ from 'lodash';
|
|
import { createSelector } from 'reselect';
|
|
import createAllArtistSelector from './createAllArtistSelector';
|
|
|
|
function createImportArtistItemSelector() {
|
|
return createSelector(
|
|
(state, { id }) => id,
|
|
(state) => state.addArtist,
|
|
(state) => state.importArtist,
|
|
createAllArtistSelector(),
|
|
(id, addArtist, importArtist, series) => {
|
|
const item = _.find(importArtist.items, { id }) || {};
|
|
const selectedArtist = item && item.selectedArtist;
|
|
const isExistingArtist = !!selectedArtist && _.some(series, { foreignArtistId: selectedArtist.foreignArtistId });
|
|
|
|
return {
|
|
defaultMonitor: addArtist.defaults.monitor,
|
|
defaultQualityProfileId: addArtist.defaults.qualityProfileId,
|
|
defaultSeriesType: addArtist.defaults.seriesType,
|
|
defaultSeasonFolder: addArtist.defaults.albumFolder,
|
|
...item,
|
|
isExistingArtist
|
|
};
|
|
}
|
|
);
|
|
}
|
|
|
|
export default createImportArtistItemSelector;
|