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