var calculateIssuePoints = function () { let links = document.getElementsByClassName('js-project-card-issue-link'); for (let count = 0; count < links.length; count++) { let link = links[count]; let points_mark = link.text.match(/^\(\d+\)*/); if (points_mark) { let points = points_mark[0].replace(/\(|\)/g, ''); link.innerHTML = link.text.replace(/^\(\d+\)/, '' + points + ''); } }; }; var updatePoints = function () { calculateIssuePoints(); let columns = document.getElementsByClassName('project-column'); for (let count = 0; count < columns.length; count++) { let total = 0; let column = columns[count]; let point_marks = column.getElementsByClassName('issue-points'); for (let j = 0; j < point_marks.length; j++) { total += parseInt(point_marks[j].textContent); } let header = column.getElementsByTagName('h4')[0]; let column_points = header.getElementsByClassName('column-points'); if (column_points.length > 0) { column_points[0].text = total; } else { header.innerHTML = '' + total + '' + header.innerHTML; } }; }; window.setInterval(updatePoints, 2000);