Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3666 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3452 stevensc 1
import React from 'react';
2
 
3658 stevensc 3
import {
4
  Form,
5
  FormButton,
6
  FormFilePicker,
7
  FormInput,
8
  FormRichEditor,
9
  FormSelect
10
} from '@shared/components';
3452 stevensc 11
 
3658 stevensc 12
export function KnowledgeForm({
13
  categories = [],
3661 stevensc 14
  imageSize = '100x100',
3658 stevensc 15
  onSubmit = () => {},
16
  defaultValues = {
17
    category_id: '',
18
    title: '',
19
    description: '',
20
    image: '',
3666 stevensc 21
    attachment: ''
3658 stevensc 22
  }
23
}) {
3669 stevensc 24
  const handleSubmit = (data) => {
25
    onSubmit({
26
      ...data,
27
      image: data.image?.[0],
28
      attachment: data.attachment?.[0]
29
    });
30
  };
31
 
3452 stevensc 32
  return (
3669 stevensc 33
    <Form onSubmit={handleSubmit} defaultValues={defaultValues} reset>
3452 stevensc 34
      <FormSelect
35
        name='category_id'
36
        label='Categoría'
37
        placeholder='Seleccione un opción'
38
        options={categories}
3658 stevensc 39
        rules={{ required: 'Por favor, seleccione una categoría' }}
3452 stevensc 40
      />
41
 
42
      <FormInput
43
        name='title'
44
        label='Título'
45
        placeholder='Ingrese el título del conocimiento'
3658 stevensc 46
        rules={{ required: 'Por favor, ingrese un título' }}
3452 stevensc 47
      />
48
 
49
      <FormRichEditor
50
        name='description'
51
        label='Descripción'
3658 stevensc 52
        rules={{ required: 'Por favor, ingrese una descripción' }}
3452 stevensc 53
      />
54
 
3476 stevensc 55
      <FormFilePicker
56
        label='Seleccione una imagen'
57
        type='image'
58
        name='image'
3658 stevensc 59
        rules={{ required: 'Por favor, seleccione una imagen' }}
3665 stevensc 60
        description={`Tamaño máximo: ${imageSize}`}
3476 stevensc 61
      />
3452 stevensc 62
 
3477 stevensc 63
      <FormFilePicker
64
        label='Seleccione un archivo'
65
        type='file'
3452 stevensc 66
        name='attachment'
3658 stevensc 67
        rules={{ required: 'Por favor, seleccione un archivo' }}
3477 stevensc 68
      />
3478 stevensc 69
 
3658 stevensc 70
      <FormButton type='submit'>Guardar</FormButton>
3452 stevensc 71
    </Form>
72
  );
73
}