@@ -45,27 +45,48 @@ class RecruitCRMJobApplyContainer extends React.Component {
4545 this . validateForm = this . validateForm . bind ( this ) ;
4646 }
4747
48+ // eslint-disable-next-line consistent-return
4849 componentDidMount ( ) {
4950 const { formData } = this . state ;
5051 const { user, recruitProfile, searchCandidates } = this . props ;
51- this . setState ( {
52- formData : _ . merge ( formData , user ) ,
53- } ) ;
54- if ( user && ! recruitProfile ) {
55- searchCandidates ( user . email ) ;
52+ if ( user ) {
53+ if ( ! recruitProfile ) searchCandidates ( user . email ) ;
54+ else {
55+ const { country, skills } = formData ;
56+ const recruitSkills = recruitProfile . skill . split ( ',' ) . map ( s => s . toLowerCase ( ) ) ;
57+ return this . setState ( {
58+ formData : _ . merge ( formData , user , {
59+ phone : recruitProfile . contact_number ,
60+ country : _ . map (
61+ country ,
62+ c => ( {
63+ label : c . label ,
64+ selected : c . label . toLowerCase ( ) === recruitProfile . locality . toLowerCase ( ) ,
65+ } ) ,
66+ ) ,
67+ skills : skills . map ( s => ( {
68+ label : s . label ,
69+ selected : recruitSkills . includes ( s . label . toLowerCase ( ) ) ,
70+ } ) ) ,
71+ payExpectation : recruitProfile . salary_expectation ,
72+ } ) ,
73+ } ) ;
74+ }
75+ this . setState ( {
76+ formData : _ . merge ( formData , user ) ,
77+ } ) ;
5678 }
5779 }
5880
5981 componentDidUpdate ( prevProps ) {
60- const { recruitProfile } = this . props ;
82+ const { recruitProfile, user } = this . props ;
6183 if ( recruitProfile !== prevProps . recruitProfile && ! _ . isEmpty ( recruitProfile ) ) {
6284 // when recruit profile loaded
6385 const { formData } = this . state ;
6486 const { country, skills } = formData ;
6587 const recruitSkills = recruitProfile . skill . split ( ',' ) . map ( s => s . toLowerCase ( ) ) ;
6688 const updatedForm = {
67- formData : {
68- ...formData ,
89+ formData : _ . merge ( formData , user , {
6990 phone : recruitProfile . contact_number ,
7091 country : _ . map (
7192 country ,
@@ -79,7 +100,7 @@ class RecruitCRMJobApplyContainer extends React.Component {
79100 selected : recruitSkills . includes ( s . label . toLowerCase ( ) ) ,
80101 } ) ) ,
81102 payExpectation : recruitProfile . salary_expectation ,
82- } ,
103+ } ) ,
83104 } ;
84105 // eslint-disable-next-line react/no-did-update-set-state
85106 this . setState ( updatedForm ) ;
0 commit comments