Allow setting job to "No job" after it has been set
This commit is contained in:
parent
b329d2b27a
commit
2d2497b8da
2 changed files with 24 additions and 25 deletions
|
|
@ -175,23 +175,26 @@ const CharacterGrid = (props: Props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methods: Saving job and job skills
|
// Methods: Saving job and job skills
|
||||||
const saveJob = function (job: Job) {
|
const saveJob = async function (job?: Job) {
|
||||||
const payload = {
|
const payload = {
|
||||||
party: {
|
party: {
|
||||||
job_id: job ? job.id : '',
|
job_id: job ? job.id : -1,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if (party.id && appState.party.editable) {
|
if (party.id && appState.party.editable) {
|
||||||
api.updateJob({ partyId: party.id, params: payload }).then((response) => {
|
const response = await api.updateJob({
|
||||||
const newParty = response.data
|
partyId: party.id,
|
||||||
|
params: payload,
|
||||||
setJob(newParty.job)
|
|
||||||
appState.party.job = newParty.job
|
|
||||||
|
|
||||||
setJobSkills(newParty.job_skills)
|
|
||||||
appState.party.jobSkills = newParty.job_skills
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const newParty = response.data
|
||||||
|
|
||||||
|
setJob(newParty.job)
|
||||||
|
appState.party.job = newParty.job
|
||||||
|
|
||||||
|
setJobSkills(newParty.job_skills)
|
||||||
|
appState.party.jobSkills = newParty.job_skills
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ interface Props {
|
||||||
job?: Job
|
job?: Job
|
||||||
jobSkills: JobSkillObject
|
jobSkills: JobSkillObject
|
||||||
editable: boolean
|
editable: boolean
|
||||||
saveJob: (job: Job) => void
|
saveJob: (job?: Job) => void
|
||||||
saveSkill: (skill: JobSkill, position: number) => void
|
saveSkill: (skill: JobSkill, position: number) => void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,17 +41,15 @@ const JobSection = (props: Props) => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Set current job based on ID
|
// Set current job based on ID
|
||||||
if (props.job) {
|
setJob(props.job)
|
||||||
setJob(props.job)
|
setSkills({
|
||||||
setSkills({
|
0: props.jobSkills[0],
|
||||||
0: props.jobSkills[0],
|
1: props.jobSkills[1],
|
||||||
1: props.jobSkills[1],
|
2: props.jobSkills[2],
|
||||||
2: props.jobSkills[2],
|
3: props.jobSkills[3],
|
||||||
3: props.jobSkills[3],
|
})
|
||||||
})
|
|
||||||
|
|
||||||
if (selectRef.current) selectRef.current.value = props.job.id
|
if (selectRef.current && props.job) selectRef.current.value = props.job.id
|
||||||
}
|
|
||||||
}, [props])
|
}, [props])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -68,10 +66,8 @@ const JobSection = (props: Props) => {
|
||||||
}, [job])
|
}, [job])
|
||||||
|
|
||||||
function receiveJob(job?: Job) {
|
function receiveJob(job?: Job) {
|
||||||
if (job) {
|
setJob(job)
|
||||||
setJob(job)
|
props.saveJob(job)
|
||||||
props.saveJob(job)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateImageUrl() {
|
function generateImageUrl() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue