UNPKG

node-red-contrib-chatbot

Version:

REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required

43 lines (38 loc) 1.38 kB
import React from 'react'; import _ from 'lodash'; import { FormGroup, InputNumber } from 'rsuite'; import useControl from '../helpers/use-control'; import pickNumber from '../helpers/pick-number'; import ControlLabel from '../views/control-label'; import HelpBlock from '../views/help-block'; import ErrorBlock from '../views/error-block'; const NaN = 0/0; const IntegerControl = props => { const { jsonSchema, required = false, onChange } = props; const { error, filteredProps, className, disabled } = useControl(props); const { minimum , exclusiveMinimum, maximum, exclusiveMaximum } = jsonSchema || {}; return ( <FormGroup> {!_.isEmpty(jsonSchema.title) && <ControlLabel required={required}>{jsonSchema.title}</ControlLabel>} <InputNumber {...filteredProps} className={className} disabled={disabled} max={pickNumber(maximum, exclusiveMaximum)} min={pickNumber(minimum, exclusiveMinimum)} onChange={value => { if (!isNaN(parseFloat(value))) { onChange(parseFloat(value)); } else if (!isNaN(parseInt(value, 10))) { onChange(parseInt(value, 10)); } else { onChange(NaN); } }} /> <HelpBlock jsonSchema={jsonSchema}/> <ErrorBlock error={error}/> </FormGroup> ); } export default IntegerControl;