1 | 'use strict';
|
2 | let decimalBullet = Array.from({ length: 100 }, (a, i) => '' + (i + 1));
|
3 | let alphaBullet = Array.from({ length: 26 }, (a, i) => String.fromCharCode('a'.charCodeAt(0) + i));
|
4 |
|
5 |
|
6 | let romanBullet = ['i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii', 'ix', 'x', 'xi', 'xii', 'xiii', 'xiv', 'xv', 'xvi', 'xvii', 'xviii', 'xix', 'xx', 'xxi', 'xxii', 'xxiii', 'xxiv', 'xxv'];
|
7 |
|
8 | let bullets = [decimalBullet, alphaBullet, romanBullet, decimalBullet, alphaBullet, romanBullet];
|
9 |
|
10 | function addStepNumberText(ol, parentIndex) {
|
11 | for (let i = 0; i < ol.children.length; ++i) {
|
12 | let child = ol.children[i];
|
13 | let index = parentIndex.concat([i]);
|
14 | let applicable = bullets[Math.min(index.length - 1, 5)];
|
15 | let span = document.createElement('span');
|
16 | span.textContent = (applicable[i] || '?') + '. ';
|
17 | span.style.fontSize = '0';
|
18 | span.setAttribute('aria-hidden', 'true');
|
19 | child.prepend(span);
|
20 | let sublist = child.querySelector('ol');
|
21 | if (sublist != null) {
|
22 | addStepNumberText(sublist, index);
|
23 | }
|
24 | }
|
25 | }
|
26 | document.addEventListener('DOMContentLoaded', () => {
|
27 | document.querySelectorAll('emu-alg > ol').forEach(ol => {
|
28 | addStepNumberText(ol, []);
|
29 | });
|
30 | });
|