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

49 lines (42 loc) 1.49 kB
import React, { useState } from 'react'; import _ from 'lodash'; import { FormGroup, Input, DatePicker } from 'rsuite'; import classNames from 'classnames'; import isValidDate from '../../../../src/helpers/is-valid-date'; import useControl from '../helpers/use-control'; import ControlLabel from '../views/control-label'; import HelpBlock from '../views/help-block'; import ErrorBlock from '../views/error-block'; const DateControl = props => { const { jsonSchema, required = false, onChange, value } = props; const { error, disabled, className, filteredProps } = useControl(props); const { format } = jsonSchema || {}; let controlFormat; if (format === 'date-time') { controlFormat = 'DD/MM/YYYY HH:mm:ss'; } else if (format === 'date') { controlFormat = 'DD/MM/YYYY'; } else if (format === 'time') { controlFormat = 'HH:mm:ss'; } const current = new Date(value); return ( <FormGroup> {!_.isEmpty(jsonSchema.title) && <ControlLabel required={required}>{jsonSchema.title}</ControlLabel>} <DatePicker {...filteredProps} value={isValidDate(current) ? current : null} className={className} disabled={disabled} onClean={() => onChange(null)} format={controlFormat} onChange={value => onChange(value.toISOString())} oneTap block /> <HelpBlock jsonSchema={jsonSchema}/> <ErrorBlock error={error}/> </FormGroup> ); }; export default DateControl;