@@ -325,15 +325,22 @@ export const getters = {
325
325
* Return MCU's and their state
326
326
*/
327
327
getMcus : ( state ) => {
328
- const mcus = Object . keys ( state . printer )
329
- . filter ( key => key . startsWith ( 'mcu' ) )
328
+ const mcus : MCU [ ] = [ ]
329
+
330
+ const mcuKeys = Object . keys ( state . printer )
331
+ . filter ( key => key === 'mcu' || key . startsWith ( 'mcu ' ) )
330
332
. sort ( )
331
- . map ( ( key ) : MCU => ( {
333
+
334
+ for ( const key of mcuKeys ) {
335
+ const config = state . printer . configfile . settings [ key . toLowerCase ( ) ]
336
+
337
+ mcus . push ( {
332
338
name : key ,
333
339
prettyName : Vue . $filters . prettyCase ( key ) ,
334
340
...state . printer [ key ] ,
335
- config : state . printer . configfile . settings [ key . toLowerCase ( ) ]
336
- } ) )
341
+ config,
342
+ } )
343
+ }
337
344
338
345
return mcus
339
346
} ,
@@ -408,23 +415,23 @@ export const getters = {
408
415
getSteppers : ( state ) : Stepper [ ] => {
409
416
const steppers : Stepper [ ] = [ ]
410
417
411
- const stepperKeys : string [ ] = state . printer . motion_report ?. steppers ?? [ ]
418
+ const stepperKeys = state . printer . motion_report ?. steppers ?? [ ]
412
419
413
420
for ( const item of stepperKeys ) {
414
421
const name = item . startsWith ( 'stepper_' )
415
422
? item . substring ( 8 )
416
423
: item . split ( ' ' , 2 ) . pop ( ) || ''
417
424
418
425
const e = state . printer [ item ]
419
- const c = state . printer . configfile . settings [ item . toLowerCase ( ) ]
426
+ const config = state . printer . configfile . settings [ item . toLowerCase ( ) ]
420
427
421
428
steppers . push ( {
422
429
name,
423
430
prettyName : Vue . $filters . prettyCase ( name ) ,
424
431
key : item ,
425
432
enabled : state . printer . stepper_enable ?. steppers [ item ] ,
426
433
...e ,
427
- config : { ... c }
434
+ config
428
435
} )
429
436
}
430
437
@@ -515,45 +522,46 @@ export const getters = {
515
522
* Return available heaters
516
523
*/
517
524
getHeaters : ( state ) : Heater [ ] => {
518
- const heaters = state . printer . heaters ?. available_heaters ?? [ ]
519
- if (
520
- heaters . length
521
- ) {
522
- const r : Heater [ ] = [ ]
523
- heaters . forEach ( ( e : string ) => {
524
- const heater = state . printer [ e ]
525
- if ( heater && Object . keys ( heater ) . length > 0 ) {
526
- const config = state . printer . configfile . settings [ e . toLowerCase ( ) ]
527
- // Some heater items may have a prefix determining type.
528
- // Check for these and split as necessary.
529
- const keys = [
530
- 'heater_generic'
531
- ]
532
-
533
- const [ type , nameFromSplit ] = e . split ( ' ' , 2 )
534
- const name = nameFromSplit && keys . includes ( type )
535
- ? nameFromSplit
536
- : e
537
-
538
- const color = Vue . $colorset . next ( getKlipperType ( e ) , e )
539
- const prettyName = Vue . $filters . prettyCase ( name )
540
-
541
- r . push ( {
542
- ...heater ,
543
- name,
544
- color,
545
- prettyName,
546
- key : e ,
547
- minTemp : config ?. min_temp ?? 0 ,
548
- maxTemp : config ?. max_temp ?? 500 ,
549
- config : { ...config }
550
- } )
551
- }
552
- } )
525
+ const heaters : Heater [ ] = [ ]
526
+
527
+ const heaterKeys = state . printer . heaters ?. available_heaters ?? [ ]
553
528
554
- return r . sort ( ( a , b ) => a . name . localeCompare ( b . name ) )
529
+ for ( const key of heaterKeys ) {
530
+ const heater = state . printer [ key ]
531
+
532
+ if ( heater && Object . keys ( heater ) . length > 0 ) {
533
+ const config = state . printer . configfile . settings [ key . toLowerCase ( ) ]
534
+
535
+ // Some heater items may have a prefix determining type.
536
+ // Check for these and split as necessary.
537
+ const prefixedTypes = [
538
+ 'heater_generic'
539
+ ]
540
+
541
+ const [ type , nameFromSplit ] = key . split ( ' ' , 2 )
542
+ const name = nameFromSplit && prefixedTypes . includes ( type )
543
+ ? nameFromSplit
544
+ : key
545
+
546
+ const color = Vue . $colorset . next ( getKlipperType ( key ) , key )
547
+ const prettyName = Vue . $filters . prettyCase ( name )
548
+
549
+ heaters . push ( {
550
+ ...heater ,
551
+ name,
552
+ type,
553
+ color,
554
+ prettyName,
555
+ key,
556
+ minTemp : config ?. min_temp ?? 0 ,
557
+ maxTemp : config ?. max_temp ?? 500 ,
558
+ config
559
+ } )
560
+ }
555
561
}
556
- return [ ]
562
+
563
+ return heaters
564
+ . sort ( ( a , b ) => a . name . localeCompare ( b . name ) )
557
565
} ,
558
566
559
567
getAllLeds : ( _ , getters ) => {
@@ -871,7 +879,7 @@ export const getters = {
871
879
break
872
880
}
873
881
874
- const name = config [ `screw${ index } _name` ]
882
+ const name = config [ `screw${ index } _name` ] ?? ''
875
883
const prettyName = name
876
884
? Vue . $filters . prettyCase ( name )
877
885
: i18n . t ( 'app.general.label.screw_number' , { index : index + 1 } ) . toString ( )
@@ -907,8 +915,8 @@ export const getters = {
907
915
break
908
916
}
909
917
910
- const coords = config [ key ]
911
- const name = config [ `${ key } _name` ]
918
+ const coords = config [ key ] ?? [ 0 , 0 ]
919
+ const name = config [ `${ key } _name` ] ?? ''
912
920
const prettyName = name
913
921
? Vue . $filters . prettyCase ( name )
914
922
: i18n . t ( 'app.general.label.screw_number' , { index : index + 1 } ) . toString ( )
0 commit comments