in src/components/application/details/controls/tasks/index.js [35:64]
get tasks() {
const {
from,
jobId,
mode,
workflow,
} = this.props;
if (workflow?.metadata?.loaded && workflow.metadata.value.calls) {
const {calls} = workflow.metadata.value;
return Object.keys(calls).map(key => ({
name: key,
jobs: calls[key],
})).reduce((result, current) => {
result.push(...current.jobs.map((job, index, arr) => ({
jobId: arr.length === 1 ? current.name : `${current.name}.${index}`,
rawJobId: arr.length === 1 ? current.name : `${current.name}.${index}`,
...job,
name: current.name,
})));
return result;
}, [])
.sort((a, b) => dateFns.compareAsc(new Date(a.start), new Date(b.start)))
.map((task, index, array) => ({
...task,
selected: taskIsSelectedFn({jobId})(task, index, array),
url: `/run/${workflow.id}/${mode}/${getTaskJobId(task)}${from ? `?from=${from}` : ''}`,
}));
}
return [];
}