1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-21 22:05:38 -04:00

New: Custom Format Language Condition

This commit is contained in:
Qstick
2022-08-14 14:07:26 -05:00
parent 52760e0908
commit 89b0b04e08
243 changed files with 1345 additions and 3956 deletions
@@ -66,8 +66,8 @@ const columns = [
isVisible: true
},
{
name: 'language',
label: 'Language',
name: 'languages',
label: 'Languages',
isSortable: true,
isVisible: true
},
@@ -193,7 +193,7 @@ class InteractiveImportModalContentConnector extends Component {
episodes,
releaseGroup,
quality,
language,
languages,
episodeFileId
} = item;
@@ -217,8 +217,8 @@ class InteractiveImportModalContentConnector extends Component {
return;
}
if (!language) {
this.setState({ interactiveImportErrorMessage: 'Language must be chosen for each selected file' });
if (!languages) {
this.setState({ interactiveImportErrorMessage: 'Language(s) must be chosen for each selected file' });
return;
}
@@ -230,7 +230,7 @@ class InteractiveImportModalContentConnector extends Component {
id: episodeFileId,
releaseGroup,
quality,
language
languages
});
return;
@@ -244,7 +244,7 @@ class InteractiveImportModalContentConnector extends Component {
episodeIds: episodes.map((e) => e.id),
releaseGroup,
quality,
language,
languages,
downloadId: this.props.downloadId,
episodeFileId
});
@@ -5,7 +5,7 @@
}
.quality,
.language {
.languages {
composes: cell from '~Components/Table/Cells/TableRowCell.css';
text-align: center;
@@ -7,7 +7,7 @@ import TableRowCellButton from 'Components/Table/Cells/TableRowCellButton';
import TableSelectCell from 'Components/Table/Cells/TableSelectCell';
import TableRow from 'Components/Table/TableRow';
import Popover from 'Components/Tooltip/Popover';
import EpisodeLanguage from 'Episode/EpisodeLanguage';
import EpisodeLanguages from 'Episode/EpisodeLanguages';
import EpisodeQuality from 'Episode/EpisodeQuality';
import { icons, kinds, tooltipPositions } from 'Helpers/Props';
import SelectEpisodeModal from 'InteractiveImport/Episode/SelectEpisodeModal';
@@ -47,7 +47,7 @@ class InteractiveImportRow extends Component {
seasonNumber,
episodes,
quality,
language,
languages,
episodeFileId,
columns
} = this.props;
@@ -58,7 +58,7 @@ class InteractiveImportRow extends Component {
seasonNumber != null &&
episodes.length &&
quality &&
language
languages
) {
this.props.onSelectedChange({
id,
@@ -79,7 +79,7 @@ class InteractiveImportRow extends Component {
seasonNumber,
episodes,
quality,
language,
languages,
isSelected,
onValidRowChange
} = this.props;
@@ -89,7 +89,7 @@ class InteractiveImportRow extends Component {
prevProps.seasonNumber === seasonNumber &&
!hasDifferentItems(prevProps.episodes, episodes) &&
prevProps.quality === quality &&
prevProps.language === language &&
prevProps.languages === languages &&
prevProps.isSelected === isSelected
) {
return;
@@ -100,7 +100,7 @@ class InteractiveImportRow extends Component {
seasonNumber != null &&
episodes.length &&
quality &&
language
languages
);
if (isSelected && !isValid) {
@@ -210,7 +210,7 @@ class InteractiveImportRow extends Component {
seasonNumber,
episodes,
quality,
language,
languages,
releaseGroup,
size,
rejections,
@@ -252,7 +252,7 @@ class InteractiveImportRow extends Component {
const showEpisodeNumbersPlaceholder = isSelected && Number.isInteger(seasonNumber) && !episodes.length;
const showReleaseGroupPlaceholder = isSelected && !releaseGroup;
const showQualityPlaceholder = isSelected && !quality;
const showLanguagePlaceholder = isSelected && !language;
const showLanguagePlaceholder = isSelected && !languages;
return (
<TableRow>
@@ -352,10 +352,10 @@ class InteractiveImportRow extends Component {
}
{
!showLanguagePlaceholder && !!language &&
<EpisodeLanguage
!showLanguagePlaceholder && !!languages &&
<EpisodeLanguages
className={styles.label}
language={language}
languages={languages}
/>
}
</TableRowCellButton>
@@ -441,7 +441,7 @@ class InteractiveImportRow extends Component {
<SelectLanguageModal
isOpen={isSelectLanguageModalOpen}
ids={[id]}
languageId={language ? language.id : 0}
languageId={languages ? languages.id : 0}
modalTitle={modalTitle}
onModalClose={this.onSelectLanguageModalClose}
/>
@@ -460,7 +460,7 @@ InteractiveImportRow.propTypes = {
episodes: PropTypes.arrayOf(PropTypes.object).isRequired,
releaseGroup: PropTypes.string,
quality: PropTypes.object,
language: PropTypes.object,
languages: PropTypes.arrayOf(PropTypes.object),
size: PropTypes.number.isRequired,
rejections: PropTypes.arrayOf(PropTypes.object).isRequired,
columns: PropTypes.arrayOf(PropTypes.object).isRequired,