[UI Work] History, Queue, Calendar Fixes

This commit is contained in:
Qstick
2017-09-16 00:16:26 -04:00
parent d2bafd4605
commit 871a3773b2
17 changed files with 91 additions and 122 deletions
+7 -7
View File
@@ -30,16 +30,16 @@ class History extends Component {
filterKey,
filterValue,
totalRecords,
isEpisodesFetching,
isEpisodesPopulated,
isAlbumsFetching,
isAlbumsPopulated,
episodesError,
onFilterSelect,
onFirstPagePress,
...otherProps
} = this.props;
const isFetchingAny = isFetching || isEpisodesFetching;
const isAllPopulated = isPopulated && (isEpisodesPopulated || !items.length);
const isFetchingAny = isFetching || isAlbumsFetching;
const isAllPopulated = isPopulated && (isAlbumsPopulated || !items.length);
const hasError = error || episodesError;
return (
@@ -132,7 +132,7 @@ class History extends Component {
{
// If history isPopulated and it's empty show no history found and don't
// wait for the episodes to populate because they are never coming.
// wait for the albums to populate because they are never coming.
isPopulated && !hasError && !items.length &&
<div>
@@ -185,8 +185,8 @@ History.propTypes = {
filterKey: PropTypes.string,
filterValue: PropTypes.string,
totalRecords: PropTypes.number,
isEpisodesFetching: PropTypes.bool.isRequired,
isEpisodesPopulated: PropTypes.bool.isRequired,
isAlbumsFetching: PropTypes.bool.isRequired,
isAlbumsPopulated: PropTypes.bool.isRequired,
episodesError: PropTypes.object,
onFilterSelect: PropTypes.func.isRequired,
onFirstPagePress: PropTypes.func.isRequired
@@ -14,8 +14,8 @@ function createMapStateToProps() {
(state) => state.episodes,
(history, episodes) => {
return {
isEpisodesFetching: episodes.isFetching,
isEpisodesPopulated: episodes.isPopulated,
isAlbumsFetching: episodes.isFetching,
isAlbumsPopulated: episodes.isPopulated,
episodesError: episodes.error,
...history
};
@@ -40,8 +40,8 @@ class HistoryConnector extends Component {
componentDidUpdate(prevProps) {
if (hasDifferentItems(prevProps.items, this.props.items)) {
const episodeIds = selectUniqueIds(this.props.items, 'episodeId');
this.props.fetchEpisodes({ episodeIds });
const albumIds = selectUniqueIds(this.props.items, 'albumId');
this.props.fetchEpisodes({ albumIds });
}
}
@@ -36,17 +36,17 @@ function getIconKind(eventType) {
function getTooltip(eventType, data) {
switch (eventType) {
case 'grabbed':
return `Episode grabbed from ${data.indexer} and sent to ${data.downloadClient}`;
return `Album grabbed from ${data.indexer} and sent to ${data.downloadClient}`;
case 'seriesFolderImported':
return 'Episode imported from series folder';
return 'Album imported from artist folder';
case 'downloadFolderImported':
return 'Episode downloaded successfully and picked up from download client';
return 'Album downloaded successfully and picked up from download client';
case 'downloadFailed':
return 'Episode download failed';
return 'Album download failed';
case 'episodeFileDeleted':
return 'Episode file deleted';
return 'Track file deleted';
case 'episodeFileRenamed':
return 'Episode file renamed';
return 'Track file renamed';
default:
return 'Unknown event';
}
+13 -30
View File
@@ -6,7 +6,6 @@ import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellCo
import TableRow from 'Components/Table/TableRow';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import episodeEntities from 'Episode/episodeEntities';
import SeasonEpisodeNumber from 'Episode/SeasonEpisodeNumber';
import EpisodeTitleLink from 'Episode/EpisodeTitleLink';
import EpisodeLanguage from 'Episode/EpisodeLanguage';
import EpisodeQuality from 'Episode/EpisodeQuality';
@@ -54,9 +53,9 @@ class HistoryRow extends Component {
render() {
const {
episodeId,
series,
episode,
albumId,
artist,
album,
language,
quality,
eventType,
@@ -70,7 +69,7 @@ class HistoryRow extends Component {
onMarkAsFailedPress
} = this.props;
if (!episode) {
if (!album) {
return null;
}
@@ -97,28 +96,12 @@ class HistoryRow extends Component {
);
}
if (name === 'series.sortTitle') {
if (name === 'artist.sortName') {
return (
<TableRowCell key={name}>
<ArtistNameLink
titleSlug={series.titleSlug}
title={series.title}
/>
</TableRowCell>
);
}
if (name === 'episode') {
return (
<TableRowCell key={name}>
<SeasonEpisodeNumber
seasonNumber={episode.seasonNumber}
episodeNumber={episode.episodeNumber}
absoluteEpisodeNumber={episode.absoluteEpisodeNumber}
seriesType={series.seriesType}
sceneSeasonNumber={episode.sceneSeasonNumber}
sceneEpisodeNumber={episode.sceneEpisodeNumber}
sceneAbsoluteEpisodeNumber={episode.sceneAbsoluteEpisodeNumber}
nameSlug={artist.nameSlug}
artistName={artist.artistName}
/>
</TableRowCell>
);
@@ -128,10 +111,10 @@ class HistoryRow extends Component {
return (
<TableRowCell key={name}>
<EpisodeTitleLink
episodeId={episodeId}
episodeId={albumId}
episodeEntity={episodeEntities.EPISODES}
artistId={series.id}
episodeTitle={episode.title}
artistId={artist.id}
episodeTitle={album.title}
showOpenSeriesButton={true}
/>
</TableRowCell>
@@ -234,9 +217,9 @@ class HistoryRow extends Component {
}
HistoryRow.propTypes = {
episodeId: PropTypes.number,
series: PropTypes.object.isRequired,
episode: PropTypes.object,
albumId: PropTypes.number,
artist: PropTypes.object.isRequired,
album: PropTypes.object,
language: PropTypes.object.isRequired,
quality: PropTypes.object.isRequired,
eventType: PropTypes.string.isRequired,