diff --git a/frontend/src/Components/Form/EnhancedSelectInput.js b/frontend/src/Components/Form/EnhancedSelectInput.js
index f3a2d1791..87d156520 100644
--- a/frontend/src/Components/Form/EnhancedSelectInput.js
+++ b/frontend/src/Components/Form/EnhancedSelectInput.js
@@ -113,10 +113,12 @@ class EnhancedSelectInput extends Component {
this._scheduleUpdate();
}
- if (!Array.isArray(this.props.value) && prevProps.value !== this.props.value) {
- this.setState({
- selectedIndex: getSelectedIndex(this.props)
- });
+ if (!Array.isArray(this.props.value)) {
+ if (prevProps.value !== this.props.value || prevProps.values !== this.props.values) {
+ this.setState({
+ selectedIndex: getSelectedIndex(this.props)
+ });
+ }
}
}
@@ -332,6 +334,11 @@ class EnhancedSelectInput extends Component {
const isMultiSelect = Array.isArray(value);
const selectedOption = getSelectedOption(selectedIndex, values);
+ let selectedValue = value;
+
+ if (!values.length) {
+ selectedValue = isMultiSelect ? [] : '';
+ }
return (
@@ -372,15 +379,17 @@ class EnhancedSelectInput extends Component {
onPress={this.onPress}
>
{
- isFetching &&
+ isFetching ?
+ /> :
+ null
}
{
- !isFetching &&
+ isFetching ?
+ null :
@@ -400,7 +409,7 @@ class EnhancedSelectInput extends Component {
onPress={this.onPress}
>
{
- isFetching &&
+ isFetching ?
+ /> :
+ null
}
{
- !isFetching &&
+ isFetching ?
+ null :
@@ -506,7 +517,7 @@ class EnhancedSelectInput extends Component {
{
- isMobile &&
+ isMobile ?
-
+ :
+ null
}
);
diff --git a/frontend/src/Components/Form/HintedSelectInputSelectedValue.js b/frontend/src/Components/Form/HintedSelectInputSelectedValue.js
index 07f6c9e25..a3fecf324 100644
--- a/frontend/src/Components/Form/HintedSelectInputSelectedValue.js
+++ b/frontend/src/Components/Form/HintedSelectInputSelectedValue.js
@@ -24,7 +24,7 @@ function HintedSelectInputSelectedValue(props) {
>
{
- isMultiSelect &&
+ isMultiSelect ?
value.map((key, index) => {
const v = valuesMap[key];
return (
@@ -32,26 +32,28 @@ function HintedSelectInputSelectedValue(props) {
{v ? v.value : key}
);
- })
+ }) :
+ null
}
{
- !isMultiSelect && value
+ isMultiSelect ? null : value
}
{
- hint != null && includeHint &&
+ hint != null && includeHint ?
{hint}
-
+ :
+ null
}
);
}
HintedSelectInputSelectedValue.propTypes = {
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))]).isRequired,
+ value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))]).isRequired,
values: PropTypes.arrayOf(PropTypes.object).isRequired,
hint: PropTypes.string,
isMultiSelect: PropTypes.bool.isRequired,
diff --git a/frontend/src/Components/Form/RootFolderSelectInputOption.js b/frontend/src/Components/Form/RootFolderSelectInputOption.js
index 17e416403..7fc6314e6 100644
--- a/frontend/src/Components/Form/RootFolderSelectInputOption.js
+++ b/frontend/src/Components/Form/RootFolderSelectInputOption.js
@@ -68,7 +68,7 @@ RootFolderSelectInputOption.propTypes = {
value: PropTypes.string.isRequired,
freeSpace: PropTypes.number,
movieFolder: PropTypes.string,
- isMissing: PropTypes.boolean,
+ isMissing: PropTypes.bool,
isMobile: PropTypes.bool.isRequired,
isWindows: PropTypes.bool
};