drupal/core/themes/claro/js/mobile.install.es6.js

30 lines
874 B
JavaScript
Raw Normal View History

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