Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3669 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from 'react';

import {
  Form,
  FormButton,
  FormFilePicker,
  FormInput,
  FormRichEditor,
  FormSelect
} from '@shared/components';

export function KnowledgeForm({
  categories = [],
  imageSize = '100x100',
  onSubmit = () => {},
  defaultValues = {
    category_id: '',
    title: '',
    description: '',
    image: '',
    attachment: ''
  }
}) {
  const handleSubmit = (data) => {
    onSubmit({
      ...data,
      image: data.image?.[0],
      attachment: data.attachment?.[0]
    });
  };

  return (
    <Form onSubmit={handleSubmit} defaultValues={defaultValues} reset>
      <FormSelect
        name='category_id'
        label='Categoría'
        placeholder='Seleccione un opción'
        options={categories}
        rules={{ required: 'Por favor, seleccione una categoría' }}
      />

      <FormInput
        name='title'
        label='Título'
        placeholder='Ingrese el título del conocimiento'
        rules={{ required: 'Por favor, ingrese un título' }}
      />

      <FormRichEditor
        name='description'
        label='Descripción'
        rules={{ required: 'Por favor, ingrese una descripción' }}
      />

      <FormFilePicker
        label='Seleccione una imagen'
        type='image'
        name='image'
        rules={{ required: 'Por favor, seleccione una imagen' }}
        description={`Tamaño máximo: ${imageSize}`}
      />

      <FormFilePicker
        label='Seleccione un archivo'
        type='file'
        name='attachment'
        rules={{ required: 'Por favor, seleccione un archivo' }}
      />

      <FormButton type='submit'>Guardar</FormButton>
    </Form>
  );
}