lidarr/frontend/src/Episode/Summary/EpisodeSummaryConnector.js
2017-09-24 15:44:25 -04:00

43 lines
1.5 KiB
JavaScript

import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import { deleteEpisodeFile } from 'Store/Actions/episodeFileActions';
import createEpisodeSelector from 'Store/Selectors/createEpisodeSelector';
import createTrackSelector from 'Store/Selectors/createTrackSelector';
import createEpisodeFileSelector from 'Store/Selectors/createEpisodeFileSelector';
import createDimensionsSelector from 'Store/Selectors/createDimensionsSelector';
import createArtistSelector from 'Store/Selectors/createArtistSelector';
import createCommandsSelector from 'Store/Selectors/createCommandsSelector';
import EpisodeSummary from './EpisodeSummary';
function createMapStateToProps() {
return createSelector(
(state, { episode }) => episode,
(state) => state.tracks,
createEpisodeSelector(),
createCommandsSelector(),
createDimensionsSelector(),
(albumId, tracks, episode, commands, dimensions) => {
return {
network: episode.label,
qualityProfileId: episode.profileId,
airDateUtc: episode.releaseDate,
overview: episode.overview,
items: tracks.items,
columns: tracks.columns
};
}
);
}
function createMapDispatchToProps(dispatch, props) {
return {
onDeleteEpisodeFile() {
dispatch(deleteEpisodeFile({
id: props.episodeFileId,
episodeEntity: props.episodeEntity
}));
}
};
}
export default connect(createMapStateToProps, createMapDispatchToProps)(EpisodeSummary);