Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3478 | Rev 3661 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3478 Rev 3658
Línea 1... Línea 1...
1
import React from 'react';
1
import React from 'react';
Línea -... Línea 2...
-
 
2
 
-
 
3
import {
2
 
4
  Form,
3
import { useAlert } from '@shared/hooks';
5
  FormButton,
4
import { getKnowledge, saveKnowledge } from '@knowledges/services';
6
  FormFilePicker,
5
 
7
  FormInput,
-
 
8
  FormRichEditor,
6
import { Form, FormFilePicker, FormInput, FormRichEditor, FormSelect } from '@shared/components';
9
  FormSelect
7
import { Button } from '@mui/material';
10
} from '@shared/components';
8
 
11
 
9
export function KnowledgeForm({ id = '', url = '', categories = [], onComplete = () => {} }) {
12
export function KnowledgeForm({
10
  const { showError } = useAlert();
13
  categories = [],
11
  const isEdit = url.includes('edit');
-
 
12
 
14
  onSubmit = () => {},
13
  const onSubmit = async (knowledge) => {
15
  defaultValues = {
14
    try {
-
 
15
      const newKnowledge = await saveKnowledge(url, knowledge);
16
    category_id: '',
16
      onComplete(newKnowledge);
17
    title: '',
17
    } catch (error) {
18
    description: '',
18
      showError(error.message);
19
    image: '',
19
    }
20
    file: ''
20
  };
21
  }
21
 
22
}) {
22
  return (
23
  return (
23
    <Form id={id} onSubmit={onSubmit} defaultValuesPromise={isEdit && getKnowledge(url)} reset>
24
    <Form onSubmit={onSubmit} defaultValues={defaultValues} reset>
24
      <FormSelect
25
      <FormSelect
25
        name='category_id'
26
        name='category_id'
26
        label='Categoría'
27
        label='Categoría'
27
        placeholder='Seleccione un opción'
28
        placeholder='Seleccione un opción'
28
        options={categories}
29
        options={categories}
29
        rules={{ required: 'Este campo es requerido' }}
30
        rules={{ required: 'Por favor, seleccione una categoría' }}
Línea 30... Línea 31...
30
      />
31
      />
31
 
32
 
32
      <FormInput
33
      <FormInput
33
        name='title'
34
        name='title'
34
        label='Título'
35
        label='Título'
35
        placeholder='Ingrese el título del conocimiento'
36
        placeholder='Ingrese el título del conocimiento'
Línea 36... Línea 37...
36
        rules={{ required: 'Este campo es requerido' }}
37
        rules={{ required: 'Por favor, ingrese un título' }}
37
      />
38
      />
38
 
39
 
39
      <FormRichEditor
40
      <FormRichEditor
40
        name='description'
41
        name='description'
Línea 41... Línea 42...
41
        label='Descripción'
42
        label='Descripción'
42
        rules={{ required: 'Este campo es requerido' }}
43
        rules={{ required: 'Por favor, ingrese una descripción' }}
43
      />
44
      />
44
 
45
 
45
      <FormFilePicker
46
      <FormFilePicker
46
        label='Seleccione una imagen'
47
        label='Seleccione una imagen'
Línea 47... Línea 48...
47
        type='image'
48
        type='image'
48
        name='image'
49
        name='image'
49
        rules={{ required: 'Este campo es requerido' }}
50
        rules={{ required: 'Por favor, seleccione una imagen' }}
50
      />
51
      />
51
 
52
 
52
      <FormFilePicker
53
      <FormFilePicker
Línea 53... Línea 54...
53
        label='Seleccione un archivo'
54
        label='Seleccione un archivo'
54
        type='file'
-
 
55
        name='attachment'
-
 
56
        rules={{ required: 'Este campo es requerido' }}
55
        type='file'
57
      />
56
        name='attachment'
58
 
57
        rules={{ required: 'Por favor, seleccione un archivo' }}