Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 5 Rev 655
Línea 10... Línea 10...
10
import useFetchHelper from '../../hooks/useFetchHelper'
10
import useFetchHelper from '../../hooks/useFetchHelper'
Línea 11... Línea 11...
11
 
11
 
12
const AddCompanyModal = ({
12
const AddCompanyModal = ({
13
  show = false,
13
  show = false,
14
  onHide = () => null,
14
  onHide = () => null,
15
  fetchCompanies = () => [],
15
  fetchCompanies = () => []
16
}) => {
16
}) => {
17
  const [loading, setLoading] = useState(false)
17
  const [loading, setLoading] = useState(false)
18
  const { data: companySizes } = useFetchHelper('company-sizes')
18
  const { data: companySizes } = useFetchHelper('company-sizes')
19
  const { data: industries } = useFetchHelper('industries')
19
  const { data: industries } = useFetchHelper('industries')
Línea 44... Línea 44...
44
        }
44
        }
Línea 45... Línea 45...
45
 
45
 
46
        fetchCompanies()
46
        fetchCompanies()
47
        onHide()
47
        onHide()
48
      })
48
      })
49
      .catch((error) => {
49
      .catch((err) => {
50
        dispatch(addNotification({ style: 'danger', msg: error }))
-
 
51
        throw new Error(error)
50
        dispatch(addNotification({ style: 'danger', msg: err.message }))
52
      })
51
      })
53
      .finally(() => setLoading(false))
52
      .finally(() => setLoading(false))
Línea 54... Línea 53...
54
  }
53
  }
55
 
54
 
56
  return (
55
  return (
57
    <Modal show={show} onHide={onHide}>
56
    <Modal show={show} onHide={onHide}>
58
      <Modal.Header closeButton>
57
      <Modal.Header closeButton>
59
        <Modal.Title>{labels.new_company}</Modal.Title>
58
        <Modal.Title>{labels.new_company}</Modal.Title>
60
      </Modal.Header>
59
      </Modal.Header>
61
      <form onSubmit={handleSubmit(onSubmitHandler)}>
60
      <form onSubmit={handleSubmit(onSubmitHandler)}>
62
        <Modal.Body className="position-relative">
61
        <Modal.Body className='position-relative'>
63
          <div className="form-group">
62
          <div className='form-group'>
64
            <input
63
            <input
65
              type="text"
64
              type='text'
66
              name="name"
65
              name='name'
67
              placeholder={labels.name_of_company}
66
              placeholder={labels.name_of_company}
68
              ref={register({
67
              ref={register({
69
                required: 'Por favor ingrese el nombre de la Empresa',
68
                required: 'Por favor ingrese el nombre de la Empresa'
70
              })}
69
              })}
71
            />
70
            />
72
            {errors.name && (
71
            {errors.name && (
73
              <FormErrorFeedback>{errors.name.message}</FormErrorFeedback>
72
              <FormErrorFeedback>{errors.name.message}</FormErrorFeedback>
Línea 74... Línea 73...
74
            )}
73
            )}
75
          </div>
74
          </div>
76
 
75
 
77
          <div className="form-group">
76
          <div className='form-group'>
78
            <select
77
            <select
79
              name="industry_id"
78
              name='industry_id'
80
              ref={register({
79
              ref={register({
81
                required: labels.select_industry,
80
                required: labels.select_industry
82
              })}
81
              })}
83
            >
82
            >
84
              <option value="" hidden>
83
              <option value='' hidden>
85
                {labels.industry}
84
                {labels.industry}
86
              </option>
85
              </option>
Línea 95... Línea 94...
95
                {errors.industry_id.message}
94
                {errors.industry_id.message}
96
              </FormErrorFeedback>
95
              </FormErrorFeedback>
97
            )}
96
            )}
98
          </div>
97
          </div>
Línea 99... Línea 98...
99
 
98
 
100
          <div className="form-group">
99
          <div className='form-group'>
101
            <select
100
            <select
102
              name="company_size_id"
101
              name='company_size_id'
103
              ref={register({
102
              ref={register({
104
                required: labels.select_company_size,
103
                required: labels.select_company_size
105
              })}
104
              })}
106
            >
105
            >
107
              <option value="" hidden>
106
              <option value='' hidden>
108
                {labels.company_size}
107
                {labels.company_size}
109
              </option>
108
              </option>
110
              {companySizes.map(({ name, value }) => (
109
              {companySizes.map(({ name, value }) => (
111
                <option value={value} key={value}>
110
                <option value={value} key={value}>
Línea 121... Línea 120...
121
          </div>
120
          </div>
Línea 122... Línea 121...
122
 
121
 
123
          {loading && <Spinner />}
122
          {loading && <Spinner />}
124
        </Modal.Body>
123
        </Modal.Body>
125
        <Modal.Footer>
124
        <Modal.Footer>
126
          <button type="submit" className="btn btn-primary">
125
          <button type='submit' className='btn btn-primary'>
127
            {labels.accept}
126
            {labels.accept}
128
          </button>
127
          </button>
129
          <button type="button" className="btn btn-secondary" onClick={onHide}>
128
          <button type='button' className='btn btn-secondary' onClick={onHide}>
130
            {labels.cancel}
129
            {labels.cancel}
131
          </button>
130
          </button>
132
        </Modal.Footer>
131
        </Modal.Footer>
133
      </form>
132
      </form>