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.
Radarr/frontend/src/Movie/Index/createMovieIndexItemSelecto...

38 lines
1.3 KiB

import { createSelector } from 'reselect';
import Command from 'Commands/Command';
import { MOVIE_SEARCH, REFRESH_MOVIE } from 'Commands/commandNames';
import Movie from 'Movie/Movie';
import createExecutingCommandsSelector from 'Store/Selectors/createExecutingCommandsSelector';
import createMovieQualityProfileSelector from 'Store/Selectors/createMovieQualityProfileSelector';
import { createMovieSelectorForHook } from 'Store/Selectors/createMovieSelector';
function createMovieIndexItemSelector(movieId: number) {
return createSelector(
createMovieSelectorForHook(movieId),
createMovieQualityProfileSelector(movieId),
createExecutingCommandsSelector(),
(movie: Movie, qualityProfile, executingCommands: Command[]) => {
const isRefreshingMovie = executingCommands.some((command) => {
return (
command.name === REFRESH_MOVIE && command.body.movieId === movieId
);
});
const isSearchingMovie = executingCommands.some((command) => {
return (
command.name === MOVIE_SEARCH && command.body.movieId === movieId
);
});
return {
movie,
qualityProfile,
isRefreshingMovie,
isSearchingMovie,
};
}
);
}
export default createMovieIndexItemSelector;