From 31d898c6ef9c035012cb8870110de6ef3c4189b9 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 10:17:55 +0100 Subject: [PATCH 1/5] rename moonraker plugins in components (update for https://github.com/Arksine/moonraker/commit/1dc920019cba92bd329d6f407cdeb75398a2fd72) Signed-off-by: Stefan Dej --- ...luginsPanel.vue => MoonrakerFailedComponentsPanel.vue} | 8 ++++---- src/components/panels/index.js | 4 ++-- src/pages/Dashboard.vue | 4 ++-- src/pages/settings/machine.vue | 2 +- src/store/printer/actions.js | 3 --- src/store/printer/mutations.js | 2 +- src/store/server/actions.js | 6 +++--- src/store/server/index.js | 4 ++-- 8 files changed, 15 insertions(+), 18 deletions(-) rename src/components/panels/{MoonrakerFailedPluginsPanel.vue => MoonrakerFailedComponentsPanel.vue} (79%) diff --git a/src/components/panels/MoonrakerFailedPluginsPanel.vue b/src/components/panels/MoonrakerFailedComponentsPanel.vue similarity index 79% rename from src/components/panels/MoonrakerFailedPluginsPanel.vue rename to src/components/panels/MoonrakerFailedComponentsPanel.vue index fbe0f025..7847f6bd 100644 --- a/src/components/panels/MoonrakerFailedPluginsPanel.vue +++ b/src/components/panels/MoonrakerFailedComponentsPanel.vue @@ -4,17 +4,17 @@ - Moonraker Failed Plugins + Moonraker Failed Components -

An error was detected while loading the moonraker plugins. Please check the logfile and fix the issue.

+

An error was detected while loading the moonraker components. Please check the logfile and fix the issue.

Following plugin has an error:

    -
  • {{ plugin }}
  • +
  • {{ component }}
@@ -35,7 +35,7 @@ }), computed: { ...mapState({ - failedPlugins: state => state.server.failed_plugins, + failedComponents: state => state.server.failed_components, hostname: state => state.socket.hostname, port: state => state.socket.port, }), diff --git a/src/components/panels/index.js b/src/components/panels/index.js index 3206ecbe..51ab44c1 100644 --- a/src/components/panels/index.js +++ b/src/components/panels/index.js @@ -3,7 +3,7 @@ import Vue from 'vue' import StatusPanel from './StatusPanel.vue' import KlippyStatePanel from './KlippyStatePanel.vue' import MinSettingsPanel from './MinSettingsPanel.vue' -import MoonrakerFailedPluginsPanel from './MoonrakerFailedPluginsPanel.vue' +import MoonrakerFailedComponentsPanel from './MoonrakerFailedComponentsPanel.vue' import ToolsPanel from './ToolsPanel.vue' import ControlPanel from "./ControlPanel"; import ZOffsetPanel from "./ZOffsetPanel"; @@ -16,7 +16,7 @@ import PowerControlPanel from "./PowerControlPanel.vue"; Vue.component('status-panel', StatusPanel); Vue.component('klippy-state-panel', KlippyStatePanel); Vue.component('min-settings-panel', MinSettingsPanel); -Vue.component('moonraker-failed-plugins-panel', MoonrakerFailedPluginsPanel); +Vue.component('moonraker-failed-components-panel', MoonrakerFailedComponentsPanel); Vue.component('tools-panel', ToolsPanel); Vue.component('control-panel', ControlPanel); Vue.component('zoffset-panel', ZOffsetPanel); diff --git a/src/pages/Dashboard.vue b/src/pages/Dashboard.vue index 3f3ca335..8c45dd93 100644 --- a/src/pages/Dashboard.vue +++ b/src/pages/Dashboard.vue @@ -2,7 +2,7 @@ - + @@ -31,7 +31,7 @@ socket_connected: state => state.socket.isConnected, klippy_connected: state => state.server.klippy_connected, klippy_state: state => state.server.klippy_state, - moonrakerFailedPlugins: state => state.server.failed_plugins, + moonrakerFailedComponents: state => state.server.failed_components, showDashboardWebcam: state => state.gui.dashboard.boolWebcam, showDashboardConsole: state => state.gui.dashboard.boolConsole, diff --git a/src/pages/settings/machine.vue b/src/pages/settings/machine.vue index f94f5f43..4d96abc4 100644 --- a/src/pages/settings/machine.vue +++ b/src/pages/settings/machine.vue @@ -34,7 +34,7 @@ }), updateManager:{ get() { - return this.$store.state.server.plugins.includes('update_manager') + return this.$store.state.server.components.includes('update_manager') } } }, diff --git a/src/store/printer/actions.js b/src/store/printer/actions.js index 97afd0c3..d973c1fc 100644 --- a/src/store/printer/actions.js +++ b/src/store/printer/actions.js @@ -8,9 +8,6 @@ export default { init() { Vue.prototype.$socket.sendObj('printer.info', {}, 'printer/getInfo') - - // only available with klipper is ready - //Vue.prototype.$socket.sendObj('server.files.get_directory', { path: 'gcodes' }, 'files/getDirectory') }, getInfo({ commit }, payload) { diff --git a/src/store/printer/mutations.js b/src/store/printer/mutations.js index 4658729c..aac87f3e 100644 --- a/src/store/printer/mutations.js +++ b/src/store/printer/mutations.js @@ -16,7 +16,7 @@ export default { } this.dispatch('socket/clearLoadings', null, { root: true }) - if (this.state.server.plugins.includes("update_manager")) + if (this.state.server.components.includes("update_manager")) Vue.prototype.$socket.sendObj('machine.update.status', { refresh: false }, 'server/updateManager/getStatus') }, diff --git a/src/store/server/actions.js b/src/store/server/actions.js index 9a6b7442..5257c35d 100644 --- a/src/store/server/actions.js +++ b/src/store/server/actions.js @@ -47,11 +47,11 @@ export default { }, getInfo({ commit, state, rootState }, payload) { - if (state.plugins.length === 0) { - if (payload.plugins.includes("power") !== false) + if (state.components.length === 0) { + if (payload.components.includes("power") !== false) Vue.prototype.$socket.sendObj('machine.device_power.devices', {}, 'server/power/getDevices') - if (payload.plugins.includes("update_manager") !== false) + if (payload.components.includes("update_manager") !== false) Vue.prototype.$socket.sendObj('machine.update.status', {}, 'server/updateManager/getStatus') } diff --git a/src/store/server/index.js b/src/store/server/index.js index d3ce878e..fe774464 100644 --- a/src/store/server/index.js +++ b/src/store/server/index.js @@ -12,8 +12,8 @@ export function getDefaultState() { klippy_connected: false, klippy_state: "", klippy_message: "", - plugins: [], - failed_plugins: [], + components: [], + failed_components: [], registered_directories: [], events: [], config: {}, From 8cb410b99e3560aa37df50a55731a1fb5d382e09 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 19:23:56 +0100 Subject: [PATCH 2/5] reverse compatibility for moonraker components/plugins Signed-off-by: Stefan Dej --- src/pages/settings/machine.vue | 4 ++++ src/store/server/actions.js | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages/settings/machine.vue b/src/pages/settings/machine.vue index 4d96abc4..e55732b8 100644 --- a/src/pages/settings/machine.vue +++ b/src/pages/settings/machine.vue @@ -34,6 +34,10 @@ }), updateManager:{ get() { + //reverse compatibility + if ('plugins' in this.$store.state.server) + return this.$store.state.server.plugins.includes('update_manager') + return this.$store.state.server.components.includes('update_manager') } } diff --git a/src/store/server/actions.js b/src/store/server/actions.js index 5257c35d..cdd6a63e 100644 --- a/src/store/server/actions.js +++ b/src/store/server/actions.js @@ -48,10 +48,14 @@ export default { getInfo({ commit, state, rootState }, payload) { if (state.components.length === 0) { - if (payload.components.includes("power") !== false) + //reverse compatibility + let components = ('components' in payload) ? payload.components : [] + if (components.length === 0 && 'plugins' in payload) components = payload.plugins + + if (components.includes("power") !== false) Vue.prototype.$socket.sendObj('machine.device_power.devices', {}, 'server/power/getDevices') - if (payload.components.includes("update_manager") !== false) + if (components.includes("update_manager") !== false) Vue.prototype.$socket.sendObj('machine.update.status', {}, 'server/updateManager/getStatus') } From 4cdb0b1697e646c0a6bfcdccb341b64308ce3bfe Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 19:25:12 +0100 Subject: [PATCH 3/5] switch from github api to moonraker commits_behind for display commits between current commit and newest updateable commit Signed-off-by: Stefan Dej --- .../panels/Settings/UpdatePanel.vue | 106 ++++++------------ 1 file changed, 36 insertions(+), 70 deletions(-) diff --git a/src/components/panels/Settings/UpdatePanel.vue b/src/components/panels/Settings/UpdatePanel.vue index 45c9f17d..150c5b0a 100644 --- a/src/components/panels/Settings/UpdatePanel.vue +++ b/src/components/panels/Settings/UpdatePanel.vue @@ -80,24 +80,17 @@ mdi-close-thick - - - - - - - - + - + - {{ commit.title }}
-

+ {{ commit.subject }}
+

- {{ commit.author }} committed at {{ commit.date.toLocaleString() }} + {{ commit.author }} committed at {{ new Date(commit.date * 1000).toLocaleString() }}
@@ -114,7 +107,6 @@ \ No newline at end of file From 0c10c178aaa390e807aa818a2b6ca2e5e8302569 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 19:51:02 +0100 Subject: [PATCH 4/5] switch from base64 thumbnail in printer list to relative_path image Signed-off-by: Stefan Dej --- src/store/farm/printer/getters.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/store/farm/printer/getters.js b/src/store/farm/printer/getters.js index 00727c9d..dfade235 100644 --- a/src/store/farm/printer/getters.js +++ b/src/store/farm/printer/getters.js @@ -76,9 +76,9 @@ export default { }, getImage: state => { - if ( + /*if ( 'gui' in state.data && - 'webcam' in state.data.gui.webcam && + 'webcam' in state.data.gui && 'url' in state.data.gui.webcam && state.data.gui.webcam.url !== "" && 'bool' in state.data.gui.webcam && @@ -88,13 +88,22 @@ export default { state.data.gui.dashboard.boolWebcam ) { return state.data.gui.webcam.url - } else if ( + } else*/ + + if ( state.current_file && + "filename" in state.current_file && "thumbnails" in state.current_file && - state.current_file.thumbnails.find((element) => element.width === 400 && element.height === 300) + state.current_file.thumbnails.length ) { - return 'data:image/gif;base64,'+state.current_file.thumbnails.find((element) => element.width === 400 && element.height === 300).data - } else return "/img/sidebar-background.png" + const indexLastDir = state.current_file.filename.lastIndexOf('/') + const dir = (indexLastDir !== -1) ? state.current_file.filename.substr(0, indexLastDir) : "" + const thumbnail = state.current_file.thumbnails.find(thumb => thumb.width >= 300 && thumb.width <= 400) + + if (thumbnail && 'relative_path' in thumbnail) return "//"+state.socket.hostname+":"+state.socket.port+'/server/files/gcodes/'+dir+'/'+thumbnail.relative_path + } + + return "/img/sidebar-background.png" }, getLogo: state => { From bbdbde3869d32bfdf45aa024eb3bad788cfdd8e2 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 19:55:00 +0100 Subject: [PATCH 5/5] bugfix: pwm scale with uppercase fans Signed-off-by: Stefan Dej --- src/store/printer/getters.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/store/printer/getters.js b/src/store/printer/getters.js index 94329d17..c836a13a 100644 --- a/src/store/printer/getters.js +++ b/src/store/printer/getters.js @@ -241,12 +241,12 @@ export default { if (nameSplit[0].toLowerCase() === "output_pin") { controllable = true pwm = false - if ('settings' in state.configfile && key in state.configfile.settings) { - if ('pwm' in state.configfile.settings[key]) - pwm = state.configfile.settings[key].pwm + if ('settings' in state.configfile && key.toLowerCase() in state.configfile.settings) { + if ('pwm' in state.configfile.settings[key.toLowerCase()]) + pwm = state.configfile.settings[key.toLowerCase()].pwm - if ('scale' in state.configfile.settings[key]) - scale = state.configfile.settings[key].scale + if ('scale' in state.configfile.settings[key.toLowerCase()]) + scale = state.configfile.settings[key.toLowerCase()].scale } } @@ -262,12 +262,12 @@ export default { config: state.configfile.settings[key] } - if ('settings' in state.configfile && key in state.configfile.settings) { - if ('off_below' in state.configfile.settings[key]) - tmp['off_below'] = state.configfile.settings[key].off_below + if ('settings' in state.configfile && key.toLowerCase() in state.configfile.settings) { + if ('off_below' in state.configfile.settings[key.toLowerCase()]) + tmp['off_below'] = state.configfile.settings[key.toLowerCase()].off_below - if ('max_power' in state.configfile.settings[key]) - tmp['max_power'] = state.configfile.settings[key].max_power + if ('max_power' in state.configfile.settings[key.toLowerCase()]) + tmp['max_power'] = state.configfile.settings[key.toLowerCase()].max_power } output.push(tmp)