Rev 3477 | Rev 3658 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';
import { useAlert } from '@shared/hooks';
import { getKnowledge, saveKnowledge } from '@knowledges/services';
import { Form, FormFilePicker, FormInput, FormRichEditor, FormSelect } from '@shared/components';
import { Button } from '@mui/material';
export function KnowledgeForm({ id = '', url = '', categories = [], onComplete = () => {} }) {
const { showError } = useAlert();
const isEdit = url.includes('edit');
const onSubmit = async (knowledge) => {
try {
const newKnowledge = await saveKnowledge(url, knowledge);
onComplete(newKnowledge);
} catch (error) {
showError(error.message);
}
};
return (
<Form id={id} onSubmit={onSubmit} defaultValuesPromise={isEdit && getKnowledge(url)} reset>
<FormSelect
name='category_id'
label='Categoría'
placeholder='Seleccione un opción'
options={categories}
rules={{ required: 'Este campo es requerido' }}
/>
<FormInput
name='title'
label='Título'
placeholder='Ingrese el título del conocimiento'
rules={{ required: 'Este campo es requerido' }}
/>
<FormRichEditor
name='description'
label='Descripción'
rules={{ required: 'Este campo es requerido' }}
/>
<FormFilePicker
label='Seleccione una imagen'
type='image'
name='image'
rules={{ required: 'Este campo es requerido' }}
/>
<FormFilePicker
label='Seleccione un archivo'
type='file'
name='attachment'
rules={{ required: 'Este campo es requerido' }}
/>
<Button type='submit' variant='contained' color='primary'>
Guardar
</Button>
</Form>
);
}