Proyectos de Subversion LeadersLinked - Backend

Rev

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

import React, { useState } from 'react'
import SubmitModal from './SubmitModal'
import TagsInput from '../../../shared/TagsInput'
import { useEffect } from 'react'
import axios from 'axios'

const LanguageModal = ({ closeModal, modalData, dataLink }) => {

    const [settedLanguageTags, setSettedLanguageTags] = useState([]);
    const [languagesOptionsArray, setLanguagesOptionsArray] = useState([]);
    const [userLanguagesArray, setUserLanguagesArray] = useState([]);

    useEffect(() => {
        register("languages", {
            required: "Por favor seleccione al menos un lenguaje",
        });
    }, []);

    const handleTagsChange = (tags) => {
        if (tags.length) {
            let newTags = [];
            tags.map((tag) => {
                newTags = [...newTags, tag.value];
            });
            setValue("languages", newTags);
            setSettedLanguageTags(tags);
        } else {
            setValue("languages", "");
            setSettedLanguageTags("");
        }
    };

    useEffect(() => {
        let newUserLanguagesArray = [];
        Object.entries(userLanguages).map(([key, value]) => {
            newUserLanguagesArray = [
                ...newUserLanguagesArray,
                { value: key, name: value },
            ];
        });
        setUserLanguagesArray(newUserLanguagesArray);
    }, [userLanguages]);

    useEffect(() => {
        let newlanguagesOptionsArray = [];
        Object.entries(languagesOptions).map(([key, value]) => {
            newlanguagesOptionsArray = [
                ...newlanguagesOptionsArray,
                { value: key, name: value },
            ];
        });
        setLanguagesOptionsArray(newlanguagesOptionsArray);
    }, [languagesOptions]);

    return (
        <SubmitModal
            submitData={settedLanguageTags}
            closeModal={closeModal}

        >
            <TagsInput
                suggestions={languagesOptionsArray}
                settedTags={userLanguagesArray}
                onChange={handleTagsChange}
            />
        </SubmitModal>
    )
}
export default LanguageModal