Files
C64PSU/Assembly/c64psu-ibom.html

4710 lines
393 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": false, "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"]}
///////////////////////////////////////////////
///////////////////////////////////////////////
var pcbdata = JSON.parse(LZString.decompressFromBase64("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"))
///////////////////////////////////////////////
///////////////////////////////////////////////
/* Utility functions */
var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' +
pcbdata.metadata.revision + '__#';
var storage;
function initStorage(key) {
try {
window.localStorage.getItem("blank");
storage = window.localStorage;
} catch (e) {
// localStorage not available
}
if (!storage) {
try {
window.sessionStorage.getItem("blank");
storage = window.sessionStorage;
} catch (e) {
// sessionStorage also not available
}
}
}
function readStorage(key) {
if (storage) {
return storage.getItem(storagePrefix + key);
} else {
return null;
}
}
function writeStorage(key, value) {
if (storage) {
storage.setItem(storagePrefix + key, value);
}
}
function fancyDblClickHandler(el, onsingle, ondouble) {
return function () {
if (el.getAttribute("data-dblclick") == null) {
el.setAttribute("data-dblclick", 1);
setTimeout(function () {
if (el.getAttribute("data-dblclick") == 1) {
onsingle();
}
el.removeAttribute("data-dblclick");
}, 200);
} else {
el.removeAttribute("data-dblclick");
ondouble();
}
}
}
function smoothScrollToRow(rowid) {
document.getElementById(rowid).scrollIntoView({
behavior: "smooth",
block: "center",
inline: "nearest"
});
}
function focusInputField(input) {
input.scrollIntoView(false);
input.focus();
input.select();
}
function saveBomTable(output) {
var text = '';
for (var node of bomhead.childNodes[0].childNodes) {
if (node.firstChild) {
var name = node.firstChild.nodeValue ?? "";
text += (output == 'csv' ? `"${name}"` : name);
}
if (node != bomhead.childNodes[0].lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
for (var row of bombody.childNodes) {
for (var cell of row.childNodes) {
let val = '';
for (var node of cell.childNodes) {
if (node.nodeName == "INPUT") {
if (node.checked) {
val += '✓';
}
} else if ((node.nodeName == "MARK") || (node.nodeName == "A")) {
val += node.firstChild.nodeValue;
} else {
val += node.nodeValue;
}
}
if (output == 'csv') {
val = val.replace(/\"/g, '\"\"'); // pair of double-quote characters
if (isNumeric(val)) {
val = +val; // use number
} else {
val = `"${val}"`; // enclosed within double-quote
}
}
text += val;
if (cell != row.lastChild) {
text += (output == 'csv' ? ',' : '\t');
}
}
text += '\n';
}
if (output != 'clipboard') {
// To file: csv or txt
var blob = new Blob([text], {
type: `text/${output}`
});
saveFile(`${pcbdata.metadata.title}.${output}`, blob);
} else {
// To clipboard
var textArea = document.createElement("textarea");
textArea.classList.add('clipboard-temp');
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
if (document.execCommand('copy')) {
console.log('Bom copied to clipboard.');
}
} catch (err) {
console.log('Can not copy to clipboard.');
}
document.body.removeChild(textArea);
}
}
function isNumeric(str) {
/* https://stackoverflow.com/a/175787 */
return (typeof str != "string" ? false : !isNaN(str) && !isNaN(parseFloat(str)));
}
function removeGutterNode(node) {
for (var i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].classList &&
node.childNodes[i].classList.contains("gutter")) {
node.removeChild(node.childNodes[i]);
break;
}
}
}
function cleanGutters() {
removeGutterNode(document.getElementById("bot"));
removeGutterNode(document.getElementById("canvasdiv"));
}
var units = {
prefixes: {
giga: ["G", "g", "giga", "Giga", "GIGA"],
mega: ["M", "mega", "Mega", "MEGA"],
kilo: ["K", "k", "kilo", "Kilo", "KILO"],
milli: ["m", "milli", "Milli", "MILLI"],
micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
nano: ["N", "n", "nano", "Nano", "NANO"],
pico: ["P", "p", "pico", "Pico", "PICO"],
},
unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
unitsLong: [
"OHM", "Ohm", "ohm", "ohms",
"FARAD", "Farad", "farad",
"HENRY", "Henry", "henry"
],
getMultiplier: function (s) {
if (this.prefixes.giga.includes(s)) return 1e9;
if (this.prefixes.mega.includes(s)) return 1e6;
if (this.prefixes.kilo.includes(s)) return 1e3;
if (this.prefixes.milli.includes(s)) return 1e-3;
if (this.prefixes.micro.includes(s)) return 1e-6;
if (this.prefixes.nano.includes(s)) return 1e-9;
if (this.prefixes.pico.includes(s)) return 1e-12;
return 1;
},
valueRegex: null,
valueAltRegex: null,
}
function initUtils() {
var allPrefixes = units.prefixes.giga
.concat(units.prefixes.mega)
.concat(units.prefixes.kilo)
.concat(units.prefixes.milli)
.concat(units.prefixes.micro)
.concat(units.prefixes.nano)
.concat(units.prefixes.pico);
var allUnits = units.unitsShort.concat(units.unitsLong);
units.valueRegex = new RegExp("^([0-9\.]+)" +
"\\s*(" + allPrefixes.join("|") + ")?" +
"(" + allUnits.join("|") + ")?" +
"(\\b.*)?$", "");
units.valueAltRegex = new RegExp("^([0-9]*)" +
"(" + units.unitsShort.join("|") + ")?" +
"([GgMmKkUuNnPp])?" +
"([0-9]*)" +
"(\\b.*)?$", "");
if (config.fields.includes("Value")) {
var index = config.fields.indexOf("Value");
pcbdata.bom["parsedValues"] = {};
var allList = getBomListByLayer('FB').flat();
for (var id in pcbdata.bom.fields) {
var ref_key = allList.find(item => item[1] == Number(id)) || [];
pcbdata.bom.parsedValues[id] = parseValue(pcbdata.bom.fields[id][index], ref_key[0] || '');
}
}
}
function parseValue(val, ref) {
var inferUnit = (unit, ref) => {
if (unit) {
unit = unit.toLowerCase();
if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
unit = 'r';
}
return unit[0];
}
var resarr = /^([a-z]+)\d+$/i.exec(ref);
switch (Array.isArray(resarr) && resarr[1].toLowerCase()) {
case "c": return 'f';
case "l": return 'h';
case "r":
case "rv": return 'r';
}
return null;
};
val = val.replace(/,/g, "");
var match = units.valueRegex.exec(val);
if (Array.isArray(match)) {
var unit = inferUnit(match[3], ref);
var val_i = parseFloat(match[1]);
if (!unit) return null;
if (match[2]) {
val_i = val_i * units.getMultiplier(match[2]);
}
return {
val: val_i,
unit: unit,
extra: match[4],
}
}
match = units.valueAltRegex.exec(val);
if (Array.isArray(match) && (match[1] || match[4])) {
var unit = inferUnit(match[2], ref);
var val_i = parseFloat(match[1] + "." + match[4]);
if (!unit) return null;
if (match[3]) {
val_i = val_i * units.getMultiplier(match[3]);
}
return {
val: val_i,
unit: unit,
extra: match[5],
}
}
return null;
}
function valueCompare(a, b, stra, strb) {
if (a === null && b === null) {
// Failed to parse both values, compare them as strings.
if (stra != strb) return stra > strb ? 1 : -1;
else return 0;
} else if (a === null) {
return 1;
} else if (b === null) {
return -1;
} else {
if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
else if (a.val != b.val) return a.val > b.val ? 1 : -1;
else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
else return 0;
}
}
function validateSaveImgDimension(element) {
var valid = false;
var intValue = 0;
if (/^[1-9]\d*$/.test(element.value)) {
intValue = parseInt(element.value);
if (intValue <= 16000) {
valid = true;
}
}
if (valid) {
element.classList.remove("invalid");
} else {
element.classList.add("invalid");
}
return intValue;
}
function saveImage(layer) {
var width = validateSaveImgDimension(document.getElementById("render-save-width"));
var height = validateSaveImgDimension(document.getElementById("render-save-height"));
var bgcolor = null;
if (!document.getElementById("render-save-transparent").checked) {
var style = getComputedStyle(topmostdiv);
bgcolor = style.getPropertyValue("background-color");
}
if (!width || !height) return;
// Prepare image
var canvas = document.createElement("canvas");
var layerdict = {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
bg: canvas,
fab: canvas,
silk: canvas,
highlight: canvas,
layer: layer,
}
// Do the rendering
recalcLayerScale(layerdict, width, height);
prepareLayer(layerdict);
clearCanvas(canvas, bgcolor);
drawBackground(layerdict, false);
drawHighlightsOnLayer(layerdict, false);
// Save image
var imgdata = canvas.toDataURL("image/png");
var filename = pcbdata.metadata.title;
if (pcbdata.metadata.revision) {
filename += `.${pcbdata.metadata.revision}`;
}
filename += `.${layer}.png`;
saveFile(filename, dataURLtoBlob(imgdata));
}
function saveSettings() {
var data = {
type: "InteractiveHtmlBom settings",
version: 1,
pcbmetadata: pcbdata.metadata,
settings: settings,
}
var blob = new Blob([JSON.stringify(data, null, 4)], {
type: "application/json"
});
saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}
function loadSettings() {
var input = document.createElement("input");
input.type = "file";
input.accept = ".settings.json";
input.onchange = function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = readerEvent => {
var content = readerEvent.target.result;
var newSettings;
try {
newSettings = JSON.parse(content);
} catch (e) {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
if (newSettings.type != "InteractiveHtmlBom settings") {
alert("Selected file is not InteractiveHtmlBom settings file.");
return;
}
var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
if (metadataMatches) {
for (var k in pcbdata.metadata) {
if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
metadataMatches = false;
}
}
}
if (!metadataMatches) {
var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
if (!confirm(
`Settins file metadata does not match current metadata.\n\n` +
`Page metadata:\n${currentMetadata}\n\n` +
`Settings file metadata:\n${fileMetadata}\n\n` +
`Press OK if you would like to import settings anyway.`)) {
return;
}
}
overwriteSettings(newSettings.settings);
}
reader.readAsText(file, 'UTF-8');
}
input.click();
}
function resetSettings() {
if (!confirm(
`This will reset all checkbox states and other settings.\n\n` +
`Press OK if you want to continue.`)) {
return;
}
if (storage) {
var keys = [];
for (var i = 0; i < storage.length; i++) {
var key = storage.key(i);
if (key.startsWith(storagePrefix)) keys.push(key);
}
for (var key of keys) storage.removeItem(key);
}
location.reload();
}
function overwriteSettings(newSettings) {
initDone = false;
Object.assign(settings, newSettings);
writeStorage("bomlayout", settings.bomlayout);
writeStorage("bommode", settings.bommode);
writeStorage("canvaslayout", settings.canvaslayout);
writeStorage("bomCheckboxes", settings.checkboxes.join(","));
document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
for (var checkbox of settings.checkboxes) {
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
}
writeStorage("markWhenChecked", settings.markWhenChecked);
padsVisible(settings.renderPads);
document.getElementById("padsCheckbox").checked = settings.renderPads;
fabricationVisible(settings.renderFabrication);
document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
silkscreenVisible(settings.renderSilkscreen);
document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
referencesVisible(settings.renderReferences);
document.getElementById("referencesCheckbox").checked = settings.renderReferences;
valuesVisible(settings.renderValues);
document.getElementById("valuesCheckbox").checked = settings.renderValues;
tracksVisible(settings.renderTracks);
document.getElementById("tracksCheckbox").checked = settings.renderTracks;
zonesVisible(settings.renderZones);
document.getElementById("zonesCheckbox").checked = settings.renderZones;
dnpOutline(settings.renderDnpOutline);
document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
setRedrawOnDrag(settings.redrawOnDrag);
document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
setHighlightRowOnClick(settings.highlightRowOnClick);
document.getElementById("highlightRowOnClickCheckbox").checked = settings.highlightRowOnClick;
setDarkMode(settings.darkMode);
document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
setHighlightPin1(settings.highlightpin1);
document.forms.highlightpin1.highlightpin1.value = settings.highlightpin1;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
setOffsetBackRotation(settings.offsetBackRotation);
document.getElementById("offsetBackRotationCheckbox").checked = settings.offsetBackRotation;
initDone = true;
prepCheckboxes();
changeBomLayout(settings.bomlayout);
}
function saveFile(filename, blob) {
var link = document.createElement("a");
var objurl = URL.createObjectURL(blob);
link.download = filename;
link.href = objurl;
link.click();
}
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
});
}
var settings = {
canvaslayout: "FB",
bomlayout: "left-right",
bommode: "grouped",
checkboxes: [],
checkboxStoredRefs: {},
darkMode: false,
highlightpin1: "none",
redrawOnDrag: true,
boardRotation: 0,
offsetBackRotation: false,
renderPads: true,
renderReferences: true,
renderValues: true,
renderSilkscreen: true,
renderFabrication: true,
renderDnpOutline: false,
renderTracks: true,
renderZones: true,
columnOrder: [],
hiddenColumns: [],
netColors: {},
}
function initDefaults() {
settings.bomlayout = readStorage("bomlayout");
if (settings.bomlayout === null) {
settings.bomlayout = config.bom_view;
}
if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
settings.bomlayout = config.bom_view;
}
settings.bommode = readStorage("bommode");
if (settings.bommode === null) {
settings.bommode = "grouped";
}
if (settings.bommode == "netlist" && !pcbdata.nets) {
settings.bommode = "grouped";
}
if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
settings.bommode = "grouped";
}
settings.canvaslayout = readStorage("canvaslayout");
if (settings.canvaslayout === null) {
settings.canvaslayout = config.layer_view;
}
var bomCheckboxes = readStorage("bomCheckboxes");
if (bomCheckboxes === null) {
bomCheckboxes = config.checkboxes;
}
settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
document.getElementById("bomCheckboxes").value = bomCheckboxes;
var highlightpin1 = readStorage("highlightpin1") || config.highlight_pin1;
if (highlightpin1 === "false") highlightpin1 = "none";
if (highlightpin1 === "true") highlightpin1 = "all";
setHighlightPin1(highlightpin1);
document.forms.highlightpin1.highlightpin1.value = highlightpin1;
settings.markWhenChecked = readStorage("markWhenChecked") || "";
populateMarkWhenCheckedOptions();
function initBooleanSetting(storageString, def, elementId, func) {
var b = readStorage(storageString);
if (b === null) {
b = def;
} else {
b = (b == "true");
}
document.getElementById(elementId).checked = b;
func(b);
}
initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
initBooleanSetting("valuesVisible", true, "valuesCheckbox", valuesVisible);
if ("tracks" in pcbdata) {
initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
} else {
document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
tracksVisible(false);
zonesVisible(false);
}
initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
initBooleanSetting("highlightRowOnClick", false, "highlightRowOnClickCheckbox", setHighlightRowOnClick);
initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
var fields = ["checkboxes", "References"].concat(config.fields).concat(["Quantity"]);
var hcols = JSON.parse(readStorage("hiddenColumns"));
if (hcols === null) {
hcols = [];
}
settings.hiddenColumns = hcols.filter(e => fields.includes(e));
var cord = JSON.parse(readStorage("columnOrder"));
if (cord === null) {
cord = fields;
} else {
cord = cord.filter(e => fields.includes(e));
if (cord.length != fields.length)
cord = fields;
}
settings.columnOrder = cord;
settings.boardRotation = readStorage("boardRotation");
if (settings.boardRotation === null) {
settings.boardRotation = config.board_rotation * 5;
} else {
settings.boardRotation = parseInt(settings.boardRotation);
}
document.getElementById("boardRotation").value = settings.boardRotation / 5;
document.getElementById("rotationDegree").textContent = settings.boardRotation;
initBooleanSetting("offsetBackRotation", config.offset_back_rotation, "offsetBackRotationCheckbox", setOffsetBackRotation);
settings.netColors = JSON.parse(readStorage("netColors")) || {};
}
// Helper classes for user js callbacks.
const IBOM_EVENT_TYPES = {
ALL: "all",
HIGHLIGHT_EVENT: "highlightEvent",
CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}
const EventHandler = {
callbacks: {},
init: function () {
for (eventType of Object.values(IBOM_EVENT_TYPES))
this.callbacks[eventType] = [];
},
registerCallback: function (eventType, callback) {
this.callbacks[eventType].push(callback);
},
emitEvent: function (eventType, eventArgs) {
event = {
eventType: eventType,
args: eventArgs,
}
var callback;
for (callback of this.callbacks[eventType])
callback(event);
for (callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
callback(event);
}
}
EventHandler.init();
///////////////////////////////////////////////
///////////////////////////////////////////////
/* PCB rendering code */
var emptyContext2d = document.createElement("canvas").getContext("2d");
function deg2rad(deg) {
return deg * Math.PI / 180;
}
function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
var point = [
linepoint[0] * text.width + offsetx,
linepoint[1] * text.height + offsety
];
// This approximates pcbnew behavior with how text tilts depending on horizontal justification
point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
return point;
}
function drawText(ctx, text, color) {
if ("ref" in text && !settings.renderReferences) return;
if ("val" in text && !settings.renderValues) return;
ctx.save();
ctx.fillStyle = color;
ctx.strokeStyle = color;
ctx.lineCap = "round";
ctx.lineJoin = "round";
ctx.lineWidth = text.thickness;
if ("svgpath" in text) {
ctx.stroke(new Path2D(text.svgpath));
ctx.restore();
return;
}
if ("polygons" in text) {
ctx.fill(getPolygonsPath(text));
ctx.restore();
return;
}
ctx.translate(...text.pos);
ctx.translate(text.thickness * 0.5, 0);
var angle = -text.angle;
if (text.attr.includes("mirrored")) {
ctx.scale(-1, 1);
angle = -angle;
}
var tilt = 0;
if (text.attr.includes("italic")) {
tilt = 0.125;
}
var interline = text.height * 1.5 + text.thickness;
var txt = text.text.split("\n");
// KiCad ignores last empty line.
if (txt[txt.length - 1] == '') txt.pop();
ctx.rotate(deg2rad(angle));
var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
for (var i in txt) {
var lineWidth = text.thickness + interline / 2 * tilt;
for (var j = 0; j < txt[i].length; j++) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
lineWidth += fourSpaces - lineWidth % fourSpaces;
} else {
if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
}
lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
}
}
var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
var inOverbar = false;
for (var j = 0; j < txt[i].length; j++) {
if (config.kicad_text_formatting) {
if (txt[i][j] == '\t') {
var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
offsetx += fourSpaces - offsetx % fourSpaces;
continue;
} else if (txt[i][j] == '~') {
j++;
if (j == txt[i].length)
break;
if (txt[i][j] != '~') {
inOverbar = !inOverbar;
}
}
}
var glyph = pcbdata.font_data[txt[i][j]];
if (inOverbar) {
var overbarStart = [offsetx, -text.height * 1.4 + offsety];
var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];
if (!lastHadOverbar) {
overbarStart[0] += text.height * 1.4 * tilt;
lastHadOverbar = true;
}
ctx.beginPath();
ctx.moveTo(...overbarStart);
ctx.lineTo(...overbarEnd);
ctx.stroke();
} else {
lastHadOverbar = false;
}
for (var line of glyph.l) {
ctx.beginPath();
ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
for (var k = 1; k < line.length; k++) {
ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
}
ctx.stroke();
}
offsetx += glyph.w * text.width;
}
offsety += interline;
}
ctx.restore();
}
function drawedge(ctx, scalefactor, edge, color) {
ctx.strokeStyle = color;
ctx.fillStyle = color;
ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
ctx.lineCap = "round";
ctx.lineJoin = "round";
if ("svgpath" in edge) {
ctx.stroke(new Path2D(edge.svgpath));
} else {
ctx.beginPath();
if (edge.type == "segment") {
ctx.moveTo(...edge.start);
ctx.lineTo(...edge.end);
}
if (edge.type == "rect") {
ctx.moveTo(...edge.start);
ctx.lineTo(edge.start[0], edge.end[1]);
ctx.lineTo(...edge.end);
ctx.lineTo(edge.end[0], edge.start[1]);
ctx.lineTo(...edge.start);
}
if (edge.type == "arc") {
ctx.arc(
...edge.start,
edge.radius,
deg2rad(edge.startangle),
deg2rad(edge.endangle));
}
if (edge.type == "circle") {
ctx.arc(
...edge.start,
edge.radius,
0, 2 * Math.PI);
ctx.closePath();
}
if (edge.type == "curve") {
ctx.moveTo(...edge.start);
ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
}
if("filled" in edge && edge.filled)
ctx.fill();
else
ctx.stroke();
}
}
function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
// chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
var path = new Path2D();
var width = size[0];
var height = size[1];
var x = width * -0.5;
var y = height * -0.5;
var chamfOffset = Math.min(width, height) * chamfratio;
path.moveTo(x, 0);
if (chamfpos & 4) {
path.lineTo(x, y + height - chamfOffset);
path.lineTo(x + chamfOffset, y + height);
path.lineTo(0, y + height);
} else {
path.arcTo(x, y + height, x + width, y + height, radius);
}
if (chamfpos & 8) {
path.lineTo(x + width - chamfOffset, y + height);
path.lineTo(x + width, y + height - chamfOffset);
path.lineTo(x + width, 0);
} else {
path.arcTo(x + width, y + height, x + width, y, radius);
}
if (chamfpos & 2) {
path.lineTo(x + width, y + chamfOffset);
path.lineTo(x + width - chamfOffset, y);
path.lineTo(0, y);
} else {
path.arcTo(x + width, y, x, y, radius);
}
if (chamfpos & 1) {
path.lineTo(x + chamfOffset, y);
path.lineTo(x, y + chamfOffset);
path.lineTo(x, 0);
} else {
path.arcTo(x, y, x, y + height, radius);
}
path.closePath();
return path;
}
function getOblongPath(size) {
return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}
function getPolygonsPath(shape) {
if (shape.path2d) {
return shape.path2d;
}
if ("svgpath" in shape) {
shape.path2d = new Path2D(shape.svgpath);
} else {
var path = new Path2D();
for (var polygon of shape.polygons) {
path.moveTo(...polygon[0]);
for (var i = 1; i < polygon.length; i++) {
path.lineTo(...polygon[i]);
}
path.closePath();
}
shape.path2d = path;
}
return shape.path2d;
}
function drawPolygonShape(ctx, scalefactor, shape, color) {
ctx.save();
if (!("svgpath" in shape)) {
ctx.translate(...shape.pos);
ctx.rotate(deg2rad(-shape.angle));
}
if("filled" in shape && !shape.filled) {
ctx.strokeStyle = color;
ctx.lineWidth = Math.max(1 / scalefactor, shape.width);
ctx.lineCap = "round";
ctx.lineJoin = "round";
ctx.stroke(getPolygonsPath(shape));
} else {
ctx.fillStyle = color;
ctx.fill(getPolygonsPath(shape));
}
ctx.restore();
}
function drawDrawing(ctx, scalefactor, drawing, color) {
if (["segment", "arc", "circle", "curve", "rect"].includes(drawing.type)) {
drawedge(ctx, scalefactor, drawing, color);
} else if (drawing.type == "polygon") {
drawPolygonShape(ctx, scalefactor, drawing, color);
} else {
drawText(ctx, drawing, color);
}
}
function getCirclePath(radius) {
var path = new Path2D();
path.arc(0, 0, radius, 0, 2 * Math.PI);
path.closePath();
return path;
}
function getCachedPadPath(pad) {
if (!pad.path2d) {
// if path2d is not set, build one and cache it on pad object
if (pad.shape == "rect") {
pad.path2d = new Path2D();
pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
} else if (pad.shape == "oval") {
pad.path2d = getOblongPath(pad.size);
} else if (pad.shape == "circle") {
pad.path2d = getCirclePath(pad.size[0] / 2);
} else if (pad.shape == "roundrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
} else if (pad.shape == "chamfrect") {
pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
} else if (pad.shape == "custom") {
pad.path2d = getPolygonsPath(pad);
}
}
return pad.path2d;
}
function drawPad(ctx, pad, color, outline) {
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(-deg2rad(pad.angle));
if (pad.offset) {
ctx.translate(...pad.offset);
}
ctx.fillStyle = color;
ctx.strokeStyle = color;
var path = getCachedPadPath(pad);
if (outline) {
ctx.stroke(path);
} else {
ctx.fill(path);
}
ctx.restore();
}
function drawPadHole(ctx, pad, padHoleColor) {
if (pad.type != "th") return;
ctx.save();
ctx.translate(...pad.pos);
ctx.rotate(-deg2rad(pad.angle));
ctx.fillStyle = padHoleColor;
if (pad.drillshape == "oblong") {
ctx.fill(getOblongPath(pad.drillsize));
} else if (pad.drillshape == "rect") {
ctx.fill(getChamferedRectPath(pad.drillsize, 0, 0, 0));
} else {
ctx.fill(getCirclePath(pad.drillsize[0] / 2));
}
ctx.restore();
}
function drawFootprint(ctx, layer, scalefactor, footprint, colors, highlight, outline) {
if (highlight) {
// draw bounding box
if (footprint.layer == layer) {
ctx.save();
ctx.globalAlpha = 0.2;
ctx.translate(...footprint.bbox.pos);
ctx.rotate(deg2rad(-footprint.bbox.angle));
ctx.translate(...footprint.bbox.relpos);
ctx.fillStyle = colors.pad;
ctx.fillRect(0, 0, ...footprint.bbox.size);
ctx.globalAlpha = 1;
ctx.strokeStyle = colors.pad;
ctx.lineWidth = 3 / scalefactor;
ctx.strokeRect(0, 0, ...footprint.bbox.size);
ctx.restore();
}
}
// draw drawings
for (var drawing of footprint.drawings) {
if (drawing.layer == layer) {
drawDrawing(ctx, scalefactor, drawing.drawing, colors.pad);
}
}
ctx.lineWidth = 3 / scalefactor;
// draw pads
if (settings.renderPads) {
for (var pad of footprint.pads) {
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, colors.pad, outline);
if (pad.pin1 &&
(settings.highlightpin1 == "all" ||
settings.highlightpin1 == "selected" && highlight)) {
drawPad(ctx, pad, colors.outline, true);
}
}
}
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, colors.padHole);
}
}
}
function drawEdgeCuts(canvas, scalefactor) {
var ctx = canvas.getContext("2d");
var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
for (var edge of pcbdata.edges) {
drawDrawing(ctx, scalefactor, edge, edgecolor);
}
}
function drawFootprints(canvas, layer, scalefactor, highlight) {
var ctx = canvas.getContext("2d");
ctx.lineWidth = 3 / scalefactor;
var style = getComputedStyle(topmostdiv);
var colors = {
pad: style.getPropertyValue('--pad-color'),
padHole: style.getPropertyValue('--pad-hole-color'),
outline: style.getPropertyValue('--pin1-outline-color'),
}
for (var i = 0; i < pcbdata.footprints.length; i++) {
var mod = pcbdata.footprints[i];
var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
var h = highlightedFootprints.includes(i);
var d = markedFootprints.has(i);
if (highlight) {
if(h && d) {
colors.pad = style.getPropertyValue('--pad-color-highlight-both');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-both');
} else if (h) {
colors.pad = style.getPropertyValue('--pad-color-highlight');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight');
} else if (d) {
colors.pad = style.getPropertyValue('--pad-color-highlight-marked');
colors.outline = style.getPropertyValue('--pin1-outline-color-highlight-marked');
}
}
if( h || d || !highlight) {
drawFootprint(ctx, layer, scalefactor, mod, colors, highlight, outline);
}
}
}
function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
var ctx = canvas.getContext("2d");
for (var d of pcbdata.drawings[layername][layer]) {
if (["segment", "arc", "circle", "curve", "rect"].includes(d.type)) {
drawedge(ctx, scalefactor, d, edgeColor);
} else if (d.type == "polygon") {
drawPolygonShape(ctx, scalefactor, d, polygonColor);
} else {
drawText(ctx, d, textColor);
}
}
}
function drawTracks(canvas, layer, defaultColor, highlight) {
ctx = canvas.getContext("2d");
ctx.lineCap = "round";
var hasHole = (track) => (
'drillsize' in track &&
track.start[0] == track.end[0] &&
track.start[1] == track.end[1]);
// First draw tracks and tented vias
for (var track of pcbdata.tracks[layer]) {
if (highlight && highlightedNet != track.net) continue;
if (!hasHole(track)) {
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[track.net] || defaultColor;
ctx.lineWidth = track.width;
ctx.beginPath();
if ('radius' in track) {
ctx.arc(
...track.center,
track.radius,
deg2rad(track.startangle),
deg2rad(track.endangle));
} else {
ctx.moveTo(...track.start);
ctx.lineTo(...track.end);
}
ctx.stroke();
}
}
// Second pass to draw untented vias
var style = getComputedStyle(topmostdiv);
var holeColor = style.getPropertyValue('--pad-hole-color')
for (var track of pcbdata.tracks[layer]) {
if (highlight && highlightedNet != track.net) continue;
if (hasHole(track)) {
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[track.net] || defaultColor;
ctx.lineWidth = track.width;
ctx.beginPath();
ctx.moveTo(...track.start);
ctx.lineTo(...track.end);
ctx.stroke();
ctx.strokeStyle = holeColor;
ctx.lineWidth = track.drillsize;
ctx.lineTo(...track.end);
ctx.stroke();
}
}
}
function drawZones(canvas, layer, defaultColor, highlight) {
ctx = canvas.getContext("2d");
ctx.lineJoin = "round";
for (var zone of pcbdata.zones[layer]) {
if (highlight && highlightedNet != zone.net) continue;
ctx.strokeStyle = highlight ? defaultColor : settings.netColors[zone.net] || defaultColor;
ctx.fillStyle = highlight ? defaultColor : settings.netColors[zone.net] || defaultColor;
if (!zone.path2d) {
zone.path2d = getPolygonsPath(zone);
}
ctx.fill(zone.path2d, zone.fillrule || "nonzero");
if (zone.width > 0) {
ctx.lineWidth = zone.width;
ctx.stroke(zone.path2d);
}
}
}
function clearCanvas(canvas, color = null) {
var ctx = canvas.getContext("2d");
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
if (color) {
ctx.fillStyle = color;
ctx.fillRect(0, 0, canvas.width, canvas.height);
} else {
if (!window.matchMedia("print").matches)
ctx.clearRect(0, 0, canvas.width, canvas.height);
}
ctx.restore();
}
function drawNets(canvas, layer, highlight) {
var style = getComputedStyle(topmostdiv);
if (settings.renderZones) {
var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
drawZones(canvas, layer, zoneColor, highlight);
}
if (settings.renderTracks) {
var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
drawTracks(canvas, layer, trackColor, highlight);
}
if (highlight && settings.renderPads) {
var padColor = style.getPropertyValue('--pad-color-highlight');
var padHoleColor = style.getPropertyValue('--pad-hole-color');
var ctx = canvas.getContext("2d");
for (var footprint of pcbdata.footprints) {
// draw pads
var padDrawn = false;
for (var pad of footprint.pads) {
if (highlightedNet != pad.net) continue;
if (pad.layers.includes(layer)) {
drawPad(ctx, pad, padColor, false);
padDrawn = true;
}
}
if (padDrawn) {
// redraw all pad holes because some pads may overlap
for (var pad of footprint.pads) {
drawPadHole(ctx, pad, padHoleColor);
}
}
}
}
}
function drawHighlightsOnLayer(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.highlight);
}
if (markedFootprints.size > 0 || highlightedFootprints.length > 0) {
drawFootprints(canvasdict.highlight, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, true);
}
if (highlightedNet !== null) {
drawNets(canvasdict.highlight, canvasdict.layer, true);
}
}
function drawHighlights() {
drawHighlightsOnLayer(allcanvas.front);
drawHighlightsOnLayer(allcanvas.back);
}
function drawBackground(canvasdict, clear = true) {
if (clear) {
clearCanvas(canvasdict.bg);
clearCanvas(canvasdict.fab);
clearCanvas(canvasdict.silk);
}
drawNets(canvasdict.bg, canvasdict.layer, false);
drawFootprints(canvasdict.bg, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom, false);
drawEdgeCuts(canvasdict.bg, canvasdict.transform.s * canvasdict.transform.zoom);
var style = getComputedStyle(topmostdiv);
var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
var textColor = style.getPropertyValue('--silkscreen-text-color');
if (settings.renderSilkscreen) {
drawBgLayer(
"silkscreen", canvasdict.silk, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
edgeColor = style.getPropertyValue('--fabrication-edge-color');
polygonColor = style.getPropertyValue('--fabrication-polygon-color');
textColor = style.getPropertyValue('--fabrication-text-color');
if (settings.renderFabrication) {
drawBgLayer(
"fabrication", canvasdict.fab, canvasdict.layer,
canvasdict.transform.s * canvasdict.transform.zoom,
edgeColor, polygonColor, textColor);
}
}
function prepareCanvas(canvas, flip, transform) {
var ctx = canvas.getContext("2d");
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.scale(transform.zoom, transform.zoom);
ctx.translate(transform.panx, transform.pany);
if (flip) {
ctx.scale(-1, 1);
}
ctx.translate(transform.x, transform.y);
ctx.rotate(deg2rad(settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0)));
ctx.scale(transform.s, transform.s);
}
function prepareLayer(canvasdict) {
var flip = (canvasdict.layer === "B");
for (var c of ["bg", "fab", "silk", "highlight"]) {
prepareCanvas(canvasdict[c], flip, canvasdict.transform);
}
}
function rotateVector(v, angle) {
angle = deg2rad(angle);
return [
v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
];
}
function applyRotation(bbox, flip) {
var corners = [
[bbox.minx, bbox.miny],
[bbox.minx, bbox.maxy],
[bbox.maxx, bbox.miny],
[bbox.maxx, bbox.maxy],
];
corners = corners.map((v) => rotateVector(v, settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0)));
return {
minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
}
}
function recalcLayerScale(layerdict, width, height) {
var flip = (layerdict.layer === "B");
var bbox = applyRotation(pcbdata.edges_bbox, flip);
var scalefactor = 0.98 * Math.min(
width / (bbox.maxx - bbox.minx),
height / (bbox.maxy - bbox.miny)
);
if (scalefactor < 0.1) {
scalefactor = 1;
}
layerdict.transform.s = scalefactor;
if (flip) {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
} else {
layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
}
layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
for (var c of ["bg", "fab", "silk", "highlight"]) {
canvas = layerdict[c];
canvas.width = width;
canvas.height = height;
canvas.style.width = (width / devicePixelRatio) + "px";
canvas.style.height = (height / devicePixelRatio) + "px";
}
}
function redrawCanvas(layerdict) {
prepareLayer(layerdict);
drawBackground(layerdict);
drawHighlightsOnLayer(layerdict);
}
function resizeCanvas(layerdict) {
var canvasdivid = {
"F": "frontcanvas",
"B": "backcanvas"
} [layerdict.layer];
var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
recalcLayerScale(layerdict, width, height);
redrawCanvas(layerdict);
}
function resizeAll() {
resizeCanvas(allcanvas.front);
resizeCanvas(allcanvas.back);
}
function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
var A = x - x1;
var B = y - y1;
var C = x2 - x1;
var D = y2 - y1;
var dot = A * C + B * D;
var len_sq = C * C + D * D;
var dx, dy;
if (len_sq == 0) {
// start and end of the segment coincide
dx = x - x1;
dy = y - y1;
} else {
var param = dot / len_sq;
var xx, yy;
if (param < 0) {
xx = x1;
yy = y1;
} else if (param > 1) {
xx = x2;
yy = y2;
} else {
xx = x1 + param * C;
yy = y1 + param * D;
}
dx = x - xx;
dy = y - yy;
}
return dx * dx + dy * dy <= d * d;
}
function modulo(n, mod) {
return ((n % mod) + mod) % mod;
}
function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
var dx = x - xc;
var dy = y - yc;
var r_sq = dx * dx + dy * dy;
var rmin = Math.max(0, radius - d);
var rmax = radius + d;
if (r_sq < rmin * rmin || r_sq > rmax * rmax)
return false;
var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
var dx1 = xc + radius * Math.cos(angle1) - x;
var dy1 = yc + radius * Math.sin(angle1) - y;
if (dx1 * dx1 + dy1 * dy1 <= d * d)
return true;
var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
var dx2 = xc + radius * Math.cos(angle2) - x;
var dy2 = yc + radius * Math.sin(angle2) - y;
if (dx2 * dx2 + dy2 * dy2 <= d * d)
return true;
var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
if (angle1 > angle2)
return (angle >= angle2 || angle <= angle1);
else
return (angle >= angle1 && angle <= angle2);
}
function pointWithinPad(x, y, pad) {
var v = [x - pad.pos[0], y - pad.pos[1]];
v = rotateVector(v, pad.angle);
if (pad.offset) {
v[0] -= pad.offset[0];
v[1] -= pad.offset[1];
}
return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}
function netHitScan(layer, x, y) {
// Check track segments
if (settings.renderTracks && pcbdata.tracks) {
for (var track of pcbdata.tracks[layer]) {
if ('radius' in track) {
if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
return track.net;
}
} else {
if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
return track.net;
}
}
}
}
// Check pads
if (settings.renderPads) {
for (var footprint of pcbdata.footprints) {
for (var pad of footprint.pads) {
if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
return pad.net;
}
}
}
}
return null;
}
function pointWithinFootprintBbox(x, y, bbox) {
var v = [x - bbox.pos[0], y - bbox.pos[1]];
v = rotateVector(v, bbox.angle);
return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}
function bboxHitScan(layer, x, y) {
var result = [];
for (var i = 0; i < pcbdata.footprints.length; i++) {
var footprint = pcbdata.footprints[i];
if (footprint.layer == layer) {
if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
result.push(i);
}
}
}
return result;
}
function handlePointerDown(e, layerdict) {
if (e.button != 0 && e.button != 1) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
layerdict.pointerStates[e.pointerId] = {
distanceTravelled: 0,
lastX: e.offsetX,
lastY: e.offsetY,
downTime: Date.now(),
};
}
function handleMouseClick(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var x = e.offsetX;
var y = e.offsetY;
var t = layerdict.transform;
var flip = layerdict.layer === "B";
if (flip) {
x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
} else {
x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
}
y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
var v = rotateVector([x, y], -settings.boardRotation + (flip && settings.offsetBackRotation ? - 180 : 0));
if ("nets" in pcbdata) {
var net = netHitScan(layerdict.layer, ...v);
if (net !== highlightedNet) {
netClicked(net);
}
}
if (highlightedNet === null) {
var footprints = bboxHitScan(layerdict.layer, ...v);
if (footprints.length > 0) {
footprintsClicked(footprints);
}
}
}
function handlePointerLeave(e, layerdict) {
e.preventDefault();
e.stopPropagation();
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
delete layerdict.pointerStates[e.pointerId];
}
function resetTransform(layerdict) {
layerdict.transform.panx = 0;
layerdict.transform.pany = 0;
layerdict.transform.zoom = 1;
redrawCanvas(layerdict);
}
function handlePointerUp(e, layerdict) {
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
e.preventDefault();
e.stopPropagation();
if (e.button == 2) {
// Reset pan and zoom on right click.
resetTransform(layerdict);
layerdict.anotherPointerTapped = false;
return;
}
// We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
var ptr = layerdict.pointerStates[e.pointerId];
ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);
if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
if (Object.keys(layerdict.pointerStates).length == 1) {
if (layerdict.anotherPointerTapped) {
// This is the second pointer coming off of a two-finger tap
resetTransform(layerdict);
} else {
// This is just a regular tap
handleMouseClick(e, layerdict);
}
layerdict.anotherPointerTapped = false;
} else {
// This is the first finger coming off of what could become a two-finger tap
layerdict.anotherPointerTapped = true;
}
} else {
if (!settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
layerdict.anotherPointerTapped = false;
}
delete layerdict.pointerStates[e.pointerId];
}
function handlePointerMove(e, layerdict) {
if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
return;
}
e.preventDefault();
e.stopPropagation();
if (!e.hasOwnProperty("offsetX")) {
// The polyfill doesn't set this properly
e.offsetX = e.pageX - e.currentTarget.offsetLeft;
e.offsetY = e.pageY - e.currentTarget.offsetTop;
}
var thisPtr = layerdict.pointerStates[e.pointerId];
var dx = e.offsetX - thisPtr.lastX;
var dy = e.offsetY - thisPtr.lastY;
// If this number is low on pointer up, we count the action as a click
thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);
if (Object.keys(layerdict.pointerStates).length == 1) {
// This is a simple drag
layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
} else if (Object.keys(layerdict.pointerStates).length == 2) {
var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];
var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2) + Math.pow(e.offsetY - otherPtr.lastY, 2));
var scaleFactor = newDist / oldDist;
if (scaleFactor != NaN) {
layerdict.transform.zoom *= scaleFactor;
var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
}
}
thisPtr.lastX = e.offsetX;
thisPtr.lastY = e.offsetY;
if (settings.redrawOnDrag) {
redrawCanvas(layerdict);
}
}
function handleMouseWheel(e, layerdict) {
e.preventDefault();
e.stopPropagation();
var t = layerdict.transform;
var wheeldelta = e.deltaY;
if (e.deltaMode == 1) {
// FF only, scroll by lines
wheeldelta *= 30;
} else if (e.deltaMode == 2) {
wheeldelta *= 300;
}
var m = Math.pow(1.1, -wheeldelta / 40);
// Limit amount of zoom per tick.
if (m > 2) {
m = 2;
} else if (m < 0.5) {
m = 0.5;
}
t.zoom *= m;
var zoomd = (1 - m) / t.zoom;
t.panx += devicePixelRatio * e.offsetX * zoomd;
t.pany += devicePixelRatio * e.offsetY * zoomd;
redrawCanvas(layerdict);
}
function addMouseHandlers(div, layerdict) {
div.addEventListener("pointerdown", function(e) {
handlePointerDown(e, layerdict);
});
div.addEventListener("pointermove", function(e) {
handlePointerMove(e, layerdict);
});
div.addEventListener("pointerup", function(e) {
handlePointerUp(e, layerdict);
});
var pointerleave = function(e) {
handlePointerLeave(e, layerdict);
}
div.addEventListener("pointercancel", pointerleave);
div.addEventListener("pointerleave", pointerleave);
div.addEventListener("pointerout", pointerleave);
div.onwheel = function(e) {
handleMouseWheel(e, layerdict);
}
for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
element.addEventListener("contextmenu", function(e) {
e.preventDefault();
}, false);
}
}
function setRedrawOnDrag(value) {
settings.redrawOnDrag = value;
writeStorage("redrawOnDrag", value);
}
function setBoardRotation(value) {
settings.boardRotation = value * 5;
writeStorage("boardRotation", settings.boardRotation);
document.getElementById("rotationDegree").textContent = settings.boardRotation;
resizeAll();
}
function setOffsetBackRotation(value) {
settings.offsetBackRotation = value;
writeStorage("offsetBackRotation", value);
resizeAll();
}
function initRender() {
allcanvas = {
front: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("F_bg"),
fab: document.getElementById("F_fab"),
silk: document.getElementById("F_slk"),
highlight: document.getElementById("F_hl"),
layer: "F",
},
back: {
transform: {
x: 0,
y: 0,
s: 1,
panx: 0,
pany: 0,
zoom: 1,
},
pointerStates: {},
anotherPointerTapped: false,
bg: document.getElementById("B_bg"),
fab: document.getElementById("B_fab"),
silk: document.getElementById("B_slk"),
highlight: document.getElementById("B_hl"),
layer: "B",
}
};
addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}
///////////////////////////////////////////////
///////////////////////////////////////////////
/*
* Table reordering via Drag'n'Drop
* Inspired by: https://htmldom.dev/drag-and-drop-table-column
*/
function setBomHandlers() {
const bom = document.getElementById('bomtable');
let dragName;
let placeHolderElements;
let draggingElement;
let forcePopulation;
let xOffset;
let yOffset;
let wasDragged;
const mouseUpHandler = function(e) {
// Delete dragging element
draggingElement.remove();
// Make BOM selectable again
bom.style.removeProperty("userSelect");
// Remove listeners
document.removeEventListener('mousemove', mouseMoveHandler);
document.removeEventListener('mouseup', mouseUpHandler);
if (wasDragged) {
// Redraw whole BOM
populateBomTable();
}
}
const mouseMoveHandler = function(e) {
// Notice the dragging
wasDragged = true;
// Make the dragged element visible
draggingElement.style.removeProperty("display");
// Set elements position to mouse position
draggingElement.style.left = `${e.screenX - xOffset}px`;
draggingElement.style.top = `${e.screenY - yOffset}px`;
// Forced redrawing of BOM table
if (forcePopulation) {
forcePopulation = false;
// Copy array
phe = Array.from(placeHolderElements);
// populate BOM table again
populateBomHeader(dragName, phe);
populateBomBody(dragName, phe);
}
// Set up array of hidden columns
var hiddenColumns = Array.from(settings.hiddenColumns);
// In the ungrouped mode, quantity don't exist
if (settings.bommode === "ungrouped")
hiddenColumns.push("Quantity");
// If no checkbox fields can be found, we consider them hidden
if (settings.checkboxes.length == 0)
hiddenColumns.push("checkboxes");
// Get table headers and group them into checkboxes, extrafields and normal headers
const bh = document.getElementById("bomhead");
headers = Array.from(bh.querySelectorAll("th"))
headers.shift() // numCol is not part of the columnOrder
headerGroups = []
lastCompoundClass = null;
for (i = 0; i < settings.columnOrder.length; i++) {
cElem = settings.columnOrder[i];
if (hiddenColumns.includes(cElem)) {
// Hidden columns appear as a dummy element
headerGroups.push([]);
continue;
}
elem = headers.filter(e => getColumnOrderName(e) === cElem)[0];
if (elem.classList.contains("bom-checkbox")) {
if (lastCompoundClass === "bom-checkbox") {
cbGroup = headerGroups.pop();
cbGroup.push(elem);
headerGroups.push(cbGroup);
} else {
lastCompoundClass = "bom-checkbox";
headerGroups.push([elem])
}
} else {
headerGroups.push([elem])
}
}
// Copy settings.columnOrder
var columns = Array.from(settings.columnOrder)
// Set up array with indices of hidden columns
var hiddenIndices = hiddenColumns.map(e => settings.columnOrder.indexOf(e));
var dragIndex = columns.indexOf(dragName);
var swapIndex = dragIndex;
var swapDone = false;
// Check if the current dragged element is swapable with the left or right element
if (dragIndex > 0) {
// Get left headers boundingbox
swapIndex = dragIndex - 1;
while (hiddenIndices.includes(swapIndex) && swapIndex > 0)
swapIndex--;
if (!hiddenIndices.includes(swapIndex)) {
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
if (e.clientX < box.left + window.scrollX + (box.width / 2)) {
swapElement = columns[dragIndex];
columns.splice(dragIndex, 1);
columns.splice(swapIndex, 0, swapElement);
forcePopulation = true;
swapDone = true;
}
}
}
if ((!swapDone) && dragIndex < headerGroups.length - 1) {
// Get right headers boundingbox
swapIndex = dragIndex + 1;
while (hiddenIndices.includes(swapIndex))
swapIndex++;
if (swapIndex < headerGroups.length) {
box = getBoundingClientRectFromMultiple(headerGroups[swapIndex]);
if (e.clientX > box.left + window.scrollX + (box.width / 2)) {
swapElement = columns[dragIndex];
columns.splice(dragIndex, 1);
columns.splice(swapIndex, 0, swapElement);
forcePopulation = true;
swapDone = true;
}
}
}
// Write back change to storage
if (swapDone) {
settings.columnOrder = columns
writeStorage("columnOrder", JSON.stringify(columns));
}
}
const mouseDownHandler = function(e) {
var target = e.target;
if (target.tagName.toLowerCase() != "td")
target = target.parentElement;
// Used to check if a dragging has ever happened
wasDragged = false;
// Create new element which will be displayed as the dragged column
draggingElement = document.createElement("div")
draggingElement.classList.add("dragging");
draggingElement.style.display = "none";
draggingElement.style.position = "absolute";
draggingElement.style.overflow = "hidden";
// Get bomhead and bombody elements
const bh = document.getElementById("bomhead");
const bb = document.getElementById("bombody");
// Get all compound headers for the current column
var compoundHeaders;
if (target.classList.contains("bom-checkbox")) {
compoundHeaders = Array.from(bh.querySelectorAll("th.bom-checkbox"));
} else {
compoundHeaders = [target];
}
// Create new table which will display the column
var newTable = document.createElement("table");
newTable.classList.add("bom");
newTable.style.background = "white";
draggingElement.append(newTable);
// Create new header element
var newHeader = document.createElement("thead");
newTable.append(newHeader);
// Set up array for storing all placeholder elements
placeHolderElements = [];
// Add all compound headers to the new thead element and placeholders
compoundHeaders.forEach(function(h) {
clone = cloneElementWithDimensions(h);
newHeader.append(clone);
placeHolderElements.push(clone);
});
// Create new body element
var newBody = document.createElement("tbody");
newTable.append(newBody);
// Get indices for compound headers
var idxs = compoundHeaders.map(e => getBomTableHeaderIndex(e));
// For each row in the BOM body...
var rows = bb.querySelectorAll("tr");
rows.forEach(function(row) {
// ..get the cells for the compound column
const tds = row.querySelectorAll("td");
var copytds = idxs.map(i => tds[i]);
// Add them to the new element and the placeholders
var newRow = document.createElement("tr");
copytds.forEach(function(td) {
clone = cloneElementWithDimensions(td);
newRow.append(clone);
placeHolderElements.push(clone);
});
newBody.append(newRow);
});
// Compute width for compound header
var width = compoundHeaders.reduce((acc, x) => acc + x.clientWidth, 0);
draggingElement.style.width = `${width}px`;
// Insert the new dragging element and disable selection on BOM
bom.insertBefore(draggingElement, null);
bom.style.userSelect = "none";
// Determine the mouse position offset
xOffset = e.screenX - compoundHeaders.reduce((acc, x) => Math.min(acc, x.offsetLeft), compoundHeaders[0].offsetLeft);
yOffset = e.screenY - compoundHeaders[0].offsetTop;
// Get name for the column in settings.columnOrder
dragName = getColumnOrderName(target);
// Change text and class for placeholder elements
placeHolderElements = placeHolderElements.map(function(e) {
newElem = cloneElementWithDimensions(e);
newElem.textContent = "";
newElem.classList.add("placeholder");
return newElem;
});
// On next mouse move, the whole BOM needs to be redrawn to show the placeholders
forcePopulation = true;
// Add listeners for move and up on mouse
document.addEventListener('mousemove', mouseMoveHandler);
document.addEventListener('mouseup', mouseUpHandler);
}
// In netlist mode, there is nothing to reorder
if (settings.bommode === "netlist")
return;
// Add mouseDownHandler to every column except the numCol
bom.querySelectorAll("th")
.forEach(function(head) {
if (!head.classList.contains("numCol")) {
head.onmousedown = mouseDownHandler;
}
});
}
function getBoundingClientRectFromMultiple(elements) {
var elems = Array.from(elements);
if (elems.length == 0)
return null;
var box = elems.shift()
.getBoundingClientRect();
elems.forEach(function(elem) {
var elembox = elem.getBoundingClientRect();
box.left = Math.min(elembox.left, box.left);
box.top = Math.min(elembox.top, box.top);
box.width += elembox.width;
box.height = Math.max(elembox.height, box.height);
});
return box;
}
function cloneElementWithDimensions(elem) {
var newElem = elem.cloneNode(true);
newElem.style.height = window.getComputedStyle(elem).height;
newElem.style.width = window.getComputedStyle(elem).width;
return newElem;
}
function getBomTableHeaderIndex(elem) {
const bh = document.getElementById('bomhead');
const ths = Array.from(bh.querySelectorAll("th"));
return ths.indexOf(elem);
}
function getColumnOrderName(elem) {
var cname = elem.getAttribute("col_name");
if (cname === "bom-checkbox")
return "checkboxes";
else
return cname;
}
function resizableGrid(tablehead) {
var cols = tablehead.firstElementChild.children;
var rowWidth = tablehead.offsetWidth;
for (var i = 1; i < cols.length; i++) {
if (cols[i].classList.contains("bom-checkbox"))
continue;
cols[i].style.width = ((cols[i].clientWidth - paddingDiff(cols[i])) * 100 / rowWidth) + '%';
}
for (var i = 1; i < cols.length - 1; i++) {
var div = document.createElement('div');
div.className = "column-width-handle";
cols[i].appendChild(div);
setListeners(div);
}
function setListeners(div) {
var startX, curCol, nxtCol, curColWidth, nxtColWidth, rowWidth;
div.addEventListener('mousedown', function(e) {
e.preventDefault();
e.stopPropagation();
curCol = e.target.parentElement;
nxtCol = curCol.nextElementSibling;
startX = e.pageX;
var padding = paddingDiff(curCol);
rowWidth = curCol.parentElement.offsetWidth;
curColWidth = curCol.clientWidth - padding;
nxtColWidth = nxtCol.clientWidth - padding;
});
document.addEventListener('mousemove', function(e) {
if (startX) {
var diffX = e.pageX - startX;
diffX = -Math.min(-diffX, curColWidth - 20);
diffX = Math.min(diffX, nxtColWidth - 20);
curCol.style.width = ((curColWidth + diffX) * 100 / rowWidth) + '%';
nxtCol.style.width = ((nxtColWidth - diffX) * 100 / rowWidth) + '%';
console.log(`${curColWidth + nxtColWidth} ${(curColWidth + diffX) * 100 / rowWidth + (nxtColWidth - diffX) * 100 / rowWidth}`);
}
});
document.addEventListener('mouseup', function(e) {
curCol = undefined;
nxtCol = undefined;
startX = undefined;
nxtColWidth = undefined;
curColWidth = undefined
});
}
function paddingDiff(col) {
if (getStyleVal(col, 'box-sizing') == 'border-box') {
return 0;
}
var padLeft = getStyleVal(col, 'padding-left');
var padRight = getStyleVal(col, 'padding-right');
return (parseInt(padLeft) + parseInt(padRight));
}
function getStyleVal(elm, css) {
return (window.getComputedStyle(elm, null).getPropertyValue(css))
}
}
///////////////////////////////////////////////
///////////////////////////////////////////////
/* DOM manipulation and misc code */
var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var markedFootprints = new Set();
var highlightedFootprints = [];
var highlightedNet = null;
var lastClicked;
function dbg(html) {
dbgdiv.innerHTML = html;
}
function redrawIfInitDone() {
if (initDone) {
redrawCanvas(allcanvas.front);
redrawCanvas(allcanvas.back);
}
}
function padsVisible(value) {
writeStorage("padsVisible", value);
settings.renderPads = value;
redrawIfInitDone();
}
function referencesVisible(value) {
writeStorage("referencesVisible", value);
settings.renderReferences = value;
redrawIfInitDone();
}
function valuesVisible(value) {
writeStorage("valuesVisible", value);
settings.renderValues = value;
redrawIfInitDone();
}
function tracksVisible(value) {
writeStorage("tracksVisible", value);
settings.renderTracks = value;
redrawIfInitDone();
}
function zonesVisible(value) {
writeStorage("zonesVisible", value);
settings.renderZones = value;
redrawIfInitDone();
}
function dnpOutline(value) {
writeStorage("dnpOutline", value);
settings.renderDnpOutline = value;
redrawIfInitDone();
}
function setDarkMode(value) {
if (value) {
topmostdiv.classList.add("dark");
} else {
topmostdiv.classList.remove("dark");
}
writeStorage("darkmode", value);
settings.darkMode = value;
redrawIfInitDone();
if (initDone) {
populateBomTable();
}
}
function setShowBOMColumn(field, value) {
if (field === "references") {
var rl = document.getElementById("reflookup");
rl.disabled = !value;
if (!value) {
rl.value = "";
updateRefLookup("");
}
}
var n = settings.hiddenColumns.indexOf(field);
if (value) {
if (n != -1) {
settings.hiddenColumns.splice(n, 1);
}
} else {
if (n == -1) {
settings.hiddenColumns.push(field);
}
}
writeStorage("hiddenColumns", JSON.stringify(settings.hiddenColumns));
if (initDone) {
populateBomTable();
}
redrawIfInitDone();
}
function setFullscreen(value) {
if (value) {
document.documentElement.requestFullscreen();
} else {
document.exitFullscreen();
}
}
function fabricationVisible(value) {
writeStorage("fabricationVisible", value);
settings.renderFabrication = value;
redrawIfInitDone();
}
function silkscreenVisible(value) {
writeStorage("silkscreenVisible", value);
settings.renderSilkscreen = value;
redrawIfInitDone();
}
function setHighlightPin1(value) {
writeStorage("highlightpin1", value);
settings.highlightpin1 = value;
redrawIfInitDone();
}
function setHighlightRowOnClick(value) {
settings.highlightRowOnClick = value;
writeStorage("highlightRowOnClick", value);
if (initDone) {
populateBomTable();
}
}
function getStoredCheckboxRefs(checkbox) {
function convert(ref) {
var intref = parseInt(ref);
if (isNaN(intref)) {
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.footprints[i].ref == ref) {
return i;
}
}
return -1;
} else {
return intref;
}
}
if (!(checkbox in settings.checkboxStoredRefs)) {
var val = readStorage("checkbox_" + checkbox);
settings.checkboxStoredRefs[checkbox] = val ? val : "";
}
if (!settings.checkboxStoredRefs[checkbox]) {
return new Set();
} else {
return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
}
}
function getCheckboxState(checkbox, references) {
var storedRefsSet = getStoredCheckboxRefs(checkbox);
var currentRefsSet = new Set(references.map(r => r[1]));
// Get difference of current - stored
var difference = new Set(currentRefsSet);
for (ref of storedRefsSet) {
difference.delete(ref);
}
if (difference.size == 0) {
// All the current refs are stored
return "checked";
} else if (difference.size == currentRefsSet.size) {
// None of the current refs are stored
return "unchecked";
} else {
// Some of the refs are stored
return "indeterminate";
}
}
function setBomCheckboxState(checkbox, element, references) {
var state = getCheckboxState(checkbox, references);
element.checked = (state == "checked");
element.indeterminate = (state == "indeterminate");
}
function createCheckboxHandlers(input, checkbox, references, row) {
var clickHandler = () => {
refsSet = getStoredCheckboxRefs(checkbox);
var markWhenChecked = settings.markWhenChecked == checkbox;
eventArgs = {
checkbox: checkbox,
refs: references,
}
if (input.checked) {
// checkbox ticked
for (var ref of references) {
refsSet.add(ref[1]);
}
if (markWhenChecked) {
row.classList.add("checked");
for (var ref of references) {
markedFootprints.add(ref[1]);
}
drawHighlights();
}
eventArgs.state = 'checked';
} else {
// checkbox unticked
for (var ref of references) {
refsSet.delete(ref[1]);
}
if (markWhenChecked) {
row.classList.remove("checked");
for (var ref of references) {
markedFootprints.delete(ref[1]);
}
drawHighlights();
}
eventArgs.state = 'unchecked';
}
settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
updateCheckboxStats(checkbox);
EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
}
return [
(e) => {
clickHandler();
},
(e) => {
e.preventDefault();
if (row.onmousemove) row.onmousemove();
},
(e) => {
e.preventDefault();
input.checked = !input.checked;
input.indeterminate = false;
clickHandler();
}
];
}
function clearHighlightedFootprints() {
if (currentHighlightedRowId) {
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
currentHighlightedRowId = null;
highlightedFootprints = [];
highlightedNet = null;
}
}
function createRowHighlightHandler(rowid, refs, net) {
return function () {
if (currentHighlightedRowId) {
if (currentHighlightedRowId == rowid) {
return;
}
document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
}
document.getElementById(rowid).classList.add("highlighted");
currentHighlightedRowId = rowid;
highlightedFootprints = refs ? refs.map(r => r[1]) : [];
highlightedNet = net;
drawHighlights();
EventHandler.emitEvent(
IBOM_EVENT_TYPES.HIGHLIGHT_EVENT, {
rowid: rowid,
refs: refs,
net: net
});
}
}
function updateNetColors() {
writeStorage("netColors", JSON.stringify(settings.netColors));
redrawIfInitDone();
}
function netColorChangeHandler(net) {
return (event) => {
settings.netColors[net] = event.target.value;
updateNetColors();
}
}
function netColorRightClick(net) {
return (event) => {
if (event.button == 2) {
event.preventDefault();
event.stopPropagation();
var style = getComputedStyle(topmostdiv);
var defaultNetColor = style.getPropertyValue('--track-color').trim();
event.target.value = defaultNetColor;
delete settings.netColors[net];
updateNetColors();
}
}
}
function entryMatches(entry) {
if (settings.bommode == "netlist") {
// entry is just a net name
return entry.toLowerCase().indexOf(filter) >= 0;
}
// check refs
if (!settings.hiddenColumns.includes("References")) {
for (var ref of entry) {
if (ref[0].toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
}
// check fields
for (var i in config.fields) {
var f = config.fields[i];
if (!settings.hiddenColumns.includes(f)) {
for (var ref of entry) {
if (String(pcbdata.bom.fields[ref[1]][i]).toLowerCase().indexOf(filter) >= 0) {
return true;
}
}
}
}
return false;
}
function findRefInEntry(entry) {
return entry.filter(r => r[0].toLowerCase() == reflookup);
}
function highlightFilter(s) {
if (!filter) {
return s;
}
var parts = s.toLowerCase().split(filter);
if (parts.length == 1) {
return s;
}
var r = "";
var pos = 0;
for (var i in parts) {
if (i > 0) {
r += '<mark class="highlight">' +
s.substring(pos, pos + filter.length) +
'</mark>';
pos += filter.length;
}
r += s.substring(pos, pos + parts[i].length);
pos += parts[i].length;
}
return r;
}
function getBomListByLayer(layer) {
switch (layer) {
case 'F': return pcbdata.bom.F.slice();
case 'B': return pcbdata.bom.B.slice();
case 'FB': return pcbdata.bom.both.slice();
}
return [];
}
function getSelectedBomList() {
if (settings.bommode == "netlist") {
return pcbdata.nets.slice();
}
var out = getBomListByLayer(settings.canvaslayout);
if (settings.bommode == "ungrouped") {
// expand bom table
var expandedTable = [];
for (var bomentry of out) {
for (var ref of bomentry) {
expandedTable.push([ref]);
}
}
return expandedTable;
}
return out;
}
function checkboxSetUnsetAllHandler(checkboxname) {
return function () {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (checkboxnum >= settings.checkboxes.length) {
return;
}
var allset = true;
var checkbox;
var row;
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
if (!checkbox.checked || checkbox.indeterminate) {
allset = false;
break;
}
}
for (row of bombody.childNodes) {
checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
checkbox.checked = !allset;
checkbox.indeterminate = false;
checkbox.onchange();
}
}
}
function createColumnHeader(name, cls, comparator, is_checkbox = false) {
var th = document.createElement("TH");
th.innerHTML = name;
th.classList.add(cls);
if (is_checkbox)
th.setAttribute("col_name", "bom-checkbox");
else
th.setAttribute("col_name", name);
var span = document.createElement("SPAN");
span.classList.add("sortmark");
span.classList.add("none");
th.appendChild(span);
var spacer = document.createElement("div");
spacer.className = "column-spacer";
th.appendChild(spacer);
spacer.onclick = function () {
if (currentSortColumn && th !== currentSortColumn) {
// Currently sorted by another column
currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
if (currentSortColumn && th === currentSortColumn) {
// Already sorted by this column
if (currentSortOrder == "asc") {
// Sort by this column, descending order
bomSortFunction = function (a, b) {
return -comparator(a, b);
}
currentSortColumn.childNodes[1].classList.remove("asc");
currentSortColumn.childNodes[1].classList.add("desc");
currentSortOrder = "desc";
} else {
// Unsort
bomSortFunction = null;
currentSortColumn.childNodes[1].classList.remove("desc");
currentSortColumn.childNodes[1].classList.add("none");
currentSortColumn = null;
currentSortOrder = null;
}
} else {
// Sort by this column, ascending order
bomSortFunction = comparator;
currentSortColumn = th;
currentSortColumn.childNodes[1].classList.remove("none");
currentSortColumn.childNodes[1].classList.add("asc");
currentSortOrder = "asc";
}
populateBomBody();
}
if (is_checkbox) {
spacer.onclick = fancyDblClickHandler(
spacer, spacer.onclick, checkboxSetUnsetAllHandler(name));
}
return th;
}
function populateBomHeader(placeHolderColumn = null, placeHolderElements = null) {
while (bomhead.firstChild) {
bomhead.removeChild(bomhead.firstChild);
}
var tr = document.createElement("TR");
var th = document.createElement("TH");
th.classList.add("numCol");
var vismenu = document.createElement("div");
vismenu.id = "vismenu";
vismenu.classList.add("menu");
var visbutton = document.createElement("div");
visbutton.classList.add("visbtn");
visbutton.classList.add("hideonprint");
var viscontent = document.createElement("div");
viscontent.classList.add("menu-content");
viscontent.id = "vismenu-content";
settings.columnOrder.forEach(column => {
if (typeof column !== "string")
return;
// Skip empty columns
if (column === "checkboxes" && settings.checkboxes.length == 0)
return;
else if (column === "Quantity" && settings.bommode == "ungrouped")
return;
var label = document.createElement("label");
label.classList.add("menu-label");
var input = document.createElement("input");
input.classList.add("visibility_checkbox");
input.type = "checkbox";
input.onchange = function (e) {
setShowBOMColumn(column, e.target.checked)
};
input.checked = !(settings.hiddenColumns.includes(column));
label.appendChild(input);
if (column.length > 0)
label.append(column[0].toUpperCase() + column.slice(1));
viscontent.appendChild(label);
});
viscontent.childNodes[0].classList.add("menu-label-top");
vismenu.appendChild(visbutton);
if (settings.bommode != "netlist") {
vismenu.appendChild(viscontent);
th.appendChild(vismenu);
}
tr.appendChild(th);
var checkboxCompareClosure = function (checkbox) {
return (a, b) => {
var stateA = getCheckboxState(checkbox, a);
var stateB = getCheckboxState(checkbox, b);
if (stateA > stateB) return -1;
if (stateA < stateB) return 1;
return 0;
}
}
var stringFieldCompareClosure = function (fieldIndex) {
return (a, b) => {
var fa = pcbdata.bom.fields[a[0][1]][fieldIndex];
var fb = pcbdata.bom.fields[b[0][1]][fieldIndex];
if (fa != fb) return fa > fb ? 1 : -1;
else return 0;
}
}
var referenceRegex = /(?<prefix>[^0-9]+)(?<number>[0-9]+)/;
var compareRefs = (a, b) => {
var ra = referenceRegex.exec(a);
var rb = referenceRegex.exec(b);
if (ra === null || rb === null) {
if (a != b) return a > b ? 1 : -1;
return 0;
} else {
if (ra.groups.prefix != rb.groups.prefix) {
return ra.groups.prefix > rb.groups.prefix ? 1 : -1;
}
if (ra.groups.number != rb.groups.number) {
return parseInt(ra.groups.number) > parseInt(rb.groups.number) ? 1 : -1;
}
return 0;
}
}
if (settings.bommode == "netlist") {
tr.appendChild(createColumnHeader("Net name", "bom-netname", (a, b) => {
if (a > b) return -1;
if (a < b) return 1;
return 0;
}));
tr.appendChild(createColumnHeader("Color", "bom-color", (a, b) => {
return 0;
}));
} else {
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
var valueIndex = config.fields.indexOf("Value");
var footprintIndex = config.fields.indexOf("Footprint");
columns.forEach((column) => {
if (column === placeHolderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
th = createColumnHeader(
checkbox, "bom-checkbox", checkboxCompareClosure(checkbox), true);
tr.appendChild(th);
}
} else if (column === "References") {
tr.appendChild(createColumnHeader("References", "references", (a, b) => {
var i = 0;
while (i < a.length && i < b.length) {
if (a[i][0] != b[i][0]) return compareRefs(a[i][0], b[i][0]);
i++;
}
return a.length - b.length;
}));
} else if (column === "Value") {
tr.appendChild(createColumnHeader("Value", "value", (a, b) => {
var ra = a[0][1], rb = b[0][1];
return valueCompare(
pcbdata.bom.parsedValues[ra], pcbdata.bom.parsedValues[rb],
pcbdata.bom.fields[ra][valueIndex], pcbdata.bom.fields[rb][valueIndex]);
}));
return;
} else if (column === "Footprint") {
tr.appendChild(createColumnHeader(
"Footprint", "footprint", stringFieldCompareClosure(footprintIndex)));
} else if (column === "Quantity" && settings.bommode == "grouped") {
tr.appendChild(createColumnHeader("Quantity", "quantity", (a, b) => {
return a.length - b.length;
}));
} else {
// Other fields
var i = config.fields.indexOf(column);
if (i < 0)
return;
tr.appendChild(createColumnHeader(
column, `field${i + 1}`, stringFieldCompareClosure(i)));
}
});
}
bomhead.appendChild(tr);
}
function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
const urlRegex = /^(https?:\/\/[^\s\/$.?#][^\s]*|file:\/\/([a-zA-Z]:|\/)[^\x00]+)$/;
while (bom.firstChild) {
bom.removeChild(bom.firstChild);
}
highlightHandlers = [];
footprintIndexToHandler = {};
netsToHandler = {};
currentHighlightedRowId = null;
var first = true;
var style = getComputedStyle(topmostdiv);
var defaultNetColor = style.getPropertyValue('--track-color').trim();
bomtable = getSelectedBomList();
if (bomSortFunction) {
bomtable = bomtable.sort(bomSortFunction);
}
for (var i in bomtable) {
var bomentry = bomtable[i];
if (filter && !entryMatches(bomentry)) {
continue;
}
var references = null;
var netname = null;
var tr = document.createElement("TR");
var td = document.createElement("TD");
var rownum = +i + 1;
tr.id = "bomrow" + rownum;
td.textContent = rownum;
tr.appendChild(td);
if (settings.bommode == "netlist") {
netname = bomentry;
td = document.createElement("TD");
td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
tr.appendChild(td);
var color = settings.netColors[netname] || defaultNetColor;
td = document.createElement("TD");
var colorBox = document.createElement("INPUT");
colorBox.type = "color";
colorBox.value = color;
colorBox.onchange = netColorChangeHandler(netname);
colorBox.onmouseup = netColorRightClick(netname);
colorBox.oncontextmenu = (e) => e.preventDefault();
td.appendChild(colorBox);
td.classList.add("color-column");
tr.appendChild(td);
} else {
if (reflookup) {
references = findRefInEntry(bomentry);
if (references.length == 0) {
continue;
}
} else {
references = bomentry;
}
// Filter hidden columns
var columns = settings.columnOrder.filter(e => !settings.hiddenColumns.includes(e));
columns.forEach((column) => {
if (column === placeholderColumn) {
var n = 1;
if (column === "checkboxes")
n = settings.checkboxes.length;
for (i = 0; i < n; i++) {
td = placeHolderElements.shift();
tr.appendChild(td);
}
return;
} else if (column === "checkboxes") {
for (var checkbox of settings.checkboxes) {
if (checkbox) {
td = document.createElement("TD");
var input = document.createElement("input");
input.type = "checkbox";
[input.onchange, td.ontouchstart, td.ontouchend] = createCheckboxHandlers(input, checkbox, references, tr);
setBomCheckboxState(checkbox, input, references);
if (input.checked && settings.markWhenChecked == checkbox) {
tr.classList.add("checked");
}
td.appendChild(input);
tr.appendChild(td);
}
}
} else if (column === "References") {
td = document.createElement("TD");
td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
tr.appendChild(td);
} else if (column === "Quantity" && settings.bommode == "grouped") {
// Quantity
td = document.createElement("TD");
td.textContent = references.length;
tr.appendChild(td);
} else {
// All the other fields
var field_index = config.fields.indexOf(column)
if (field_index < 0)
return;
var valueSet = new Set();
references.map(r => r[1]).forEach((id) => valueSet.add(pcbdata.bom.fields[id][field_index]));
td = document.createElement("TD");
var output = new Array();
for (let item of valueSet) {
const visible = highlightFilter(String(item));
if (typeof item === 'string' && item.match(urlRegex)) {
output.push(`<a href="${item}" target="_blank">${visible}</a>`);
} else {
output.push(visible);
}
}
td.innerHTML = output.join(", ");
tr.appendChild(td);
}
});
}
bom.appendChild(tr);
var handler = createRowHighlightHandler(tr.id, references, netname);
if (settings.highlightRowOnClick) {
tr.onmousedown = handler;
} else {
tr.onmousemove = handler;
}
highlightHandlers.push({
id: tr.id,
handler: handler,
});
if (references !== null) {
for (var refIndex of references.map(r => r[1])) {
footprintIndexToHandler[refIndex] = handler;
}
}
if (netname !== null) {
netsToHandler[netname] = handler;
}
if ((filter || reflookup) && first) {
handler();
first = false;
}
}
EventHandler.emitEvent(
IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT, {
filter: filter,
reflookup: reflookup,
checkboxes: settings.checkboxes,
bommode: settings.bommode,
});
}
function highlightPreviousRow() {
if (!currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[0].id == currentHighlightedRowId) {
highlightHandlers[highlightHandlers.length - 1].handler();
} else {
for (var i = 0; i < highlightHandlers.length - 1; i++) {
if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function highlightNextRow() {
if (!currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
if (highlightHandlers.length > 1 &&
highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
highlightHandlers[0].handler();
} else {
for (var i = 1; i < highlightHandlers.length; i++) {
if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
highlightHandlers[i].handler();
break;
}
}
}
}
smoothScrollToRow(currentHighlightedRowId);
}
function populateBomTable() {
populateBomHeader();
populateBomBody();
setBomHandlers();
resizableGrid(bomhead);
}
function footprintsClicked(footprintIndexes) {
var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
for (var i = 1; i <= footprintIndexes.length; i++) {
var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
if (refIndex in footprintIndexToHandler) {
lastClicked = refIndex;
footprintIndexToHandler[refIndex]();
smoothScrollToRow(currentHighlightedRowId);
break;
}
}
}
function netClicked(net) {
if (net in netsToHandler) {
netsToHandler[net]();
smoothScrollToRow(currentHighlightedRowId);
} else {
clearHighlightedFootprints();
highlightedNet = net;
drawHighlights();
}
}
function updateFilter(input) {
filter = input.toLowerCase();
populateBomTable();
}
function updateRefLookup(input) {
reflookup = input.toLowerCase();
populateBomTable();
}
function changeCanvasLayout(layout) {
document.getElementById("fl-btn").classList.remove("depressed");
document.getElementById("fb-btn").classList.remove("depressed");
document.getElementById("bl-btn").classList.remove("depressed");
switch (layout) {
case 'F':
document.getElementById("fl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(1);
}
break;
case 'B':
document.getElementById("bl-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.collapse(0);
}
break;
default:
document.getElementById("fb-btn").classList.add("depressed");
if (settings.bomlayout != "bom-only") {
canvassplit.setSizes([50, 50]);
}
}
settings.canvaslayout = layout;
writeStorage("canvaslayout", layout);
resizeAll();
changeBomMode(settings.bommode);
}
function populateMetadata() {
document.getElementById("title").innerHTML = pcbdata.metadata.title;
document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
document.getElementById("company").innerHTML = pcbdata.metadata.company;
document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
if (pcbdata.metadata.title != "") {
document.title = pcbdata.metadata.title + " BOM";
}
// Calculate board stats
var fp_f = 0,
fp_b = 0,
pads_f = 0,
pads_b = 0,
pads_th = 0;
for (var i = 0; i < pcbdata.footprints.length; i++) {
if (pcbdata.bom.skipped.includes(i)) continue;
var mod = pcbdata.footprints[i];
if (mod.layer == "F") {
fp_f++;
} else {
fp_b++;
}
for (var pad of mod.pads) {
if (pad.type == "th") {
pads_th++;
} else {
if (pad.layers.includes("F")) {
pads_f++;
}
if (pad.layers.includes("B")) {
pads_b++;
}
}
}
}
document.getElementById("stats-components-front").innerHTML = fp_f;
document.getElementById("stats-components-back").innerHTML = fp_b;
document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
document.getElementById("stats-th-pads").innerHTML = pads_th;
// Update version string
document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
/^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}
function changeBomLayout(layout) {
document.getElementById("bom-btn").classList.remove("depressed");
document.getElementById("lr-btn").classList.remove("depressed");
document.getElementById("tb-btn").classList.remove("depressed");
switch (layout) {
case 'bom-only':
document.getElementById("bom-btn").classList.add("depressed");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
document.getElementById("frontcanvas").style.display = "none";
document.getElementById("backcanvas").style.display = "none";
document.getElementById("topmostdiv").style.height = "";
document.getElementById("topmostdiv").style.display = "block";
break;
case 'top-bottom':
document.getElementById("tb-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("topmostdiv").style.height = "100%";
document.getElementById("topmostdiv").style.display = "flex";
document.getElementById("bomdiv").classList.remove("split-horizontal");
document.getElementById("canvasdiv").classList.remove("split-horizontal");
document.getElementById("frontcanvas").classList.add("split-horizontal");
document.getElementById("backcanvas").classList.add("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
direction: "vertical",
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
onDragEnd: resizeAll
});
break;
case 'left-right':
document.getElementById("lr-btn").classList.add("depressed");
document.getElementById("frontcanvas").style.display = "";
document.getElementById("backcanvas").style.display = "";
document.getElementById("topmostdiv").style.height = "100%";
document.getElementById("topmostdiv").style.display = "flex";
document.getElementById("bomdiv").classList.add("split-horizontal");
document.getElementById("canvasdiv").classList.add("split-horizontal");
document.getElementById("frontcanvas").classList.remove("split-horizontal");
document.getElementById("backcanvas").classList.remove("split-horizontal");
if (bomsplit) {
bomsplit.destroy();
bomsplit = null;
canvassplit.destroy();
canvassplit = null;
}
bomsplit = Split(['#bomdiv', '#canvasdiv'], {
sizes: [50, 50],
onDragEnd: resizeAll,
gutterSize: 5
});
canvassplit = Split(['#frontcanvas', '#backcanvas'], {
sizes: [50, 50],
gutterSize: 5,
direction: "vertical",
onDragEnd: resizeAll
});
}
settings.bomlayout = layout;
writeStorage("bomlayout", layout);
changeCanvasLayout(settings.canvaslayout);
}
function changeBomMode(mode) {
document.getElementById("bom-grouped-btn").classList.remove("depressed");
document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
document.getElementById("bom-netlist-btn").classList.remove("depressed");
var chkbxs = document.getElementsByClassName("visibility_checkbox");
switch (mode) {
case 'grouped':
document.getElementById("bom-grouped-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = false;
}
break;
case 'ungrouped':
document.getElementById("bom-ungrouped-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = false;
}
break;
case 'netlist':
document.getElementById("bom-netlist-btn").classList.add("depressed");
for (var i = 0; i < chkbxs.length; i++) {
chkbxs[i].disabled = true;
}
}
writeStorage("bommode", mode);
if (mode != settings.bommode) {
settings.bommode = mode;
bomSortFunction = null;
currentSortColumn = null;
currentSortOrder = null;
clearHighlightedFootprints();
}
populateBomTable();
}
function focusFilterField() {
focusInputField(document.getElementById("filter"));
}
function focusRefLookupField() {
focusInputField(document.getElementById("reflookup"));
}
function toggleBomCheckbox(bomrowid, checkboxnum) {
if (!bomrowid || checkboxnum > settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var childNum = checkboxnum + settings.columnOrder.indexOf("checkboxes");
var checkbox = bomrow.childNodes[childNum].childNodes[0];
checkbox.checked = !checkbox.checked;
checkbox.indeterminate = false;
checkbox.onchange();
}
function checkBomCheckbox(bomrowid, checkboxname) {
var checkboxnum = 0;
while (checkboxnum < settings.checkboxes.length &&
settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
checkboxnum++;
}
if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
return;
}
var bomrow = document.getElementById(bomrowid);
var childNum = checkboxnum + 1 + settings.columnOrder.indexOf("checkboxes");
var checkbox = bomrow.childNodes[childNum].childNodes[0];
checkbox.checked = true;
checkbox.indeterminate = false;
checkbox.onchange();
}
function setBomCheckboxes(value) {
writeStorage("bomCheckboxes", value);
settings.checkboxes = value.split(",").map((e) => e.trim()).filter((e) => e);
prepCheckboxes();
populateMarkWhenCheckedOptions();
setMarkWhenChecked(settings.markWhenChecked);
}
function setMarkWhenChecked(value) {
writeStorage("markWhenChecked", value);
settings.markWhenChecked = value;
markedFootprints.clear();
for (var ref of (value ? getStoredCheckboxRefs(value) : [])) {
markedFootprints.add(ref);
}
populateBomTable();
drawHighlights();
}
function prepCheckboxes() {
var table = document.getElementById("checkbox-stats");
while (table.childElementCount > 1) {
table.removeChild(table.lastChild);
}
if (settings.checkboxes.length) {
table.style.display = "";
} else {
table.style.display = "none";
}
for (var checkbox of settings.checkboxes) {
var tr = document.createElement("TR");
var td = document.createElement("TD");
td.innerHTML = checkbox;
tr.appendChild(td);
td = document.createElement("TD");
td.id = "checkbox-stats-" + checkbox;
var progressbar = document.createElement("div");
progressbar.classList.add("bar");
td.appendChild(progressbar);
var text = document.createElement("div");
text.classList.add("text");
td.appendChild(text);
tr.appendChild(td);
table.appendChild(tr);
updateCheckboxStats(checkbox);
}
}
function populateMarkWhenCheckedOptions() {
var container = document.getElementById("markWhenCheckedContainer");
if (settings.checkboxes.length == 0) {
container.parentElement.style.display = "none";
return;
}
container.innerHTML = '';
container.parentElement.style.display = "inline-block";
function createOption(name, displayName) {
var id = "markWhenChecked-" + name;
var div = document.createElement("div");
div.classList.add("radio-container");
var input = document.createElement("input");
input.type = "radio";
input.name = "markWhenChecked";
input.value = name;
input.id = id;
input.onchange = () => setMarkWhenChecked(name);
div.appendChild(input);
// Preserve the selected element when the checkboxes change
if (name == settings.markWhenChecked) {
input.checked = true;
}
var label = document.createElement("label");
label.innerHTML = displayName;
label.htmlFor = id;
div.appendChild(label);
container.appendChild(div);
}
createOption("", "None");
for (var checkbox of settings.checkboxes) {
createOption(checkbox, checkbox);
}
}
function updateCheckboxStats(checkbox) {
var checked = getStoredCheckboxRefs(checkbox).size;
var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
var percent = checked * 100.0 / total;
var td = document.getElementById("checkbox-stats-" + checkbox);
td.firstChild.style.width = percent + "%";
td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}
function constrain(number, min, max) {
return Math.min(Math.max(parseInt(number), min), max);
}
document.onkeydown = function (e) {
switch (e.key) {
case "n":
if (document.activeElement.type == "text") {
return;
}
if (currentHighlightedRowId !== null) {
checkBomCheckbox(currentHighlightedRowId, "placed");
highlightNextRow();
e.preventDefault();
}
break;
case "ArrowUp":
highlightPreviousRow();
e.preventDefault();
break;
case "ArrowDown":
highlightNextRow();
e.preventDefault();
break;
case "ArrowLeft":
case "ArrowRight":
if (document.activeElement.type != "text") {
e.preventDefault();
let boardRotationElement = document.getElementById("boardRotation")
settings.boardRotation = parseInt(boardRotationElement.value); // degrees / 5
if (e.key == "ArrowLeft") {
settings.boardRotation += 3; // 15 degrees
}
else {
settings.boardRotation -= 3;
}
settings.boardRotation = constrain(settings.boardRotation, boardRotationElement.min, boardRotationElement.max);
boardRotationElement.value = settings.boardRotation
setBoardRotation(settings.boardRotation);
}
break;
default:
break;
}
if (e.altKey) {
switch (e.key) {
case "f":
focusFilterField();
e.preventDefault();
break;
case "r":
focusRefLookupField();
e.preventDefault();
break;
case "z":
changeBomLayout("bom-only");
e.preventDefault();
break;
case "x":
changeBomLayout("left-right");
e.preventDefault();
break;
case "c":
changeBomLayout("top-bottom");
e.preventDefault();
break;
case "v":
changeCanvasLayout("F");
e.preventDefault();
break;
case "b":
changeCanvasLayout("FB");
e.preventDefault();
break;
case "n":
changeCanvasLayout("B");
e.preventDefault();
break;
default:
break;
}
if (e.key >= '1' && e.key <= '9') {
toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
e.preventDefault();
}
}
}
function hideNetlistButton() {
document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
document.getElementById("bom-netlist-btn").style.display = "none";
}
function topToggle() {
var top = document.getElementById("top");
var toptoggle = document.getElementById("toptoggle");
if (top.style.display === "none") {
top.style.display = "flex";
toptoggle.classList.remove("flipped");
} else {
top.style.display = "none";
toptoggle.classList.add("flipped");
}
}
window.onload = function (e) {
initRender();
initStorage();
initDefaults();
initUtils();
cleanGutters();
populateMetadata();
dbgdiv = document.getElementById("dbg");
bom = document.getElementById("bombody");
bomhead = document.getElementById("bomhead");
filter = "";
reflookup = "";
if (!("nets" in pcbdata)) {
hideNetlistButton();
}
initDone = true;
setBomCheckboxes(document.getElementById("bomCheckboxes").value);
// Triggers render
changeBomLayout(settings.bomlayout);
// Users may leave fullscreen without touching the checkbox. Uncheck.
document.addEventListener('fullscreenchange', () => {
if (!document.fullscreenElement)
document.getElementById('fullscreenCheckbox').checked = false;
});
}
window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);
///////////////////////////////////////////////
///////////////////////////////////////////////
///////////////////////////////////////////////
</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>