import { Field, FieldConfig, FieldError, IField, FieldInterface } from '../common'; import moment from 'moment'; export interface DatetimeFieldConfig extends FieldConfig, FieldInterface { type: 'datetime'; regExp?: { expression?: string; message?: string; }; afterTime?: string; beforeTime?: string; format?: string; submitFormat?: string; placeholder?: string; mode?: 'time' | 'date' | 'datetime' | 'week' | 'month' | 'quarter' | 'year'; } export interface IDatetimeField { value: moment.Moment | null; format: string; readonly?: boolean; disabled?: boolean; mode?: 'time' | 'date' | 'datetime' | 'week' | 'month' | 'quarter' | 'year'; placeholder?: string; onChange: (value: moment.Moment | null) => Promise; } export default class DatetimeField extends Field implements IField { reset: () => Promise; validate: (value: string) => Promise; renderComponent: (props: IDatetimeField) => JSX.Element; setChange: (value: any) => Promise; render: () => JSX.Element; }