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

View File

@ -9,6 +9,7 @@ import {
PrinterState, PrinterState,
PrinterStateBedMesh, PrinterStateBedMesh,
PrinterStateExtruder, PrinterStateExtruder,
PrinterStateExtruderStepper,
PrinterStateFan, PrinterStateFan,
PrinterStateFilamentSensors, PrinterStateFilamentSensors,
PrinterStateHeater, PrinterStateHeater,
@ -702,6 +703,24 @@ export const getters: GetterTree<PrinterState, RootState> = {
return extruders 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) => { getExtrudePossible: (state) => {
const extruderName = state.toolhead?.extruder ?? 'extruder' const extruderName = state.toolhead?.extruder ?? 'extruder'

View File

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