diff --git a/src/components/panels/Settings/UpdatePanel.vue b/src/components/panels/Settings/UpdatePanel.vue index 67e8504d..c36d99d1 100644 --- a/src/components/panels/Settings/UpdatePanel.vue +++ b/src/components/panels/Settings/UpdatePanel.vue @@ -16,7 +16,12 @@ - Klipper
+ + + {{ klipperBranch }} +
{{ klipper.version+' > '+klipper.remote_version }} {{ klipper.version }}
@@ -36,7 +41,12 @@ - Moonraker
+ + + {{ moonrakerBranch }} +
{{ moonraker.version+' > '+moonraker.remote_version }} {{ moonraker.version }}
@@ -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" >mdi-{{ system.package_count ? 'progress-upload' : 'check' }}{{ system.package_count ? 'upgrade' : 'up-to-date' }} @@ -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 diff --git a/src/store/server/updateManager/getters.js b/src/store/server/updateManager/getters.js index 5c933b16..330f052c 100644 --- a/src/store/server/updateManager/getters.js +++ b/src/store/server/updateManager/getters.js @@ -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" + } } \ No newline at end of file