Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 6753 Rev 6807
Línea 5... Línea 5...
5
import { Button, Modal } from 'react-bootstrap'
5
import { Button, Modal } from 'react-bootstrap'
6
import { addNotification } from '../../redux/notification/notification.actions'
6
import { addNotification } from '../../redux/notification/notification.actions'
Línea 7... Línea 7...
7
 
7
 
8
import Spinner from '../../../shared/loading-spinner/Spinner'
8
import Spinner from '../../../shared/loading-spinner/Spinner'
-
 
9
import TagsInput from '../../../shared/tags-input/TagsInput'
Línea 9... Línea 10...
9
import TagsInput from '../../../shared/tags-input/TagsInput'
10
import useFetchHelper from '../../hooks/useFetchHelper'
10
 
11
 
11
const SkillsModal = ({
12
const SkillsModal = ({
12
  setSkills,
13
  show = false,
13
  userIdEncrypted,
-
 
14
  closeModal,
14
  userId = '',
15
  show,
15
  userSkills = [],
16
  skillsOptions,
16
  onComplete = () => null,
17
  userSkillsArray,
17
  onClose = () => null,
-
 
18
}) => {
18
}) => {
19
  const [modalLoading, setModalLoading] = useState(false)
19
  const [modalLoading, setModalLoading] = useState(false)
20
  const { data: skills } = useFetchHelper('skills')
Línea 20... Línea 21...
20
  const labels = useSelector(({ intl }) => intl.labels)
21
  const labels = useSelector(({ intl }) => intl.labels)
Línea 26... Línea 27...
26
    setModalLoading(true)
27
    setModalLoading(true)
27
    const formData = new FormData()
28
    const formData = new FormData()
28
    skills.map((skills) => formData.append('skills[]', skills.value))
29
    skills.map((skills) => formData.append('skills[]', skills.value))
Línea 29... Línea 30...
29
 
30
 
30
    axios
31
    axios
31
      .post(`/profile/my-profiles/skill/${userIdEncrypted}`, formData)
32
      .post(`/profile/my-profiles/skill/${userId}`, formData)
32
      .then(({ data: response }) => {
33
      .then(({ data: response }) => {
33
        const { data, success } = response
34
        const { data, success } = response
34
        if (!success) {
35
        if (!success) {
35
          const errorMessage = data.skills[0]
36
          const errorMessage = data.skills[0]
36
          dispatch(addNotification({ style: 'danger', msg: errorMessage }))
37
          dispatch(addNotification({ style: 'danger', msg: errorMessage }))
37
          return
38
          return
Línea 38... Línea 39...
38
        }
39
        }
39
 
40
 
40
        setSkills(skills)
41
        onComplete(skills)
41
        dispatch(
42
        dispatch(
42
          addNotification({ style: 'success', msg: 'Registro agregado' })
43
          addNotification({ style: 'success', msg: 'Registro agregado' })
43
        )
44
        )
44
        closeModal()
45
        onClose()
45
      })
46
      })
46
      .catch((error) => {
47
      .catch((error) => {
47
        dispatch(addNotification({ style: 'danger', msg: error }))
48
        dispatch(addNotification({ style: 'danger', msg: error }))
Línea 57... Línea 58...
57
  useEffect(() => {
58
  useEffect(() => {
58
    register('skills')
59
    register('skills')
59
  }, [])
60
  }, [])
Línea 60... Línea 61...
60
 
61
 
61
  useEffect(() => {
62
  useEffect(() => {
62
    show ? setValue('skills', userSkillsArray) : setValue('skills', [''])
63
    setValue('skills', userSkills.length ? userSkills : [''])
Línea 63... Línea 64...
63
  }, [show])
64
  }, [userSkills])
64
 
65
 
65
  return (
66
  return (
66
    <Modal show={show} onHide={closeModal}>
67
    <Modal show={show} onHide={onClose}>
67
      <Modal.Header closeButton>
68
      <Modal.Header closeButton>
68
        <Modal.Title>{labels.skills}</Modal.Title>
69
        <Modal.Title>{labels.skills}</Modal.Title>
69
      </Modal.Header>
70
      </Modal.Header>
70
      <form onSubmit={handleSubmit(onSubmitHandler)}>
71
      <form onSubmit={handleSubmit(onSubmitHandler)}>
71
        <Modal.Body>
72
        <Modal.Body>
72
          <div className="form-group">
73
          <div className="form-group">
73
            <TagsInput
74
            <TagsInput
74
              suggestions={skillsOptions}
75
              suggestions={skills}
75
              settedTags={userSkillsArray}
76
              settedTags={userSkills}
76
              onChange={handleTagsChange}
77
              onChange={handleTagsChange}
77
            />
78
            />
78
          </div>
79
          </div>
79
        </Modal.Body>
80
        </Modal.Body>
80
        <Modal.Footer>
81
        <Modal.Footer>
81
          <Button size="sm" type="submit">
82
          <Button size="sm" type="submit">
82
            {labels.accept}
83
            {labels.accept}
83
          </Button>
84
          </Button>
84
          <Button size="sm" variant="danger" onClick={closeModal}>
85
          <Button size="sm" variant="danger" onClick={onClose}>
85
            {labels.cancel}
86
            {labels.cancel}
86
          </Button>
87
          </Button>
87
        </Modal.Footer>
88
        </Modal.Footer>