diff --git a/misc/pinout-gen/gen.sh b/misc/pinout-gen/gen.sh index 2b08ad58ea..aa41986994 100644 --- a/misc/pinout-gen/gen.sh +++ b/misc/pinout-gen/gen.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)"/" -TEXT=$(sed -e "/###CSS###/{r ${DIR}style.css" -e 'd}' -e "/###JS###/{r ${DIR}script.js" -e 'd}' ${DIR}pinout.html | sed -e "s/\/\/\/DATA\/\/\//`$(echo ${1//\//\\/} | tr -d '\n')`,\n\/\/\/DATA\/\/\//") +TEXT=$(sed -e "/###CSS###/{r ${DIR}style.css" -e 'd}' -e "/###JS###/{r ${DIR}script.js" -e 'd}' ${DIR}pinout.html | sed -e "s/\/\/\/DATA\/\/\//\`$(echo ${1//\//\\/} | tr -d '\n')\`,\n\/\/\/DATA\/\/\//") echo "$TEXT" > $2 diff --git a/misc/pinout-gen/pinout.html b/misc/pinout-gen/pinout.html index 03b6309db8..5a27ba1a67 100644 --- a/misc/pinout-gen/pinout.html +++ b/misc/pinout-gen/pinout.html @@ -6,7 +6,6 @@ ###CSS### - @@ -19,11 +18,11 @@ @@ -37,11 +36,11 @@ - - - - - + + + + + @@ -52,11 +51,11 @@
Pin NumberTS NameTypeTypical FunctionPigtail ColorPin NumberTS NameTypeTypical FunctionPigtail Color
- - - - - + + + + + diff --git a/misc/pinout-gen/script.js b/misc/pinout-gen/script.js index 2da412f44d..778e2fac8b 100644 --- a/misc/pinout-gen/script.js +++ b/misc/pinout-gen/script.js @@ -2,21 +2,38 @@ var connectorData = [ ///DATA/// ]; +function hideEmptyColumns(table) { + var rows = table.querySelector('tbody').children; + var tableHead = table.querySelector("thead>tr") + var cols = tableHead.children + for (var i = 0; i < cols.length; i++) { + var empty = true; + for (var ii = 0; ii < rows.length; ii++) { + empty = rows[ii].children[i].textContent.length > 0 ? false : empty; + } + if (empty) { + tableHead.querySelectorAll('th')[i].style.display = 'none'; + for (var ii = 0; ii < rows.length; ii++) { + rows[ii].children[i].style.display = 'none'; + } + } else { + tableHead.querySelectorAll('th')[i].style.display = ''; + for (var ii = 0; ii < rows.length; ii++) { + rows[ii].children[i].style.display = ''; + } + } + } +} + function addRow(table, pin, pdiv) { var template = document.getElementById("table-template"); var clone = template.content.cloneNode(true); var row = clone.querySelector(".data"); - var pdata = clone.querySelector(".pin-data"); - var idata = clone.querySelector(".ts-data"); - var tdata = clone.querySelector(".type-data"); - var fdata = clone.querySelector(".function-data"); - var cdata = clone.querySelector(".color-data"); - pdata.textContent = pin.pin; - pdata.dataset.type = pin.type; - idata.textContent = pin.ts_name; - tdata.textContent = pin.type - fdata.textContent = pin.function; - cdata.textContent = pin.color + var cells = row.children; + for (var i = 0; i < cells.length; i++) { + var cell = cells[i]; + cell.textContent = pin[cell.dataset.field]; + } if (pdiv) { row.addEventListener('click', function(table, pin, pdiv) { clickPin(table.parentElement.parentElement.parentElement.querySelector(".info-table tbody"), pin, pdiv); @@ -25,7 +42,6 @@ function addRow(table, pin, pdiv) { } table.appendChild(clone); } - function clickPin(table, pin, pdiv) { table.parentElement.style.display = "table"; table.innerHTML = ""; @@ -40,6 +56,7 @@ function clickPin(table, pin, pdiv) { pins[i].classList.remove("selected"); } pdiv.classList.add("selected"); + hideEmptyColumns(table.parentElement); } window.addEventListener('load', function() { @@ -109,6 +126,7 @@ window.addEventListener('load', function() { cdiv.appendChild(pdiv); addRow(fullTable, connector.pins[i], pdiv); } + hideEmptyColumns(sdiv.querySelector('.pinout-table')); }.bind(null, connector, sdiv, img)); img.src = connector.info.image.file; }
Pin NumberTS NameTypeTypical FunctionPigtail ColorPin NumberTS NameTypeTypical FunctionPigtail Color