Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3476 | Rev 3478 | 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 = () => {} }) {
3477 stevensc 9
  const { showError } = useAlert();
3476 stevensc 10
  const isEdit = url.includes('edit');
3452 stevensc 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
 
3477 stevensc 51
      <FormFilePicker
52
        label='Seleccione un archivo'
53
        type='file'
3452 stevensc 54
        name='attachment'
55
        rules={{ required: 'Este campo es requerido' }}
3477 stevensc 56
      />
3452 stevensc 57
    </Form>
58
  );
59
}