Untitled
unknown
javascript
2 years ago
1.6 kB
8
Indexable
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);
}
}Editor is loading...