Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3469 | Rev 3477 | 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';

export function KnowledgeForm({ url = '', categories = [], onComplete = () => {} }) {
  const isEdit = url.includes('edit');
  const { showError } = useAlert();

  const onSubmit = async (knowledge) => {
    try {
      const newKnowledge = await saveKnowledge(url, knowledge);
      onComplete(newKnowledge);
    } catch (error) {
      showError(error.message);
    }
  };

  return (
    <Form 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' }}
      />

      {/* <FormInput
        name='attachment'
        type='file'
        label='Adjunto'
        placeholder='Seleccione un archivo'
        accept='application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document'
        rules={{ required: 'Este campo es requerido' }}
        error={errors.attachment?.message}
      /> */}
    </Form>
  );
}