Files
SFD700/kicad/v1.2/bom/ibom.html
Philip Smart 883da7cc5f Updated ibom
2025-11-20 10:00:17 +00:00

4720 lines
408 KiB
HTML
Vendored

<!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;
min-height: 100%;
}
#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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"))
///////////////////////////////////////////////
///////////////////////////////////////////////
/* 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) {
var name = node.firstChild.nodeValue ?? "";
text += (output == 'csv' ? `"${name}"` : name);
}
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,
valueAltRegex: 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"] = {};
var allList = getBomListByLayer('FB').flat();
for (var id in pcbdata.bom.fields) {
var ref_key = allList.find(item => item[1] == Number(id)) || [];
pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index], ref_key[0] || '');
}
}
}
function parseValue(val, ref) {
var inferUnit = (unit, ref) => {
if (unit) {
unit = unit.toLowerCase();
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
unit = 'r';
}
return unit[0];
}
var resarr = /^([a-z]+)\d+$/i.exec(ref);
switch (Array.isArray(resarr) && resarr[1].toLowerCase()) {
case "c": return 'f';
case "l": return 'h';
case "r":
case "rv": return 'r';
}
return null;
};
val = val.replace(/,/g, "");
var match = units.valueRegex.exec(val);
if (Array.isArray(match)) {
var unit = inferUnit(match[3], ref);
var val_i = parseFloat(match[1]);
if (!unit) return null;
if (match[2]) {
val_i = val_i * units.getMultiplier(match[2]);
}
return {
val: val_i,
unit: unit,
extra: match[4],
}
}
match = units.valueAltRegex.exec(val);
if (Array.isArray(match) && (match[1] || match[4])) {
var unit = inferUnit(match[2], ref);
var val_i = parseFloat(match[1] + "." + match[4]);
if (!unit) return null;
if (match[3]) {
val_i = val_i * units.getMultiplier(match[3]);
}
return {
val: val_i,
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;
setHighlightRowOnClick(settings.highlightRowOnClick);
document.getElementById("highlightRowOnClickCheckbox").checked = settings.highlightRowOnClick;
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("highlightRowOnClick", false, "highlightRowOnClickCheckbox", setHighlightRowOnClick);
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 if (pad.drillshape == "rect") {
ctx.fill(getChamferedRectPath(pad.drillsize, 0, 0, 0));
} 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 setHighlightRowOnClick(value) {
settings.highlightRowOnClick = value;
writeStorage("highlightRowOnClick", value);
if (initDone) {
populateBomTable();
}
}
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 createCheckboxHandlers(input, checkbox, references, row) {
var clickHandler = () => {
refsSet = getStoredCheckboxRefs(checkbox);
var markWhenChecked = settings.markWhenChecked == checkbox;
eventArgs = {
checkbox: checkbox,
refs: references,
}
if (input.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);
}
return [
(e) => {
clickHandler();
},
(e) => {
e.preventDefault();
if (row.onmousemove) row.onmousemove();
},
(e) => {
e.preventDefault();
input.checked = !input.checked;
input.indeterminate = false;
clickHandler();
}
];
}
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 getBomListByLayer(layer) {
switch (layer) {
case 'F': return pcbdata.bom.F.slice();
case 'B': return pcbdata.bom.B.slice();
case 'FB': return pcbdata.bom.both.slice();
}
return [];
}
function getSelectedBomList() {
if (settings.bommode == "netlist") {
return pcbdata.nets.slice();
}
var out = getBomListByLayer(settings.canvaslayout);
if (settings.bommode == "ungrouped") {
// expand bom table
var expandedTable = [];
for (var bomentry of out) {
for (var ref of bomentry) {
expandedTable.push([ref]);
}
}
return expandedTable;
}
return out;
}
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][0] != b[i][0]) 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();
bomtable = getSelectedBomList();
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, td.ontouchstart, td.ontouchend] = createCheckboxHandlers(input, 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);
if (settings.highlightRowOnClick) {
tr.onmousedown = handler;
} else {
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 childNum = checkboxnum + settings.columnOrder.indexOf("checkboxes");
var checkbox = bomrow.childNodes[childNum].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 childNum = checkboxnum + 1 + settings.columnOrder.indexOf("checkboxes");
var checkbox = bomrow.childNodes[childNum].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) {
initRender();
initStorage();
initDefaults();
initUtils();
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="highlightRowOnClickCheckbox" type="checkbox" checked onchange="setHighlightRowOnClick(this.checked)">
Highlight row on click
</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>