Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3469 | Rev 3477 | 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
 
3469 stevensc 3
import { useAlert } from '@shared/hooks';
3476 stevensc 4
import { getKnowledge, saveKnowledge } from '@knowledges/services';
3452 stevensc 5
 
3476 stevensc 6
import { Form, FormFilePicker, FormInput, FormRichEditor, FormSelect } from '@shared/components';
3469 stevensc 7
 
3452 stevensc 8
export function KnowledgeForm({ url = '', categories = [], onComplete = () => {} }) {
3476 stevensc 9
  const isEdit = url.includes('edit');
3452 stevensc 10
  const { showError } = useAlert();
11
 
12
  const onSubmit = async (knowledge) => {
13
    try {
14
      const newKnowledge = await saveKnowledge(url, knowledge);
15
      onComplete(newKnowledge);
16
    } catch (error) {
17
      showError(error.message);
18
    }
19
  };
20
 
21
  return (
3476 stevensc 22
    <Form onSubmit={onSubmit} defaultValuesPromise={isEdit && getKnowledge(url)} reset>
3452 stevensc 23
      <FormSelect
24
        name='category_id'
25
        label='Categoría'
26
        placeholder='Seleccione un opción'
27
        options={categories}
28
        rules={{ required: 'Este campo es requerido' }}
29
      />
30
 
31
      <FormInput
32
        name='title'
33
        label='Título'
34
        placeholder='Ingrese el título del conocimiento'
35
        rules={{ required: 'Este campo es requerido' }}
36
      />
37
 
38
      <FormRichEditor
39
        name='description'
40
        label='Descripción'
41
        rules={{ required: 'Este campo es requerido' }}
42
      />
43
 
3476 stevensc 44
      <FormFilePicker
45
        label='Seleccione una imagen'
46
        type='image'
47
        name='image'
48
        rules={{ required: 'Este campo es requerido' }}
49
      />
3452 stevensc 50
 
51
      {/* <FormInput
52
        name='attachment'
53
        type='file'
54
        label='Adjunto'
55
        placeholder='Seleccione un archivo'
56
        accept='application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document'
57
        rules={{ required: 'Este campo es requerido' }}
58
        error={errors.attachment?.message}
59
      /> */}
60
    </Form>
61
  );
62
}