Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
7771 stevensc 1
import React, { useState } from 'react'
2
import SubmitModal from './SubmitModal'
3
import TagsInput from '../../../shared/TagsInput'
4
import { useEffect } from 'react'
5
import axios from 'axios'
6
 
7
const LanguageModal = ({ closeModal, modalData, dataLink }) => {
8
 
9
    const [settedLanguageTags, setSettedLanguageTags] = useState([]);
10
    const [languagesOptionsArray, setLanguagesOptionsArray] = useState([]);
8064 stevensc 11
    const [userLanguagesArray, setUserLanguagesArray] = useState([]);
7771 stevensc 12
 
13
    useEffect(() => {
8064 stevensc 14
        register("languages", {
15
            required: "Por favor seleccione al menos un lenguaje",
16
        });
17
    }, []);
7771 stevensc 18
 
19
    const handleTagsChange = (tags) => {
20
        if (tags.length) {
21
            let newTags = [];
22
            tags.map((tag) => {
23
                newTags = [...newTags, tag.value];
24
            });
25
            setValue("languages", newTags);
26
            setSettedLanguageTags(tags);
27
        } else {
28
            setValue("languages", "");
29
            setSettedLanguageTags("");
30
        }
31
    };
32
 
8064 stevensc 33
    useEffect(() => {
34
        let newUserLanguagesArray = [];
35
        Object.entries(userLanguages).map(([key, value]) => {
36
            newUserLanguagesArray = [
37
                ...newUserLanguagesArray,
38
                { value: key, name: value },
39
            ];
40
        });
41
        setUserLanguagesArray(newUserLanguagesArray);
42
    }, [userLanguages]);
43
 
44
    useEffect(() => {
45
        let newlanguagesOptionsArray = [];
46
        Object.entries(languagesOptions).map(([key, value]) => {
47
            newlanguagesOptionsArray = [
48
                ...newlanguagesOptionsArray,
49
                { value: key, name: value },
50
            ];
51
        });
52
        setLanguagesOptionsArray(newlanguagesOptionsArray);
53
    }, [languagesOptions]);
54
 
7771 stevensc 55
    return (
7773 stevensc 56
        <SubmitModal
57
            submitData={settedLanguageTags}
8064 stevensc 58
            closeModal={closeModal}
59
 
7773 stevensc 60
        >
7771 stevensc 61
            <TagsInput
62
                suggestions={languagesOptionsArray}
63
                settedTags={userLanguagesArray}
64
                onChange={handleTagsChange}
65
            />
66
        </SubmitModal>
67
    )
68
}
69
export default LanguageModal