diff --git a/extract-data.js b/extract-data.js index 6fec0e7..657955f 100644 --- a/extract-data.js +++ b/extract-data.js @@ -17,6 +17,7 @@ const idlreducer = (impldata, name) => (idlacc, member) => { if (member.name) { const browserdata = impldata.array.find(d => d.id === name + "#" + member.name); if (!browserdata) { + idlacc[member.name] = null; return idlacc; } idlacc[member.name] = Object.keys(browserdata) diff --git a/index.html b/index.html index daeb487..ccb1f68 100644 --- a/index.html +++ b/index.html @@ -10,6 +10,7 @@ th[scope="row"] + td { border-right: 1px black solid;} td { border-right: 1px #aaa solid;} tr td:first-child { border-right: 1px black solid;} + .unknown { background-color: #eee;} .yes { background-color: #eFe;} .no { background-color: #Fee;} .yes2 { background-color: #cFc;} diff --git a/script.js b/script.js index 84e5bcd..ab8edae 100644 --- a/script.js +++ b/script.js @@ -29,18 +29,22 @@ fetch(shortname + ".json") const nameSpan = document.createElement("span"); const scoreSpan = document.createElement("span"); - nameSpan.textContent = member + " "; - scoreSpan.textContent = Object.keys(d[name][member]).length + "/4"; scoreSpan.className = "score"; + nameSpan.textContent = member + " "; + if (!d[name][member]) { + scoreSpan.textContent = "?/4"; + memberTd.className = "unknown"; + } else { + scoreSpan.textContent = Object.keys(d[name][member]).length + "/4"; + memberTd.className = Object.keys(d[name][member]).length >= 2 ? "yes" + Object.keys(d[name][member]).length : "no" + (4 - Object.keys(d[name][member]).length); + markupBrowserSupport(chromeTd, d[name][member].chrome); + markupBrowserSupport(edgeTd, d[name][member].edge); + markupBrowserSupport(firefoxTd, d[name][member].firefox); + markupBrowserSupport(safariTd, d[name][member].safari); + } + memberTd.appendChild(nameSpan); memberTd.appendChild(scoreSpan); - - memberTd.className = Object.keys(d[name][member]).length >= 2 ? "yes" + Object.keys(d[name][member]).length : "no" + (4 - Object.keys(d[name][member]).length); - markupBrowserSupport(chromeTd, d[name][member].chrome); - markupBrowserSupport(edgeTd, d[name][member].edge); - markupBrowserSupport(firefoxTd, d[name][member].firefox); - markupBrowserSupport(safariTd, d[name][member].safari); - container.appendChild(memberTd); container.appendChild(chromeTd); container.appendChild(edgeTd);