Untitled
javascript
a month ago
1.6 kB
1
Indexable
Never
const setDefaultValues = () => { // We need to filter 'paused' and 'out_of_process' stages let filteredStages = selectedJob.stages.filter(stage => (stage.type !== 'paused') && (stage.type !== 'out_of_process')); const candidateJob = props.candidate.jobs.find((job) => job.name === selectedJob.name); const fromStage = selectedJob.stages.find((stage) => stage.name === candidateJob.previous_stage_name); let currentStageIndex = filteredStages.findIndex((jobStages) => jobStages.name === props.candidateJob.stage_name); if (currentStageIndex !== -1) { let previousStage = filteredStages[currentStageIndex - 1]; let hasSubStages = props.stage.sub_stages.length > 0; let previousSubStage = null; if (hasSubStages) { let currentSubStageIndex = props.stage.sub_stages.findIndex((subStages) => subStages.name === props.candidateJob.sub_stage_name); previousSubStage = props.stage.sub_stages[currentSubStageIndex - 1]; } // If previous SubStage exists, then Stage is the same if (previousSubStage) { setFinalStage(props.stage.name); setFinalSubStage(previousSubStage.name); } else { // If previous stage exists if (previousStage) { setFinalStage(fromStage.name); // and have SubStages if (previousStage.sub_stages.length > 0) { setFinalSubStage(previousStage.sub_stages[previousStage.sub_stages.length - 1].name); } else { setFinalSubStage(null); } } } setPreviousStage(previousStage); } }