Chris@17: (function() { Chris@0: function findActiveStep(steps) { Chris@0: for (let i = 0; i < steps.length; i++) { Chris@0: if (steps[i].className === 'is-active') { Chris@0: return i + 1; Chris@0: } Chris@0: } Chris@0: // The final "Finished" step is never "active". Chris@0: if (steps[steps.length - 1].className === 'done') { Chris@0: return steps.length; Chris@0: } Chris@0: return 0; Chris@0: } Chris@0: Chris@0: function installStepsSetup() { Chris@0: const steps = document.querySelectorAll('.task-list li'); Chris@0: if (steps.length) { Chris@0: const header = document.querySelector('header[role="banner"]'); Chris@0: const stepIndicator = document.createElement('div'); Chris@0: stepIndicator.className = 'step-indicator'; Chris@0: stepIndicator.innerHTML = `${findActiveStep(steps)}/${steps.length}`; Chris@0: header.appendChild(stepIndicator); Chris@0: } Chris@0: } Chris@0: Chris@0: if (document.addEventListener) { Chris@0: document.addEventListener('DOMContentLoaded', installStepsSetup); Chris@0: } Chris@17: })();