Allow decimals in number inputs

(cherry picked from commit 7f5ddff568ce9f87bd45420cbd36690b190bd633)
This commit is contained in:
Mark McDowall
2023-08-19 00:14:54 -07:00
committed by Bogdan
parent b0162ccc5b
commit b36d793d85
4 changed files with 9 additions and 1 deletions

View File

@@ -41,7 +41,7 @@ class NumberInput extends Component {
componentDidUpdate(prevProps, prevState) { componentDidUpdate(prevProps, prevState) {
const { value } = this.props; const { value } = this.props;
if (value !== prevProps.value && !this.state.isFocused) { if (!isNaN(value) && value !== prevProps.value && !this.state.isFocused) {
this.setState({ this.setState({
value: value == null ? '' : value.toString() value: value == null ? '' : value.toString()
}); });

View File

@@ -10,6 +10,7 @@ export const INFO = 'info';
export const MOVIE_MONITORED_SELECT = 'movieMonitoredSelect'; export const MOVIE_MONITORED_SELECT = 'movieMonitoredSelect';
export const CATEGORY_SELECT = 'newznabCategorySelect'; export const CATEGORY_SELECT = 'newznabCategorySelect';
export const DOWNLOAD_CLIENT_SELECT = 'downloadClientSelect'; export const DOWNLOAD_CLIENT_SELECT = 'downloadClientSelect';
export const FLOAT = 'float';
export const NUMBER = 'number'; export const NUMBER = 'number';
export const OAUTH = 'oauth'; export const OAUTH = 'oauth';
export const PASSWORD = 'password'; export const PASSWORD = 'password';
@@ -35,6 +36,7 @@ export const all = [
INFO, INFO,
MOVIE_MONITORED_SELECT, MOVIE_MONITORED_SELECT,
CATEGORY_SELECT, CATEGORY_SELECT,
FLOAT,
NUMBER, NUMBER,
OAUTH, OAUTH,
PASSWORD, PASSWORD,

View File

@@ -21,6 +21,7 @@ namespace Prowlarr.Http.ClientSchema
public string Section { get; set; } public string Section { get; set; }
public string Hidden { get; set; } public string Hidden { get; set; }
public string Placeholder { get; set; } public string Placeholder { get; set; }
public bool IsFloat { get; set; }
public Field Clone() public Field Clone()
{ {

View File

@@ -125,6 +125,11 @@ namespace Prowlarr.Http.ClientSchema
field.Hidden = fieldAttribute.Hidden.ToString().FirstCharToLower(); field.Hidden = fieldAttribute.Hidden.ToString().FirstCharToLower();
} }
if (fieldAttribute.Type is FieldType.Number && propertyInfo.PropertyType == typeof(double))
{
field.IsFloat = true;
}
var valueConverter = GetValueConverter(propertyInfo.PropertyType); var valueConverter = GetValueConverter(propertyInfo.PropertyType);
result.Add(new FieldMapping result.Add(new FieldMapping