TS-DCDC/Hardware/bom/ibom.html
Frederico Boavida 39afdc6494 .
2025-03-01 20:53:54 +01:00

4670 lines
385 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive BOM for KiCAD</title>
<style type="text/css">
:root {
--pcb-edge-color: black;
--pad-color: #878787;
--pad-hole-color: #CCCCCC;
--pad-color-highlight: #D04040;
--pad-color-highlight-both: #D0D040;
--pad-color-highlight-marked: #44a344;
--pin1-outline-color: #ffb629;
--pin1-outline-color-highlight: #ffb629;
--pin1-outline-color-highlight-both: #fcbb39;
--pin1-outline-color-highlight-marked: #fdbe41;
--silkscreen-edge-color: #aa4;
--silkscreen-polygon-color: #4aa;
--silkscreen-text-color: #4aa;
--fabrication-edge-color: #907651;
--fabrication-polygon-color: #907651;
--fabrication-text-color: #a27c24;
--track-color: #def5f1;
--track-color-highlight: #D04040;
--zone-color: #def5f1;
--zone-color-highlight: #d0404080;
}
html,
body {
margin: 0px;
height: 100%;
font-family: Verdana, sans-serif;
}
.dark.topmostdiv {
--pcb-edge-color: #eee;
--pad-color: #808080;
--pin1-outline-color: #ffa800;
--pin1-outline-color-highlight: #ccff00;
--track-color: #42524f;
--zone-color: #42524f;
background-color: #252c30;
color: #eee;
}
button {
background-color: #eee;
border: 1px solid #888;
color: black;
height: 44px;
width: 44px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
font-weight: bolder;
}
.dark button {
/* This will be inverted */
background-color: #c3b7b5;
}
button.depressed {
background-color: #0a0;
color: white;
}
.dark button.depressed {
/* This will be inverted */
background-color: #b3b;
}
button:focus {
outline: 0;
}
button#tb-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#lr-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#bom-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-grouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-ungrouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-netlist-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}
button#copy {
background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
background-position: 6px 6px;
background-repeat: no-repeat;
background-size: 26px 26px;
border-radius: 6px;
height: 40px;
width: 40px;
margin: 10px 5px;
}
button#copy:active {
box-shadow: inset 0px 0px 5px #6c6c6c;
}
textarea.clipboard-temp {
position: fixed;
top: 0;
left: 0;
width: 2em;
height: 2em;
padding: 0;
border: None;
outline: None;
box-shadow: None;
background: transparent;
}
.left-most-button {
border-right: 0;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.middle-button {
border-right: 0;
}
.right-most-button {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.button-container {
font-size: 0;
margin: 0.4rem 0.4rem 0.4rem 0;
}
.dark .button-container {
filter: invert(1);
}
.button-container button {
background-size: 32px 32px;
background-position: 5px 5px;
background-repeat: no-repeat;
}
@media print {
.hideonprint {
display: none;
}
}
canvas {
cursor: crosshair;
}
canvas:active {
cursor: grabbing;
}
.fileinfo {
width: 100%;
max-width: 1000px;
border: none;
padding: 3px;
}
.fileinfo .title {
font-size: 20pt;
font-weight: bold;
}
.fileinfo td {
overflow: hidden;
white-space: nowrap;
max-width: 1px;
width: 50%;
text-overflow: ellipsis;
}
.bom {
border-collapse: collapse;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 10pt;
table-layout: fixed;
width: 100%;
margin-top: 1px;
position: relative;
}
.bom th,
.bom td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
.dark .bom th,
.dark .bom td {
border: 1px solid #777;
}
.bom th {
background-color: #CCCCCC;
background-clip: padding-box;
}
.dark .bom th {
background-color: #3b4749;
}
.bom tr.highlighted:nth-child(n) {
background-color: #cfc;
}
.dark .bom tr.highlighted:nth-child(n) {
background-color: #226022;
}
.bom tr:nth-child(even) {
background-color: #f2f2f2;
}
.dark .bom tr:nth-child(even) {
background-color: #313b40;
}
.bom tr.checked {
color: #1cb53d;
}
.dark .bom tr.checked {
color: #2cce54;
}
.bom tr {
transition: background-color 0.2s;
}
.bom .numCol {
width: 30px;
}
.bom .value {
width: 15%;
}
.bom .quantity {
width: 65px;
}
.bom th .sortmark {
position: absolute;
right: 1px;
top: 1px;
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #221 transparent;
transform-origin: 50% 85%;
transition: opacity 0.2s, transform 0.4s;
}
.dark .bom th .sortmark {
filter: invert(1);
}
.bom th .sortmark.none {
opacity: 0;
}
.bom th .sortmark.desc {
transform: rotate(180deg);
}
.bom th:hover .sortmark.none {
opacity: 0.5;
}
.bom .bom-checkbox {
width: 30px;
position: relative;
user-select: none;
-moz-user-select: none;
}
.bom .bom-checkbox:before {
content: "";
position: absolute;
border-width: 15px;
border-style: solid;
border-color: #51829f transparent transparent transparent;
visibility: hidden;
top: -15px;
}
.bom .bom-checkbox:after {
content: "Double click to set/unset all";
position: absolute;
color: white;
top: -35px;
left: -26px;
background: #51829f;
padding: 5px 15px;
border-radius: 8px;
white-space: nowrap;
visibility: hidden;
}
.bom .bom-checkbox:hover:before,
.bom .bom-checkbox:hover:after {
visibility: visible;
transition: visibility 0.2s linear 1s;
}
.split {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
background-color: inherit;
}
.split.split-horizontal,
.gutter.gutter-horizontal {
height: 100%;
float: left;
}
.gutter {
background-color: #ddd;
background-repeat: no-repeat;
background-position: 50%;
transition: background-color 0.3s;
}
.dark .gutter {
background-color: #777;
}
.gutter.gutter-horizontal {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
cursor: ew-resize;
width: 5px;
}
.gutter.gutter-vertical {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
cursor: ns-resize;
height: 5px;
}
.searchbox {
float: left;
height: 40px;
margin: 10px 5px;
padding: 12px 32px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 18px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 6px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
background-position: 10px 10px;
background-repeat: no-repeat;
}
.dark .searchbox {
background-color: #111;
color: #eee;
}
.searchbox::placeholder {
color: #ccc;
}
.dark .searchbox::placeholder {
color: #666;
}
.filter {
width: calc(60% - 64px);
}
.reflookup {
width: calc(40% - 10px);
}
input[type=text]:focus {
background-color: white;
border: 1px solid #333;
}
.dark input[type=text]:focus {
background-color: #333;
border: 1px solid #ccc;
}
mark.highlight {
background-color: #5050ff;
color: #fff;
padding: 2px;
border-radius: 6px;
}
.dark mark.highlight {
background-color: #76a6da;
color: #111;
}
.menubtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
background-position: center;
background-repeat: no-repeat;
}
.statsbtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.iobtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.visbtn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' stroke='%23333' d='M2.5 4.5h5v15h-5zM9.5 4.5h5v15h-5zM16.5 4.5h5v15h-5z'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
padding: 15px;
}
#vismenu-content {
left: 0px;
font-family: Verdana, sans-serif;
}
.dark .statsbtn,
.dark .savebtn,
.dark .menubtn,
.dark .iobtn,
.dark .visbtn {
filter: invert(1);
}
.flexbox {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.savebtn {
background-color: #d6d6d6;
width: auto;
height: 30px;
flex-grow: 1;
margin: 5px;
border-radius: 4px;
}
.savebtn:active {
background-color: #0a0;
color: white;
}
.dark .savebtn:active {
/* This will be inverted */
background-color: #b3b;
}
.stats {
border-collapse: collapse;
font-size: 12pt;
table-layout: fixed;
width: 100%;
min-width: 450px;
}
.dark .stats td {
border: 1px solid #bbb;
}
.stats td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
#checkbox-stats div {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
#checkbox-stats .bar {
background-color: rgba(28, 251, 0, 0.6);
}
.menu {
position: relative;
display: inline-block;
margin: 0.4rem 0.4rem 0.4rem 0;
}
.menu-content {
font-size: 12pt !important;
text-align: left !important;
font-weight: normal !important;
display: none;
position: absolute;
background-color: white;
right: 0;
min-width: 300px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 100;
padding: 8px;
}
.dark .menu-content {
background-color: #111;
}
.menu:hover .menu-content {
display: block;
}
.menu:hover .menubtn,
.menu:hover .iobtn,
.menu:hover .statsbtn {
background-color: #eee;
}
.menu-label {
display: inline-block;
padding: 8px;
border: 1px solid #ccc;
border-top: 0;
width: calc(100% - 18px);
}
.menu-label-top {
border-top: 1px solid #ccc;
}
.menu-textbox {
float: left;
height: 24px;
margin: 10px 5px;
padding: 5px 5px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 14px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 4px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
width: calc(100% - 10px);
}
.menu-textbox.invalid,
.dark .menu-textbox.invalid {
color: red;
}
.dark .menu-textbox {
background-color: #222;
color: #eee;
}
.radio-container {
margin: 4px;
}
.topmostdiv {
display: flex;
flex-direction: column;
width: 100%;
background-color: white;
transition: background-color 0.3s;
}
#top {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
}
#topdivider {
border-bottom: 2px solid black;
display: flex;
justify-content: center;
align-items: center;
}
.dark #topdivider {
border-bottom: 2px solid #ccc;
}
#topdivider>div {
position: relative;
}
#toptoggle {
cursor: pointer;
user-select: none;
position: absolute;
padding: 0.1rem 0.3rem;
top: -0.4rem;
left: -1rem;
font-size: 1.4rem;
line-height: 60%;
border: 1px solid black;
border-radius: 1rem;
background-color: #fff;
z-index: 100;
}
.flipped {
transform: rotate(0.5turn);
}
.dark #toptoggle {
border: 1px solid #fff;
background-color: #222;
}
#fileinfodiv {
flex: 20rem 1 0;
overflow: auto;
}
#bomcontrols {
display: flex;
flex-direction: row-reverse;
}
#bomcontrols>* {
flex-shrink: 0;
}
#dbg {
display: block;
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #aaa;
}
::-webkit-scrollbar-thumb {
background: #666;
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
.slider {
-webkit-appearance: none;
width: 100%;
margin: 3px 0;
padding: 0;
outline: none;
opacity: 0.7;
-webkit-transition: .2s;
transition: opacity .2s;
border-radius: 3px;
}
.slider:hover {
opacity: 1;
}
.slider:focus {
outline: none;
}
.slider::-webkit-slider-runnable-track {
-webkit-appearance: none;
width: 100%;
height: 8px;
background: #d3d3d3;
border-radius: 3px;
border: none;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
margin-top: -4px;
}
.dark .slider::-webkit-slider-thumb {
background: #3d3;
}
.slider::-moz-range-thumb {
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
}
.slider::-moz-range-track {
height: 8px;
background: #d3d3d3;
border-radius: 3px;
}
.dark .slider::-moz-range-thumb {
background: #3d3;
}
.slider::-ms-track {
width: 100%;
height: 8px;
border-width: 3px 0;
background: transparent;
border-color: transparent;
color: transparent;
transition: opacity .2s;
}
.slider::-ms-fill-lower {
background: #d3d3d3;
border: none;
border-radius: 3px;
}
.slider::-ms-fill-upper {
background: #d3d3d3;
border: none;
border-radius: 3px;
}
.slider::-ms-thumb {
width: 15px;
height: 15px;
border-radius: 50%;
background: #0a0;
cursor: pointer;
margin: 0;
}
.shameless-plug {
font-size: 0.8em;
text-align: center;
display: block;
}
a {
color: #0278a4;
}
.dark a {
color: #00b9fd;
}
#frontcanvas,
#backcanvas {
touch-action: none;
}
.placeholder {
border: 1px dashed #9f9fda !important;
background-color: #edf2f7 !important;
}
.dragging {
z-index: 999;
}
.dark .dragging>table>tbody>tr {
background-color: #252c30;
}
.dark .placeholder {
filter: invert(1);
}
.column-spacer {
top: 0;
left: 0;
width: calc(100% - 4px);
position: absolute;
cursor: pointer;
user-select: none;
height: 100%;
}
.column-width-handle {
top: 0;
right: 0;
width: 4px;
position: absolute;
cursor: col-resize;
user-select: none;
height: 100%;
}
.column-width-handle:hover {
background-color: #4f99bd;
}
.help-link {
border: 1px solid #0278a4;
padding-inline: 0.3rem;
border-radius: 3px;
cursor: pointer;
}
.dark .help-link {
border: 1px solid #00b9fd;
}
.bom-color {
width: 20%;
}
.color-column input {
width: 1.6rem;
height: 1rem;
border: 1px solid black;
cursor: pointer;
padding: 0;
}
/* removes default styling from input color element */
::-webkit-color-swatch {
border: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::-moz-color-swatch,
::-moz-focus-inner {
border: none;
}
::-moz-focus-inner {
padding: 0;
}
/* #bomhead {
position: sticky;
top: 0px;
z-index: 1;
} */
</style>
<script type="text/javascript" >
///////////////////////////////////////////////
/*
Split.js - v1.3.5
MIT License
https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});
///////////////////////////////////////////////
///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////
///////////////////////////////////////////////
/*!
* PEP v0.4.3 | https://github.com/jquery/PEP
* Copyright jQuery Foundation and other contributors | http://jquery.org/license
*/
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.PointerEventsPolyfill=b()}(this,function(){"use strict";function a(a,b){b=b||Object.create(null);var c=document.createEvent("Event");c.initEvent(a,b.bubbles||!1,b.cancelable||!1);
for(var d,e=2;e<m.length;e++)d=m[e],c[d]=b[d]||n[e];c.buttons=b.buttons||0;
var f=0;return f=b.pressure&&c.buttons?b.pressure:c.buttons?.5:0,c.x=c.clientX,c.y=c.clientY,c.pointerId=b.pointerId||0,c.width=b.width||0,c.height=b.height||0,c.pressure=f,c.tiltX=b.tiltX||0,c.tiltY=b.tiltY||0,c.twist=b.twist||0,c.tangentialPressure=b.tangentialPressure||0,c.pointerType=b.pointerType||"",c.hwTimestamp=b.hwTimestamp||0,c.isPrimary=b.isPrimary||!1,c}function b(){this.array=[],this.size=0}function c(a,b,c,d){this.addCallback=a.bind(d),this.removeCallback=b.bind(d),this.changedCallback=c.bind(d),A&&(this.observer=new A(this.mutationWatcher.bind(this)))}function d(a){return"body /shadow-deep/ "+e(a)}function e(a){return'[touch-action="'+a+'"]'}function f(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}function g(){if(F){D.forEach(function(a){String(a)===a?(E+=e(a)+f(a)+"\n",G&&(E+=d(a)+f(a)+"\n")):(E+=a.selectors.map(e)+f(a.rule)+"\n",G&&(E+=a.selectors.map(d)+f(a.rule)+"\n"))});var a=document.createElement("style");a.textContent=E,document.head.appendChild(a)}}function h(){if(!window.PointerEvent){if(window.PointerEvent=a,window.navigator.msPointerEnabled){var b=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:b,enumerable:!0}),u.registerSource("ms",_)}else Object.defineProperty(window.navigator,"maxTouchPoints",{value:0,enumerable:!0}),u.registerSource("mouse",N),void 0!==window.ontouchstart&&u.registerSource("touch",V);u.register(document)}}function i(a){if(!u.pointermap.has(a)){var b=new Error("InvalidPointerId");throw b.name="InvalidPointerId",b}}function j(a){for(var b=a.parentNode;b&&b!==a.ownerDocument;)b=b.parentNode;if(!b){var c=new Error("InvalidStateError");throw c.name="InvalidStateError",c}}function k(a){var b=u.pointermap.get(a);return 0!==b.buttons}function l(){window.Element&&!Element.prototype.setPointerCapture&&Object.defineProperties(Element.prototype,{setPointerCapture:{value:W},releasePointerCapture:{value:X},hasPointerCapture:{value:Y}})}
var m=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","pageX","pageY"],n=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0],o=window.Map&&window.Map.prototype.forEach,p=o?Map:b;b.prototype={set:function(a,b){return void 0===b?this["delete"](a):(this.has(a)||this.size++,void(this.array[a]=b))},has:function(a){return void 0!==this.array[a]},"delete":function(a){this.has(a)&&(delete this.array[a],this.size--)},get:function(a){return this.array[a]},clear:function(){this.array.length=0,this.size=0},forEach:function(a,b){return this.array.forEach(function(c,d){a.call(b,c,d,this)},this)}};var q=["bubbles","cancelable","view","detail","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","buttons","pointerId","width","height","pressure","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","type","target","currentTarget","which","pageX","pageY","timeStamp"],r=[!1,!1,null,null,0,0,0,0,!1,!1,!1,!1,0,null,0,0,0,0,0,0,0,"",0,!1,"",null,null,0,0,0,0],s={pointerover:1,pointerout:1,pointerenter:1,pointerleave:1},t="undefined"!=typeof SVGElementInstance,u={pointermap:new p,eventMap:Object.create(null),captureInfo:Object.create(null),eventSources:Object.create(null),eventSourceList:[],registerSource:function(a,b){var c=b,d=c.events;d&&(d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c,this.eventSourceList.push(c))},register:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.register.call(b,a)},unregister:function(a){for(var b,c=this.eventSourceList.length,d=0;d<c&&(b=this.eventSourceList[d]);d++)
b.unregister.call(b,a)},contains:function(a,b){try{return a.contains(b)}catch(c){return!1}},down:function(a){a.bubbles=!0,this.fireEvent("pointerdown",a)},move:function(a){a.bubbles=!0,this.fireEvent("pointermove",a)},up:function(a){a.bubbles=!0,this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){a.bubbles=!0,this.fireEvent("pointercancel",a)},leaveOut:function(a){this.out(a),this.propagate(a,this.leave,!1)},enterOver:function(a){this.over(a),this.propagate(a,this.enter,!0)},eventHandler:function(a){if(!a._handledByPE){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),a._handledByPE=!0}},listen:function(a,b){b.forEach(function(b){this.addEvent(a,b)},this)},unlisten:function(a,b){b.forEach(function(b){this.removeEvent(a,b)},this)},addEvent:function(a,b){a.addEventListener(b,this.boundHandler)},removeEvent:function(a,b){a.removeEventListener(b,this.boundHandler)},makeEvent:function(b,c){this.captureInfo[c.pointerId]&&(c.relatedTarget=null);var d=new a(b,c);return c.preventDefault&&(d.preventDefault=c.preventDefault),d._target=d._target||c.target,d},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){for(var b,c=Object.create(null),d=0;d<q.length;d++)b=q[d],c[b]=a[b]||r[d],!t||"target"!==b&&"relatedTarget"!==b||c[b]instanceof SVGElementInstance&&(c[b]=c[b].correspondingUseElement);return a.preventDefault&&(c.preventDefault=function(){a.preventDefault()}),c},getTarget:function(a){var b=this.captureInfo[a.pointerId];return b?a._target!==b&&a.type in s?void 0:b:a._target},propagate:function(a,b,c){for(var d=a.target,e=[];d!==document&&!d.contains(a.relatedTarget);) if(e.push(d),d=d.parentNode,!d)return;c&&e.reverse(),e.forEach(function(c){a.target=c,b.call(this,a)},this)},setCapture:function(b,c,d){this.captureInfo[b]&&this.releaseCapture(b,d),this.captureInfo[b]=c,this.implicitRelease=this.releaseCapture.bind(this,b,d),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease);var e=new a("gotpointercapture");e.pointerId=b,e._target=c,d||this.asyncDispatchEvent(e)},releaseCapture:function(b,c){var d=this.captureInfo[b];if(d){this.captureInfo[b]=void 0,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease);var e=new a("lostpointercapture");e.pointerId=b,e._target=d,c||this.asyncDispatchEvent(e)}},dispatchEvent:/*scope.external.dispatchEvent || */function(a){var b=this.getTarget(a);if(b)return b.dispatchEvent(a)},asyncDispatchEvent:function(a){requestAnimationFrame(this.dispatchEvent.bind(this,a))}};u.boundHandler=u.eventHandler.bind(u);var v={shadow:function(a){if(a)return a.shadowRoot||a.webkitShadowRoot},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);if(this.canTarget(b))return b},olderShadow:function(a){var b=a.olderShadowRoot;if(!b){var c=a.querySelector("shadow");c&&(b=c.olderShadowRoot)}return b},allShadows:function(a){for(var b=[],c=this.shadow(a);c;)b.push(c),c=this.olderShadow(c);return b},searchRoot:function(a,b,c){if(a){var d,e,f=a.elementFromPoint(b,c);for(e=this.targetingShadow(f);e;){if(d=e.elementFromPoint(b,c)){var g=this.targetingShadow(d);return this.searchRoot(g,b,c)||d} e=this.olderShadow(e)} return f}},owner:function(a){
for(var b=a;b.parentNode;)b=b.parentNode;
return b.nodeType!==Node.DOCUMENT_NODE&&b.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&(b=document),b},findTarget:function(a){var b=a.clientX,c=a.clientY,d=this.owner(a.target);
return d.elementFromPoint(b,c)||(d=document),this.searchRoot(d,b,c)}},w=Array.prototype.forEach.call.bind(Array.prototype.forEach),x=Array.prototype.map.call.bind(Array.prototype.map),y=Array.prototype.slice.call.bind(Array.prototype.slice),z=Array.prototype.filter.call.bind(Array.prototype.filter),A=window.MutationObserver||window.WebKitMutationObserver,B="[touch-action]",C={subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["touch-action"]};c.prototype={watchSubtree:function(a){
//
this.observer&&v.canTarget(a)&&this.observer.observe(a,C)},enableOnSubtree:function(a){this.watchSubtree(a),a===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(a)},installNewSubtree:function(a){w(this.findElements(a),this.addElement,this)},findElements:function(a){return a.querySelectorAll?a.querySelectorAll(B):[]},removeElement:function(a){this.removeCallback(a)},addElement:function(a){this.addCallback(a)},elementChanged:function(a,b){this.changedCallback(a,b)},concatLists:function(a,b){return a.concat(y(b))},
installOnLoad:function(){document.addEventListener("readystatechange",function(){"complete"===document.readyState&&this.installNewSubtree(document)}.bind(this))},isElement:function(a){return a.nodeType===Node.ELEMENT_NODE},flattenMutationTree:function(a){
var b=x(a,this.findElements,this);
return b.push(z(a,this.isElement)),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){if("childList"===a.type){var b=this.flattenMutationTree(a.addedNodes);b.forEach(this.addElement,this);var c=this.flattenMutationTree(a.removedNodes);c.forEach(this.removeElement,this)}else"attributes"===a.type&&this.elementChanged(a.target,a.oldValue)}};var D=["none","auto","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["pan-x pan-y","pan-y pan-x"]}],E="",F=window.PointerEvent||window.MSPointerEvent,G=!window.ShadowDOMPolyfill&&document.head.createShadowRoot,H=u.pointermap,I=25,J=[1,4,2,8,16],K=!1;try{K=1===new MouseEvent("test",{buttons:1}).buttons}catch(L){}
var M,N={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},lastTouches:[],
isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;f<g&&(b=c[f]);f++){
var h=Math.abs(d-b.x),i=Math.abs(e-b.y);if(h<=I&&i<=I)return!0}},prepareEvent:function(a){var b=u.cloneEvent(a),c=b.preventDefault;return b.preventDefault=function(){a.preventDefault(),c()},b.pointerId=this.POINTER_ID,b.isPrimary=!0,b.pointerType=this.POINTER_TYPE,b},prepareButtonsForMove:function(a,b){var c=H.get(this.POINTER_ID);
0!==b.which&&c?a.buttons=c.buttons:a.buttons=0,b.buttons=a.buttons},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);K||(c.buttons=J[c.button],b&&(c.buttons|=b.buttons),a.buttons=c.buttons),H.set(this.POINTER_ID,a),b&&0!==b.buttons?u.move(c):u.down(c)}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.move(b)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=H.get(this.POINTER_ID),c=this.prepareEvent(a);if(!K){var d=J[c.button];
c.buttons=b?b.buttons&~d:0,a.buttons=c.buttons}H.set(this.POINTER_ID,a),
c.buttons&=~J[c.button],0===c.buttons?u.up(c):u.move(c)}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,H.set(this.POINTER_ID,a),u.enterOver(b)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var b=this.prepareEvent(a);K||this.prepareButtonsForMove(b,a),b.button=-1,u.leaveOut(b)}},cancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.deactivateMouse()},deactivateMouse:function(){H["delete"](this.POINTER_ID)}},O=u.captureInfo,P=v.findTarget.bind(v),Q=v.allShadows.bind(v),R=u.pointermap,S=2500,T=200,U="touch-action",V={events:["touchstart","touchmove","touchend","touchcancel"],register:function(a){M.enableOnSubtree(a)},unregister:function(){},elementAdded:function(a){var b=a.getAttribute(U),c=this.touchActionToScrollType(b);c&&(a._scrollType=c,u.listen(a,this.events),
Q(a).forEach(function(a){a._scrollType=c,u.listen(a,this.events)},this))},elementRemoved:function(a){a._scrollType=void 0,u.unlisten(a,this.events),
Q(a).forEach(function(a){a._scrollType=void 0,u.unlisten(a,this.events)},this)},elementChanged:function(a,b){var c=a.getAttribute(U),d=this.touchActionToScrollType(c),e=this.touchActionToScrollType(b);
d&&e?(a._scrollType=d,Q(a).forEach(function(a){a._scrollType=d},this)):e?this.elementRemoved(a):d&&this.elementAdded(a)},scrollTypes:{EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/},touchActionToScrollType:function(a){var b=a,c=this.scrollTypes;return"none"===b?"none":b===c.XSCROLLER?"X":b===c.YSCROLLER?"Y":c.SCROLLER.exec(b)?"XY":void 0},POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){
(0===R.size||1===R.size&&R.has(1))&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1,this.cancelResetClickCount())},removePrimaryPointer:function(a){a.isPrimary&&(this.firstTouch=null,this.firstXY=null,this.resetClickCount())},clickCount:0,resetId:null,resetClickCount:function(){var a=function(){this.clickCount=0,this.resetId=null}.bind(this);this.resetId=setTimeout(a,T)},cancelResetClickCount:function(){this.resetId&&clearTimeout(this.resetId)},typeToButtons:function(a){var b=0;return"touchstart"!==a&&"touchmove"!==a||(b=1),b},touchToPointer:function(a){var b=this.currentTouchEvent,c=u.cloneEvent(a),d=c.pointerId=a.identifier+2;c.target=O[d]||P(c),c.bubbles=!0,c.cancelable=!0,c.detail=this.clickCount,c.button=0,c.buttons=this.typeToButtons(b.type),c.width=2*(a.radiusX||a.webkitRadiusX||0),c.height=2*(a.radiusY||a.webkitRadiusY||0),c.pressure=a.force||a.webkitForce||.5,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,
c.altKey=b.altKey,c.ctrlKey=b.ctrlKey,c.metaKey=b.metaKey,c.shiftKey=b.shiftKey;
var e=this;return c.preventDefault=function(){e.scrolling=!1,e.firstXY=null,b.preventDefault()},c},processTouches:function(a,b){var c=a.changedTouches;this.currentTouchEvent=a;for(var d,e=0;e<c.length;e++)d=c[e],b.call(this,this.touchToPointer(d))},
shouldScroll:function(a){if(this.firstXY){var b,c=a.currentTarget._scrollType;if("none"===c)
b=!1;else if("XY"===c)
b=!0;else{var d=a.changedTouches[0],e=c,f="Y"===c?"X":"Y",g=Math.abs(d["client"+e]-this.firstXY[e]),h=Math.abs(d["client"+f]-this.firstXY[f]);
b=g>=h}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;d<e&&(c=a[d]);d++)if(c.identifier===b)return!0},
vacuumTouches:function(a){var b=a.touches;
if(R.size>=b.length){var c=[];R.forEach(function(a,d){
if(1!==d&&!this.findTouch(b,d-2)){var e=a.out;c.push(e)}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||(this.clickCount++,this.processTouches(a,this.overDown))},overDown:function(a){R.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),u.enterOver(a),u.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var b=a,c=R.get(b.pointerId);
if(c){var d=c.out,e=c.outTarget;u.move(b),d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,
d.target=e,b.target?(u.leaveOut(d),u.enterOver(b)):(
b.target=e,b.relatedTarget=null,this.cancelOut(b))),c.out=b,c.outTarget=b.target}},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(u.up(a),u.leaveOut(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){u.cancel(a),u.leaveOut(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){R["delete"](a.pointerId),this.removePrimaryPointer(a)},
dedupSynthMouse:function(a){var b=N.lastTouches,c=a.changedTouches[0];
if(this.isPrimaryTouch(c)){
var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,S)}}};M=new c(V.elementAdded,V.elementRemoved,V.elementChanged,V);var W,X,Y,Z=u.pointermap,$=window.MSPointerEvent&&"number"==typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,_={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],register:function(a){u.listen(a,this.events)},unregister:function(a){u.unlisten(a,this.events)},POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var b=a;return $&&(b=u.cloneEvent(a),b.pointerType=this.POINTER_TYPES[a.pointerType]),b},cleanup:function(a){Z["delete"](a)},MSPointerDown:function(a){Z.set(a.pointerId,a);var b=this.prepareEvent(a);u.down(b)},MSPointerMove:function(a){var b=this.prepareEvent(a);u.move(b)},MSPointerUp:function(a){var b=this.prepareEvent(a);u.up(b),this.cleanup(a.pointerId)},MSPointerOut:function(a){var b=this.prepareEvent(a);u.leaveOut(b)},MSPointerOver:function(a){var b=this.prepareEvent(a);u.enterOver(b)},MSPointerCancel:function(a){var b=this.prepareEvent(a);u.cancel(b),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var b=u.makeEvent("lostpointercapture",a);u.dispatchEvent(b)},MSGotPointerCapture:function(a){var b=u.makeEvent("gotpointercapture",a);u.dispatchEvent(b)}},aa=window.navigator;aa.msPointerEnabled?(W=function(a){i(a),j(this),k(a)&&(u.setCapture(a,this,!0),this.msSetPointerCapture(a))},X=function(a){i(a),u.releaseCapture(a,!0),this.msReleasePointerCapture(a)}):(W=function(a){i(a),j(this),k(a)&&u.setCapture(a,this)},X=function(a){i(a),u.releaseCapture(a)}),Y=function(a){return!!u.captureInfo[a]},g(),h(),l();var ba={dispatcher:u,Installer:c,PointerEvent:a,PointerMap:p,targetFinding:v};return ba});
///////////////////////////////////////////////
///////////////////////////////////////////////
var config = {"dark_mode": false, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": "none", "redraw_on_drag": true, "board_rotation": 0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "offset_back_rotation": false, "kicad_text_formatting": true, "fields": ["Value", "Footprint"]}
///////////////////////////////////////////////
///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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mNhJzx15FgCeJentwC4Y+ByF7Uie8J3gnZYc0xzImAicRevImdfpBB3wnUXu3kNImoQd5JMomsib0J0HGqifyJrzG6iaKJ/DbQiflxwOHAGwaJ1omJ8doJvgncic6Jpgm88Yv4CXHjkVtxwMI0iaH2jImtduqJ4UlRiZrxgYnJicp+zkGssYjkkXHN9w6J72ZoiaWJxNxZicCJrYmFieMh1AmgqrSJ546JibPJDYmRibNx+onPCYuJoomusVcJ53H+kYNBq4mddBkJ7IntYd6J54m98Z2Jj4nbfptB84mF6BFx0uGYsaH4HAnXidMO94n0Cdzxr4mISZSREv4DiZDxgEmHsciJ+EmzibuJ/nJLiaBJ5Emdft1MzYn0PgBJ5k7UsdzREEmaie1xwkntiYKJtPGTfrzBnEnxCeaYQWKOifrxl4niSe/xoZhDCauJhknACfrB84n28fjhrJ7KiafRlEmWie5J/omdiaFJmCxX1sFJ9AnmmGHBjEn58a6Jnwm6CdqJmCBWSZlJ6Em0R2mJmC0RcaXByBLGCf+YUEnTTsugRlB18c+J8kmjSdt+3cG5CcpxyZAOCdr8drGrSaJJ9Um6wXRJ/F67SZN+28HziffxwOGurBNJmkmr8buJj0njSY6J/0nbfp/BmInICc9J9A6+SaQJxkn1SajJgMmridjJ4Mm4zrwJgdBM0ElJ9vjbSewJqYnQyeIJp0nIydVJk9h1SfIJz0nNgYJJ6gmBSbhJosm4yYxJysngyZCJisnrSZohq4nuCejJ0MnmyarJ50nhCZ1+9iGWiekJ/uH6sdLJ3snXsF9JnsnlCeygZgndEglxmuh1SeMJ/uGLcb5Jmcmhye6JnIn9Cd3MZUmOyYXJ/swqYbuJpwmVoc0hq4mdyd1Jpkm/CdmmMkmOiZ3Jzcn9ieTJ2eJVngLh8yH8XpvJrMmssYfJ3MnIXufJnX7HIafJzOKRcdchizHCfHtJ/zG/ydPJ38mvycp+/yGAKe5x/pGRAfvJiCmWyc/J44YXydSxucAJcYSh8CmKkkgp824XEn/Jz8m0KbiJ8cn/FpN+kIGrye3iZl4RceCxxCm+icPJ4UkSKYQpzHHqKZ1+yqHUCffcAuHkMWgpg6NyyaIpiDA7uDYp3Cm88aYpyP7H8e1xrV5mKbFxoSnHydtx0SmaKYv49Yn6KaqR/QncUAQRqP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2CLZ7NrM3C9Y/Nki2fjbXNyi2pyW4ZWc3CjcItvN5PTYYt0i33ze7eey4VTdjNoc2WLaEpP82PzeaNwi39tMdNgS3WLeXNkS2qLe/N8S3OyUteKU2BjePmJC2pzYmN6ikK9fYtmY3BLdXx2BA5LdEtn02NjcAtoJLJLfJNmRE8Lb7NnY35zbVN3S3m5wZNuC2+vkiAOkrBLYX6Z7XbLYlNsi2wDY/Ny43ILfMt9y3/Zw/GZc3vjYDemXWUwCj5t83fLcv2My3HTe+NsBc+LdUtqeKqMj3icr4mjF8Ni82hTZitjy3HTZStxkc4DeSt7s29wBSxBc28TaMtsC2src4tnc2w8Gyt07lEzYCN+r5H1CfNxBHvzbpNgq2XLbBJ843qrbzNvK3DLaf7Jdbb9dpAU0pwyQUt3qBw3jwN/xdizm6tuy2WMBC6u6YBrdLNpK3rLd2mOjqgdaKaMF5urcv2c83jLZgJpa20BvNN2951rdQtxA1hrbfuGq3F6DRN/q39ImCt4ZFaQDhfAc2trf2tna21OeaRta3j/xqtugz4mIet063f+vOtsq2+rchAd63BrdxSva2vTeVQdHxGVcg0qs3prcqtktJgbfrN1U2Jrf+t6ydf9d22AkhRrZytyGgw0mtkZy22Lbi2BG3iraut+M271zhti3YCSFCtljBmPCOtr631TjRtv639IMutlG2MzeCPBX87ra6tzVaarasSam2mzdAtxq3aVdJtlA2wrZ+mRm2drZmOt62YYGytlVAtSatQQW3ErdWthm3+za5JT6374DPF2m2DzdDwUyBDLeFtiInZbeVt0G3WzZm2JW2sbZZt9q3QNzMNoGY14Z1tzwgjbeCNvPc/rfYN2K2viWptvc3qzYttwm2crdhlk22mjNetxFFaQFvNiS3nbY9t3+97zYHQWkBNDatt6nNnbYDt7S2BbYMN6W2obZ5t8O2V9z+t6C2m3skJ++A47Y1t7M3tLn9tj63I7fJmF16frcEwsO2MLZYwDibg7fVtiW2ZrcRV8dTjbeeth3SdrcZFN2247UQtjO3yHtrtna2j2prtlI29LbvJzO3W7edN4u2wbcNtqo227Zz1ju2eLbtts63roXLt6G2eLYrmAvXXLdTtzMR5rYwsEUFaQHEt4e2w7aktmW3RbdgkH631ixXtoW315WptpS2GrfRtrW2e3Vatiu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"))
///////////////////////////////////////////////
///////////////////////////////////////////////
/* Utility functions */
var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
pcbdata.metadata.revision + '__#';
var storage;
function initStorage(key) {
try {
window.localStorage.getItem("blank");
storage = window.localStorage;
} catch (e) {
// localStorage not available
}
if (!storage) {
try {
window.sessionStorage.getItem("blank");
storage = window.sessionStorage;
} catch (e) {
// sessionStorage also not available
}
}
}
function readStorage(key) {
if (storage) {
return storage.getItem(storagePrefix + key);
} else {
return null;
}
}
function writeStorage(key, value) {
if (storage) {
storage.setItem(storagePrefix + key, value);
}
}
function fancyDblClickHandler(el, onsingle, ondouble) {
return function () {
if (el.getAttribute("data-dblclick") == null) {
el.setAttribute("data-dblclick", 1);
setTimeout(function () {
if (el.getAttribute("data-dblclick") == 1) {
onsingle();
}
el.removeAttribute("data-dblclick");
}, 200);
} else {
el.removeAttribute("data-dblclick");
ondouble();
}
}
}
function smoothScrollToRow(rowid) {
document.getElementById(rowid).scrollIntoView({
behavior: "smooth",
block: "center",
inline: "nearest"
});
}
function focusInputField(input) {
input.scrollIntoView(false);
input.focus();
input.select();
}
function saveBomTable(output) {
var text = '';
for (var node of bomhead.childNodes[0].childNodes) {
if (node.firstChild) {
text += (output == 'csv' ? `"${node.firstChild.nodeValue}"` : node.firstChild.nodeValue);
}
if (node != bomhead.childNodes[0].lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
for (var row of bombody.childNodes) {
for (var cell of row.childNodes) {
let val = '';
for (var node of cell.childNodes) {
if (node.nodeName == "INPUT") {
if (node.checked) {
val += '✓';
}
} else if ((node.nodeName == "MARK") || (node.nodeName == "A")) {
val += node.firstChild.nodeValue;
} else {
val += node.nodeValue;
}
}
if (output == 'csv') {
val = val.replace(/\"/g, '\"\"'); // pair of double-quote characters
if (isNumeric(val)) {
val = +val; // use number
} else {
val = `"${val}"`; // enclosed within double-quote
}
}
text += val;
if (cell != row.lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
}
if (output != 'clipboard') {
// To file: csv or txt
var blob = new Blob([text], {
type: `text/${output}`
});
saveFile(`${pcbdata.metadata.title}.${output}`, blob);
} else {
// To clipboard
var textArea = document.createElement("textarea");
textArea.classList.add('clipboard-temp');
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
if (document.execCommand('copy')) {
console.log('Bom copied to clipboard.');
}
} catch (err) {
console.log('Can not copy to clipboard.');
}
document.body.removeChild(textArea);
}
}
function isNumeric(str) {
/* https://stackoverflow.com/a/175787 */
return (typeof str != "string" ? false : !isNaN(str) && !isNaN(parseFloat(str)));
}
function removeGutterNode(node) {
for (var i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].classList &&
node.childNodes[i].classList.contains("gutter")) {
node.removeChild(node.childNodes[i]);
break;
}
}
}
function cleanGutters() {
removeGutterNode(document.getElementById("bot"));
removeGutterNode(document.getElementById("canvasdiv"));
}
var units = {
prefixes: {
giga: ["G", "g", "giga", "Giga", "GIGA"],
mega: ["M", "mega", "Mega", "MEGA"],
kilo: ["K", "k", "kilo", "Kilo", "KILO"],
milli: ["m", "milli", "Milli", "MILLI"],
micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
nano: ["N", "n", "nano", "Nano", "NANO"],
pico: ["P", "p", "pico", "Pico", "PICO"],
},
unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
unitsLong: [
"OHM", "Ohm", "ohm", "ohms",
"FARAD", "Farad", "farad",
"HENRY", "Henry", "henry"
],
getMultiplier: function (s) {
if (this.prefixes.giga.includes(s)) return 1e9;
if (this.prefixes.mega.includes(s)) return 1e6;
if (this.prefixes.kilo.includes(s)) return 1e3;
if (this.prefixes.milli.includes(s)) return 1e-3;
if (this.prefixes.micro.includes(s)) return 1e-6;
if (this.prefixes.nano.includes(s)) return 1e-9;
if (this.prefixes.pico.includes(s)) return 1e-12;
return 1;
},
valueRegex: null,
}
function initUtils() {
var allPrefixes = units.prefixes.giga
.concat(units.prefixes.mega)
.concat(units.prefixes.kilo)
.concat(units.prefixes.milli)
.concat(units.prefixes.micro)
.concat(units.prefixes.nano)
.concat(units.prefixes.pico);
var allUnits = units.unitsShort.concat(units.unitsLong);
units.valueRegex = new RegExp("^([0-9\.]+)" +
"\\s*(" + allPrefixes.join("|") + ")?" +
"(" + allUnits.join("|") + ")?" +
"(\\b.*)?$", "");
units.valueAltRegex = new RegExp("^([0-9]*)" +
"(" + units.unitsShort.join("|") + ")?" +
"([GgMmKkUuNnPp])?" +
"([0-9]*)" +
"(\\b.*)?$", "");
if (config.fields.includes("Value")) {
var index = config.fields.indexOf("Value");
pcbdata.bom["parsedValues"] = {};
for (var id in pcbdata.bom.fields) {
pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index])
}
}
}
function parseValue(val, ref) {
var inferUnit = (unit, ref) => {
if (unit) {
unit = unit.toLowerCase();
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
unit = 'r';
}
unit = unit[0];
} else {
ref = /^([a-z]+)\d+$/i.exec(ref);
if (ref) {
ref = ref[1].toLowerCase();
if (ref == "c") unit = 'f';
else if (ref == "l") unit = 'h';
else if (ref == "r" || ref == "rv") unit = 'r';
else unit = null;
}
}
return unit;
};
val = val.replace(/,/g, "");
var match = units.valueRegex.exec(val);
var unit;
if (match) {
val = parseFloat(match[1]);
if (match[2]) {
val = val * units.getMultiplier(match[2]);
}
unit = inferUnit(match[3], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[4],
}
}
match = units.valueAltRegex.exec(val);
if (match && (match[1] || match[4])) {
val = parseFloat(match[1] + "." + match[4]);
if (match[3]) {
val = val * units.getMultiplier(match[3]);
}
unit = inferUnit(match[2], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[5],
}
}
return null;
}
function valueCompare(a, b, stra, strb) {
if (a === null && b === null) {
// Failed to parse both values, compare them as strings.
if (stra != strb) return stra > strb ? 1 : -1;
else return 0;
} else if (a === null) {
return 1;
} else if (b === null) {
return -1;
} else {
if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
else if (a.val != b.val) return a.val > b.val ? 1 : -1;
else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
else return 0;
}
}
function validateSaveImgDimension(element) {
var valid = false;
var intValue = 0;
if (/^[1-9]\d*$/.test(element.value)) {
intValue = parseInt(element.value);
if (intValue <= 16000) {
valid = true;
}
}
if (valid) {
element.classList.remove("invalid");
} else {
element.classList.add("invalid");
}
return intValue;
}
function saveImage(layer) {
var width = validateSaveImgDimension(document.getElementById("render-save-width"));
var height = validateSaveImgDimension(document.getElementById("render-save-height"));
var bgcolor = null;
if (!document.getElementById("render-save-transparent").checked) {
var style = getComputedStyle(topmostdiv);
bgcolor = style.getPropertyValue("background-color");
}
if (!width || !height) return;
// Prepare image
var canvas = document.createElement("canvas");
var layerdict = {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
bg: canvas,
fab: canvas,
silk: canvas,
highlight: canvas,
layer: layer,
}
// Do the rendering
recalcLayerScale(layerdict, width, height);
prepareLayer(layerdict);
clearCanvas(canvas, bgcolor);
drawBackground(layerdict, false);
drawHighlightsOnLayer(layerdict, false);
// Save image
var imgdata = canvas.toDataURL("image/png");
var filename = pcbdata.metadata.title;
if (pcbdata.metadata.revision) {
filename += `.${pcbdata.metadata.revision}`;
}
filename += `.${layer}.png`;
saveFile(filename, dataURLtoBlob(imgdata));
}
function saveSettings() {
var data = {
type: "InteractiveHtmlBom settings",
version: 1,
pcbmetadata: pcbdata.metadata,
settings: settings,
}
var blob = new Blob([JSON.stringify(data, null, 4)], {
type: "application/json"
});
saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}
function loadSettings() {
var input = document.createElement("input");
input.type = "file";
input.accept = ".settings.json";
input.onchange = function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = readerEvent => {
var content = readerEvent.target.result;
var newSettings;
try {
newSettings = JSON.parse(content);
} catch (e) {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
if (newSettings.type != "InteractiveHtmlBom settings") {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
if (metadataMatches) {
for (var k in pcbdata.metadata) {
if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
metadataMatches = false;
}
}
}
if (!metadataMatches) {
var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
if (!confirm(
`Settins file metadata does not match current metadata.\n\n` +
`Page metadata:\n${currentMetadata}\n\n` +
`Settings file metadata:\n${fileMetadata}\n\n` +
`Press OK if you would like to import settings anyway.`)) {
return;
}
}
overwriteSettings(newSettings.settings);
}
reader.readAsText(file, 'UTF-8');
}
input.click();
}
function resetSettings() {
if (!confirm(
`This will reset all checkbox states and other settings.\n\n` +
`Press OK if you want to continue.`)) {
return;
}
if (storage) {
var keys = [];
for (var i = 0; i < storage.length; i++) {
var key = storage.key(i);
if (key.startsWith(storagePrefix)) keys.push(key);
}
for (var key of keys) storage.removeItem(key);
}
location.reload();
}
function overwriteSettings(newSettings) {
initDone = false;
Object.assign(settings, newSettings);
writeStorage("bomlayout", settings.bomlayout);
writeStorage("bommode", settings.bommode);
writeStorage("canvaslayout", settings.canvaslayout);
writeStorage("bomCheckboxes", settings.checkboxes.join(","));
document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
for (var checkbox of settings.checkboxes) {
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
}
writeStorage("markWhenChecked", settings.markWhenChecked);
padsVisible(settings.renderPads);
document.getElementById("padsCheckbox").checked = settings.renderPads;
fabricationVisible(settings.renderFabrication);
document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
silkscreenVisible(settings.renderSilkscreen);
document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
referencesVisible(settings.renderReferences);
document.getElementById("referencesCheckbox").checked = settings.renderReferences;
valuesVisible(settings.renderValues);
document.getElementById("valuesCheckbox").checked = settings.renderValues;
tracksVisible(settings.renderTracks);
document.getElementById("tracksCheckbox").checked = settings.renderTracks;
zonesVisible(settings.renderZones);
document.getElementById("zonesCheckbox").checked = settings.renderZones;
dnpOutline(settings.renderDnpOutline);
document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
setRedrawOnDrag(settings.redrawOnDrag);
document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
setDarkMode(settings.darkMode);
document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
setHighlightPin1(settings.highlightpin1);
document.forms.highlightpin1.highlightpin1.value = settings.highlightpin1;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
setOffsetBackRotation(settings.offsetBackRotation);
document.getElementById("offsetBackRotationCheckbox").checked = settings.offsetBackRotation;
initDone = true;
prepCheckboxes();
changeBomLayout(settings.bomlayout);
}
function saveFile(filename, blob) {
var link = document.createElement("a");
var objurl = URL.createObjectURL(blob);
link.download = filename;
link.href = objurl;
link.click();
}
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
});
}
var settings = {
canvaslayout: "FB",
bomlayout: "left-right",
bommode: "grouped",
checkboxes: [],
checkboxStoredRefs: {},
darkMode: false,
highlightpin1: "none",
redrawOnDrag: true,
boardRotation: 0,
offsetBackRotation: false,
renderPads: true,
renderReferences: true,
renderValues: true,
renderSilkscreen: true,
renderFabrication: true,
renderDnpOutline: false,
renderTracks: true,
renderZones: true,
columnOrder: [],
hiddenColumns: [],
netColors: {},
}
function initDefaults() {
settings.bomlayout = readStorage("bomlayout");
if (settings.bomlayout === null) {
settings.bomlayout = config.bom_view;
}
if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
settings.bomlayout = config.bom_view;
}
settings.bommode = readStorage("bommode");
if (settings.bommode === null) {
settings.bommode = "grouped";
}
if (settings.bommode == "netlist" && !pcbdata.nets) {
settings.bommode = "grouped";
}
if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
settings.bommode = "grouped";
}
settings.canvaslayout = readStorage("canvaslayout");
if (settings.canvaslayout === null) {
settings.canvaslayout = config.layer_view;
}
var bomCheckboxes = readStorage("bomCheckboxes");
if (bomCheckboxes === null) {
bomCheckboxes = config.checkboxes;
}
settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
document.getElementById("bomCheckboxes").value = bomCheckboxes;
var highlightpin1 = readStorage("highlightpin1") || config.highlight_pin1;
if (highlightpin1 === "false") highlightpin1 = "none";
if (highlightpin1 === "true") highlightpin1 = "all";
setHighlightPin1(highlightpin1);
document.forms.highlightpin1.highlightpin1.value = highlightpin1;
settings.markWhenChecked = readStorage("markWhenChecked") || "";
populateMarkWhenCheckedOptions();
function initBooleanSetting(storageString, def, elementId, func) {
var b = readStorage(storageString);
if (b === null) {
b = def;
} else {
b = (b == "true");
}
document.getElementById(elementId).checked = b;
func(b);
}
initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
if ("tracks" in pcbdata) {
initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
} else {
document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
tracksVisible(false);
zonesVisible(false);
}
initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
var fields = ["checkboxes", "References"].concat(config.fields).concat(["Quantity"]);
var hcols = JSON.parse(readStorage("hiddenColumns"));
if (hcols === null) {
hcols = [];
}
settings.hiddenColumns = hcols.filter(e => fields.includes(e));
var cord = JSON.parse(readStorage("columnOrder"));
if (cord === null) {
cord = fields;
} else {
cord = cord.filter(e => fields.includes(e));
if (cord.length != fields.length)
cord = fields;
}
settings.columnOrder = cord;
settings.boardRotation = readStorage("boardRotation");
if (settings.boardRotation === null) {
settings.boardRotation = config.board_rotation * 5;
} else {
settings.boardRotation = parseInt(settings.boardRotation);
}
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
initBooleanSetting("offsetBackRotation", config.offset_back_rotation, "offsetBackRotationCheckbox", setOffsetBackRotation);
settings.netColors = JSON.parse(readStorage("netColors")) || {};
}
// Helper classes for user js callbacks.
const IBOM_EVENT_TYPES = {
ALL: "all",
HIGHLIGHT_EVENT: "highlightEvent",
CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}
const EventHandler = {
callbacks: {},
init: function () {
for (eventType of Object.values(IBOM_EVENT_TYPES))
this.callbacks[eventType] = [];
},
registerCallback: function (eventType, callback) {
this.callbacks[eventType].push(callback);
},
emitEvent: function (eventType, eventArgs) {
event = {
eventType: eventType,
args: eventArgs,
}
var callback;
for (callback of this.callbacks[eventType])
callback(event);
for (callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
callback(event);
}
}
EventHandler.init();
///////////////////////////////////////////////
///////////////////////////////////////////////
/* PCB rendering code */
var emptyContext2d = document.createElement("canvas").getContext("2d");
function deg2rad(deg) {
return deg * Math.PI / 180;
}
function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
var point = [
linepoint[0] * text.width + offsetx,
linepoint[1] * text.height + offsety
];
// This approximates pcbnew behavior with how text tilts depending on horizontal justification
point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
return point;
}
function drawText(ctx, text, color) {
if ("ref" in text && !settings.renderReferences) return;
if ("val" in text && !settings.renderValues) return;
ctx.save();
ctx.fillStyle = color;
ctx.strokeStyle = color;
ctx.lineCap = "round";
ctx.lineJoin = "round";
ctx.lineWidth = text.thickness;
if ("svgpath" in text) {
ctx.stroke(new Path2D(text.svgpath));
ctx.restore();
return;
}
if ("polygons" in text) {
ctx.fill(getPolygonsPath(text));
ctx.restore();
return;
}
ctx.translate(...text.pos);
ctx.translate(text.thickness * 0.5, 0);
var angle = -text.angle;
if (text.attr.includes("mirrored")) {
ctx.scale(-1, 1);
angle = -angle;
}
var tilt = 0;
if (text.attr.includes("italic")) {
tilt = 0.125;
}
var interline = text.height * 1.5 + text.thickness;
var txt = text.text.split("\n");
// KiCad ignores last empty line.
if (txt[txt.length - 1] == '') txt.pop();
ctx.rotate(deg2rad(angle));
var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
for (var i in txt) {
var lineWidth = text.thickness + interline / 2 * tilt;
for (var j = 0; j < txt[i].length; j++) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
lineWidth += fourSpaces - lineWidth % fourSpaces;
} else {
if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
}
lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
}
}
var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
var inOverbar = false;
for (var j = 0; j < txt[i].length; j++) {
if (config.kicad_text_formatting) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
offsetx += fourSpaces - offsetx % fourSpaces;
continue;
} else if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
if (txt[i][j] != '~') {
inOverbar = !inOverbar;
}
}
}
var glyph = pcbdata.font_data[txt[i][j]];
if (inOverbar) {
var overbarStart = [offsetx, -text.height * 1.4 + offsety];
var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];
if (!lastHadOverbar) {
overbarStart[0] += text.height * 1.4 * tilt;
lastHadOverbar = true;
}
ctx.beginPath();
ctx.moveTo(...overbarStart);
ctx.lineTo(...overbarEnd);
ctx.stroke();
} else {
lastHadOverbar = false;
}
for (var line of glyph.l) {
ctx.beginPath();
ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
for (var k = 1; k < line.length; k++) {
ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
}
ctx.stroke();
}
offsetx += glyph.w * text.width;
}
offsety += interline;
}
ctx.restore();
}
function drawedge(ctx, scalefactor, edge, color) {
ctx.strokeStyle = color;
ctx.fillStyle = color;
ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
ctx.lineCap = "round";
ctx.lineJoin = "round";
if ("svgpath" in edge) {
ctx.stroke(new Path2D(edge.svgpath));
} else {
ctx.beginPath();
if (edge.type == "segment") {
ctx.moveTo(...edge.start);
ctx.lineTo(...edge.end);
}
if (edge.type == "rect") {
ctx.moveTo(...edge.start);
ctx.lineTo(edge.start[0], edge.end[1]);
ctx.lineTo(...edge.end);
ctx.lineTo(edge.end[0], edge.start[1]);
ctx.lineTo(...edge.start);
}
if (edge.type == "arc") {
ctx.arc(
...edge.start,
edge.radius,
deg2rad(edge.startangle),
deg2rad(edge.endangle));
}
if (edge.type == "circle") {
ctx.arc(
...edge.start,
edge.radius,
0, 2 * Math.PI);
ctx.closePath();
}
if (edge.type == "curve") {
ctx.moveTo(...edge.start);
ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
}
if("filled" in edge && edge.filled)
ctx.fill();
else
ctx.stroke();
}
}
function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
// chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
var path = new Path2D();
var width = size[0];
var height = size[1];
var x = width * -0.5;
var y = height * -0.5;
var chamfOffset = Math.min(width, height) * chamfratio;
path.moveTo(x, 0);
if (chamfpos & 4) {
path.lineTo(x, y + height - chamfOffset);
path.lineTo(x + chamfOffset, y + height);
path.lineTo(0, y + height);
} else {
path.arcTo(x, y + height, x + width, y + height, radius);
}
if (chamfpos & 8) {
path.lineTo(x + width - chamfOffset, y + height);
path.lineTo(x + width, y + height - chamfOffset);
path.lineTo(x + width, 0);
} else {
path.arcTo(x + width, y + height, x + width, y, radius);
}
if (chamfpos & 2) {
path.lineTo(x + width, y + chamfOffset);
path.lineTo(x + width - chamfOffset, y);
path.lineTo(0, y);
} else {
path.arcTo(x + width, y, x, y, radius);
}
if (chamfpos & 1) {
path.lineTo(x + chamfOffset, y);
path.lineTo(x, y + chamfOffset);
path.lineTo(x, 0);
} else {
path.arcTo(x, y, x, y + height, radius);
}
path.closePath();
return path;
}
function getOblongPath(size) {
return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}
function getPolygonsPath(shape) {
if (shape.path2d) {
return shape.path2d;
}
if ("svgpath" in shape) {
shape.path2d = new Path2D(shape.svgpath);
} else {
var path = new Path2D();
for (var polygon of shape.polygons) {
path.moveTo(...polygon[0]);
for (var i = 1; i < polygon.length; i++) {
path.lineTo(...polygon[i]);
}
path.closePath();
}
shape.path2d = path;
}
return shape.path2d;
}
function drawPolygonShape(ctx, scalefactor, shape, color) {
ctx.save();
if (!("svgpath" in shape)) {
ctx.translate(...shape.pos);
ctx.rotate(deg2rad(-shape.angle));
}
if("filled" in shape && !shape.filled) {
ctx.strokeStyle = color;
ctx.lineWidth = Math.max(1 / scalefactor, shape.width);
ctx.lineCap = "round";
ctx.lineJoin = "round";
ctx.stroke(getPolygonsPath(shape));
} else {
ctx.fillStyle = color;
ctx.fill(getPolygonsPath(shape));
}
ctx.restore();
}
function drawDrawing(ctx, scalefactor, drawing, color) {
if (["segment", "arc", "circle", "curve", "rect"].includes(drawing.type)) {
drawedge(ctx, scalefactor, drawing, color);
} else if (drawing.type == "polygon") {
drawPolygonShape(ctx, scalefactor, drawing, color);
} else {
drawText(ctx, drawing, color);
}
}
function getCirclePath(radius) {
var path = new Path2D();
path.arc(0, 0, radius, 0, 2 * Math.PI);
path.closePath();
return path;
}
function getCachedPadPath(pad) {
if (!pad.path2d) {
// if path2d is not set, build one and cache it on pad object
if (pad.shape == "rect") {
pad.path2d = new Path2D();
pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
} else if (pad.shape == "oval") {
pad.path2d = getOblongPath(pad.size);
} else if (pad.shape == "circle") {
pad.path2d = getCirclePath(pad.size[0] / 2);
} else if (pad.shape == "roundrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
} else if (pad.shape == "chamfrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
} else if (pad.shape == "custom") {
pad.path2d = getPolygonsPath(pad);
}
}
return pad.path2d;
}
function drawPad(ctx, pad, color, outline) {
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(-deg2rad(pad.angle));
if (pad.offset) {
ctx.translate(...pad.offset);
}
ctx.fillStyle = color;
ctx.strokeStyle = color;
var path = getCachedPadPath(pad);
if (outline) {
ctx.stroke(path);
} else {
ctx.fill(path);
}
ctx.restore();
}
function drawPadHole(ctx, pad, padHoleColor) {
if (pad.type != "th") return;
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(-deg2rad(pad.angle));
ctx.fillStyle = padHoleColor;
if (pad.drillshape == "oblong") {
ctx.fill(getOblongPath(pad.drillsize));
} else {
ctx.fill(getCirclePath(pad.drillsize[0] / 2));
}
ctx.restore();
}
function drawFootprint(ctx, layer, scalefactor, footprint, colors, highlight, outline) {
if (highlight) {
// draw bounding box
if (footprint.layer == layer) {
ctx.save();
ctx.globalAlpha = 0.2;
ctx.translate(...footprint.bbox.pos);
ctx.rotate(deg2rad(-footprint.bbox.angle));
ctx.translate(...footprint.bbox.relpos);
ctx.fillStyle = colors.pad;
ctx.fillRect(0, 0, ...footprint.bbox.size);
ctx.globalAlpha = 1;
ctx.strokeStyle = colors.pad;
ctx.lineWidth = 3 / scalefactor;
ctx.strokeRect(0, 0, ...footprint.bbox.size);
ctx.restore();
}
}
// draw drawings
for (var drawing of footprint.drawings) {
if (drawing.layer == layer) {
drawDrawing(ctx, scalefactor, drawing.drawing, colors.pad);
}
}
ctx.lineWidth = 3 / scalefactor;
// draw pads
if (settings.renderPads) {
for (var pad of footprint.pads) {
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, colors.pad, outline);
if (pad.pin1 &&
(settings.highlightpin1 == "all" ||
settings.highlightpin1 == "selected" && highlight)) {
drawPad(ctx, pad, colors.outline, true);
}
}
}
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, colors.padHole);
}
}
}
function drawEdgeCuts(canvas, scalefactor) {
var ctx = canvas.getContext("2d");
var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
for (var edge of pcbdata.edges) {
drawDrawing(ctx, scalefactor, edge, edgecolor);
}
}
function drawFootprints(canvas, layer, scalefactor, highlight) {
var ctx = canvas.getContext("2d");
ctx.lineWidth = 3 / scalefactor;
var style = getComputedStyle(topmostdiv);
var colors = {
pad: style.getPropertyValue('--pad-color'),
padHole: style.getPropertyValue('--pad-hole-color'),
outline: style.getPropertyValue('--pin1-outline-color'),
}
for (var i = 0; i < pcbdata.footprints.length; i++) {
var mod = pcbdata.footprints[i];
var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
var h = highlightedFootprints.includes(i);
var d = markedFootprints.has(i);
if (highlight) {
if(h && d) {
colors.pad = style.getPropertyValue('--pad-color-highlight-both');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-both');
} else if (h) {
colors.pad = style.getPropertyValue('--pad-color-highlight');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight');
} else if (d) {
colors.pad = style.getPropertyValue('--pad-color-highlight-marked');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-marked');
}
}
if( h || d || !highlight) {
drawFootprint(ctx, layer, scalefactor, mod, colors, highlight, outline);
}
}
}
function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
var ctx = canvas.getContext("2d");
for (var d of pcbdata.drawings[layername][layer]) {
if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
drawedge(ctx, scalefactor, d, edgeColor);
} else if (d.type == "polygon") {
drawPolygonShape(ctx, scalefactor, d, polygonColor);
} else {
drawText(ctx, d, textColor);
}
}
}
function drawTracks(canvas, layer, defaultColor, highlight) {
ctx = canvas.getContext("2d");
ctx.lineCap = "round";
var hasHole = (track) => (
'drillsize' in track &&
track.start[0] == track.end[0] &&
track.start[1] == track.end[1]);
// First draw tracks and tented vias
for (var track of pcbdata.tracks[layer]) {
if (highlight && highlightedNet != track.net) continue;
if (!hasHole(track)) {
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[track.net] || defaultColor;
ctx.lineWidth = track.width;
ctx.beginPath();
if ('radius' in track) {
ctx.arc(
...track.center,
track.radius,
deg2rad(track.startangle),
deg2rad(track.endangle));
} else {
ctx.moveTo(...track.start);
ctx.lineTo(...track.end);
}
ctx.stroke();
}
}
// Second pass to draw untented vias
var style = getComputedStyle(topmostdiv);
var holeColor = style.getPropertyValue('--pad-hole-color')
for (var track of pcbdata.tracks[layer]) {
if (highlight && highlightedNet != track.net) continue;
if (hasHole(track)) {
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[track.net] || defaultColor;
ctx.lineWidth = track.width;
ctx.beginPath();
ctx.moveTo(...track.start);
ctx.lineTo(...track.end);
ctx.stroke();
ctx.strokeStyle = holeColor;
ctx.lineWidth = track.drillsize;
ctx.lineTo(...track.end);
ctx.stroke();
}
}
}
function drawZones(canvas, layer, defaultColor, highlight) {
ctx = canvas.getContext("2d");
ctx.lineJoin = "round";
for (var zone of pcbdata.zones[layer]) {
if (highlight && highlightedNet != zone.net) continue;
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[zone.net] || defaultColor;
ctx.fillStyle = highlight ? defaultColor : settings.netColors[zone.net] || defaultColor;
if (!zone.path2d) {
zone.path2d = getPolygonsPath(zone);
}
ctx.fill(zone.path2d, zone.fillrule || "nonzero");
if (zone.width > 0) {
ctx.lineWidth = zone.width;
ctx.stroke(zone.path2d);
}
}
}
function clearCanvas(canvas, color = null) {
var ctx = canvas.getContext("2d");
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
if (color) {
ctx.fillStyle = color;
ctx.fillRect(0, 0, canvas.width, canvas.height);
} else {
if (!window.matchMedia("print").matches)
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
ctx.restore();
}
function drawNets(canvas, layer, highlight) {
var style = getComputedStyle(topmostdiv);
if (settings.renderZones) {
var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
drawZones(canvas, layer, zoneColor, highlight);
}
if (settings.renderTracks) {
var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
drawTracks(canvas, layer, trackColor, highlight);
}
if (highlight && settings.renderPads) {
var padColor = style.getPropertyValue('--pad-color-highlight');
var padHoleColor = style.getPropertyValue('--pad-hole-color');
var ctx = canvas.getContext("2d");
for (var footprint of pcbdata.footprints) {
// draw pads
var padDrawn = false;
for (var pad of footprint.pads) {
if (highlightedNet != pad.net) continue;
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, padColor, false);
padDrawn = true;
}
}
if (padDrawn) {
// redraw all pad holes because some pads may overlap
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, padHoleColor);
}
}
}
}
}
function drawHighlightsOnLayer(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.highlight);
}
if (markedFootprints.size > 0 || highlightedFootprints.length > 0) {
drawFootprints(canvasdict.highlight, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, true);
}
if (highlightedNet !== null) {
drawNets(canvasdict.highlight, canvasdict.layer, true);
}
}
function drawHighlights() {
drawHighlightsOnLayer(allcanvas.front);
drawHighlightsOnLayer(allcanvas.back);
}
function drawBackground(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.bg);
clearCanvas(canvasdict.fab);
clearCanvas(canvasdict.silk);
}
drawNets(canvasdict.bg, canvasdict.layer, false);
drawFootprints(canvasdict.bg, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, false);
drawEdgeCuts(canvasdict.bg, canvasdict.transform.s * canvasdict.transform.zoom);
var style = getComputedStyle(topmostdiv);
var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
var textColor = style.getPropertyValue('--silkscreen-text-color');
if (settings.renderSilkscreen) {
drawBgLayer(
"silkscreen", canvasdict.silk, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
edgeColor = style.getPropertyValue('--fabrication-edge-color');
polygonColor = style.getPropertyValue('--fabrication-polygon-color');
textColor = style.getPropertyValue('--fabrication-text-color');
if (settings.renderFabrication) {
drawBgLayer(
"fabrication", canvasdict.fab, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
}
function prepareCanvas(canvas, flip, transform) {
var ctx = canvas.getContext("2d");
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.scale(transform.zoom, transform.zoom);
ctx.translate(transform.panx, transform.pany);
if (flip) {
ctx.scale(-1, 1);
}
ctx.translate(transform.x, transform.y);
ctx.rotate(deg2rad(settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0)));
ctx.scale(transform.s, transform.s);
}
function prepareLayer(canvasdict) {
var flip = (canvasdict.layer === "B");
for (var c of ["bg", "fab", "silk", "highlight"]) {
prepareCanvas(canvasdict[c], flip, canvasdict.transform);
}
}
function rotateVector(v, angle) {
angle = deg2rad(angle);
return [
v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
];
}
function applyRotation(bbox, flip) {
var corners = [
[bbox.minx, bbox.miny],
[bbox.minx, bbox.maxy],
[bbox.maxx, bbox.miny],
[bbox.maxx, bbox.maxy],
];
corners = corners.map((v) => rotateVector(v, settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0)));
return {
minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
}
}
function recalcLayerScale(layerdict, width, height) {
var flip = (layerdict.layer === "B");
var bbox = applyRotation(pcbdata.edges_bbox, flip);
var scalefactor = 0.98 * Math.min(
width / (bbox.maxx - bbox.minx),
height / (bbox.maxy - bbox.miny)
);
if (scalefactor < 0.1) {
scalefactor = 1;
}
layerdict.transform.s = scalefactor;
if (flip) {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
} else {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
}
layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
for (var c of ["bg", "fab", "silk", "highlight"]) {
canvas = layerdict[c];
canvas.width = width;
canvas.height = height;
canvas.style.width = (width / devicePixelRatio) + "px";
canvas.style.height = (height / devicePixelRatio) + "px";
}
}
function redrawCanvas(layerdict) {
prepareLayer(layerdict);
drawBackground(layerdict);
drawHighlightsOnLayer(layerdict);
}
function resizeCanvas(layerdict) {
var canvasdivid = {
"F": "frontcanvas",
"B": "backcanvas"
} [layerdict.layer];
var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
recalcLayerScale(layerdict, width, height);
redrawCanvas(layerdict);
}
function resizeAll() {
resizeCanvas(allcanvas.front);
resizeCanvas(allcanvas.back);
}
function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
var A = x - x1;
var B = y - y1;
var C = x2 - x1;
var D = y2 - y1;
var dot = A * C + B * D;
var len_sq = C * C + D * D;
var dx, dy;
if (len_sq == 0) {
// start and end of the segment coincide
dx = x - x1;
dy = y - y1;
} else {
var param = dot / len_sq;
var xx, yy;
if (param < 0) {
xx = x1;
yy = y1;
} else if (param > 1) {
xx = x2;
yy = y2;
} else {
xx = x1 + param * C;
yy = y1 + param * D;
}
dx = x - xx;
dy = y - yy;
}
return dx * dx + dy * dy <= d * d;
}
function modulo(n, mod) {
return ((n % mod) + mod) % mod;
}
function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
var dx = x - xc;
var dy = y - yc;
var r_sq = dx * dx + dy * dy;
var rmin = Math.max(0, radius - d);
var rmax = radius + d;
if (r_sq < rmin * rmin || r_sq > rmax * rmax)
return false;
var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
var dx1 = xc + radius * Math.cos(angle1) - x;
var dy1 = yc + radius * Math.sin(angle1) - y;
if (dx1 * dx1 + dy1 * dy1 <= d * d)
return true;
var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
var dx2 = xc + radius * Math.cos(angle2) - x;
var dy2 = yc + radius * Math.sin(angle2) - y;
if (dx2 * dx2 + dy2 * dy2 <= d * d)
return true;
var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
if (angle1 > angle2)
return (angle >= angle2 || angle <= angle1);
else
return (angle >= angle1 && angle <= angle2);
}
function pointWithinPad(x, y, pad) {
var v = [x - pad.pos[0], y - pad.pos[1]];
v = rotateVector(v, pad.angle);
if (pad.offset) {
v[0] -= pad.offset[0];
v[1] -= pad.offset[1];
}
return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}
function netHitScan(layer, x, y) {
// Check track segments
if (settings.renderTracks && pcbdata.tracks) {
for (var track of pcbdata.tracks[layer]) {
if ('radius' in track) {
if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
return track.net;
}
} else {
if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
return track.net;
}
}
}
}
// Check pads
if (settings.renderPads) {
for (var footprint of pcbdata.footprints) {
for (var pad of footprint.pads) {
if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
return pad.net;
}
}
}
}
return null;
}
function pointWithinFootprintBbox(x, y, bbox) {
var v = [x - bbox.pos[0], y - bbox.pos[1]];
v = rotateVector(v, bbox.angle);
return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}
function bboxHitScan(layer, x, y) {
var result = [];
for (var i = 0; i < pcbdata.footprints.length; i++) {
var footprint = pcbdata.footprints[i];
if (footprint.layer == layer) {
if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
result.push(i);
}
}
}
return result;
}
function handlePointerDown(e, layerdict) {
if (e.button != 0 && e.button != 1) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
layerdict.pointerStates[e.pointerId] = {
distanceTravelled: 0,
lastX: e.offsetX,
lastY: e.offsetY,
downTime: Date.now(),
};
}
function handleMouseClick(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var x = e.offsetX;
var y = e.offsetY;
var t = layerdict.transform;
var flip = layerdict.layer === "B";
if (flip) {
x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
} else {
x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
}
y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
var v = rotateVector([x, y], -settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0));
if ("nets" in pcbdata) {
var net = netHitScan(layerdict.layer, ...v);
if (net !== highlightedNet) {
netClicked(net);
}
}
if (highlightedNet === null) {
var footprints = bboxHitScan(layerdict.layer, ...v);
if (footprints.length > 0) {
footprintsClicked(footprints);
}
}
}
function handlePointerLeave(e, layerdict) {
e.preventDefault();
e.stopPropagation();
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
delete layerdict.pointerStates[e.pointerId];
}
function resetTransform(layerdict) {
layerdict.transform.panx = 0;
layerdict.transform.pany = 0;
layerdict.transform.zoom = 1;
redrawCanvas(layerdict);
}
function handlePointerUp(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
e.preventDefault();
e.stopPropagation();
if (e.button == 2) {
// Reset pan and zoom on right click.
resetTransform(layerdict);
layerdict.anotherPointerTapped = false;
return;
}
// We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
var ptr = layerdict.pointerStates[e.pointerId];
ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);
if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
if (Object.keys(layerdict.pointerStates).length == 1) {
if (layerdict.anotherPointerTapped) {
// This is the second pointer coming off of a two-finger tap
resetTransform(layerdict);
} else {
// This is just a regular tap
handleMouseClick(e, layerdict);
}
layerdict.anotherPointerTapped = false;
} else {
// This is the first finger coming off of what could become a two-finger tap
layerdict.anotherPointerTapped = true;
}
} else {
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
layerdict.anotherPointerTapped = false;
}
delete layerdict.pointerStates[e.pointerId];
}
function handlePointerMove(e, layerdict) {
if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var thisPtr = layerdict.pointerStates[e.pointerId];
var dx = e.offsetX - thisPtr.lastX;
var dy = e.offsetY - thisPtr.lastY;
// If this number is low on pointer up, we count the action as a click
thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);
if (Object.keys(layerdict.pointerStates).length == 1) {
// This is a simple drag
layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
} else if (Object.keys(layerdict.pointerStates).length == 2) {
var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];
var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2) + Math.pow(e.offsetY - otherPtr.lastY, 2));
var scaleFactor = newDist / oldDist;
if (scaleFactor != NaN) {
layerdict.transform.zoom *= scaleFactor;
var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
}
}
thisPtr.lastX = e.offsetX;
thisPtr.lastY = e.offsetY;
if (settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
}
function handleMouseWheel(e, layerdict) {
e.preventDefault();
e.stopPropagation();
var t = layerdict.transform;
var wheeldelta = e.deltaY;
if (e.deltaMode == 1) {
// FF only, scroll by lines
wheeldelta *= 30;
} else if (e.deltaMode == 2) {
wheeldelta *= 300;
}
var m = Math.pow(1.1, -wheeldelta / 40);
// Limit amount of zoom per tick.
if (m > 2) {
m = 2;
} else if (m < 0.5) {
m = 0.5;
}
t.zoom *= m;
var zoomd = (1 - m) / t.zoom;
t.panx += devicePixelRatio * e.offsetX * zoomd;
t.pany += devicePixelRatio * e.offsetY * zoomd;
redrawCanvas(layerdict);
}
function addMouseHandlers(div, layerdict) {
div.addEventListener("pointerdown", function(e) {
handlePointerDown(e, layerdict);
});
div.addEventListener("pointermove", function(e) {
handlePointerMove(e, layerdict);
});
div.addEventListener("pointerup", function(e) {
handlePointerUp(e, layerdict);
});
var pointerleave = function(e) {
handlePointerLeave(e, layerdict);
}
div.addEventListener("pointercancel", pointerleave);
div.addEventListener("pointerleave", pointerleave);
div.addEventListener("pointerout", pointerleave);
div.onwheel = function(e) {
handleMouseWheel(e, layerdict);
}
for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
element.addEventListener("contextmenu", function(e) {
e.preventDefault();
}, false);
}
}
function setRedrawOnDrag(value) {
settings.redrawOnDrag = value;
writeStorage("redrawOnDrag", value);
}
function setBoardRotation(value) {
settings.boardRotation = value * 5;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("rotationDegree").textContent = settings.boardRotation;
resizeAll();
}
function setOffsetBackRotation(value) {
settings.offsetBackRotation = value;
writeStorage("offsetBackRotation", value);
resizeAll();
}
function initRender() {
allcanvas = {
front: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("F_bg"),
fab: document.getElementById("F_fab"),
silk: document.getElementById("F_slk"),
highlight: document.getElementById("F_hl"),
layer: "F",
},
back: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("B_bg"),
fab: document.getElementById("B_fab"),
silk: document.getElementById("B_slk"),
highlight: document.getElementById("B_hl"),
layer: "B",
}
};
addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}
///////////////////////////////////////////////
///////////////////////////////////////////////
/*
* Table reordering via Drag'n'Drop
* Inspired by: https://htmldom.dev/drag-and-drop-table-column
*/
function setBomHandlers() {
const bom = document.getElementById('bomtable');
let dragName;
let placeHolderElements;
let draggingElement;
let forcePopulation;
let xOffset;
let yOffset;
let wasDragged;
const mouseUpHandler = function(e) {
// Delete dragging element
draggingElement.remove();
// Make BOM selectable again
bom.style.removeProperty("userSelect");
// Remove listeners
document.removeEventListener('mousemove', mouseMoveHandler);
document.removeEventListener('mouseup', mouseUpHandler);
if (wasDragged) {
// Redraw whole BOM
populateBomTable();
}
}
const mouseMoveHandler = function(e) {
// Notice the dragging
wasDragged = true;
// Make the dragged element visible
draggingElement.style.removeProperty("display");
// Set elements position to mouse position
draggingElement.style.left = `${e.screenX - xOffset}px`;
draggingElement.style.top = `${e.screenY - yOffset}px`;
// Forced redrawing of BOM table
if (forcePopulation) {
forcePopulation = false;
// Copy array
phe = Array.from(placeHolderElements);
// populate BOM table again
populateBomHeader(dragName, phe);
populateBomBody(dragName, phe);
}
// Set up array of hidden columns
var hiddenColumns = Array.from(settings.hiddenColumns);
// In the ungrouped mode, quantity don't exist
if (settings.bommode === "ungrouped")
hiddenColumns.push("Quantity");
// If no checkbox fields can be found, we consider them hidden
if (settings.checkboxes.length == 0)
hiddenColumns.push("checkboxes");
// Get table headers and group them into checkboxes, extrafields and normal headers
const bh = document.getElementById("bomhead");
headers = Array.from(bh.querySelectorAll("th"))
headers.shift() // numCol is not part of the columnOrder
headerGroups = []
lastCompoundClass = null;
for (i = 0; i < settings.columnOrder.length; i++) {
cElem = settings.columnOrder[i];
if (hiddenColumns.includes(cElem)) {
// Hidden columns appear as a dummy element
headerGroups.push([]);
continue;
}
elem = headers.filter(e => getColumnOrderName(e) === cElem)[0];
if (elem.classList.contains("bom-checkbox")) {
if (lastCompoundClass === "bom-checkbox") {
cbGroup = headerGroups.pop();
cbGroup.push(elem);
headerGroups.push(cbGroup);
} else {
lastCompoundClass = "bom-checkbox";
headerGroups.push([elem])
}
} else {
headerGroups.push([elem])
}
}
// Copy settings.columnOrder
var columns = Array.from(settings.columnOrder)
// Set up array with indices of hidden columns
var hiddenIndices = hiddenColumns.map(e => settings.columnOrder.indexOf(e));
var dragIndex = columns.indexOf(dragName);
var swapIndex = dragIndex;
var swapDone = false;
// Check if the current dragged element is swapable with the left or right element
if (dragIndex > 0) {
// Get left headers boundingbox
swapIndex = dragIndex - 1;
while (hiddenIndices.includes(swapIndex) && swapIndex > 0)
swapIndex--;
if (!hiddenIndices.includes(swapIndex)) {
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
if (e.clientX < box.left + window.scrollX + (box.width / 2)) {
swapElement = columns[dragIndex];
columns.splice(dragIndex, 1);
columns.splice(swapIndex, 0, swapElement);
forcePopulation = true;
swapDone = true;
}
}
}
if ((!swapDone) && dragIndex < headerGroups.length - 1) {
// Get right headers boundingbox
swapIndex = dragIndex + 1;
while (hiddenIndices.includes(swapIndex))
swapIndex++;
if (swapIndex < headerGroups.length) {
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
if (e.clientX > box.left + window.scrollX + (box.width / 2)) {
swapElement = columns[dragIndex];
columns.splice(dragIndex, 1);
columns.splice(swapIndex, 0, swapElement);
forcePopulation = true;
swapDone = true;
}
}
}
// Write back change to storage
if (swapDone) {
settings.columnOrder = columns
writeStorage("columnOrder", JSON.stringify(columns));
}
}
const mouseDownHandler = function(e) {
var target = e.target;
if (target.tagName.toLowerCase() != "td")
target = target.parentElement;
// Used to check if a dragging has ever happened
wasDragged = false;
// Create new element which will be displayed as the dragged column
draggingElement = document.createElement("div")
draggingElement.classList.add("dragging");
draggingElement.style.display = "none";
draggingElement.style.position = "absolute";
draggingElement.style.overflow = "hidden";
// Get bomhead and bombody elements
const bh = document.getElementById("bomhead");
const bb = document.getElementById("bombody");
// Get all compound headers for the current column
var compoundHeaders;
if (target.classList.contains("bom-checkbox")) {
compoundHeaders = Array.from(bh.querySelectorAll("th.bom-checkbox"));
} else {
compoundHeaders = [target];
}
// Create new table which will display the column
var newTable = document.createElement("table");
newTable.classList.add("bom");
newTable.style.background = "white";
draggingElement.append(newTable);
// Create new header element
var newHeader = document.createElement("thead");
newTable.append(newHeader);
// Set up array for storing all placeholder elements
placeHolderElements = [];
// Add all compound headers to the new thead element and placeholders
compoundHeaders.forEach(function(h) {
clone = cloneElementWithDimensions(h);
newHeader.append(clone);
placeHolderElements.push(clone);
});
// Create new body element
var newBody = document.createElement("tbody");
newTable.append(newBody);
// Get indices for compound headers
var idxs = compoundHeaders.map(e => getBomTableHeaderIndex(e));
// For each row in the BOM body...
var rows = bb.querySelectorAll("tr");
rows.forEach(function(row) {
// ..get the cells for the compound column
const tds = row.querySelectorAll("td");
var copytds = idxs.map(i => tds[i]);
// Add them to the new element and the placeholders
var newRow = document.createElement("tr");
copytds.forEach(function(td) {
clone = cloneElementWithDimensions(td);
newRow.append(clone);
placeHolderElements.push(clone);
});
newBody.append(newRow);
});
// Compute width for compound header
var width = compoundHeaders.reduce((acc, x) => acc + x.clientWidth, 0);
draggingElement.style.width = `${width}px`;
// Insert the new dragging element and disable selection on BOM
bom.insertBefore(draggingElement, null);
bom.style.userSelect = "none";
// Determine the mouse position offset
xOffset = e.screenX - compoundHeaders.reduce((acc, x) => Math.min(acc, x.offsetLeft), compoundHeaders[0].offsetLeft);
yOffset = e.screenY - compoundHeaders[0].offsetTop;
// Get name for the column in settings.columnOrder
dragName = getColumnOrderName(target);
// Change text and class for placeholder elements
placeHolderElements = placeHolderElements.map(function(e) {
newElem = cloneElementWithDimensions(e);
newElem.textContent = "";
newElem.classList.add("placeholder");
return newElem;
});
// On next mouse move, the whole BOM needs to be redrawn to show the placeholders
forcePopulation = true;
// Add listeners for move and up on mouse
document.addEventListener('mousemove', mouseMoveHandler);
document.addEventListener('mouseup', mouseUpHandler);
}
// In netlist mode, there is nothing to reorder
if (settings.bommode === "netlist")
return;
// Add mouseDownHandler to every column except the numCol
bom.querySelectorAll("th")
.forEach(function(head) {
if (!head.classList.contains("numCol")) {
head.onmousedown = mouseDownHandler;
}
});
}
function getBoundingClientRectFromMultiple(elements) {
var elems = Array.from(elements);
if (elems.length == 0)
return null;
var box = elems.shift()
.getBoundingClientRect();
elems.forEach(function(elem) {
var elembox = elem.getBoundingClientRect();
box.left = Math.min(elembox.left, box.left);
box.top = Math.min(elembox.top, box.top);
box.width += elembox.width;
box.height = Math.max(elembox.height, box.height);
});
return box;
}
function cloneElementWithDimensions(elem) {
var newElem = elem.cloneNode(true);
newElem.style.height = window.getComputedStyle(elem).height;
newElem.style.width = window.getComputedStyle(elem).width;
return newElem;
}
function getBomTableHeaderIndex(elem) {
const bh = document.getElementById('bomhead');
const ths = Array.from(bh.querySelectorAll("th"));
return ths.indexOf(elem);
}
function getColumnOrderName(elem) {
var cname = elem.getAttribute("col_name");
if (cname === "bom-checkbox")
return "checkboxes";
else
return cname;
}
function resizableGrid(tablehead) {
var cols = tablehead.firstElementChild.children;
var rowWidth = tablehead.offsetWidth;
for (var i = 1; i < cols.length; i++) {
if (cols[i].classList.contains("bom-checkbox"))
continue;
cols[i].style.width = ((cols[i].clientWidth - paddingDiff(cols[i])) * 100 / rowWidth) + '%';
}
for (var i = 1; i < cols.length - 1; i++) {
var div = document.createElement('div');
div.className = "column-width-handle";
cols[i].appendChild(div);
setListeners(div);
}
function setListeners(div) {
var startX, curCol, nxtCol, curColWidth, nxtColWidth, rowWidth;
div.addEventListener('mousedown', function(e) {
e.preventDefault();
e.stopPropagation();
curCol = e.target.parentElement;
nxtCol = curCol.nextElementSibling;
startX = e.pageX;
var padding = paddingDiff(curCol);
rowWidth = curCol.parentElement.offsetWidth;
curColWidth = curCol.clientWidth - padding;
nxtColWidth = nxtCol.clientWidth - padding;
});
document.addEventListener('mousemove', function(e) {
if (startX) {
var diffX = e.pageX - startX;
diffX = -Math.min(-diffX, curColWidth - 20);
diffX = Math.min(diffX, nxtColWidth - 20);
curCol.style.width = ((curColWidth + diffX) * 100 / rowWidth) + '%';
nxtCol.style.width = ((nxtColWidth - diffX) * 100 / rowWidth) + '%';
console.log(`${curColWidth + nxtColWidth} ${(curColWidth + diffX) * 100 / rowWidth + (nxtColWidth - diffX) * 100 / rowWidth}`);
}
});
document.addEventListener('mouseup', function(e) {
curCol = undefined;
nxtCol = undefined;
startX = undefined;
nxtColWidth = undefined;
curColWidth = undefined
});
}
function paddingDiff(col) {
if (getStyleVal(col, 'box-sizing') == 'border-box') {
return 0;
}
var padLeft = getStyleVal(col, 'padding-left');
var padRight = getStyleVal(col, 'padding-right');
return (parseInt(padLeft) + parseInt(padRight));
}
function getStyleVal(elm, css) {
return (window.getComputedStyle(elm, null).getPropertyValue(css))
}
}
///////////////////////////////////////////////
///////////////////////////////////////////////
/* DOM manipulation and misc code */
var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var markedFootprints = new Set();
var highlightedFootprints = [];
var highlightedNet = null;
var lastClicked;
function dbg(html) {
dbgdiv.innerHTML = html;
}
function redrawIfInitDone() {
if (initDone) {
redrawCanvas(allcanvas.front);
redrawCanvas(allcanvas.back);
}
}
function padsVisible(value) {
writeStorage("padsVisible", value);
settings.renderPads = value;
redrawIfInitDone();
}
function referencesVisible(value) {
writeStorage("referencesVisible", value);
settings.renderReferences = value;
redrawIfInitDone();
}
function valuesVisible(value) {
writeStorage("valuesVisible", value);
settings.renderValues = value;
redrawIfInitDone();
}
function tracksVisible(value) {
writeStorage("tracksVisible", value);
settings.renderTracks = value;
redrawIfInitDone();
}
function zonesVisible(value) {
writeStorage("zonesVisible", value);
settings.renderZones = value;
redrawIfInitDone();
}
function dnpOutline(value) {
writeStorage("dnpOutline", value);
settings.renderDnpOutline = value;
redrawIfInitDone();
}
function setDarkMode(value) {
if (value) {
topmostdiv.classList.add("dark");
} else {
topmostdiv.classList.remove("dark");
}
writeStorage("darkmode", value);
settings.darkMode = value;
redrawIfInitDone();
if (initDone) {
populateBomTable();
}
}
function setShowBOMColumn(field, value) {
if (field === "references") {
var rl = document.getElementById("reflookup");
rl.disabled = !value;
if (!value) {
rl.value = "";
updateRefLookup("");
}
}
var n = settings.hiddenColumns.indexOf(field);
if (value) {
if (n != -1) {
settings.hiddenColumns.splice(n, 1);
}
} else {
if (n == -1) {
settings.hiddenColumns.push(field);
}
}
writeStorage("hiddenColumns", JSON.stringify(settings.hiddenColumns));
if (initDone) {
populateBomTable();
}
redrawIfInitDone();
}
function setFullscreen(value) {
if (value) {
document.documentElement.requestFullscreen();
} else {
document.exitFullscreen();
}
}
function fabricationVisible(value) {
writeStorage("fabricationVisible", value);
settings.renderFabrication = value;
redrawIfInitDone();
}
function silkscreenVisible(value) {
writeStorage("silkscreenVisible", value);
settings.renderSilkscreen = value;
redrawIfInitDone();
}
function setHighlightPin1(value) {
writeStorage("highlightpin1", value);
settings.highlightpin1 = value;
redrawIfInitDone();
}
function getStoredCheckboxRefs(checkbox) {
function convert(ref) {
var intref = parseInt(ref);
if (isNaN(intref)) {
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.footprints[i].ref == ref) {
return i;
}
}
return -1;
} else {
return intref;
}
}
if (!(checkbox in settings.checkboxStoredRefs)) {
var val = readStorage("checkbox_" + checkbox);
settings.checkboxStoredRefs[checkbox] = val ? val : "";
}
if (!settings.checkboxStoredRefs[checkbox]) {
return new Set();
} else {
return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
}
}
function getCheckboxState(checkbox, references) {
var storedRefsSet = getStoredCheckboxRefs(checkbox);
var currentRefsSet = new Set(references.map(r => r[1]));
// Get difference of current - stored
var difference = new Set(currentRefsSet);
for (ref of storedRefsSet) {
difference.delete(ref);
}
if (difference.size == 0) {
// All the current refs are stored
return "checked";
} else if (difference.size == currentRefsSet.size) {
// None of the current refs are stored
return "unchecked";
} else {
// Some of the refs are stored
return "indeterminate";
}
}
function setBomCheckboxState(checkbox, element, references) {
var state = getCheckboxState(checkbox, references);
element.checked = (state == "checked");
element.indeterminate = (state == "indeterminate");
}
function createCheckboxChangeHandler(checkbox, references, row) {
return function () {
refsSet = getStoredCheckboxRefs(checkbox);
var markWhenChecked = settings.markWhenChecked == checkbox;
eventArgs = {
checkbox: checkbox,
refs: references,
}
if (this.checked) {
// checkbox ticked
for (var ref of references) {
refsSet.add(ref[1]);
}
if (markWhenChecked) {
row.classList.add("checked");
for (var ref of references) {
markedFootprints.add(ref[1]);
}
drawHighlights();
}
eventArgs.state = 'checked';
} else {
// checkbox unticked
for (var ref of references) {
refsSet.delete(ref[1]);
}
if (markWhenChecked) {
row.classList.remove("checked");
for (var ref of references) {
markedFootprints.delete(ref[1]);
}
drawHighlights();
}
eventArgs.state = 'unchecked';
}
settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
updateCheckboxStats(checkbox);
EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
}
}
function clearHighlightedFootprints() {
if (currentHighlightedRowId) {
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
currentHighlightedRowId = null;
highlightedFootprints = [];
highlightedNet = null;
}
}
function createRowHighlightHandler(rowid, refs, net) {
return function () {
if (currentHighlightedRowId) {
if (currentHighlightedRowId == rowid) {
return;
}
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
}
document.getElementById(rowid).classList.add("highlighted");
currentHighlightedRowId = rowid;
highlightedFootprints = refs ? refs.map(r => r[1]) : [];
highlightedNet = net;
drawHighlights();
EventHandler.emitEvent(
IBOM_EVENT_TYPES.HIGHLIGHT_EVENT, {
rowid: rowid,
refs: refs,
net: net
});
}
}
function updateNetColors() {
writeStorage("netColors", JSON.stringify(settings.netColors));
redrawIfInitDone();
}
function netColorChangeHandler(net) {
return (event) => {
settings.netColors[net] = event.target.value;
updateNetColors();
}
}
function netColorRightClick(net) {
return (event) => {
if (event.button == 2) {
event.preventDefault();
event.stopPropagation();
var style = getComputedStyle(topmostdiv);
var defaultNetColor = style.getPropertyValue('--track-color').trim();
event.target.value = defaultNetColor;
delete settings.netColors[net];
updateNetColors();
}
}
}
function entryMatches(entry) {
if (settings.bommode == "netlist") {
// entry is just a net name
return entry.toLowerCase().indexOf(filter) >= 0;
}
// check refs
if (!settings.hiddenColumns.includes("references")) {
for (var ref of entry) {
if (ref[0].toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
}
// check fields
for (var i in config.fields) {
var f = config.fields[i];
if (!settings.hiddenColumns.includes(f)) {
for (var ref of entry) {
if (String(pcbdata.bom.fields[ref[1]][i]).toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
}
}
return false;
}
function findRefInEntry(entry) {
return entry.filter(r => r[0].toLowerCase() == reflookup);
}
function highlightFilter(s) {
if (!filter) {
return s;
}
var parts = s.toLowerCase().split(filter);
if (parts.length == 1) {
return s;
}
var r = "";
var pos = 0;
for (var i in parts) {
if (i > 0) {
r += '<mark class="highlight">' +
s.substring(pos, pos + filter.length) +
'</mark>';
pos += filter.length;
}
r += s.substring(pos, pos + parts[i].length);
pos += parts[i].length;
}
return r;
}
function checkboxSetUnsetAllHandler(checkboxname) {
return function () {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (checkboxnum >= settings.checkboxes.length) {
return;
}
var allset = true;
var checkbox;
var row;
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
if (!checkbox.checked || checkbox.indeterminate) {
allset = false;
break;
}
}
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = !allset;
checkbox.indeterminate = false;
checkbox.onchange();
}
}
}
function createColumnHeader(name, cls, comparator, is_checkbox = false) {
var th = document.createElement("TH");
th.innerHTML = name;
th.classList.add(cls);
if (is_checkbox)
th.setAttribute("col_name", "bom-checkbox");
else
th.setAttribute("col_name", name);
var span = document.createElement("SPAN");
span.classList.add("sortmark");
span.classList.add("none");
th.appendChild(span);
var spacer = document.createElement("div");
spacer.className = "column-spacer";
th.appendChild(spacer);
spacer.onclick = function () {
if (currentSortColumn && th !== currentSortColumn) {
// Currently sorted by another column
currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
if (currentSortColumn && th === currentSortColumn) {
// Already sorted by this column
if (currentSortOrder == "asc") {
// Sort by this column, descending order
bomSortFunction = function (a, b) {
return -comparator(a, b);
}
currentSortColumn.childNodes[1].classList.remove("asc");
currentSortColumn.childNodes[1].classList.add("desc");
currentSortOrder = "desc";
} else {
// Unsort
bomSortFunction = null;
currentSortColumn.childNodes[1].classList.remove("desc");
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
} else {
// Sort by this column, ascending order
bomSortFunction = comparator;
currentSortColumn = th;
currentSortColumn.childNodes[1].classList.remove("none");
currentSortColumn.childNodes[1].classList.add("asc");
currentSortOrder = "asc";
}
populateBomBody();
}
if (is_checkbox) {
spacer.onclick = fancyDblClickHandler(
spacer, spacer.onclick, checkboxSetUnsetAllHandler(name));
}
return th;
}
function populateBomHeader(placeHolderColumn = null, placeHolderElements = null) {
while (bomhead.firstChild) {
bomhead.removeChild(bomhead.firstChild);
}
var tr = document.createElement("TR");
var th = document.createElement("TH");
th.classList.add("numCol");
var vismenu = document.createElement("div");
vismenu.id = "vismenu";
vismenu.classList.add("menu");
var visbutton = document.createElement("div");
visbutton.classList.add("visbtn");
visbutton.classList.add("hideonprint");
var viscontent = document.createElement("div");
viscontent.classList.add("menu-content");
viscontent.id = "vismenu-content";
settings.columnOrder.forEach(column => {
if (typeof column !== "string")
return;
// Skip empty columns
if (column === "checkboxes" && settings.checkboxes.length == 0)
return;
else if (column === "Quantity" && settings.bommode == "ungrouped")
return;
var label = document.createElement("label");
label.classList.add("menu-label");
var input = document.createElement("input");
input.classList.add("visibility_checkbox");
input.type = "checkbox";
input.onchange = function (e) {
setShowBOMColumn(column, e.target.checked)
};
input.checked = !(settings.hiddenColumns.includes(column));
label.appendChild(input);
if (column.length > 0)
label.append(column[0].toUpperCase() + column.slice(1));
viscontent.appendChild(label);
});
viscontent.childNodes[0].classList.add("menu-label-top");
vismenu.appendChild(visbutton);
if (settings.bommode != "netlist") {
vismenu.appendChild(viscontent);
th.appendChild(vismenu);
}
tr.appendChild(th);
var checkboxCompareClosure = function (checkbox) {
return (a, b) => {
var stateA = getCheckboxState(checkbox, a);
var stateB = getCheckboxState(checkbox, b);
if (stateA > stateB) return -1;
if (stateA < stateB) return 1;
return 0;
}
}
var stringFieldCompareClosure = function (fieldIndex) {
return (a, b) => {
var fa = pcbdata.bom.fields[a[0][1]][fieldIndex];
var fb = pcbdata.bom.fields[b[0][1]][fieldIndex];
if (fa != fb) return fa > fb ? 1 : -1;
else return 0;
}
}
var referenceRegex = /(?<prefix>[^0-9]+)(?<number>[0-9]+)/;
var compareRefs = (a, b) => {
var ra = referenceRegex.exec(a);
var rb = referenceRegex.exec(b);
if (ra === null || rb === null) {
if (a != b) return a > b ? 1 : -1;
return 0;
} else {
if (ra.groups.prefix != rb.groups.prefix) {
return ra.groups.prefix > rb.groups.prefix ? 1 : -1;
}
if (ra.groups.number != rb.groups.number) {
return parseInt(ra.groups.number) > parseInt(rb.groups.number) ? 1 : -1;
}
return 0;
}
}
if (settings.bommode == "netlist") {
tr.appendChild(createColumnHeader("Net name", "bom-netname", (a, b) => {
if (a > b) return -1;
if (a < b) return 1;
return 0;
}));
tr.appendChild(createColumnHeader("Color", "bom-color", (a, b) => {
return 0;
}));
} else {
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
var valueIndex = config.fields.indexOf("Value");
var footprintIndex = config.fields.indexOf("Footprint");
columns.forEach((column) => {
if (column === placeHolderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
th = createColumnHeader(
checkbox, "bom-checkbox", checkboxCompareClosure(checkbox), true);
tr.appendChild(th);
}
} else if (column === "References") {
tr.appendChild(createColumnHeader("References", "references", (a, b) => {
var i = 0;
while (i < a.length && i < b.length) {
if (a[i] != b[i]) return compareRefs(a[i][0], b[i][0]);
i++;
}
return a.length - b.length;
}));
} else if (column === "Value") {
tr.appendChild(createColumnHeader("Value", "value", (a, b) => {
var ra = a[0][1], rb = b[0][1];
return valueCompare(
pcbdata.bom.parsedValues[ra], pcbdata.bom.parsedValues[rb],
pcbdata.bom.fields[ra][valueIndex], pcbdata.bom.fields[rb][valueIndex]);
}));
return;
} else if (column === "Footprint") {
tr.appendChild(createColumnHeader(
"Footprint", "footprint", stringFieldCompareClosure(footprintIndex)));
} else if (column === "Quantity" && settings.bommode == "grouped") {
tr.appendChild(createColumnHeader("Quantity", "quantity", (a, b) => {
return a.length - b.length;
}));
} else {
// Other fields
var i = config.fields.indexOf(column);
if (i < 0)
return;
tr.appendChild(createColumnHeader(
column, `field${i + 1}`, stringFieldCompareClosure(i)));
}
});
}
bomhead.appendChild(tr);
}
function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
const urlRegex = /^(https?:\/\/[^\s\/$.?#][^\s]*|file:\/\/([a-zA-Z]:|\/)[^\x00]+)$/;
while (bom.firstChild) {
bom.removeChild(bom.firstChild);
}
highlightHandlers = [];
footprintIndexToHandler = {};
netsToHandler = {};
currentHighlightedRowId = null;
var first = true;
var style = getComputedStyle(topmostdiv);
var defaultNetColor = style.getPropertyValue('--track-color').trim();
if (settings.bommode == "netlist") {
bomtable = pcbdata.nets.slice();
} else {
switch (settings.canvaslayout) {
case 'F':
bomtable = pcbdata.bom.F.slice();
break;
case 'FB':
bomtable = pcbdata.bom.both.slice();
break;
case 'B':
bomtable = pcbdata.bom.B.slice();
break;
}
if (settings.bommode == "ungrouped") {
// expand bom table
expandedTable = []
for (var bomentry of bomtable) {
for (var ref of bomentry) {
expandedTable.push([ref]);
}
}
bomtable = expandedTable;
}
}
if (bomSortFunction) {
bomtable = bomtable.sort(bomSortFunction);
}
for (var i in bomtable) {
var bomentry = bomtable[i];
if (filter && !entryMatches(bomentry)) {
continue;
}
var references = null;
var netname = null;
var tr = document.createElement("TR");
var td = document.createElement("TD");
var rownum = +i + 1;
tr.id = "bomrow" + rownum;
td.textContent = rownum;
tr.appendChild(td);
if (settings.bommode == "netlist") {
netname = bomentry;
td = document.createElement("TD");
td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
tr.appendChild(td);
var color = settings.netColors[netname] || defaultNetColor;
td = document.createElement("TD");
var colorBox = document.createElement("INPUT");
colorBox.type = "color";
colorBox.value = color;
colorBox.onchange = netColorChangeHandler(netname);
colorBox.onmouseup = netColorRightClick(netname);
colorBox.oncontextmenu = (e) => e.preventDefault();
td.appendChild(colorBox);
td.classList.add("color-column");
tr.appendChild(td);
} else {
if (reflookup) {
references = findRefInEntry(bomentry);
if (references.length == 0) {
continue;
}
} else {
references = bomentry;
}
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
columns.forEach((column) => {
if (column === placeholderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
if (checkbox) {
td = document.createElement("TD");
var input = document.createElement("input");
input.type = "checkbox";
input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
setBomCheckboxState(checkbox, input, references);
if (input.checked && settings.markWhenChecked == checkbox) {
tr.classList.add("checked");
}
td.appendChild(input);
tr.appendChild(td);
}
}
} else if (column === "References") {
td = document.createElement("TD");
td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
tr.appendChild(td);
} else if (column === "Quantity" && settings.bommode == "grouped") {
// Quantity
td = document.createElement("TD");
td.textContent = references.length;
tr.appendChild(td);
} else {
// All the other fields
var field_index = config.fields.indexOf(column)
if (field_index < 0)
return;
var valueSet = new Set();
references.map(r => r[1]).forEach((id) => valueSet.add(pcbdata.bom.fields[id][field_index]));
td = document.createElement("TD");
var output = new Array();
for (let item of valueSet) {
const visible = highlightFilter(String(item));
if (typeof item === 'string' && item.match(urlRegex)) {
output.push(`<a href="${item}" target="_blank">${visible}</a>`);
} else {
output.push(visible);
}
}
td.innerHTML = output.join(", ");
tr.appendChild(td);
}
});
}
bom.appendChild(tr);
var handler = createRowHighlightHandler(tr.id, references, netname);
tr.onmousemove = handler;
highlightHandlers.push({
id: tr.id,
handler: handler,
});
if (references !== null) {
for (var refIndex of references.map(r => r[1])) {
footprintIndexToHandler[refIndex] = handler;
}
}
if (netname !== null) {
netsToHandler[netname] = handler;
}
if ((filter || reflookup) && first) {
handler();
first = false;
}
}
EventHandler.emitEvent(
IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT, {
filter: filter,
reflookup: reflookup,
checkboxes: settings.checkboxes,
bommode: settings.bommode,
});
}
function highlightPreviousRow() {
if (!currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[0].id == currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
for (var i = 0; i < highlightHandlers.length - 1; i++) {
if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function highlightNextRow() {
if (!currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
for (var i = 1; i < highlightHandlers.length; i++) {
if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function populateBomTable() {
populateBomHeader();
populateBomBody();
setBomHandlers();
resizableGrid(bomhead);
}
function footprintsClicked(footprintIndexes) {
var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
for (var i = 1; i <= footprintIndexes.length; i++) {
var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
if (refIndex in footprintIndexToHandler) {
lastClicked = refIndex;
footprintIndexToHandler[refIndex]();
smoothScrollToRow(currentHighlightedRowId);
break;
}
}
}
function netClicked(net) {
if (net in netsToHandler) {
netsToHandler[net]();
smoothScrollToRow(currentHighlightedRowId);
} else {
clearHighlightedFootprints();
highlightedNet = net;
drawHighlights();
}
}
function updateFilter(input) {
filter = input.toLowerCase();
populateBomTable();
}
function updateRefLookup(input) {
reflookup = input.toLowerCase();
populateBomTable();
}
function changeCanvasLayout(layout) {
document.getElementById("fl-btn").classList.remove("depressed");
document.getElementById("fb-btn").classList.remove("depressed");
document.getElementById("bl-btn").classList.remove("depressed");
switch (layout) {
case 'F':
document.getElementById("fl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(1);
}
break;
case 'B':
document.getElementById("bl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(0);
}
break;
default:
document.getElementById("fb-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.setSizes([50, 50]);
}
}
settings.canvaslayout = layout;
writeStorage("canvaslayout", layout);
resizeAll();
changeBomMode(settings.bommode);
}
function populateMetadata() {
document.getElementById("title").innerHTML = pcbdata.metadata.title;
document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
document.getElementById("company").innerHTML = pcbdata.metadata.company;
document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
if (pcbdata.metadata.title != "") {
document.title = pcbdata.metadata.title + " BOM";
}
// Calculate board stats
var fp_f = 0,
fp_b = 0,
pads_f = 0,
pads_b = 0,
pads_th = 0;
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.bom.skipped.includes(i)) continue;
var mod = pcbdata.footprints[i];
if (mod.layer == "F") {
fp_f++;
} else {
fp_b++;
}
for (var pad of mod.pads) {
if (pad.type == "th") {
pads_th++;
} else {
if (pad.layers.includes("F")) {
pads_f++;
}
if (pad.layers.includes("B")) {
pads_b++;
}
}
}
}
document.getElementById("stats-components-front").innerHTML = fp_f;
document.getElementById("stats-components-back").innerHTML = fp_b;
document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
document.getElementById("stats-th-pads").innerHTML = pads_th;
// Update version string
document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
/^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}
function changeBomLayout(layout) {
document.getElementById("bom-btn").classList.remove("depressed");
document.getElementById("lr-btn").classList.remove("depressed");
document.getElementById("tb-btn").classList.remove("depressed");
switch (layout) {
case 'bom-only':
document.getElementById("bom-btn").classList.add("depressed");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
document.getElementById("frontcanvas").style.display = "none";
document.getElementById("backcanvas").style.display = "none";
document.getElementById("topmostdiv").style.height = "";
document.getElementById("topmostdiv").style.display = "block";
break;
case 'top-bottom':
document.getElementById("tb-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("topmostdiv").style.height = "100%";
document.getElementById("topmostdiv").style.display = "flex";
document.getElementById("bomdiv").classList.remove("split-horizontal");
document.getElementById("canvasdiv").classList.remove("split-horizontal");
document.getElementById("frontcanvas").classList.add("split-horizontal");
document.getElementById("backcanvas").classList.add("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
direction: "vertical",
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
onDragEnd: resizeAll
});
break;
case 'left-right':
document.getElementById("lr-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("topmostdiv").style.height = "100%";
document.getElementById("topmostdiv").style.display = "flex";
document.getElementById("bomdiv").classList.add("split-horizontal");
document.getElementById("canvasdiv").classList.add("split-horizontal");
document.getElementById("frontcanvas").classList.remove("split-horizontal");
document.getElementById("backcanvas").classList.remove("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
direction: "vertical",
onDragEnd: resizeAll
});
}
settings.bomlayout = layout;
writeStorage("bomlayout", layout);
changeCanvasLayout(settings.canvaslayout);
}
function changeBomMode(mode) {
document.getElementById("bom-grouped-btn").classList.remove("depressed");
document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
document.getElementById("bom-netlist-btn").classList.remove("depressed");
var chkbxs = document.getElementsByClassName("visibility_checkbox");
switch (mode) {
case 'grouped':
document.getElementById("bom-grouped-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = false;
}
break;
case 'ungrouped':
document.getElementById("bom-ungrouped-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = false;
}
break;
case 'netlist':
document.getElementById("bom-netlist-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = true;
}
}
writeStorage("bommode", mode);
if (mode != settings.bommode) {
settings.bommode = mode;
bomSortFunction = null;
currentSortColumn = null;
currentSortOrder = null;
clearHighlightedFootprints();
}
populateBomTable();
}
function focusFilterField() {
focusInputField(document.getElementById("filter"));
}
function focusRefLookupField() {
focusInputField(document.getElementById("reflookup"));
}
function toggleBomCheckbox(bomrowid, checkboxnum) {
if (!bomrowid || checkboxnum > settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
checkbox.checked = !checkbox.checked;
checkbox.indeterminate = false;
checkbox.onchange();
}
function checkBomCheckbox(bomrowid, checkboxname) {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = true;
checkbox.indeterminate = false;
checkbox.onchange();
}
function setBomCheckboxes(value) {
writeStorage("bomCheckboxes", value);
settings.checkboxes = value.split(",").map((e) => e.trim()).filter((e) => e);
prepCheckboxes();
populateMarkWhenCheckedOptions();
setMarkWhenChecked(settings.markWhenChecked);
}
function setMarkWhenChecked(value) {
writeStorage("markWhenChecked", value);
settings.markWhenChecked = value;
markedFootprints.clear();
for (var ref of (value ? getStoredCheckboxRefs(value) : [])) {
markedFootprints.add(ref);
}
populateBomTable();
drawHighlights();
}
function prepCheckboxes() {
var table = document.getElementById("checkbox-stats");
while (table.childElementCount > 1) {
table.removeChild(table.lastChild);
}
if (settings.checkboxes.length) {
table.style.display = "";
} else {
table.style.display = "none";
}
for (var checkbox of settings.checkboxes) {
var tr = document.createElement("TR");
var td = document.createElement("TD");
td.innerHTML = checkbox;
tr.appendChild(td);
td = document.createElement("TD");
td.id = "checkbox-stats-" + checkbox;
var progressbar = document.createElement("div");
progressbar.classList.add("bar");
td.appendChild(progressbar);
var text = document.createElement("div");
text.classList.add("text");
td.appendChild(text);
tr.appendChild(td);
table.appendChild(tr);
updateCheckboxStats(checkbox);
}
}
function populateMarkWhenCheckedOptions() {
var container = document.getElementById("markWhenCheckedContainer");
if (settings.checkboxes.length == 0) {
container.parentElement.style.display = "none";
return;
}
container.innerHTML = '';
container.parentElement.style.display = "inline-block";
function createOption(name, displayName) {
var id = "markWhenChecked-" + name;
var div = document.createElement("div");
div.classList.add("radio-container");
var input = document.createElement("input");
input.type = "radio";
input.name = "markWhenChecked";
input.value = name;
input.id = id;
input.onchange = () => setMarkWhenChecked(name);
div.appendChild(input);
// Preserve the selected element when the checkboxes change
if (name == settings.markWhenChecked) {
input.checked = true;
}
var label = document.createElement("label");
label.innerHTML = displayName;
label.htmlFor = id;
div.appendChild(label);
container.appendChild(div);
}
createOption("", "None");
for (var checkbox of settings.checkboxes) {
createOption(checkbox, checkbox);
}
}
function updateCheckboxStats(checkbox) {
var checked = getStoredCheckboxRefs(checkbox).size;
var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
var percent = checked * 100.0 / total;
var td = document.getElementById("checkbox-stats-" + checkbox);
td.firstChild.style.width = percent + "%";
td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}
function constrain(number, min, max) {
return Math.min(Math.max(parseInt(number), min), max);
}
document.onkeydown = function (e) {
switch (e.key) {
case "n":
if (document.activeElement.type == "text") {
return;
}
if (currentHighlightedRowId !== null) {
checkBomCheckbox(currentHighlightedRowId, "placed");
highlightNextRow();
e.preventDefault();
}
break;
case "ArrowUp":
highlightPreviousRow();
e.preventDefault();
break;
case "ArrowDown":
highlightNextRow();
e.preventDefault();
break;
case "ArrowLeft":
case "ArrowRight":
if (document.activeElement.type != "text") {
e.preventDefault();
let boardRotationElement = document.getElementById("boardRotation")
settings.boardRotation = parseInt(boardRotationElement.value); // degrees / 5
if (e.key == "ArrowLeft") {
settings.boardRotation += 3; // 15 degrees
}
else {
settings.boardRotation -= 3;
}
settings.boardRotation = constrain(settings.boardRotation, boardRotationElement.min, boardRotationElement.max);
boardRotationElement.value = settings.boardRotation
setBoardRotation(settings.boardRotation);
}
break;
default:
break;
}
if (e.altKey) {
switch (e.key) {
case "f":
focusFilterField();
e.preventDefault();
break;
case "r":
focusRefLookupField();
e.preventDefault();
break;
case "z":
changeBomLayout("bom-only");
e.preventDefault();
break;
case "x":
changeBomLayout("left-right");
e.preventDefault();
break;
case "c":
changeBomLayout("top-bottom");
e.preventDefault();
break;
case "v":
changeCanvasLayout("F");
e.preventDefault();
break;
case "b":
changeCanvasLayout("FB");
e.preventDefault();
break;
case "n":
changeCanvasLayout("B");
e.preventDefault();
break;
default:
break;
}
if (e.key >= '1' && e.key <= '9') {
toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
e.preventDefault();
}
}
}
function hideNetlistButton() {
document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
document.getElementById("bom-netlist-btn").style.display = "none";
}
function topToggle() {
var top = document.getElementById("top");
var toptoggle = document.getElementById("toptoggle");
if (top.style.display === "none") {
top.style.display = "flex";
toptoggle.classList.remove("flipped");
} else {
top.style.display = "none";
toptoggle.classList.add("flipped");
}
}
window.onload = function (e) {
initUtils();
initRender();
initStorage();
initDefaults();
cleanGutters();
populateMetadata();
dbgdiv = document.getElementById("dbg");
bom = document.getElementById("bombody");
bomhead = document.getElementById("bomhead");
filter = "";
reflookup = "";
if (!("nets" in pcbdata)) {
hideNetlistButton();
}
initDone = true;
setBomCheckboxes(document.getElementById("bomCheckboxes").value);
// Triggers render
changeBomLayout(settings.bomlayout);
// Users may leave fullscreen without touching the checkbox. Uncheck.
document.addEventListener('fullscreenchange', () => {
if (!document.fullscreenElement)
document.getElementById('fullscreenCheckbox').checked = false;
});
}
window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);
///////////////////////////////////////////////
///////////////////////////////////////////////
// EventHandler.registerCallback(IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT, () => {
// for(var tr of bom.childNodes) {
// tr.onclick = tr.onmousemove;
// tr.onmousemove = null;
// };
// });
///////////////////////////////////////////////
</script>
</head>
<body>
<div id="topmostdiv" class="topmostdiv">
<div id="top">
<div id="fileinfodiv">
<table class="fileinfo">
<tbody>
<tr>
<td id="title" class="title" style="width: 70%">
Title
</td>
<td id="revision" class="title" style="width: 30%">
Revision
</td>
</tr>
<tr>
<td id="company">
Company
</td>
<td id="filedate">
Date
</td>
</tr>
</tbody>
</table>
</div>
<div id="bomcontrols">
<div class="hideonprint menu">
<button class="menubtn"></button>
<div class="menu-content">
<label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
<input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
Dark mode
</label><!-- This comment eats space! All of it!
--><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
<input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
Full Screen
</label>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
Fab layer
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
Silkscreen
</label>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
References
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
Values
</label>
<div id="tracksAndZonesCheckboxes">
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
Tracks
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
Zones
</label>
</div>
<label class="menu-label" style="width: calc(50% - 18px)">
<input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
Pads
</label><!-- This comment eats space! All of it!
--><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
<input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
DNP outlined
</label>
<label class="menu-label">
<input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
Continuous redraw on drag
</label>
<label class="menu-label">
Highlight first pin
<form id="highlightpin1">
<div class="flexbox">
<label>
<input type="radio" name="highlightpin1" value="none" onchange="setHighlightPin1('none')">
None
</label>
<label>
<input type="radio" name="highlightpin1" value="all" onchange="setHighlightPin1('all')">
All
</label>
<label>
<input type="radio" name="highlightpin1" value="selected" onchange="setHighlightPin1('selected')">
Selected
</label>
</div>
</form>
</label>
<label class="menu-label">
<span>Board rotation</span>
<span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
<input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
</label>
<label class="menu-label">
<input id="offsetBackRotationCheckbox" type="checkbox" onchange="setOffsetBackRotation(this.checked)">
Offset back rotation
</label>
<label class="menu-label">
<div style="margin-left: 5px">Bom checkboxes</div>
<input id="bomCheckboxes" class="menu-textbox" type=text
oninput="setBomCheckboxes(this.value)">
</label>
<label class="menu-label">
<div style="margin-left: 5px">Mark when checked</div>
<div id="markWhenCheckedContainer"></div>
</label>
<label class="menu-label">
<span class="shameless-plug">
<span>Created using</span>
<a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
<a target="blank" title="Mouse and keyboard help" href="https://github.com/openscopeproject/InteractiveHtmlBom/wiki/Usage#bom-page-mouse-actions" style="text-decoration: none;"><label class="help-link">?</label></a>
</span>
</label>
</div>
</div>
<div class="button-container hideonprint">
<button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
title="Front only">F
</button>
<button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
title="Front and Back">FB
</button>
<button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
title="Back only">B
</button>
</div>
<div class="button-container hideonprint">
<button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
title="BOM only"></button>
<button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
title="BOM left, drawings right"></button>
<button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
title="BOM top, drawings bot"></button>
</div>
<div class="button-container hideonprint">
<button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
title="Grouped BOM"></button>
<button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
title="Ungrouped BOM"></button>
<button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
title="Netlist"></button>
</div>
<div class="hideonprint menu">
<button class="statsbtn"></button>
<div class="menu-content">
<table class="stats">
<tbody>
<tr>
<td width="40%">Board stats</td>
<td>Front</td>
<td>Back</td>
<td>Total</td>
</tr>
<tr>
<td>Components</td>
<td id="stats-components-front">~</td>
<td id="stats-components-back">~</td>
<td id="stats-components-total">~</td>
</tr>
<tr>
<td>Groups</td>
<td id="stats-groups-front">~</td>
<td id="stats-groups-back">~</td>
<td id="stats-groups-total">~</td>
</tr>
<tr>
<td>SMD pads</td>
<td id="stats-smd-pads-front">~</td>
<td id="stats-smd-pads-back">~</td>
<td id="stats-smd-pads-total">~</td>
</tr>
<tr>
<td>TH pads</td>
<td colspan=3 id="stats-th-pads">~</td>
</tr>
</tbody>
</table>
<table class="stats">
<col width="40%"/><col />
<tbody id="checkbox-stats">
<tr>
<td colspan=2 style="border-top: 0">Checkboxes</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="hideonprint menu">
<button class="iobtn"></button>
<div class="menu-content">
<div class="menu-label menu-label-top">
<div style="margin-left: 5px;">Save board image</div>
<div class="flexbox">
<input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
<span>X</span>
<input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
</div>
<label>
<input id="render-save-transparent" type="checkbox">
Transparent background
</label>
<div class="flexbox">
<button class="savebtn" onclick="saveImage('F')">Front</button>
<button class="savebtn" onclick="saveImage('B')">Back</button>
</div>
</div>
<div class="menu-label">
<span style="margin-left: 5px;">Config and checkbox state</span>
<div class="flexbox">
<button class="savebtn" onclick="saveSettings()">Export</button>
<button class="savebtn" onclick="loadSettings()">Import</button>
<button class="savebtn" onclick="resetSettings()">Reset</button>
</div>
</div>
<div class="menu-label">
<span style="margin-left: 5px;">Save bom table as</span>
<div class="flexbox">
<button class="savebtn" onclick="saveBomTable('csv')">csv</button>
<button class="savebtn" onclick="saveBomTable('txt')">txt</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="topdivider">
<div class="hideonprint">
<div id="toptoggle" onclick="topToggle()"></div>
</div>
</div>
<div id="bot" class="split" style="flex: 1 1">
<div id="bomdiv" class="split split-horizontal">
<div style="width: 100%">
<input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
oninput="updateRefLookup(this.value)">
<input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
oninput="updateFilter(this.value)">
<div class="button-container hideonprint" style="float: left; margin: 0;">
<button id="copy" title="Copy bom table to clipboard"
onclick="saveBomTable('clipboard')"></button>
</div>
</div>
<div id="dbg"></div>
<table class="bom" id="bomtable">
<thead id="bomhead">
</thead>
<tbody id="bombody">
</tbody>
</table>
</div>
<div id="canvasdiv" class="split split-horizontal">
<div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
<div style="position: relative; width: 100%; height: 100%;">
<canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
<canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
<canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
<canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
</div>
</div>
<div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
<div style="position: relative; width: 100%; height: 100%;">
<canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
<canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
<canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
<canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
</div>
</div>
</div>
</div>
</div>
</body>
</html>