RIDE/Docs/RIDE-ibom.html
2024-12-31 14:41:07 +13:00

4698 lines
381 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive BOM for KiCAD</title>
<style type="text/css">
:root {
--pcb-edge-color: black;
--pad-color: #878787;
--pad-hole-color: #CCCCCC;
--pad-color-highlight: #D04040;
--pad-color-highlight-both: #D0D040;
--pad-color-highlight-marked: #44a344;
--pin1-outline-color: #ffb629;
--pin1-outline-color-highlight: #ffb629;
--pin1-outline-color-highlight-both: #fcbb39;
--pin1-outline-color-highlight-marked: #fdbe41;
--silkscreen-edge-color: #aa4;
--silkscreen-polygon-color: #4aa;
--silkscreen-text-color: #4aa;
--fabrication-edge-color: #907651;
--fabrication-polygon-color: #907651;
--fabrication-text-color: #a27c24;
--track-color: #def5f1;
--track-color-highlight: #D04040;
--zone-color: #def5f1;
--zone-color-highlight: #d0404080;
}
html,
body {
margin: 0px;
height: 100%;
font-family: Verdana, sans-serif;
}
.dark.topmostdiv {
--pcb-edge-color: #eee;
--pad-color: #808080;
--pin1-outline-color: #ffa800;
--pin1-outline-color-highlight: #ccff00;
--track-color: #42524f;
--zone-color: #42524f;
background-color: #252c30;
color: #eee;
}
button {
background-color: #eee;
border: 1px solid #888;
color: black;
height: 44px;
width: 44px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 14px;
font-weight: bolder;
}
.dark button {
/* This will be inverted */
background-color: #c3b7b5;
}
button.depressed {
background-color: #0a0;
color: white;
}
.dark button.depressed {
/* This will be inverted */
background-color: #b3b;
}
button:focus {
outline: 0;
}
button#tb-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#lr-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}
button#bom-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-grouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-ungrouped-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}
button#bom-netlist-btn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}
button#copy {
background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
background-position: 6px 6px;
background-repeat: no-repeat;
background-size: 26px 26px;
border-radius: 6px;
height: 40px;
width: 40px;
margin: 10px 5px;
}
button#copy:active {
box-shadow: inset 0px 0px 5px #6c6c6c;
}
textarea.clipboard-temp {
position: fixed;
top: 0;
left: 0;
width: 2em;
height: 2em;
padding: 0;
border: None;
outline: None;
box-shadow: None;
background: transparent;
}
.left-most-button {
border-right: 0;
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
}
.middle-button {
border-right: 0;
}
.right-most-button {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
}
.button-container {
font-size: 0;
margin: 0.4rem 0.4rem 0.4rem 0;
}
.dark .button-container {
filter: invert(1);
}
.button-container button {
background-size: 32px 32px;
background-position: 5px 5px;
background-repeat: no-repeat;
}
@media print {
.hideonprint {
display: none;
}
}
canvas {
cursor: crosshair;
}
canvas:active {
cursor: grabbing;
}
.fileinfo {
width: 100%;
max-width: 1000px;
border: none;
padding: 3px;
}
.fileinfo .title {
font-size: 20pt;
font-weight: bold;
}
.fileinfo td {
overflow: hidden;
white-space: nowrap;
max-width: 1px;
width: 50%;
text-overflow: ellipsis;
}
.bom {
border-collapse: collapse;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 10pt;
table-layout: fixed;
width: 100%;
margin-top: 1px;
position: relative;
}
.bom th,
.bom td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
.dark .bom th,
.dark .bom td {
border: 1px solid #777;
}
.bom th {
background-color: #CCCCCC;
background-clip: padding-box;
}
.dark .bom th {
background-color: #3b4749;
}
.bom tr.highlighted:nth-child(n) {
background-color: #cfc;
}
.dark .bom tr.highlighted:nth-child(n) {
background-color: #226022;
}
.bom tr:nth-child(even) {
background-color: #f2f2f2;
}
.dark .bom tr:nth-child(even) {
background-color: #313b40;
}
.bom tr.checked {
color: #1cb53d;
}
.dark .bom tr.checked {
color: #2cce54;
}
.bom tr {
transition: background-color 0.2s;
}
.bom .numCol {
width: 30px;
}
.bom .value {
width: 15%;
}
.bom .quantity {
width: 65px;
}
.bom th .sortmark {
position: absolute;
right: 1px;
top: 1px;
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent #221 transparent;
transform-origin: 50% 85%;
transition: opacity 0.2s, transform 0.4s;
}
.dark .bom th .sortmark {
filter: invert(1);
}
.bom th .sortmark.none {
opacity: 0;
}
.bom th .sortmark.desc {
transform: rotate(180deg);
}
.bom th:hover .sortmark.none {
opacity: 0.5;
}
.bom .bom-checkbox {
width: 30px;
position: relative;
user-select: none;
-moz-user-select: none;
}
.bom .bom-checkbox:before {
content: "";
position: absolute;
border-width: 15px;
border-style: solid;
border-color: #51829f transparent transparent transparent;
visibility: hidden;
top: -15px;
}
.bom .bom-checkbox:after {
content: "Double click to set/unset all";
position: absolute;
color: white;
top: -35px;
left: -26px;
background: #51829f;
padding: 5px 15px;
border-radius: 8px;
white-space: nowrap;
visibility: hidden;
}
.bom .bom-checkbox:hover:before,
.bom .bom-checkbox:hover:after {
visibility: visible;
transition: visibility 0.2s linear 1s;
}
.split {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow-y: auto;
overflow-x: hidden;
background-color: inherit;
}
.split.split-horizontal,
.gutter.gutter-horizontal {
height: 100%;
float: left;
}
.gutter {
background-color: #ddd;
background-repeat: no-repeat;
background-position: 50%;
transition: background-color 0.3s;
}
.dark .gutter {
background-color: #777;
}
.gutter.gutter-horizontal {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
cursor: ew-resize;
width: 5px;
}
.gutter.gutter-vertical {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
cursor: ns-resize;
height: 5px;
}
.searchbox {
float: left;
height: 40px;
margin: 10px 5px;
padding: 12px 32px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 18px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 6px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg==');
background-position: 10px 10px;
background-repeat: no-repeat;
}
.dark .searchbox {
background-color: #111;
color: #eee;
}
.searchbox::placeholder {
color: #ccc;
}
.dark .searchbox::placeholder {
color: #666;
}
.filter {
width: calc(60% - 64px);
}
.reflookup {
width: calc(40% - 10px);
}
input[type=text]:focus {
background-color: white;
border: 1px solid #333;
}
.dark input[type=text]:focus {
background-color: #333;
border: 1px solid #ccc;
}
mark.highlight {
background-color: #5050ff;
color: #fff;
padding: 2px;
border-radius: 6px;
}
.dark mark.highlight {
background-color: #76a6da;
color: #111;
}
.menubtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
background-position: center;
background-repeat: no-repeat;
}
.statsbtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.iobtn {
background-color: white;
border: none;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
}
.visbtn {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' stroke='%23333' d='M2.5 4.5h5v15h-5zM9.5 4.5h5v15h-5zM16.5 4.5h5v15h-5z'/%3E%3C/svg%3E");
background-position: center;
background-repeat: no-repeat;
padding: 15px;
}
#vismenu-content {
left: 0px;
font-family: Verdana, sans-serif;
}
.dark .statsbtn,
.dark .savebtn,
.dark .menubtn,
.dark .iobtn,
.dark .visbtn {
filter: invert(1);
}
.flexbox {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.savebtn {
background-color: #d6d6d6;
width: auto;
height: 30px;
flex-grow: 1;
margin: 5px;
border-radius: 4px;
}
.savebtn:active {
background-color: #0a0;
color: white;
}
.dark .savebtn:active {
/* This will be inverted */
background-color: #b3b;
}
.stats {
border-collapse: collapse;
font-size: 12pt;
table-layout: fixed;
width: 100%;
min-width: 450px;
}
.dark .stats td {
border: 1px solid #bbb;
}
.stats td {
border: 1px solid black;
padding: 5px;
word-wrap: break-word;
text-align: center;
position: relative;
}
#checkbox-stats div {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
#checkbox-stats .bar {
background-color: rgba(28, 251, 0, 0.6);
}
.menu {
position: relative;
display: inline-block;
margin: 0.4rem 0.4rem 0.4rem 0;
}
.menu-content {
font-size: 12pt !important;
text-align: left !important;
font-weight: normal !important;
display: none;
position: absolute;
background-color: white;
right: 0;
min-width: 300px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 100;
padding: 8px;
}
.dark .menu-content {
background-color: #111;
}
.menu:hover .menu-content {
display: block;
}
.menu:hover .menubtn,
.menu:hover .iobtn,
.menu:hover .statsbtn {
background-color: #eee;
}
.menu-label {
display: inline-block;
padding: 8px;
border: 1px solid #ccc;
border-top: 0;
width: calc(100% - 18px);
}
.menu-label-top {
border-top: 1px solid #ccc;
}
.menu-textbox {
float: left;
height: 24px;
margin: 10px 5px;
padding: 5px 5px;
font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
font-size: 14px;
box-sizing: border-box;
border: 1px solid #888;
border-radius: 4px;
outline: none;
background-color: #eee;
transition: background-color 0.2s, border 0.2s;
width: calc(100% - 10px);
}
.menu-textbox.invalid,
.dark .menu-textbox.invalid {
color: red;
}
.dark .menu-textbox {
background-color: #222;
color: #eee;
}
.radio-container {
margin: 4px;
}
.topmostdiv {
display: flex;
flex-direction: column;
width: 100%;
background-color: white;
transition: background-color 0.3s;
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;
}
</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": true, "show_pads": true, "show_fabrication": false, "show_silkscreen": true, "highlight_pin1": "all", "redraw_on_drag": true, "board_rotation": 0.0, "checkboxes": "Sourced,Placed", "bom_view": "left-right", "layer_view": "FB", "offset_back_rotation": false, "kicad_text_formatting": true, "fields": ["Value", "Footprint", "LCSC #", "Mouser #"]}
///////////////////////////////////////////////
///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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z6enp0BnZ6edp+enXacXp9Snl6c0ph+m6qfRpgyntyZip0ym86Y/p/im9qD4KA+mzadQpqOmsGdPp86m8GZAZm6mwGbnpiBmb6agZ0KmYGbRpyKmjKdFJgOmPqd7ppBn4KdxKNBmf6YwZ/qnqaZBp2mmwacVp2Sma6cvpuunAqcgZshnoGYfpnmmVvngAJimWKfYpvGnrwCjJu8AHwDjJmIAEyZap5MnfCDTJxrUuACzJk4nYSb0wb+so2Tk0YsmoHTDgdoKyyYl4FU1zabe0OlV+IDE0PZ144CbJwEn1viDpw2nlSeM0JNByGxATH7R2Geg0AiQUdC8FeOAz6aVpi+mZ6adpuO7iGceAN2nb6fIZz2nKGeWpxqmfTpOcKUmywjiZ3emPGcHaXBsKLPq0NJmxNAyZyJnK6cnpxOntGc27Y7lBGcep0pmDGfdJqhndiYFJsuB4ABW+V+mEGZkZtqmGmYSZiZFmmZSZlHQ2mYs5a8hOmcAZ7pmtGfyZtFBCmYGZrWmm6c3JrmnRmfGZyZnN6fipxBm5meQZt4Bt8CWZ1yalGbQptZmb4A2ZiemeGYdp26m+mdtLa+nBmeEZmqnjmcqZriAGGdkZ/imE0TuZ0KaKaYHJp5nMmYNZbJnuGdyZ/Bm+GcIZvZnvmYOZu+mjmYqZ16mszJmZ7emrmc7JlzEwWdaZ0un2mfLAaFm3uVhZ8GnNGeVpnZnGK36ZlFn3abKZjOmMWYap4+c36dmZg2n5mYvJn2SkmagkWizCWdHpqFmXmZyZylm8mYIZgpnaWd0ZoRn9GZEZplmVqY1nC5m2WeDp5UmPSwJZ1JmiWYFZ6j1yWY0ZwqntmdFZ3ZnxWYqp1OmpWb+ZmVn6qbsM+VmcWfZZ65mnS2k0PZTvJpWZtVmVGdJZpxxNWaAZnpnqWc+Zl2nimdIZhamcTRephqm63C3p/WnFWc5ZqTwIGzokPlmLafVZ+CMXWa2ZqlndWZpZr5mJWZ+Zo1nFqf+Z16nEVtZZi1ng2cBABNgw2btZh5mgaajZ3vMY2beZ2umPWaKZnwASmd+Z1NmTWfgZ6Rms2fiZzlnCbhVZ+1n+WcdZwVm4WeFZhFnHab1ZxNmDWb0Zn1nBDj9ZlanKACBZ3FmQWYYxPNnwWelpyNn22Y1ZrpnS2d6ZjTR9WbZpw1nB2ZXptNmGqemZ+tmg2cbZwEBbmanZiNnIWbnZ6NmF2fhZ3hme2YTZz1nK2e9Z7WmRmeWp30msWZ3Z/OnTiYgq7lntjXDZ1Vm22Y6Z+dnNmcXZ91nl2b7Z1dmB2bvZ64Bwqf9J30n3qfqZq1nonHfZ5ulP2dbZ2dmf2dPZv9nz2feZ/hnBICA5hem12dA5rgBwObdJjunzmczZ3dmOWcBAY8obWf5zI9n7yaLZrJmz2a7Zi9mPmcA569nYACrZlNnfWa0p3WnA2ZfZjxnjkAo5gDyqOceZk9ni2bo57Vm42cRZsVmsOZIZnDnDmeHZjunt2eg5vFm81MPZr9mkOZJZjtmKWdE5kVnxOd7Z5jnWOfXZihn72d0pjum62YU5kFmv/z45hDmC2fSZtTnf2deZtDmy2aY5itmWOdvZmTnN2YI5wFmuOcYZ19mysmU5xDnj2eQ54TnUOfo59DmkWZXZ7DmQOdc5mVmO6YDZ81mSOZg5nn6LOfzZiFnqOaE52jmguc057tnGOYRcSTmvWek5tFnZOZMAMdnLWbxZtLcW2as54ln1mds5oVmMuYY5jDnkWaTZ1FmGWfvpwzmGqag5y5niuZBZ0rnfOfK5mjmYWZE5u2mxOcvZ8tn9mfpZ4ZmwOaoZ0xnTmY9JwMmpGdM519nm2e655LnBOYC5tLm7OeC5hznsud05lzn8ubc5xqn5Ofa57NmSQCB1RbmZ2f85mzmUObW5mrmQuYk5rbm8uaa59Fn3Se9pjGmBSd2J/2miucO57cAEueIbZZmeudS5vrn0uYG5rTmhucc5kbmhmelZlrmR2Zi54jnuOYSZnznkmfuZpbnC2b+5sln+uerpwbmsucw527mIuZ25k1nCuc854FnX2fM577mEedO5lLmVuf+5y7nAecy5urmwuak57Hn7uZopzjnYuZh5zlmlOfh56dmQmbJ587nAucp5tHmgeYx5+rn+2clZ/Tnymce5temmKaipgUmAAHVdidm5g7m92ZJAXjnieY551ZnkeedZ1HngGeu5nTmnOb053DmQAGzp3On8efHZ19nyOeV5gTmkefJ5lHmAeb556nnQuZy5m9m7ubG5iCm9ycjJrgBoyZsZkaB7GblJxxnUyfTTEAAAACkXGcOJ1ABsydOJgD5wWyseaOx6tF8ZkaByyd1qMsmPikrJyOnmGk4AdmUGuR556JmWyfl5zkA1vitZ8PnPtDfiYHQ2mYPEakB1Oa1ZqnnaucIZ0ZlHcmhAKxmPwHfAcvmQAB/AAgAIgB/AUOA6+ffABvmiWb6gZiADgEa5p3naKaMZkxnmKbYpjimuKdIkWpmZSez5/QBc+c7JteJ3WxSSACZzefegb4mJ2R556rmuAGb51vn2+YrZ2vm3eaNLTvnG+a35tvmvAA75rvnR6Z75vVl++fB5sDmh+d9JjNnsWZI5mfnSOYJ4YnwC+aj5lTmByZL5tfnVuY35pvmW+ZP5zkBG3D35kABbwHr5o/mABZ350AWD+fP5i2nL+Ze5a/njWbF5tGnjGbk597nQIGf5q1mcAwj5xfnBWM/5+8nv+bL5qunj+agF4AWWgDP5iAXt+dP5/fnwBe7574mEBdG5m/m8Obv5qHnH+aspzAXOyarFThJAdEL55fnqQFX5ogX46ZIF6gWa+fIFmgXD+eIFyAWRBbAFw/m6BeUAK/nGBaQF2/m16dQF0dmjefZZjgX+Ka4Fz7RsJj4FwgWquc7Z64BhBaAF4yAQBZkFhvnJBaoFzkBzBbaZ+AW++cUFmtnkBbdJ1AWzWeh5wmnNBdOJ0Th3+bYgPQWBBYMFjTnN+akFkwWJIDMFmAXKBcAFigW5Bd75+nmB+cfplAX4AEg59AWc+Zf5wz1GdFwF/kR8BbQp/QWLub/54wXr2dCF8AXLBYiF8QXYBYHJuwWYhaYFwfmVBYSFuVm3BZ3pjwXYSZv2TSgeBY/5vzmCBb8FnIXDBcCFqwX8hbEF6AXChaEFoIXIhYv5+gX7BbB5pQXmBeqFx9mkhYaF5UmmhZ0FpfnMhaBp7IX1+a6F//mehd35voWbBaKFqAWbBaiFhQXxhccF5QX4hd9Jllm2BfcFrgBZ+f4pvzEF+byXXwC2hayFjoXVhYCF9YXihdEF6wWwhZ2F6QWwhf2FhgXDhfY5nWmXefUFqEnZhYvJ/PmztF0FpYWV+fkFn/mKedyFoYXNhY+FgYWJIDyFkoXbBdGFioWJhZAAJnm6hbmZ0EW3tG15BYW8BYeF5YWnhd/5tYWfwGxJvAA/uFt5gpn9AEpFuQBqRbxtUccGRepFu8AXAFNLa0nehaRFiQXBhY2F/oXZBZGF+QW/herZgEWnBYMp+AADeZmFy4WUhZqNTmRvBfuF8rmVhfJFl4XURfeFigWvhZ5F0oX7yfKF4Xm9eYJJn8B6oEzgYkn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gIpW+Jb8Q9RxklemVvZWuledl6pWFleOVupXiZZlZvJXh+al5tcW4lYzl+9ttlY6Vx8mnlZsVl5WUwCyViyWBlbw5ibmuZfqp1inflbi5ufmF2EBVlJXHlesVyeWgGaOV8LmTlYGl/DnTGbhVhFWWedXiTTIUVYeVzpX0Vbzll4WEWYhVpOW3OfxVkMn4VeuV/imWnm8VspXUVfJVuZXqVb6V7JWoVdyViJXhldOFplXa5cIw0lWeubRVzlWsVbp5nFXfZfw5lb5PpaFVzZWLdFFVoGWZlZBVjFWelfBV7lXIVZAl8bnlqblV/bmjFbn5o/RlVc0VwtnxVYOV3CnJVdy5mGXl5e0p5amOJbUFgeXmldzZIqYklbZVslXgVYpV66W/+a5VxZWQlZyV/DmOJdGVqhX+KaTZeya9MXaV9lXPVYlV15XsVfeV2IWqGYdVhVXlSepiVlXI1Y9V/xWLVcCV2NWpVfjVyoXA1YRl5NX1ZZMVu5X3VbFVjlWs1YyVzVW/Vf6VnVXoVftV+qm1lbGVi8nZzzTVqZXy1ejVytX5lerVt5WllZyV1ZWi1Yh4A8ghHAf6HZX+WfNV7pWwVf0luNW+1d5V/CXm1ZPiW5WJTVHVoFXM1cnVw5Wc1etV6VXbVYLV1gX1lY65sPm+lJNVznnHmYnV55WN1Z7VmdX/Vd5VgdW05YzlptFOTRXVqNW11fPVy1XN1Yd5m1XllYLVpSX91Y+53Nlw1ebpZf1n1cqV9dW31cvV3NXZ1brVu1XdKY4l2oWA5fLFpNlXVfqtdtWVVbPV0FWL1enViDXr1ag1gtWzhd/V51WueQkcJ9WM1ZA119Xs1fA1rdW81dOVxNX6qafZhdXEfyVVx9Xw1VXV0jX0NbA1zDXKNcg13KX61Zg1t6nB1eDl7kkmNaA1kjX9ldA18jWONY/V7dWv1Zo1pqm71aRV5ybkNbHVyNm0NfVVqdX8Fao1gaX51ZDV2uXkVaE1lDXTVb1kitWxNarViTXuFc/VgNWqGY9JsMnAyf41lYoAVb01pTXIWZU1ylXG+d9V3tXsNe416DX/SaDJkMnwyds1ltxLOhHV5jXgNdE1sjWTNfU1rjXVpZ41iDmLlYAACX81mqYANYG3RzXqOec171W1hbc1q9Xa1c81qJX+VYKVuDX8NYQ1ysggteE1jtWX1bY18TWItY81qLWQAHylzaXCpYgAbknJFfqpsOBWSY9JyqWpACOlwrW8+YmVhzWWNdC1irXwtZ157bmPlYjF/2Xutc7JgD4iNeC1kTW1VZc1zFX31bM1qTWA1aGVgpW8eadV+JWSlb61kLW5tfS1qlWrVck1jTXfZdvVjbW8+fVRErX9NZPVs1WjNbC17tXTNd151iWwlby1y+W91fo1gc5BNeXVmbWytdY11TWMNaq17LWatdy1/JXL5abV7TXPFYJg7bXZta9VzGXsFYO1pbWjtdtVrTXDVeZV7rJIde+1gbXftfY1/7WeVZw11bXL5diVxFXmVbsyC7WUtdPVm7XBtbu17HXtVZy1vHW0Bbk15lWRBRJ1/rXdtZh1thW4dYe1+pWnFZIV0HXkdbD5uRNj1YsV8nXMdcq14bWeFdOV2nWf1be1t2Z+dbR11DWhdfm1jVX7tZG12IXadcdVppX4lZIepnWdteh1tyWNefZ15XX81dp1trnedc8Vo9XZdYM1qHB5db211zX9dbF1zTXxtal1xYLS6HN1q7XDNc7V4zXKddF18zXeVaB1gVW6NbB1pVmS1c+10rW5dfd127XMtaw1gHXGeYd1gPWwRcZ10tX01fR1lnXdddh1xbWOddG1hpWEtd1mZ3W3VcT10PXyteF1obXQeZx1mnXntd9J17XY9ZS0VHXc9cu1wXWw9Yp1iPXONeq1sKnadZ51v5XJtYh1mvXSdeu1+vXC9c914vXqdZq129X+Fdvl2xnXgC95pMnRFacZv3m+Sc5AaRXOgEaFrXToKwbUXUcAFZiAMOBz5CXEDfW2jDX59hnmo3KpcldsGfDgKJmYFZiZq0sJta0Ft1sgAkoa/ahdRzaZklk0Pi4Z/bW09YN1rEWB1Yn5w8m6mcr1gngr9ZqkejcDEQYVi2mH9ZYUkcn1GYW1ijXDtci16PXGlfg1rAXoKGWK//X1RtQVolngDZ+0UA29dZf1u3XfZdbp7km+ScFJ0Umutcd1nBrg9hv154haQHv174mQDefJsA3Fdap12lWWSeH1qxnR9aEVndmn5c6AF+WmqczJkPn3GZTV3kAkG1tJcV419deAIBXQHUeJguKwFcpMSg30+dYVgxXz9cd15aww8ygkAQ31wjQVjQAMFYxJn1W3WfjZ+0Bbgi915bWb1e511xWv9ZN1lNXxlFvOSdxzHSWFphX0SagVthWtDe0560nq+ZpVvCWgRZH1j3n4yYflhxmp9d95tqQQACFJjpd35dD5r+Wc83S0SUQfUaENxwAw4FLJ7AA4+Ze4AtmayZSANow9nSLICgBZDdeAWA3JtcJJewRW80kSFPM2mf/p+CMUjc0NnVmHDdhp5w3Hta81qJXgAFgAEEmsSasAJimflaMNqfmTDbBFrI2GOhcQYu5883yNzhnqPSKNjLX7DeB5gRnyjc51v2WYDYv104nkAInyC1GEZjLzbo2VGaP18gAbEGKN9HmMOa2AAfX6DYh5junJde/1ziAQcjjQQHQZazyNolmCjd7zPo2qVYGNjHm1jeGNjPXotfc5ivWWjeqA0JJ2jfKmePM5jblp3o2ljf6Nko3BjaIZ9Y25ZaoZjum29cJ1iY29jfaN2j9XjeONno3Cjc+N843vjcuNug3/jYfZq+XTteoV0E30tDpQo42/6ahN042YTdc1i43VjYRNio2zldk1lE3+KcmN/Y24BML/WY3ITfmN5I3cTddZuE2CTb0NhHXpNaRN4NWHjaX8NE2Whbs2TE3j6exNrwUzjbxNxk3CGauNrVWNjd1Voznjdfb1sk2uTcj57/ReTcwZ2k2PjY15/E2RTcJNkY2zlf91jk3djaeN9LR6gghNrE2lTehNlU3hTadp0U2a1ZL1wHWYVefplb4hSeAgAUmZuaz1to29TYucBU3lGfeN403sFdVNs031TZuNwaXnBYSFrU3pTZBN3U2cjc/mLo2aTY9NnE2TTZWNtU3mTagNrOmc6adNz+l2jfSyA02+TaNN6M2vTdNNq+mxTd7lqYWpTeBNzxXnTe5Nzo3yuZONgU36TdjZ/nmmTb+Nok2+5fZN4M3izZTN0I2c/2pNw02ozcrNmM2azbjNus2NTb7lg1WmzdkVks3wBONQN02jqczNrs3szdjNn034zeb1kmXVBYJ1olXkGhbNwHRwTfHNjhnJzYNZQU2GTZnN3M2LTcH15OWAzcBN5M3jOGeN8gwNzbLpmmmpzbsNnM2dGYPN8U2V5Ze1082H8gtR/bD2zYzNzs3tzarN/9ntDfAZ643zZamFvHm3DcEVjw3hFa8NrgAxFfYNv3mPSYCN+fWcyaVZnwxpl0/ua5c002UV2Pn7ibLJ0BXEefAVvWSXmbSN5wBxja/lpC3Ll1DFQA3X/EIcGw2PdfYVgDnOFd9NgfmpRY/1txX6dYmNki3Nl1AsbSLVDcotioBOVe9N8kmnDbzNio2+FaYN9w27Gc8N73nvDfEV3w2PScK5rg2P5YX1lGXtKLo3EDERNzQt24mwjbLJ4qAk+cBpkf7cWRt6fC3T9az57U2kaz7JW0cONCTFjYofrF4tu82dDa4V9PWB+ff1/qAKFfcVnY2TLb3CCkcTpAst74m1xXD1vi3rSbst1/X7dagpkC275bAt1g3JLegt6S2l4Dn17g2ZFYvJkyIr93BibXcftAiNkQ3dJTENw8McLckNiBXpDYp5gi2MjeSpswoH91ISOYSuLfUNrtWaLb/Nui25zaj1xM3c6aYt4w2hzfitoq339wgxF2YyreYVzBW+9cqt0o3ywF0Nvs2/TeEtm+XRLfH18S3J9cgt6fWoreqZ+C3a5Yb6/c9lDZStpRXbicwtmI3sLdNV3C2fieVN6BX+oFgVuQ3XLZXZF7ELDZ0sjq2qLazN2829zccNgK2sDdtVxy2amc/15o2mrcHPAeNlz1UeFQ3I6esNni2trfOtns2naf6tgC3eFdcNkS3QLbEt8C2JLYmtnw3vAA9JxFUZreIt34hlbwji2kBUrZWtjK2UJSytsfJNrfgjBsntrZOcXa30jaItxC24bY1vORhyDfettQ3Oraf1oU2LrZ0NgS2Hzb15xi2nLfutyhXjLd88u29dahJtxhWybdOt9A3pzZ+t/i2rre91qDWhregF5g2wrZEV8G2pLchtkbi5LaCN4iXs0mX17apuYFStjS2Yja0tgtndLZ0V5CADLZ2ts/W8bcd15NIkrohSgFJkDb/p7y2urYV1383era+oei3Khfptu63mLdJN+yW5bY8to23yzdNt6y2qbb6t/m39DcFtwG3hreBt0a3QbfGtqEmIbeuAIUnprdithS2LyZ2AdZiM31Lyd2Alrb8Z6I3YjZidK7WEjaEAJI3bOfyt/G2o7fBTGfJeQHFeN43y6eotvy2yjcEtjU3RmeqN2o2mgHqN4ABGjYath62izaVZ2GE87cGtCy3+Te6tku3/zbLtwa2Y9eZt5bsIRl9yFkS3rY7Nou3fLZstru3abaJNgE31tfV1hBX9EUryIe227a3N8237OY4V343/reo1pE37jcetzk38OqTfRe39xYrNju3x7aGN7u2E1aRNoE3lzc4gD4oF7YgyYe3PzdHthvXO7dPtye3y7aRNpc2vOdhtpZB97bvtpe2vzZXt9bm17fNN9zXarai5kk3Z7eoV2Nhb7YhJP+3H7ePtj22X7ZAdy02CucbNxu2o7YFQ6B2WTEPt9u2AHau53BXgHay15B23OcSFli2v5f5gRfJB7d/t7B3l7et13c3ebfvNpB3DzeIdoM20HdZgIXpMHY6wcs2cHdod6s3aRf3Nxh3HzcqN0xnJmbtNh03CVc/tpVn2HZbt++HYHevN+B36HdLt1+2/Td91gpWWHavtyYY+8gzfA+2uHZod1nXljYUdie2BHb15k7WIHbJN8h24Rh3AAu3Izbgd3B2K+a15hh3CHaYdh+mjdYS1wKBcCGkdjl5qHf/tnh2LbZ+Ngh3I9aId5x2y9bV1gq3WLYN8Dx2rHZHtuR3bHZt5yvnZzYGtlXXgncHN1h21lxVPCJ377cVN7x29Ha+NhB317bPtw3XgnY/tgnmv5Zvt9J3ZHdUZp+2T7bydpR3EneB1k83SHaVZpNQLHfztjJ33TZsdnx3V7dot6p2jHaJN1XXt7ZSdnU24ZDKdrx32neyd2E3cnf8dpvXQHfdJ1XW7DJCtsfXHAAn1iIA2De2Jv3ndicIgGK35LYQt9WW3Emp/cJ5qbhR0JG3gFawt8Q20bb1ADG29SextgEmjLZ3tx2Nf0SB/fScDnYLZ7UnybdsN/R2+Ha5Fmq3Ane8AHA2uSYiVqKntycapsOA4VYlJ+u2mbdudnll49Aed/Z3zeZedrm3vrR5tj52dDettze2IqeAAAlXXeeFtka3FnbGt5Z2IrdWd3w3diakViO3tnczKcdc1gPAwRbijndENta2rtY2tyBX4I0bJwy3DFYhdp/Re+TNgSl3yLe85NEnPrcZdxF24nfJJlF3cVb7lgI3yFcZtly2+7bRRS0LjgO5CLl2AWR5dlhWEXe+tpF2+raFd32WpRevlrF3/bZxdwO28XfFtyK3vAF2J0dnpbZ4N5q2dZGSTGOzYTOpd9K3aXfYZ+l3crbe5LG3UjeZdva3mbYSti13G1x9FZ520gHKt0GnuzZVdycg1XZ3Vp7m+aZxpvGmwXYld1l33XcIudRivXcR5uF3eXbUZ/12BXc+dhJ2bbaTNzV33ee1dpZ2VnbTTQl2MydcZkl3HbYeQSeCCcqpdhO2MLeOd1a3TnfWt7K28La+trO29bej4e53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hScn2DoJZN5cZlvxZN80zeaBZN9K7CAVZN8I3oFxX19n1zgB9N6vXwqfkN+M30aAQAA/DvNfsE1fXmCvOADQ0HDe8A7zXr11bN6U35jfbN8A3zTfbyfvH9wBPAFUgU5lgxWDQA4A/uAIAJRWdbdAANan2yYay/QBolbEWeAA2WCHwDkmjSztgfQBa4/04TteQAAR0VSPdie3JsRZgICOgXYnd6aPJkWm6IFi13GmKOE5AEUnWKdYpgUmvSY31igB4ACBwNAAzMDwAPAB4AC9J2JBWt85AD0nzkk5AOngw4FYp1knSt/K3v6AvSZl53emod3bJ6reRSd+AVingIDmaSreat7q3qKnyydUAeLedoDQAFgBWt/a3wzgut/0APrf/QAG31imZt73ICgBTWe7gD0mpedi1mzWDgGVYdsmPV/0AFGn2tdi1sAALSfBJ60W0AEIgdrfRO223zOnwSY5Fn8ApO85AfNgw4BW+WLX8I6kAMOBM6aFJ+qnd6brcdsm2gC9gbrf4ADi3hLey4CS3tOBut5VXRFUjQFUj4EAZLYsAMMnaAHCVqG3hkF3p+Bp2yal50CltyaYAMMnYtbDgA4mqt9q3p2OVt+7ga0WQ7DQAClFtt463tIA9t69zqjYLcE5AfjAw4Cp3/eAad7p3hnfd6amwdsnKgDLgWLXXic5AAUnfwHr5kuAUAAiAeABWKbLgX0nsacNLOQANpexp9imojdKl8qWt4E+3ugA+d5LXtYQ+t8IgMOBAye5ljfXEMDDgYPhQd9ZJkUnd6fhQBHfYQCR31LeUd+BAeLeMMHR3lwBkt6x3tRFOQFx3nrfEgAJ3iQAid5J3lwnd6fDzdsnht5FJirf9ACq3pbf6t8a3hZBmt/N3treed6hgC3eet4UEPre5gAG3obeJADK35PfRt/G3g4A4aM93sgBvd69z33fEgH93i6BA9+D31Lfsd7D3hOOI94YAKPeY95xpuPeDgFHZ9snKAAb3pQevSfgAQMmoqZa1r3w7iZYAeAAwybAAO1fgXax3z6g2h64AXHeRSfOIVanHVAf4Irfit5AARHfkd9R3gPeMd5S3kIfQ9/0AcPf8d4pgfvfSd8N7offJt8Spo/efd5P31vez95D3oWgu97x3yPfb9+J3gfeyd6H3u7fn96934/e/d7R3j/eO98v3jffu95v3wnf/9/v3nC4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"))
///////////////////////////////////////////////
///////////////////////////////////////////////
/* Utility functions */
var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
pcbdata.metadata.revision + '__#';
var storage;
function initStorage(key) {
try {
window.localStorage.getItem("blank");
storage = window.localStorage;
} catch (e) {
// localStorage not available
}
if (!storage) {
try {
window.sessionStorage.getItem("blank");
storage = window.sessionStorage;
} catch (e) {
// sessionStorage also not available
}
}
}
function readStorage(key) {
if (storage) {
return storage.getItem(storagePrefix + key);
} else {
return null;
}
}
function writeStorage(key, value) {
if (storage) {
storage.setItem(storagePrefix + key, value);
}
}
function fancyDblClickHandler(el, onsingle, ondouble) {
return function () {
if (el.getAttribute("data-dblclick") == null) {
el.setAttribute("data-dblclick", 1);
setTimeout(function () {
if (el.getAttribute("data-dblclick") == 1) {
onsingle();
}
el.removeAttribute("data-dblclick");
}, 200);
} else {
el.removeAttribute("data-dblclick");
ondouble();
}
}
}
function smoothScrollToRow(rowid) {
document.getElementById(rowid).scrollIntoView({
behavior: "smooth",
block: "center",
inline: "nearest"
});
}
function focusInputField(input) {
input.scrollIntoView(false);
input.focus();
input.select();
}
function saveBomTable(output) {
var text = '';
for (var node of bomhead.childNodes[0].childNodes) {
if (node.firstChild) {
text += (output == 'csv' ? `"${node.firstChild.nodeValue}"` : node.firstChild.nodeValue);
}
if (node != bomhead.childNodes[0].lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
for (var row of bombody.childNodes) {
for (var cell of row.childNodes) {
let val = '';
for (var node of cell.childNodes) {
if (node.nodeName == "INPUT") {
if (node.checked) {
val += '✓';
}
} else if ((node.nodeName == "MARK") || (node.nodeName == "A")) {
val += node.firstChild.nodeValue;
} else {
val += node.nodeValue;
}
}
if (output == 'csv') {
val = val.replace(/\"/g, '\"\"'); // pair of double-quote characters
if (isNumeric(val)) {
val = +val; // use number
} else {
val = `"${val}"`; // enclosed within double-quote
}
}
text += val;
if (cell != row.lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
}
if (output != 'clipboard') {
// To file: csv or txt
var blob = new Blob([text], {
type: `text/${output}`
});
saveFile(`${pcbdata.metadata.title}.${output}`, blob);
} else {
// To clipboard
var textArea = document.createElement("textarea");
textArea.classList.add('clipboard-temp');
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
if (document.execCommand('copy')) {
console.log('Bom copied to clipboard.');
}
} catch (err) {
console.log('Can not copy to clipboard.');
}
document.body.removeChild(textArea);
}
}
function isNumeric(str) {
/* https://stackoverflow.com/a/175787 */
return (typeof str != "string" ? false : !isNaN(str) && !isNaN(parseFloat(str)));
}
function removeGutterNode(node) {
for (var i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].classList &&
node.childNodes[i].classList.contains("gutter")) {
node.removeChild(node.childNodes[i]);
break;
}
}
}
function cleanGutters() {
removeGutterNode(document.getElementById("bot"));
removeGutterNode(document.getElementById("canvasdiv"));
}
var units = {
prefixes: {
giga: ["G", "g", "giga", "Giga", "GIGA"],
mega: ["M", "mega", "Mega", "MEGA"],
kilo: ["K", "k", "kilo", "Kilo", "KILO"],
milli: ["m", "milli", "Milli", "MILLI"],
micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
nano: ["N", "n", "nano", "Nano", "NANO"],
pico: ["P", "p", "pico", "Pico", "PICO"],
},
unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
unitsLong: [
"OHM", "Ohm", "ohm", "ohms",
"FARAD", "Farad", "farad",
"HENRY", "Henry", "henry"
],
getMultiplier: function (s) {
if (this.prefixes.giga.includes(s)) return 1e9;
if (this.prefixes.mega.includes(s)) return 1e6;
if (this.prefixes.kilo.includes(s)) return 1e3;
if (this.prefixes.milli.includes(s)) return 1e-3;
if (this.prefixes.micro.includes(s)) return 1e-6;
if (this.prefixes.nano.includes(s)) return 1e-9;
if (this.prefixes.pico.includes(s)) return 1e-12;
return 1;
},
valueRegex: null,
}
function initUtils() {
var allPrefixes = units.prefixes.giga
.concat(units.prefixes.mega)
.concat(units.prefixes.kilo)
.concat(units.prefixes.milli)
.concat(units.prefixes.micro)
.concat(units.prefixes.nano)
.concat(units.prefixes.pico);
var allUnits = units.unitsShort.concat(units.unitsLong);
units.valueRegex = new RegExp("^([0-9\.]+)" +
"\\s*(" + allPrefixes.join("|") + ")?" +
"(" + allUnits.join("|") + ")?" +
"(\\b.*)?$", "");
units.valueAltRegex = new RegExp("^([0-9]*)" +
"(" + units.unitsShort.join("|") + ")?" +
"([GgMmKkUuNnPp])?" +
"([0-9]*)" +
"(\\b.*)?$", "");
if (config.fields.includes("Value")) {
var index = config.fields.indexOf("Value");
pcbdata.bom["parsedValues"] = {};
for (var id in pcbdata.bom.fields) {
pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index])
}
}
}
function parseValue(val, ref) {
var inferUnit = (unit, ref) => {
if (unit) {
unit = unit.toLowerCase();
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
unit = 'r';
}
unit = unit[0];
} else {
ref = /^([a-z]+)\d+$/i.exec(ref);
if (ref) {
ref = ref[1].toLowerCase();
if (ref == "c") unit = 'f';
else if (ref == "l") unit = 'h';
else if (ref == "r" || ref == "rv") unit = 'r';
else unit = null;
}
}
return unit;
};
val = val.replace(/,/g, "");
var match = units.valueRegex.exec(val);
var unit;
if (match) {
val = parseFloat(match[1]);
if (match[2]) {
val = val * units.getMultiplier(match[2]);
}
unit = inferUnit(match[3], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[4],
}
}
match = units.valueAltRegex.exec(val);
if (match && (match[1] || match[4])) {
val = parseFloat(match[1] + "." + match[4]);
if (match[3]) {
val = val * units.getMultiplier(match[3]);
}
unit = inferUnit(match[2], ref);
if (!unit) return null;
else return {
val: val,
unit: unit,
extra: match[5],
}
}
return null;
}
function valueCompare(a, b, stra, strb) {
if (a === null && b === null) {
// Failed to parse both values, compare them as strings.
if (stra != strb) return stra > strb ? 1 : -1;
else return 0;
} else if (a === null) {
return 1;
} else if (b === null) {
return -1;
} else {
if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
else if (a.val != b.val) return a.val > b.val ? 1 : -1;
else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
else return 0;
}
}
function validateSaveImgDimension(element) {
var valid = false;
var intValue = 0;
if (/^[1-9]\d*$/.test(element.value)) {
intValue = parseInt(element.value);
if (intValue <= 16000) {
valid = true;
}
}
if (valid) {
element.classList.remove("invalid");
} else {
element.classList.add("invalid");
}
return intValue;
}
function saveImage(layer) {
var width = validateSaveImgDimension(document.getElementById("render-save-width"));
var height = validateSaveImgDimension(document.getElementById("render-save-height"));
var bgcolor = null;
if (!document.getElementById("render-save-transparent").checked) {
var style = getComputedStyle(topmostdiv);
bgcolor = style.getPropertyValue("background-color");
}
if (!width || !height) return;
// Prepare image
var canvas = document.createElement("canvas");
var layerdict = {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
bg: canvas,
fab: canvas,
silk: canvas,
highlight: canvas,
layer: layer,
}
// Do the rendering
recalcLayerScale(layerdict, width, height);
prepareLayer(layerdict);
clearCanvas(canvas, bgcolor);
drawBackground(layerdict, false);
drawHighlightsOnLayer(layerdict, false);
// Save image
var imgdata = canvas.toDataURL("image/png");
var filename = pcbdata.metadata.title;
if (pcbdata.metadata.revision) {
filename += `.${pcbdata.metadata.revision}`;
}
filename += `.${layer}.png`;
saveFile(filename, dataURLtoBlob(imgdata));
}
function saveSettings() {
var data = {
type: "InteractiveHtmlBom settings",
version: 1,
pcbmetadata: pcbdata.metadata,
settings: settings,
}
var blob = new Blob([JSON.stringify(data, null, 4)], {
type: "application/json"
});
saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}
function loadSettings() {
var input = document.createElement("input");
input.type = "file";
input.accept = ".settings.json";
input.onchange = function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = readerEvent => {
var content = readerEvent.target.result;
var newSettings;
try {
newSettings = JSON.parse(content);
} catch (e) {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
if (newSettings.type != "InteractiveHtmlBom settings") {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
if (metadataMatches) {
for (var k in pcbdata.metadata) {
if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
metadataMatches = false;
}
}
}
if (!metadataMatches) {
var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
if (!confirm(
`Settins file metadata does not match current metadata.\n\n` +
`Page metadata:\n${currentMetadata}\n\n` +
`Settings file metadata:\n${fileMetadata}\n\n` +
`Press OK if you would like to import settings anyway.`)) {
return;
}
}
overwriteSettings(newSettings.settings);
}
reader.readAsText(file, 'UTF-8');
}
input.click();
}
function resetSettings() {
if (!confirm(
`This will reset all checkbox states and other settings.\n\n` +
`Press OK if you want to continue.`)) {
return;
}
if (storage) {
var keys = [];
for (var i = 0; i < storage.length; i++) {
var key = storage.key(i);
if (key.startsWith(storagePrefix)) keys.push(key);
}
for (var key of keys) storage.removeItem(key);
}
location.reload();
}
function overwriteSettings(newSettings) {
initDone = false;
Object.assign(settings, newSettings);
writeStorage("bomlayout", settings.bomlayout);
writeStorage("bommode", settings.bommode);
writeStorage("canvaslayout", settings.canvaslayout);
writeStorage("bomCheckboxes", settings.checkboxes.join(","));
document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
for (var checkbox of settings.checkboxes) {
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
}
writeStorage("markWhenChecked", settings.markWhenChecked);
padsVisible(settings.renderPads);
document.getElementById("padsCheckbox").checked = settings.renderPads;
fabricationVisible(settings.renderFabrication);
document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
silkscreenVisible(settings.renderSilkscreen);
document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
referencesVisible(settings.renderReferences);
document.getElementById("referencesCheckbox").checked = settings.renderReferences;
valuesVisible(settings.renderValues);
document.getElementById("valuesCheckbox").checked = settings.renderValues;
tracksVisible(settings.renderTracks);
document.getElementById("tracksCheckbox").checked = settings.renderTracks;
zonesVisible(settings.renderZones);
document.getElementById("zonesCheckbox").checked = settings.renderZones;
dnpOutline(settings.renderDnpOutline);
document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
setRedrawOnDrag(settings.redrawOnDrag);
document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
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 {
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 checkboxSetUnsetAllHandler(checkboxname) {
return function () {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (checkboxnum >= settings.checkboxes.length) {
return;
}
var allset = true;
var checkbox;
var row;
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
if (!checkbox.checked || checkbox.indeterminate) {
allset = false;
break;
}
}
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = !allset;
checkbox.indeterminate = false;
checkbox.onchange();
}
}
}
function createColumnHeader(name, cls, comparator, is_checkbox = false) {
var th = document.createElement("TH");
th.innerHTML = name;
th.classList.add(cls);
if (is_checkbox)
th.setAttribute("col_name", "bom-checkbox");
else
th.setAttribute("col_name", name);
var span = document.createElement("SPAN");
span.classList.add("sortmark");
span.classList.add("none");
th.appendChild(span);
var spacer = document.createElement("div");
spacer.className = "column-spacer";
th.appendChild(spacer);
spacer.onclick = function () {
if (currentSortColumn && th !== currentSortColumn) {
// Currently sorted by another column
currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
if (currentSortColumn && th === currentSortColumn) {
// Already sorted by this column
if (currentSortOrder == "asc") {
// Sort by this column, descending order
bomSortFunction = function (a, b) {
return -comparator(a, b);
}
currentSortColumn.childNodes[1].classList.remove("asc");
currentSortColumn.childNodes[1].classList.add("desc");
currentSortOrder = "desc";
} else {
// Unsort
bomSortFunction = null;
currentSortColumn.childNodes[1].classList.remove("desc");
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
} else {
// Sort by this column, ascending order
bomSortFunction = comparator;
currentSortColumn = th;
currentSortColumn.childNodes[1].classList.remove("none");
currentSortColumn.childNodes[1].classList.add("asc");
currentSortOrder = "asc";
}
populateBomBody();
}
if (is_checkbox) {
spacer.onclick = fancyDblClickHandler(
spacer, spacer.onclick, checkboxSetUnsetAllHandler(name));
}
return th;
}
function populateBomHeader(placeHolderColumn = null, placeHolderElements = null) {
while (bomhead.firstChild) {
bomhead.removeChild(bomhead.firstChild);
}
var tr = document.createElement("TR");
var th = document.createElement("TH");
th.classList.add("numCol");
var vismenu = document.createElement("div");
vismenu.id = "vismenu";
vismenu.classList.add("menu");
var visbutton = document.createElement("div");
visbutton.classList.add("visbtn");
visbutton.classList.add("hideonprint");
var viscontent = document.createElement("div");
viscontent.classList.add("menu-content");
viscontent.id = "vismenu-content";
settings.columnOrder.forEach(column => {
if (typeof column !== "string")
return;
// Skip empty columns
if (column === "checkboxes" && settings.checkboxes.length == 0)
return;
else if (column === "Quantity" && settings.bommode == "ungrouped")
return;
var label = document.createElement("label");
label.classList.add("menu-label");
var input = document.createElement("input");
input.classList.add("visibility_checkbox");
input.type = "checkbox";
input.onchange = function (e) {
setShowBOMColumn(column, e.target.checked)
};
input.checked = !(settings.hiddenColumns.includes(column));
label.appendChild(input);
if (column.length > 0)
label.append(column[0].toUpperCase() + column.slice(1));
viscontent.appendChild(label);
});
viscontent.childNodes[0].classList.add("menu-label-top");
vismenu.appendChild(visbutton);
if (settings.bommode != "netlist") {
vismenu.appendChild(viscontent);
th.appendChild(vismenu);
}
tr.appendChild(th);
var checkboxCompareClosure = function (checkbox) {
return (a, b) => {
var stateA = getCheckboxState(checkbox, a);
var stateB = getCheckboxState(checkbox, b);
if (stateA > stateB) return -1;
if (stateA < stateB) return 1;
return 0;
}
}
var stringFieldCompareClosure = function (fieldIndex) {
return (a, b) => {
var fa = pcbdata.bom.fields[a[0][1]][fieldIndex];
var fb = pcbdata.bom.fields[b[0][1]][fieldIndex];
if (fa != fb) return fa > fb ? 1 : -1;
else return 0;
}
}
var referenceRegex = /(?<prefix>[^0-9]+)(?<number>[0-9]+)/;
var compareRefs = (a, b) => {
var ra = referenceRegex.exec(a);
var rb = referenceRegex.exec(b);
if (ra === null || rb === null) {
if (a != b) return a > b ? 1 : -1;
return 0;
} else {
if (ra.groups.prefix != rb.groups.prefix) {
return ra.groups.prefix > rb.groups.prefix ? 1 : -1;
}
if (ra.groups.number != rb.groups.number) {
return parseInt(ra.groups.number) > parseInt(rb.groups.number) ? 1 : -1;
}
return 0;
}
}
if (settings.bommode == "netlist") {
tr.appendChild(createColumnHeader("Net name", "bom-netname", (a, b) => {
if (a > b) return -1;
if (a < b) return 1;
return 0;
}));
tr.appendChild(createColumnHeader("Color", "bom-color", (a, b) => {
return 0;
}));
} else {
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
var valueIndex = config.fields.indexOf("Value");
var footprintIndex = config.fields.indexOf("Footprint");
columns.forEach((column) => {
if (column === placeHolderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
th = createColumnHeader(
checkbox, "bom-checkbox", checkboxCompareClosure(checkbox), true);
tr.appendChild(th);
}
} else if (column === "References") {
tr.appendChild(createColumnHeader("References", "references", (a, b) => {
var i = 0;
while (i < a.length && i < b.length) {
if (a[i] != b[i]) return compareRefs(a[i][0], b[i][0]);
i++;
}
return a.length - b.length;
}));
} else if (column === "Value") {
tr.appendChild(createColumnHeader("Value", "value", (a, b) => {
var ra = a[0][1], rb = b[0][1];
return valueCompare(
pcbdata.bom.parsedValues[ra], pcbdata.bom.parsedValues[rb],
pcbdata.bom.fields[ra][valueIndex], pcbdata.bom.fields[rb][valueIndex]);
}));
return;
} else if (column === "Footprint") {
tr.appendChild(createColumnHeader(
"Footprint", "footprint", stringFieldCompareClosure(footprintIndex)));
} else if (column === "Quantity" && settings.bommode == "grouped") {
tr.appendChild(createColumnHeader("Quantity", "quantity", (a, b) => {
return a.length - b.length;
}));
} else {
// Other fields
var i = config.fields.indexOf(column);
if (i < 0)
return;
tr.appendChild(createColumnHeader(
column, `field${i + 1}`, stringFieldCompareClosure(i)));
}
});
}
bomhead.appendChild(tr);
}
function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
const urlRegex = /^(https?:\/\/[^\s\/$.?#][^\s]*|file:\/\/([a-zA-Z]:|\/)[^\x00]+)$/;
while (bom.firstChild) {
bom.removeChild(bom.firstChild);
}
highlightHandlers = [];
footprintIndexToHandler = {};
netsToHandler = {};
currentHighlightedRowId = null;
var first = true;
var style = getComputedStyle(topmostdiv);
var defaultNetColor = style.getPropertyValue('--track-color').trim();
if (settings.bommode == "netlist") {
bomtable = pcbdata.nets.slice();
} else {
switch (settings.canvaslayout) {
case 'F':
bomtable = pcbdata.bom.F.slice();
break;
case 'FB':
bomtable = pcbdata.bom.both.slice();
break;
case 'B':
bomtable = pcbdata.bom.B.slice();
break;
}
if (settings.bommode == "ungrouped") {
// expand bom table
expandedTable = []
for (var bomentry of bomtable) {
for (var ref of bomentry) {
expandedTable.push([ref]);
}
}
bomtable = expandedTable;
}
}
if (bomSortFunction) {
bomtable = bomtable.sort(bomSortFunction);
}
for (var i in bomtable) {
var bomentry = bomtable[i];
if (filter && !entryMatches(bomentry)) {
continue;
}
var references = null;
var netname = null;
var tr = document.createElement("TR");
var td = document.createElement("TD");
var rownum = +i + 1;
tr.id = "bomrow" + rownum;
td.textContent = rownum;
tr.appendChild(td);
if (settings.bommode == "netlist") {
netname = bomentry;
td = document.createElement("TD");
td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
tr.appendChild(td);
var color = settings.netColors[netname] || defaultNetColor;
td = document.createElement("TD");
var colorBox = document.createElement("INPUT");
colorBox.type = "color";
colorBox.value = color;
colorBox.onchange = netColorChangeHandler(netname);
colorBox.onmouseup = netColorRightClick(netname);
colorBox.oncontextmenu = (e) => e.preventDefault();
td.appendChild(colorBox);
td.classList.add("color-column");
tr.appendChild(td);
} else {
if (reflookup) {
references = findRefInEntry(bomentry);
if (references.length == 0) {
continue;
}
} else {
references = bomentry;
}
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
columns.forEach((column) => {
if (column === placeholderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
if (checkbox) {
td = document.createElement("TD");
var input = document.createElement("input");
input.type = "checkbox";
[input.onchange, 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) {
initUtils();
initRender();
initStorage();
initDefaults();
cleanGutters();
populateMetadata();
dbgdiv = document.getElementById("dbg");
bom = document.getElementById("bombody");
bomhead = document.getElementById("bomhead");
filter = "";
reflookup = "";
if (!("nets" in pcbdata)) {
hideNetlistButton();
}
initDone = true;
setBomCheckboxes(document.getElementById("bomCheckboxes").value);
// Triggers render
changeBomLayout(settings.bomlayout);
// Users may leave fullscreen without touching the checkbox. Uncheck.
document.addEventListener('fullscreenchange', () => {
if (!document.fullscreenElement)
document.getElementById('fullscreenCheckbox').checked = false;
});
}
window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);
///////////////////////////////////////////////
///////////////////////////////////////////////
///////////////////////////////////////////////
</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>