refactor: hide PA input fields if extruder_stepper is configured (#846)

This commit is contained in:
th33xitus 2022-05-30 22:09:45 +02:00 committed by GitHub
parent edd97e0773
commit 8b4d534e86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 3 deletions

View File

@ -146,8 +146,10 @@
attribute-name="S"></tool-slider>
</v-container>
<!-- PRESSURE ADVANCE SETTINGS -->
<v-divider></v-divider>
<pressure-advance-settings></pressure-advance-settings>
<template v-if="!extruderSteppers.length > 0">
<v-divider></v-divider>
<pressure-advance-settings></pressure-advance-settings>
</template>
<v-divider class="pb-1"></v-divider>
<!-- EXTRUDER INPUTS AND QUICKSELECTS -->
<v-container>
@ -362,7 +364,7 @@ import {
mdiDotsVertical,
} from '@mdi/js'
import { Component, Mixins, Watch } from 'vue-property-decorator'
import { PrinterStateExtruder, PrinterStateToolchangeMacro } from '@/store/printer/types'
import { PrinterStateExtruder, PrinterStateExtruderStepper, PrinterStateToolchangeMacro } from '@/store/printer/types'
import BaseMixin from '../mixins/base'
import ControlMixin from '../mixins/control'
import NumberInput from '@/components/inputs/NumberInput.vue'
@ -410,6 +412,10 @@ export default class ExtruderControlPanel extends Mixins(BaseMixin, ControlMixin
return this.$store.getters['printer/getExtruders']
}
get extruderSteppers(): PrinterStateExtruderStepper[] {
return this.$store.getters['printer/getExtruderSteppers']
}
get activeExtruder(): string {
return this.$store.state.printer.toolhead?.extruder
}

View File

@ -9,6 +9,7 @@ import {
PrinterState,
PrinterStateBedMesh,
PrinterStateExtruder,
PrinterStateExtruderStepper,
PrinterStateFan,
PrinterStateFilamentSensors,
PrinterStateHeater,
@ -702,6 +703,24 @@ export const getters: GetterTree<PrinterState, RootState> = {
return extruders
},
getExtruderSteppers: (state) => {
const extruderSteppers: PrinterStateExtruderStepper[] = []
if (state.configfile?.settings) {
Object.keys(state.configfile?.settings)
.filter((key) => key.match(/^extruder_stepper/g))
.sort()
.forEach((key: string) => {
const extruderStepper = state.configfile?.settings[key]
extruderSteppers.push({
key: key,
name: key.replace('extruder_stepper ', ''),
extruder: extruderStepper.extruder,
})
})
}
return extruderSteppers
},
getExtrudePossible: (state) => {
const extruderName = state.toolhead?.extruder ?? 'extruder'

View File

@ -217,6 +217,12 @@ export interface PrinterStateExtruder {
maxExtrudeOnlyDistance: number
}
export interface PrinterStateExtruderStepper {
key: string
name: string
extruder: number
}
export interface PrinterStateToolchangeMacro {
name: string
active: boolean