@@ -362,6 +362,25 @@ function highlightFilter(s) {
362
362
return r ;
363
363
}
364
364
365
+ function getSelectedBomList ( ) {
366
+ if ( settings . bommode == "netlist" ) {
367
+ return pcbdata . nets . slice ( ) ;
368
+ }
369
+ var out = [ ] ;
370
+ switch ( settings . canvaslayout ) {
371
+ case 'F' :
372
+ out = pcbdata . bom . F . slice ( ) ;
373
+ break ;
374
+ case 'FB' :
375
+ out = pcbdata . bom . both . slice ( ) ;
376
+ break ;
377
+ case 'B' :
378
+ out = pcbdata . bom . B . slice ( ) ;
379
+ break ;
380
+ }
381
+ return ( settings . bommode == "ungrouped" ) ? out . flat ( ) : out ;
382
+ }
383
+
365
384
function checkboxSetUnsetAllHandler ( checkboxname ) {
366
385
return function ( ) {
367
386
var checkboxnum = 0 ;
@@ -619,31 +638,9 @@ function populateBomBody(placeholderColumn = null, placeHolderElements = null) {
619
638
var first = true ;
620
639
var style = getComputedStyle ( topmostdiv ) ;
621
640
var defaultNetColor = style . getPropertyValue ( '--track-color' ) . trim ( ) ;
622
- if ( settings . bommode == "netlist" ) {
623
- bomtable = pcbdata . nets . slice ( ) ;
624
- } else {
625
- switch ( settings . canvaslayout ) {
626
- case 'F' :
627
- bomtable = pcbdata . bom . F . slice ( ) ;
628
- break ;
629
- case 'FB' :
630
- bomtable = pcbdata . bom . both . slice ( ) ;
631
- break ;
632
- case 'B' :
633
- bomtable = pcbdata . bom . B . slice ( ) ;
634
- break ;
635
- }
636
- if ( settings . bommode == "ungrouped" ) {
637
- // expand bom table
638
- expandedTable = [ ]
639
- for ( var bomentry of bomtable ) {
640
- for ( var ref of bomentry ) {
641
- expandedTable . push ( [ ref ] ) ;
642
- }
643
- }
644
- bomtable = expandedTable ;
645
- }
646
- }
641
+
642
+ bomtable = getSelectedBomList ( ) ;
643
+
647
644
if ( bomSortFunction ) {
648
645
bomtable = bomtable . sort ( bomSortFunction ) ;
649
646
}
@@ -1294,10 +1291,10 @@ function topToggle() {
1294
1291
}
1295
1292
1296
1293
window . onload = function ( e ) {
1297
- initUtils ( ) ;
1298
1294
initRender ( ) ;
1299
1295
initStorage ( ) ;
1300
1296
initDefaults ( ) ;
1297
+ initUtils ( ) ;
1301
1298
cleanGutters ( ) ;
1302
1299
populateMetadata ( ) ;
1303
1300
dbgdiv = document . getElementById ( "dbg" ) ;
0 commit comments