Readarr/frontend/src/Components/Form/MonitorBooksSelectInput.js
Mark McDowall 77f1e8f8c9 Fixed: Disabled select option still selectable
(cherry picked from commit 063dba22a803295adee4fdcbe42718af3e85ca78)

Closes #3362
2024-03-15 23:32:38 +02:00

61 lines
1.2 KiB
JavaScript

import PropTypes from 'prop-types';
import React from 'react';
import monitorOptions from 'Utilities/Author/monitorOptions';
import translate from 'Utilities/String/translate';
import SelectInput from './SelectInput';
function MonitorBooksSelectInput(props) {
const {
includeNoChange,
includeMixed,
includeSpecificBook,
...otherProps
} = props;
const values = [...monitorOptions];
if (includeNoChange) {
values.unshift({
key: 'noChange',
value: translate('NoChange'),
isDisabled: true
});
}
if (includeMixed) {
values.unshift({
key: 'mixed',
value: '(Mixed)',
isDisabled: true
});
}
if (includeSpecificBook) {
values.push({
key: 'specificBook',
value: 'Only This Book'
});
}
return (
<SelectInput
values={values}
{...otherProps}
/>
);
}
MonitorBooksSelectInput.propTypes = {
includeNoChange: PropTypes.bool.isRequired,
includeMixed: PropTypes.bool.isRequired,
includeSpecificBook: PropTypes.bool.isRequired,
onChange: PropTypes.func.isRequired
};
MonitorBooksSelectInput.defaultProps = {
includeNoChange: false,
includeMixed: false,
includeSpecificBook: false
};
export default MonitorBooksSelectInput;