Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 6588 | Rev 6597 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6583 stevensc 1
import axios from 'axios';
2
import React, { useEffect, useState } from 'react'
3
import { Modal, Button } from 'react-bootstrap';
4
import { useForm } from "react-hook-form";
5
import { CKEditor } from "ckeditor4-react";
6
import { getData } from '../../../helpers/fetchHelpers';
7
 
8
const OverviewModal = ({
9
    isOpen = false,
10
    closeModal = function () { },
11
    overviewUrl,
6588 stevensc 12
    action,
13
    overview
6583 stevensc 14
}) => {
15
 
16
    const { register, handleSubmit, setValue, watch } = useForm();
17
    const [error, setError] = useState(null);
18
 
19
    const onSubmit = ({ description }) => {
20
        const formData = new FormData
21
        formData.append("description", description)
22
 
23
        axios.post(overviewUrl, formData)
24
            .then(({ data }) => {
6589 stevensc 25
                console.log(data.data)
6583 stevensc 26
            })
27
            .then(() => {
28
                setError(null)
29
                closeModal()
30
            })
31
            .catch((err) => setError(err))
32
    };
33
 
34
    useEffect(() => {
35
        register("description");
36
    }, []);
37
 
38
    return (
39
        <Modal
6589 stevensc 40
            size="md"
6583 stevensc 41
            show={isOpen}
42
            onHide={closeModal}
43
            autoFocus={false}
44
        >
45
            <Modal.Header closeButton>
46
                <Modal.Title>Cambiar</Modal.Title>
47
            </Modal.Header>
48
            <form onSubmit={handleSubmit(onSubmit)}>
49
                <Modal.Body>
50
                    <div className="mb-3">
6588 stevensc 51
                        <label className="form-label">Visión general</label>
6583 stevensc 52
                        <CKEditor
53
                            data={watch("description")}
54
                            onChange={(e) => {
55
                                const text = e.editor.getData();
56
                                setValue("description", text);
57
                            }}
6588 stevensc 58
                            onInstanceReady={(e) => e.editor.setData(overview)}
6583 stevensc 59
                            config={{
60
                                toolbar: [
61
                                    { name: 'editing', items: ['Scayt'] },
62
                                    { name: 'links', items: ['Link', 'Unlink'] },
63
                                    { name: 'paragraph', items: ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'] },
64
                                    { name: 'basicstyles', items: ['Bold', 'Italic', 'Strike', 'RemoveFormat'] },
65
                                    '/',
66
                                    { name: 'insert', items: ['Image', 'Table', 'HorizontalRule', 'SpecialChar'] },
67
                                    { name: 'styles', items: ['Styles', 'Format'] },
68
                                    { name: 'tools', items: ['Maximize'] }
69
                                ],
70
                                removePlugins: 'elementspath,Anchor',
71
                                heigth: 100
72
                            }}
73
                            name="description"
74
                        />
75
                        {error && <p>{error}</p>}
76
                    </div>
77
                </Modal.Body>
78
                <Modal.Footer>
79
                    <Button
80
                        variant="primary"
81
                        type="submit"
82
                    >
83
                        Enviar
84
                    </Button>
85
                    <Button variant="danger" onClick={closeModal}>
86
                        Cancelar
87
                    </Button>
88
                </Modal.Footer>
89
            </form>
90
        </Modal >
91
    )
92
}
93
 
94
export default OverviewModal