summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/issue_show/actions/tasks.js
blob: 0740a9f559c26a5de6998faef9f9f3e1705d0aac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
export default (newStateData, tasks) => {
  const $tasks = $('#task_status');
  const $tasksShort = $('#task_status_short');
  const $issueableHeader = $('.issuable-header');
  const tasksStates = { newState: null, currentState: null };

  if ($tasks.length === 0) {
    if (!(newStateData.task_status.indexOf('0 of 0') === 0)) {
      $issueableHeader.append(`<span id="task_status">${newStateData.task_status}</span>`);
    } else {
      $issueableHeader.append('<span id="task_status"></span>');
    }
  } else {
    tasksStates.newState = newStateData.task_status.indexOf('0 of 0') === 0;
    tasksStates.currentState = tasks.indexOf('0 of 0') === 0;
  }

  if ($tasks.length !== 0 && !tasksStates.newState) {
    $tasks.text(newStateData.task_status);
    $tasksShort.text(newStateData.task_status);
  } else if (tasksStates.currentState) {
    $issueableHeader.append(`<span id="task_status">${newStateData.task_status}</span>`);
  } else if (tasksStates.newState) {
    $tasks.remove();
    $tasksShort.remove();
  }
};