Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 3047 Rev 3640
Línea 1... Línea 1...
1
import React, { useEffect } from 'react'
1
import React, { useEffect, useMemo } from 'react';
2
import { useSelector } from 'react-redux'
2
import { useSelector } from 'react-redux';
3
import { useForm } from 'react-hook-form'
3
import { useForm } from 'react-hook-form';
Línea 4... Línea 4...
4
 
4
 
Línea 5... Línea 5...
5
import { useFetchHelper } from '@hooks'
5
import { useFetchHelper } from '@hooks';
6
 
6
 
Línea 7... Línea 7...
7
import Modal from '@app/components/UI/modal/Modal'
7
import Modal from '@app/components/UI/modal/Modal';
8
import TagsInput from '@app/components/UI/TagsInput'
8
import TagsInput from '@app/components/UI/TagsInput';
9
 
9
 
10
const LanguagesModal = ({
10
const LanguagesModal = ({
11
  show = false,
11
  show = false,
12
  languages: userLanguages = [],
12
  languages: userLanguages = [],
13
  onClose = () => null,
13
  onClose = () => null,
14
  onConfirm = () => null
14
  onConfirm = () => null
Línea 15... Línea 15...
15
}) => {
15
}) => {
Línea 16... Línea 16...
16
  const { data: languages } = useFetchHelper('languages')
16
  const { data: languages } = useFetchHelper('languages');
-
 
17
  const labels = useSelector(({ intl }) => intl.labels);
-
 
18
 
-
 
19
  const { register, handleSubmit, setValue } = useForm();
-
 
20
 
-
 
21
  const onSubmit = handleSubmit((data) => onConfirm(data));
Línea 17... Línea 22...
17
  const labels = useSelector(({ intl }) => intl.labels)
22
 
18
 
23
  const currentValue = useMemo(() => {
19
  const { register, handleSubmit, setValue } = useForm()
24
    if (!userLanguages.length) return [''];
Línea 20... Línea 25...
20
 
25
    return userLanguages.map(({ value }) => value);
21
  const onSubmit = handleSubmit((data) => onConfirm(data))
-
 
22
 
26
  }, [userLanguages]);
23
  useEffect(() => {
-
 
24
    register('languages')
27
 
Línea 25... Línea 28...
25
  }, [])
28
  useEffect(() => {
26
 
-
 
27
  useEffect(() => {
29
    register('languages');
28
    userLanguages.length
-
 
29
      ? setValue('languages', userLanguages)
-
 
30
      : setValue('languages', [''])
-
 
31
  }, [userLanguages])
-
 
32
 
30
  }, []);
33
  return (
31
 
34
    <Modal
32
  useEffect(() => {
35
      title={labels.languages}
33
    setValue('languages', currentValue);
36
      show={show}
34
  }, [currentValue]);
37
      onClose={onClose}
35
 
38
      onAccept={onSubmit}
36
  return (
39
    >
37
    <Modal title={labels.languages} show={show} onClose={onClose} onAccept={onSubmit}>
Línea 40... Línea 38...
40
      <TagsInput
38
      <TagsInput