Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 8371 | Rev 8373 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 8371 Rev 8372
Línea 6... Línea 6...
6
import { getData } from "../../../helpers/fetchHelpers"
6
import { getData } from "../../../helpers/fetchHelpers"
Línea 7... Línea 7...
7
 
7
 
8
 
8
 
9
const LanguageModal = ({
9
const LanguageModal = ({
10
    closeModal,
-
 
11
    dataLink,
-
 
12
    modalData,
-
 
13
    languagesOptions = {
-
 
14
        ar: "Arabe",
-
 
15
        de: "Alemán",
-
 
16
        en: "Inglés",
-
 
17
        es: "Español",
-
 
18
        hi: "Hindi",
-
 
19
        it: "Italiano",
-
 
20
        ja: "Japonés",
-
 
21
        pt: "Portugués",
-
 
22
        ru: "Ruso",
-
 
23
        zh: "Chino",
10
    closeModal,
Línea 24... Línea 11...
24
    }
11
    dataLink
25
}) => {
12
}) => {
26
 
13
 
27
    const {
14
    const {
Línea 28... Línea 15...
28
        register,
15
        register,
29
        errors
16
        errors
30
    } = useForm();
-
 
31
 
17
    } = useForm();
Línea 32... Línea 18...
32
    const [userLanguagesArray, setUserLanguagesArray] = useState([]);
18
 
33
    const [languagesOptionsArray, setLanguagesOptionsArray] = useState([]);
19
    const [userLanguagesArray, setUserLanguagesArray] = useState([]);
34
    const [settedLanguageTags, setSettedLanguageTags] = useState([]);
20
    const [languagesOptionsArray, setLanguagesOptionsArray] = useState([]);
Línea 45... Línea 31...
45
            let newTags = [];
31
            let newTags = [];
46
            tags.map((tag) => {
32
            tags.map((tag) => {
47
                newTags = [...newTags, tag.value];
33
                newTags = [...newTags, tag.value];
48
            });
34
            });
49
            setData({ "languages[]": newTags });
35
            setData({ "languages[]": newTags });
50
            setSettedLanguageTags(tags);
-
 
51
        } else {
36
        } else {
52
            setData({ "languages[]": "" });
37
            setData({ "languages[]": "" });
53
            setSettedLanguageTags("");
-
 
54
        }
38
        }
55
    };
39
    };
Línea 56... Línea 40...
56
 
40
 
57
    useEffect(() => {
-
 
58
        let newUserLanguagesArray = [];
-
 
59
 
-
 
60
        modalData.map((lang) => {
-
 
61
            const newLang = languagesOptionsArray.find(el => el.name === lang)
-
 
62
 
-
 
63
            if (newLang) {
-
 
64
 
-
 
65
                newUserLanguagesArray = [
-
 
66
                    ...newUserLanguagesArray,
-
 
67
                    { value: newLang.value, name: newLang.name }
-
 
68
                ]
-
 
69
            }
-
 
70
        })
-
 
71
 
-
 
72
        setUserLanguagesArray(newUserLanguagesArray);
-
 
73
    }, [modalData]);
-
 
74
 
-
 
75
    useEffect(() => {
41
    useEffect(() => {
-
 
42
        getData(dataLink)
-
 
43
            .then(({ languages_available, languages_selected }) => {
76
        getData(dataLink)
44
 
77
            .then(res => {
45
                // Set languages options
78
                Object.entries(res.languages_available).map(([key, value]) => {
46
                Object.entries(languages_available).map(([key, value]) => {
79
                    setLanguagesOptionsArray(prev => [...prev, { value: key, name: value }])
47
                    setLanguagesOptionsArray(prev => [...prev, { value: key, name: value }])
-
 
48
                })
-
 
49
 
-
 
50
                // Set languages selecteds
-
 
51
                languages_selected.map(lang => {
-
 
52
                    const userLang = languagesOptionsArray.find(el => el.name === lang)
-
 
53
                    if (userLang) {
-
 
54
                        setUserLanguagesArray(prev => [...prev, { value: userLang.value, name: userLang.name }])
-
 
55
                    }
80
                })
56
                })
81
            })
57
            })
Línea 82... Línea 58...
82
    }, [dataLink]);
58
    }, [dataLink]);
83
 
59
 
Línea 92... Línea 68...
92
                <TagsInput
68
                <TagsInput
93
                    suggestions={languagesOptionsArray}
69
                    suggestions={languagesOptionsArray}
94
                    settedTags={userLanguagesArray}
70
                    settedTags={userLanguagesArray}
95
                    onChange={handleTagsChange}
71
                    onChange={handleTagsChange}
96
                />
72
                />
-
 
73
                {errors.languages && <p>{errors.languages}</p>}
97
            </div>
74
            </div>
98
        </SubmitModal>
75
        </SubmitModal>
99
    );
76
    );
100
};
77
};
Línea 101... Línea 78...
101
 
78
 
102
export default LanguageModal;
79
export default LanguageModal;