@@ -1289,15 +1289,32 @@ var findNum = function() {
1289
1289
return out;
1290
1290
};
1291
1291
1292
+ var classListAdd = function(el, theClass) {
1293
+ if(!el.className.baseVal)
1294
+ el.className += " " + theClass;
1295
+ else
1296
+ el.className.baseVal += " " + theClass;
1297
+ };
1298
+
1299
+ var classListRemove = function(el, theClass) {
1300
+ var className = (!el.className.baseVal) ?
1301
+ el.className : el.className.baseVal;
1302
+ className = className.replace(" " + theClass, "");
1303
+ if(!el.className.baseVal)
1304
+ el.className = className;
1305
+ else
1306
+ el.className.baseVal = className;
1307
+ };
1308
+
1292
1309
var scrollTo = function(el) {
1293
1310
querySelectorAllArray(".selected").forEach(function(s) {
1294
- s.classList.remove( "selected");
1311
+ classListRemove(s, "selected");
1295
1312
});
1296
- el.classList.add( "selected");
1313
+ classListAdd(el, "selected");
1297
1314
window.scrollBy(0, el.getBoundingClientRect().top -
1298
1315
(window.innerHeight / 2));
1299
1316
highlightArrowsForSelectedEvent();
1300
- }
1317
+ };
1301
1318
1302
1319
var move = function(num, up, numItems) {
1303
1320
if (num == 1 && up || num == numItems - 1 && !up) {
@@ -1332,9 +1349,11 @@ window.addEventListener("keydown", function (event) {
1332
1349
if (event.defaultPrevented) {
1333
1350
return;
1334
1351
}
1335
- if (event.key == "j") {
1352
+ // key 'j'
1353
+ if (event.keyCode == 74) {
1336
1354
navigateTo(/*up=*/false);
1337
- } else if (event.key == "k") {
1355
+ // key 'k'
1356
+ } else if (event.keyCode == 75) {
1338
1357
navigateTo(/*up=*/true);
1339
1358
} else {
1340
1359
return;
@@ -1350,8 +1369,11 @@ StringRef HTMLDiagnostics::generateArrowDrawingJavascript() {
1350
1369
<script type='text/javascript'>
1351
1370
// Return range of numbers from a range [lower, upper).
1352
1371
function range(lower, upper) {
1353
- const size = upper - lower;
1354
- return Array.from(new Array(size), (x, i) => i + lower);
1372
+ var array = [];
1373
+ for (var i = lower; i <= upper; ++i) {
1374
+ array.push(i);
1375
+ }
1376
+ return array;
1355
1377
}
1356
1378
1357
1379
var getRelatedArrowIndices = function(pathId) {
@@ -1371,7 +1393,9 @@ var highlightArrowsForSelectedEvent = function() {
1371
1393
const arrowIndicesToHighlight = getRelatedArrowIndices(selectedNum);
1372
1394
arrowIndicesToHighlight.forEach((index) => {
1373
1395
var arrow = document.querySelector("#arrow" + index);
1374
- arrow.classList.add("selected");
1396
+ if(arrow) {
1397
+ classListAdd(arrow, "selected")
1398
+ }
1375
1399
});
1376
1400
}
1377
1401
0 commit comments