Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3393 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3393 Rev 3719
Línea 1... Línea 1...
1
import React from 'react'
1
import React from 'react';
2
import { Controller } from 'react-hook-form'
2
import { Controller } from 'react-hook-form';
3
import { InputLabel } from '@mui/material'
3
import { InputLabel } from '@mui/material';
4
import Datetime from 'react-datetime'
4
import Datetime from 'react-datetime';
5
 
5
 
6
import FormErrorFeedback from '@components/UI/form/FormErrorFeedback'
6
import FormErrorFeedback from '@components/UI/form/FormErrorFeedback';
7
 
7
 
8
import 'react-datetime/css/react-datetime.css'
8
import 'react-datetime/css/react-datetime.css';
9
 
9
 
10
export default function DatetimePicker({
10
export default function DatetimePicker({
11
  control,
11
  control,
12
  rules,
12
  rules,
13
  name = '',
13
  name = '',
14
  label = '',
14
  label = '',
15
  displayTime = false,
15
  displayTime = false,
16
  dateFormat = 'DD-MM-YYYY',
16
  dateFormat = 'DD-MM-YYYY',
17
  parseFormat = 'YYYY-MM-DD',
17
  parseFormat = 'YYYY-MM-DD',
18
  defaultValue
18
  defaultValue
19
}) {
19
}) {
20
  return (
20
  return (
21
    <Controller
21
    <Controller
22
      name={name}
22
      name={name}
23
      control={control}
23
      control={control}
24
      rules={rules}
24
      rules={rules}
25
      render={({
-
 
26
        field: { onChange, ref, value, name },
25
      render={({ field: { onChange, ref, value, name }, fieldState: { error } }) => (
27
        fieldState: { error }
-
 
28
      }) => (
-
 
29
        <>
26
        <>
30
          {label && <InputLabel>{label}</InputLabel>}
27
          {label && <InputLabel>{label}</InputLabel>}
31
          <Datetime
28
          <Datetime
32
            dateFormat={dateFormat}
29
            dateFormat={dateFormat}
33
            onChange={(e) => onChange(e.format(parseFormat))}
30
            onChange={(e) => onChange(e.format(parseFormat))}
34
            timeFormat={displayTime}
31
            timeFormat={displayTime}
35
            inputProps={{
32
            inputProps={{
36
              className: 'form-control',
33
              className: 'form-control',
37
              ref,
34
              ref,
38
              name,
35
              name,
39
              autoComplete: 'off'
36
              autoComplete: 'off'
40
            }}
37
            }}
41
            value={value}
38
            value={value}
42
            initialValue={defaultValue}
39
            initialValue={defaultValue}
43
            closeOnSelect
40
            closeOnSelect
44
          />
41
          />
45
          {error && <FormErrorFeedback>{error.message}</FormErrorFeedback>}
42
          {error && <FormErrorFeedback>{error.message}</FormErrorFeedback>}
46
        </>
43
        </>
47
      )}
44
      )}
48
    />
45
    />
49
  )
46
  );
50
}
47
}