feature: show klipper & moonraker branch on hover

feature: disable update buttons during a print

Signed-off-by: Stefan Dej <meteyou@gmail.com>
This commit is contained in:
Stefan Dej 2021-01-12 23:44:30 +01:00
parent 747722ec2c
commit 2b08e34ba7
2 changed files with 45 additions and 3 deletions

View File

@ -16,7 +16,12 @@
<v-container py-0 px-0>
<v-row v-if="'version' in klipper" class="py-2">
<v-col class="pl-6 text-no-wrap">
<strong>Klipper</strong><br />
<v-tooltip top>
<template v-slot:activator="{ on, attrs }">
<strong v-bind="attrs" v-on="on">Klipper</strong>
</template>
<span>{{ klipperBranch }}</span>
</v-tooltip><br />
<span v-if="'remote_version' in klipper && klipper.version !== klipper.remote_version">{{ klipper.version+' &gt; '+klipper.remote_version }}</span>
<span v-if="!('remote_version' in klipper && klipper.version !== klipper.remote_version)">{{ klipper.version }}</span>
</v-col>
@ -36,7 +41,12 @@
<v-divider class="my-0" ></v-divider>
<v-row class="py-2">
<v-col class="pl-6 text-no-wrap">
<strong>Moonraker</strong><br />
<v-tooltip top>
<template v-slot:activator="{ on, attrs }">
<strong v-bind="attrs" v-on="on">Moonraker</strong>
</template>
<span>{{ moonrakerBranch }}</span>
</v-tooltip><br />
<span v-if="'remote_version' in moonraker && moonraker.version !== moonraker.remote_version">{{ moonraker.version+' &gt; '+moonraker.remote_version }}</span>
<span v-if="!('remote_version' in moonraker && moonraker.version !== moonraker.remote_version)">{{ moonraker.version }}</span>
</v-col>
@ -93,7 +103,7 @@
label
outlined
:color="system.package_count ? 'primary' : 'green'"
:disabled="!(system.package_count)"
:disabled="!(system.package_count) || printer_state === 'printing'"
@click="updateSystem"
class="minwidth-0 mt-3 px-2 text-uppercase"
><v-icon small class="mr-1">mdi-{{ system.package_count ? 'progress-upload' : 'check' }}</v-icon>{{ system.package_count ? 'upgrade' : 'up-to-date' }}</v-chip>
@ -125,6 +135,7 @@
system: state => state.server.updateManager.system,
loadings: state => state.socket.loadings,
remoteMode: state => state.socket.remoteMode,
printer_state: state => state.printer.print_stats.state,
}),
mainsail:{
get() {
@ -133,6 +144,16 @@
return false
}
},
klipperBranch: {
get() {
return this.$store.getters["server/updateManager/getKlipperBranch"]
}
},
moonrakerBranch: {
get() {
return this.$store.getters["server/updateManager/getMoonrakerBranch"]
}
}
},
methods: {
@ -189,6 +210,8 @@
return 'ERROR'
},
is_disabled(object) {
if (this.printer_state === "printing") return true
if (typeof object === 'object' && object !== false) {
if ('current_hash' in object && 'remote_hash' in object && object.current_hash !== object.remote_hash) return false

View File

@ -1,3 +1,22 @@
export default {
getKlipperBranch(state) {
if (
'klipper' in state &&
'branch' in state.klipper &&
'remote_alias' in state.klipper
) return state.klipper.remote_alias+"/"+state.klipper.branch
return "UNKNOWN"
},
getMoonrakerBranch(state) {
if (
'moonraker' in state &&
'branch' in state.moonraker &&
'remote_alias' in state.moonraker
) return state.moonraker.remote_alias+"/"+state.moonraker.branch
return "UNKNOWN"
}
}