diff --git a/package.json b/package.json index c4da9d8c8..2c3b4a125 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mainsail", - "version": "2.12.3", + "version": "2.12.4", "private": true, "decription": "a klipper web interface", "author": { diff --git a/src/components/inputs/MiscellaneousSlider.vue b/src/components/inputs/MiscellaneousSlider.vue index 2ed19c15a..ffa0c64da 100644 --- a/src/components/inputs/MiscellaneousSlider.vue +++ b/src/components/inputs/MiscellaneousSlider.vue @@ -17,10 +17,11 @@ {{ mdiFan }} {{ convertName(name) }} - {{ Math.round(rpm ?? 0) }} RPM + {{ Math.round(rpm ?? 0) }} RPM + {{ Math.round(rpm ?? 0) }} RPM {{ Math.round(parseFloat(target) * 100) }}% PWM - {{ Math.round(parseFloat(value) * 100) }} % + {{ Math.round(value * 100) }} % {{ value ? mdiToggleSwitch : mdiToggleSwitchOffOutline }} @@ -320,6 +321,15 @@ export default class MiscellaneousSlider extends Mixins(BaseMixin) { return output } + get pwmClasses() { + const output = [] + if (!this.controllable) output.push(['mr-3', 'mt-1']) + else output.push(['mr-3', 'mt-2']) + if (this.rpm === 0 && this.value > 0) output.push('red--text') + + return output + } + get ledChannelName() { if (this.colorOrder === 'R') return 'RED' if (this.colorOrder === 'G') return 'GREEN' diff --git a/src/components/mixins/base.ts b/src/components/mixins/base.ts index 4aabadbc8..712a6bdf7 100644 --- a/src/components/mixins/base.ts +++ b/src/components/mixins/base.ts @@ -86,8 +86,13 @@ export default class BaseMixin extends Vue { get printer_state(): string { const printer_state = - this.$store.state.printer.print_stats?.state ?? this.$store.state.printer.idle_timeout?.state ?? '' - const timelapse_pause = this.$store.state.printer['gcode_macro TIMELAPSE_TAKE_FRAME']?.is_paused ?? false + this.$store.state?.printer?.print_stats?.state ?? this.$store.state?.printer?.idle_timeout?.state ?? '' + const printer = this.$store.state?.printer + let timelapse_pause = false + if (printer != undefined) { + timelapse_pause = printer['gcode_macro TIMELAPSE_TAKE_FRAME']?.is_paused ?? false + } + return printer_state === 'paused' && timelapse_pause ? 'printing' : printer_state } diff --git a/src/components/panels/Temperature/TemperaturePanelListItem.vue b/src/components/panels/Temperature/TemperaturePanelListItem.vue index 3c9bc0d75..d0bc266c4 100644 --- a/src/components/panels/Temperature/TemperaturePanelListItem.vue +++ b/src/components/panels/Temperature/TemperaturePanelListItem.vue @@ -43,16 +43,16 @@ - + - {{ $t('Panels.TemperaturePanel.Max') }}: {{ measured_max_temp }}°C + {{ $t('Panels.TemperaturePanel.Max') }}: {{ measured_max_temp ?? "--" }}°C
- {{ $t('Panels.TemperaturePanel.Min') }}: {{ measured_min_temp }}°C + {{ $t('Panels.TemperaturePanel.Min') }}: {{ measured_min_temp ?? "--" }}°C
diff --git a/src/store/gui/maintenance/actions.ts b/src/store/gui/maintenance/actions.ts index 1f3530dff..ce11620b6 100644 --- a/src/store/gui/maintenance/actions.ts +++ b/src/store/gui/maintenance/actions.ts @@ -157,7 +157,7 @@ export const actions: ActionTree = { entry.end_time = Date.now() / 1000 entry.end_filament = totalFilament entry.end_printtime = totalPrintTime - entry.perform_note = payload.note.trim() || null + entry.perform_note = payload.note?.trim() || null dispatch('update', entry) diff --git a/src/store/printer/getters.ts b/src/store/printer/getters.ts index 51ba0beb2..ad4398f63 100644 --- a/src/store/printer/getters.ts +++ b/src/store/printer/getters.ts @@ -166,7 +166,7 @@ export const getters: GetterTree = { // remove macros with rename_existing in the config const propLower = prop.toLowerCase() - const propSettings = settings[propLower] ?? {} + const propSettings = settings != undefined ? settings[propLower] ?? {} : {} if ('rename_existing' in propSettings) return array.push({