mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-06 04:52:21 -07:00
Rename Episode Instances to Album to fix AlbumModal
This commit is contained in:
parent
bd3bd9a378
commit
02925245c2
25 changed files with 65 additions and 65 deletions
|
@ -112,7 +112,7 @@ class HistoryRow extends Component {
|
||||||
return (
|
return (
|
||||||
<TableRowCell key={name}>
|
<TableRowCell key={name}>
|
||||||
<EpisodeTitleLink
|
<EpisodeTitleLink
|
||||||
episodeId={albumId}
|
albumId={albumId}
|
||||||
episodeEntity={episodeEntities.EPISODES}
|
episodeEntity={episodeEntities.EPISODES}
|
||||||
artistId={artist.id}
|
artistId={artist.id}
|
||||||
episodeTitle={album.title}
|
episodeTitle={album.title}
|
||||||
|
|
|
@ -193,7 +193,7 @@ class Queue extends Component {
|
||||||
return (
|
return (
|
||||||
<QueueRowConnector
|
<QueueRowConnector
|
||||||
key={item.id}
|
key={item.id}
|
||||||
episodeId={item.albumId}
|
albumId={item.albumId}
|
||||||
isSelected={selectedState[item.id]}
|
isSelected={selectedState[item.id]}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
{...item}
|
{...item}
|
||||||
|
|
|
@ -157,7 +157,7 @@ class QueueRow extends Component {
|
||||||
return (
|
return (
|
||||||
<TableRowCell key={name}>
|
<TableRowCell key={name}>
|
||||||
<EpisodeTitleLink
|
<EpisodeTitleLink
|
||||||
episodeId={episode.id}
|
albumId={episode.id}
|
||||||
artistId={series.id}
|
artistId={series.id}
|
||||||
trackFileId={episode.trackFileId}
|
trackFileId={episode.trackFileId}
|
||||||
episodeTitle={episode.title}
|
episodeTitle={episode.title}
|
||||||
|
|
|
@ -47,9 +47,9 @@ class AlbumStudioRowConnector extends Component {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onAlbumMonitoredPress = (episodeId, monitored) => {
|
onAlbumMonitoredPress = (albumId, monitored) => {
|
||||||
this.props.toggleEpisodeMonitored({
|
this.props.toggleEpisodeMonitored({
|
||||||
episodeId,
|
albumId,
|
||||||
monitored: !monitored
|
monitored: !monitored
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ class AlbumRow extends Component {
|
||||||
className={styles.title}
|
className={styles.title}
|
||||||
>
|
>
|
||||||
<EpisodeTitleLink
|
<EpisodeTitleLink
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={artistId}
|
artistId={artistId}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
showOpenArtistButton={false}
|
showOpenArtistButton={false}
|
||||||
|
@ -183,7 +183,7 @@ class AlbumRow extends Component {
|
||||||
return (
|
return (
|
||||||
<EpisodeSearchCellConnector
|
<EpisodeSearchCellConnector
|
||||||
key={name}
|
key={name}
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={artistId}
|
artistId={artistId}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -119,7 +119,7 @@ class AgendaEvent extends Component {
|
||||||
|
|
||||||
<EpisodeDetailsModal
|
<EpisodeDetailsModal
|
||||||
isOpen={this.state.isDetailsModalOpen}
|
isOpen={this.state.isDetailsModalOpen}
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
episodeEntity={episodeEntities.CALENDAR}
|
episodeEntity={episodeEntities.CALENDAR}
|
||||||
artistId={artist.id}
|
artistId={artist.id}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
|
|
|
@ -37,7 +37,7 @@ function CalendarDay(props) {
|
||||||
return (
|
return (
|
||||||
<CalendarEventConnector
|
<CalendarEventConnector
|
||||||
key={event.id}
|
key={event.id}
|
||||||
episodeId={event.id}
|
albumId={event.id}
|
||||||
{...event}
|
{...event}
|
||||||
onEventModalOpenToggle={onEventModalOpenToggle}
|
onEventModalOpenToggle={onEventModalOpenToggle}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -112,7 +112,7 @@ class CalendarEvent extends Component {
|
||||||
|
|
||||||
<EpisodeDetailsModal
|
<EpisodeDetailsModal
|
||||||
isOpen={this.state.isDetailsModalOpen}
|
isOpen={this.state.isDetailsModalOpen}
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
episodeEntity={episodeEntities.CALENDAR}
|
episodeEntity={episodeEntities.CALENDAR}
|
||||||
artistId={artist.id}
|
artistId={artist.id}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
|
|
|
@ -44,7 +44,7 @@ class EpisodeDetailsModalContent extends Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
episodeId,
|
albumId,
|
||||||
episodeEntity,
|
episodeEntity,
|
||||||
artistId,
|
artistId,
|
||||||
artistName,
|
artistName,
|
||||||
|
@ -70,7 +70,7 @@ class EpisodeDetailsModalContent extends Component {
|
||||||
<ModalHeader>
|
<ModalHeader>
|
||||||
<MonitorToggleButton
|
<MonitorToggleButton
|
||||||
className={styles.toggleButton}
|
className={styles.toggleButton}
|
||||||
id={episodeId}
|
id={albumId}
|
||||||
monitored={monitored}
|
monitored={monitored}
|
||||||
size={18}
|
size={18}
|
||||||
isDisabled={!artistMonitored}
|
isDisabled={!artistMonitored}
|
||||||
|
@ -120,7 +120,7 @@ class EpisodeDetailsModalContent extends Component {
|
||||||
|
|
||||||
<TabPanel className={styles.tabPanel}>
|
<TabPanel className={styles.tabPanel}>
|
||||||
<EpisodeSummaryConnector
|
<EpisodeSummaryConnector
|
||||||
episodeId={episodeId}
|
albumId={albumId}
|
||||||
episodeEntity={episodeEntity}
|
episodeEntity={episodeEntity}
|
||||||
releaseDate={releaseDate}
|
releaseDate={releaseDate}
|
||||||
albumLabel={albumLabel}
|
albumLabel={albumLabel}
|
||||||
|
@ -130,13 +130,13 @@ class EpisodeDetailsModalContent extends Component {
|
||||||
|
|
||||||
<TabPanel className={styles.tabPanel}>
|
<TabPanel className={styles.tabPanel}>
|
||||||
<AlbumHistoryConnector
|
<AlbumHistoryConnector
|
||||||
albumId={episodeId}
|
albumId={albumId}
|
||||||
/>
|
/>
|
||||||
</TabPanel>
|
</TabPanel>
|
||||||
|
|
||||||
<TabPanel className={styles.tabPanel}>
|
<TabPanel className={styles.tabPanel}>
|
||||||
<EpisodeSearchConnector
|
<EpisodeSearchConnector
|
||||||
albumId={episodeId}
|
albumId={albumId}
|
||||||
startInteractiveSearch={startInteractiveSearch}
|
startInteractiveSearch={startInteractiveSearch}
|
||||||
onModalClose={onModalClose}
|
onModalClose={onModalClose}
|
||||||
/>
|
/>
|
||||||
|
@ -168,7 +168,7 @@ class EpisodeDetailsModalContent extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
EpisodeDetailsModalContent.propTypes = {
|
EpisodeDetailsModalContent.propTypes = {
|
||||||
episodeId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
episodeEntity: PropTypes.string.isRequired,
|
episodeEntity: PropTypes.string.isRequired,
|
||||||
artistId: PropTypes.number.isRequired,
|
artistId: PropTypes.number.isRequired,
|
||||||
artistName: PropTypes.string.isRequired,
|
artistName: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -15,7 +15,7 @@ function createMapStateToProps() {
|
||||||
return createSelector(
|
return createSelector(
|
||||||
createEpisodeSelector(),
|
createEpisodeSelector(),
|
||||||
createArtistSelector(),
|
createArtistSelector(),
|
||||||
(episode, series) => {
|
(album, series) => {
|
||||||
const {
|
const {
|
||||||
artistName,
|
artistName,
|
||||||
nameSlug,
|
nameSlug,
|
||||||
|
@ -28,7 +28,7 @@ function createMapStateToProps() {
|
||||||
nameSlug,
|
nameSlug,
|
||||||
artistMonitored,
|
artistMonitored,
|
||||||
seriesType,
|
seriesType,
|
||||||
...episode
|
...album
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -63,7 +63,7 @@ class EpisodeDetailsModalContentConnector extends Component {
|
||||||
|
|
||||||
_populate() {
|
_populate() {
|
||||||
const artistId = this.props.artistId;
|
const artistId = this.props.artistId;
|
||||||
const albumId = this.props.episodeId;
|
const albumId = this.props.albumId;
|
||||||
this.props.fetchTracks({ artistId, albumId });
|
this.props.fetchTracks({ artistId, albumId });
|
||||||
// this.props.fetchTrackFiles({ artistId, albumId });
|
// this.props.fetchTrackFiles({ artistId, albumId });
|
||||||
}
|
}
|
||||||
|
@ -78,13 +78,13 @@ class EpisodeDetailsModalContentConnector extends Component {
|
||||||
|
|
||||||
onMonitorAlbumPress = (monitored) => {
|
onMonitorAlbumPress = (monitored) => {
|
||||||
const {
|
const {
|
||||||
episodeId,
|
albumId,
|
||||||
episodeEntity
|
episodeEntity
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.props.toggleEpisodeMonitored({
|
this.props.toggleEpisodeMonitored({
|
||||||
episodeEntity,
|
episodeEntity,
|
||||||
episodeId,
|
albumId,
|
||||||
monitored
|
monitored
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ class EpisodeDetailsModalContentConnector extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
EpisodeDetailsModalContentConnector.propTypes = {
|
EpisodeDetailsModalContentConnector.propTypes = {
|
||||||
episodeId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
episodeEntity: PropTypes.string.isRequired,
|
episodeEntity: PropTypes.string.isRequired,
|
||||||
artistId: PropTypes.number.isRequired,
|
artistId: PropTypes.number.isRequired,
|
||||||
fetchTracks: PropTypes.func.isRequired,
|
fetchTracks: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -36,7 +36,7 @@ class EpisodeSearchCell extends Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
episodeId,
|
albumId,
|
||||||
artistId,
|
artistId,
|
||||||
episodeTitle,
|
episodeTitle,
|
||||||
isSearching,
|
isSearching,
|
||||||
|
@ -59,7 +59,7 @@ class EpisodeSearchCell extends Component {
|
||||||
|
|
||||||
<EpisodeDetailsModal
|
<EpisodeDetailsModal
|
||||||
isOpen={this.state.isDetailsModalOpen}
|
isOpen={this.state.isDetailsModalOpen}
|
||||||
episodeId={episodeId}
|
albumId={albumId}
|
||||||
artistId={artistId}
|
artistId={artistId}
|
||||||
episodeTitle={episodeTitle}
|
episodeTitle={episodeTitle}
|
||||||
selectedTab="search"
|
selectedTab="search"
|
||||||
|
@ -73,7 +73,7 @@ class EpisodeSearchCell extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
EpisodeSearchCell.propTypes = {
|
EpisodeSearchCell.propTypes = {
|
||||||
episodeId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
artistId: PropTypes.number.isRequired,
|
artistId: PropTypes.number.isRequired,
|
||||||
episodeTitle: PropTypes.string.isRequired,
|
episodeTitle: PropTypes.string.isRequired,
|
||||||
isSearching: PropTypes.bool.isRequired,
|
isSearching: PropTypes.bool.isRequired,
|
||||||
|
|
|
@ -9,11 +9,11 @@ import EpisodeSearchCell from './EpisodeSearchCell';
|
||||||
|
|
||||||
function createMapStateToProps() {
|
function createMapStateToProps() {
|
||||||
return createSelector(
|
return createSelector(
|
||||||
(state, { episodeId }) => episodeId,
|
(state, { albumId }) => albumId,
|
||||||
(state, { sceneSeasonNumber }) => sceneSeasonNumber,
|
(state, { sceneSeasonNumber }) => sceneSeasonNumber,
|
||||||
createArtistSelector(),
|
createArtistSelector(),
|
||||||
createCommandsSelector(),
|
createCommandsSelector(),
|
||||||
(episodeId, sceneSeasonNumber, series, commands) => {
|
(albumId, sceneSeasonNumber, series, commands) => {
|
||||||
const isSearching = _.some(commands, (command) => {
|
const isSearching = _.some(commands, (command) => {
|
||||||
const episodeSearch = command.name === commandNames.EPISODE_SEARCH;
|
const episodeSearch = command.name === commandNames.EPISODE_SEARCH;
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ function createMapStateToProps() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return command.body.albumIds.indexOf(episodeId) > -1;
|
return command.body.albumIds.indexOf(albumId) > -1;
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -38,7 +38,7 @@ function createMapDispatchToProps(dispatch, props) {
|
||||||
onSearchPress(name, path) {
|
onSearchPress(name, path) {
|
||||||
dispatch(executeCommand({
|
dispatch(executeCommand({
|
||||||
name: commandNames.EPISODE_SEARCH,
|
name: commandNames.EPISODE_SEARCH,
|
||||||
albumIds: [props.episodeId]
|
albumIds: [props.albumId]
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -46,7 +46,7 @@ class EpisodeStatusConnector extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
EpisodeStatusConnector.propTypes = {
|
EpisodeStatusConnector.propTypes = {
|
||||||
episodeId: PropTypes.number.isRequired,
|
albumId: PropTypes.number.isRequired,
|
||||||
trackFileId: PropTypes.number.isRequired
|
trackFileId: PropTypes.number.isRequired
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -88,8 +88,8 @@ class EpisodeSummary extends Component {
|
||||||
<div className={styles.overview}>
|
<div className={styles.overview}>
|
||||||
{
|
{
|
||||||
hasOverview ?
|
hasOverview ?
|
||||||
overview :
|
overview :
|
||||||
'No album overview.'
|
'No album overview.'
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ function createMapStateToProps() {
|
||||||
return {
|
return {
|
||||||
network: episode.label,
|
network: episode.label,
|
||||||
qualityProfileId: episode.profileId,
|
qualityProfileId: episode.profileId,
|
||||||
airDateUtc: episode.releaseDate,
|
releaseDate: episode.releaseDate,
|
||||||
overview: episode.overview,
|
overview: episode.overview,
|
||||||
items,
|
items,
|
||||||
columns: tracks.columns
|
columns: tracks.columns
|
||||||
|
|
|
@ -96,7 +96,7 @@ class TrackDetailRow extends Component {
|
||||||
className={styles.status}
|
className={styles.status}
|
||||||
>
|
>
|
||||||
<EpisodeStatusConnector
|
<EpisodeStatusConnector
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
trackFileId={trackFileId}
|
trackFileId={trackFileId}
|
||||||
/>
|
/>
|
||||||
</TableRowCell>
|
</TableRowCell>
|
||||||
|
|
|
@ -5,32 +5,32 @@ function createBatchToggleEpisodeMonitoredHandler(section, getFromState) {
|
||||||
return function(payload) {
|
return function(payload) {
|
||||||
return function(dispatch, getState) {
|
return function(dispatch, getState) {
|
||||||
const {
|
const {
|
||||||
episodeIds,
|
albumIds,
|
||||||
monitored
|
monitored
|
||||||
} = payload;
|
} = payload;
|
||||||
|
|
||||||
const state = getFromState(getState());
|
const state = getFromState(getState());
|
||||||
|
|
||||||
updateEpisodes(dispatch, section, state.items, episodeIds, {
|
updateEpisodes(dispatch, section, state.items, albumIds, {
|
||||||
isSaving: true
|
isSaving: true
|
||||||
});
|
});
|
||||||
|
|
||||||
const promise = $.ajax({
|
const promise = $.ajax({
|
||||||
url: '/episode/monitor',
|
url: '/episode/monitor',
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
data: JSON.stringify({ episodeIds, monitored }),
|
data: JSON.stringify({ albumIds, monitored }),
|
||||||
dataType: 'json'
|
dataType: 'json'
|
||||||
});
|
});
|
||||||
|
|
||||||
promise.done(() => {
|
promise.done(() => {
|
||||||
updateEpisodes(dispatch, section, state.items, episodeIds, {
|
updateEpisodes(dispatch, section, state.items, albumIds, {
|
||||||
isSaving: false,
|
isSaving: false,
|
||||||
monitored
|
monitored
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
promise.fail(() => {
|
promise.fail(() => {
|
||||||
updateEpisodes(dispatch, section, state.items, episodeIds, {
|
updateEpisodes(dispatch, section, state.items, albumIds, {
|
||||||
isSaving: false
|
isSaving: false
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,32 +5,32 @@ function createToggleEpisodeMonitoredHandler(section, getFromState) {
|
||||||
return function(payload) {
|
return function(payload) {
|
||||||
return function(dispatch, getState) {
|
return function(dispatch, getState) {
|
||||||
const {
|
const {
|
||||||
episodeId,
|
albumId,
|
||||||
monitored
|
monitored
|
||||||
} = payload;
|
} = payload;
|
||||||
|
|
||||||
const state = getFromState(getState());
|
const state = getFromState(getState());
|
||||||
|
|
||||||
updateEpisodes(dispatch, section, state.items, [episodeId], {
|
updateEpisodes(dispatch, section, state.items, [albumId], {
|
||||||
isSaving: true
|
isSaving: true
|
||||||
});
|
});
|
||||||
|
|
||||||
const promise = $.ajax({
|
const promise = $.ajax({
|
||||||
url: `/episode/${episodeId}`,
|
url: `/episode/${albumId}`,
|
||||||
method: 'PUT',
|
method: 'PUT',
|
||||||
data: JSON.stringify({ monitored }),
|
data: JSON.stringify({ monitored }),
|
||||||
dataType: 'json'
|
dataType: 'json'
|
||||||
});
|
});
|
||||||
|
|
||||||
promise.done(() => {
|
promise.done(() => {
|
||||||
updateEpisodes(dispatch, section, state.items, [episodeId], {
|
updateEpisodes(dispatch, section, state.items, [albumId], {
|
||||||
isSaving: false,
|
isSaving: false,
|
||||||
monitored
|
monitored
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
promise.fail(() => {
|
promise.fail(() => {
|
||||||
updateEpisodes(dispatch, section, state.items, [episodeId], {
|
updateEpisodes(dispatch, section, state.items, [albumId], {
|
||||||
isSaving: false
|
isSaving: false
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -14,7 +14,7 @@ const episodeActionHandlers = {
|
||||||
[types.TOGGLE_EPISODE_MONITORED]: function(payload) {
|
[types.TOGGLE_EPISODE_MONITORED]: function(payload) {
|
||||||
return function(dispatch, getState) {
|
return function(dispatch, getState) {
|
||||||
const {
|
const {
|
||||||
episodeId: id,
|
albumId: id,
|
||||||
episodeEntity = episodeEntities.EPISODES,
|
episodeEntity = episodeEntities.EPISODES,
|
||||||
monitored
|
monitored
|
||||||
} = payload;
|
} = payload;
|
||||||
|
@ -64,9 +64,9 @@ const episodeActionHandlers = {
|
||||||
const episodeSection = _.last(episodeEntity.split('.'));
|
const episodeSection = _.last(episodeEntity.split('.'));
|
||||||
|
|
||||||
dispatch(batchActions(
|
dispatch(batchActions(
|
||||||
albumIds.map((episodeId) => {
|
albumIds.map((albumId) => {
|
||||||
return updateItem({
|
return updateItem({
|
||||||
id: episodeId,
|
id: albumId,
|
||||||
section: episodeSection,
|
section: episodeSection,
|
||||||
isSaving: true
|
isSaving: true
|
||||||
});
|
});
|
||||||
|
@ -82,9 +82,9 @@ const episodeActionHandlers = {
|
||||||
|
|
||||||
promise.done((data) => {
|
promise.done((data) => {
|
||||||
dispatch(batchActions(
|
dispatch(batchActions(
|
||||||
albumIds.map((episodeId) => {
|
albumIds.map((albumId) => {
|
||||||
return updateItem({
|
return updateItem({
|
||||||
id: episodeId,
|
id: albumId,
|
||||||
section: episodeSection,
|
section: episodeSection,
|
||||||
isSaving: false,
|
isSaving: false,
|
||||||
monitored
|
monitored
|
||||||
|
@ -95,9 +95,9 @@ const episodeActionHandlers = {
|
||||||
|
|
||||||
promise.fail((xhr) => {
|
promise.fail((xhr) => {
|
||||||
dispatch(batchActions(
|
dispatch(batchActions(
|
||||||
albumIds.map((episodeId) => {
|
albumIds.map((albumId) => {
|
||||||
return updateItem({
|
return updateItem({
|
||||||
id: episodeId,
|
id: albumId,
|
||||||
section: episodeSection,
|
section: episodeSection,
|
||||||
isSaving: false
|
isSaving: false
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,15 +3,15 @@ import { createSelector } from 'reselect';
|
||||||
|
|
||||||
function createQueueItemSelector() {
|
function createQueueItemSelector() {
|
||||||
return createSelector(
|
return createSelector(
|
||||||
(state, { episodeId }) => episodeId,
|
(state, { albumId }) => albumId,
|
||||||
(state) => state.queue.details,
|
(state) => state.queue.details,
|
||||||
(episodeId, details) => {
|
(albumId, details) => {
|
||||||
if (!episodeId) {
|
if (!albumId) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return _.find(details.items, (item) => {
|
return _.find(details.items, (item) => {
|
||||||
return item.album.id === episodeId;
|
return item.album.id === albumId;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { update } from 'Store/Actions/baseActions';
|
import { update } from 'Store/Actions/baseActions';
|
||||||
|
|
||||||
function updateEpisodes(dispatch, section, episodes, episodeIds, options) {
|
function updateEpisodes(dispatch, section, episodes, albumIds, options) {
|
||||||
const data = _.reduce(episodes, (result, item) => {
|
const data = _.reduce(episodes, (result, item) => {
|
||||||
if (episodeIds.indexOf(item.id) > -1) {
|
if (albumIds.indexOf(item.id) > -1) {
|
||||||
result.push({
|
result.push({
|
||||||
...item,
|
...item,
|
||||||
...options
|
...options
|
||||||
|
|
|
@ -121,7 +121,7 @@ class CutoffUnmetConnector extends Component {
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.props.batchToggleCutoffUnmetEpisodes({
|
this.props.batchToggleCutoffUnmetEpisodes({
|
||||||
episodeIds: selected,
|
albumIds: selected,
|
||||||
monitored: filterKey !== 'monitored' || !filterValue
|
monitored: filterKey !== 'monitored' || !filterValue
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ function CutoffUnmetRow(props) {
|
||||||
return (
|
return (
|
||||||
<TableRowCell key={name}>
|
<TableRowCell key={name}>
|
||||||
<EpisodeTitleLink
|
<EpisodeTitleLink
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={series.id}
|
artistId={series.id}
|
||||||
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
|
@ -123,7 +123,7 @@ function CutoffUnmetRow(props) {
|
||||||
className={styles.status}
|
className={styles.status}
|
||||||
>
|
>
|
||||||
<EpisodeStatusConnector
|
<EpisodeStatusConnector
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
trackFileId={trackFileId}
|
trackFileId={trackFileId}
|
||||||
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
||||||
/>
|
/>
|
||||||
|
@ -135,7 +135,7 @@ function CutoffUnmetRow(props) {
|
||||||
return (
|
return (
|
||||||
<EpisodeSearchCellConnector
|
<EpisodeSearchCellConnector
|
||||||
key={name}
|
key={name}
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={series.id}
|
artistId={series.id}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
episodeEntity={episodeEntities.WANTED_CUTOFF_UNMET}
|
||||||
|
|
|
@ -111,7 +111,7 @@ class MissingConnector extends Component {
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
this.props.batchToggleMissingEpisodes({
|
this.props.batchToggleMissingEpisodes({
|
||||||
episodeIds: selected,
|
albumIds: selected,
|
||||||
monitored: filterKey !== 'monitored' || !filterValue
|
monitored: filterKey !== 'monitored' || !filterValue
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ function MissingRow(props) {
|
||||||
return (
|
return (
|
||||||
<TableRowCell key={name}>
|
<TableRowCell key={name}>
|
||||||
<EpisodeTitleLink
|
<EpisodeTitleLink
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={artist.id}
|
artistId={artist.id}
|
||||||
episodeEntity={episodeEntities.WANTED_MISSING}
|
episodeEntity={episodeEntities.WANTED_MISSING}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
|
@ -109,7 +109,7 @@ function MissingRow(props) {
|
||||||
// className={styles.status}
|
// className={styles.status}
|
||||||
// >
|
// >
|
||||||
// <EpisodeStatusConnector
|
// <EpisodeStatusConnector
|
||||||
// episodeId={id}
|
// albumId={id}
|
||||||
// trackFileId={trackFileId}
|
// trackFileId={trackFileId}
|
||||||
// episodeEntity={episodeEntities.WANTED_MISSING}
|
// episodeEntity={episodeEntities.WANTED_MISSING}
|
||||||
// />
|
// />
|
||||||
|
@ -121,7 +121,7 @@ function MissingRow(props) {
|
||||||
return (
|
return (
|
||||||
<EpisodeSearchCellConnector
|
<EpisodeSearchCellConnector
|
||||||
key={name}
|
key={name}
|
||||||
episodeId={id}
|
albumId={id}
|
||||||
artistId={artist.id}
|
artistId={artist.id}
|
||||||
episodeTitle={title}
|
episodeTitle={title}
|
||||||
episodeEntity={episodeEntities.WANTED_MISSING}
|
episodeEntity={episodeEntities.WANTED_MISSING}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue