From 31d898c6ef9c035012cb8870110de6ef3c4189b9 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Fri, 19 Mar 2021 10:17:55 +0100 Subject: [PATCH 01/10] 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 02/10] 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 03/10] 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 04/10] 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 05/10] 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) From da61946bc14ba22c4848c064746b5b3d180d0560 Mon Sep 17 00:00:00 2001 From: Eike Ahmels Date: Tue, 16 Mar 2021 09:34:30 +0100 Subject: [PATCH 06/10] so nobody asks about it anymore! --- src/components/panels/ControlPanel.vue | 40 +++++++++++++++---- .../panels/Settings/ControlPanel.vue | 18 +++++++++ src/store/gui/index.js | 2 + 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/src/components/panels/ControlPanel.vue b/src/components/panels/ControlPanel.vue index 34bb6cd7..df1135e1 100644 --- a/src/components/panels/ControlPanel.vue +++ b/src/components/panels/ControlPanel.vue @@ -36,9 +36,17 @@ - - - + @@ -51,7 +59,7 @@ mdi-chevron-up @@ -70,7 +78,7 @@ mdi-chevron-left @@ -78,7 +86,7 @@ mdi-chevron-down @@ -86,7 +94,7 @@ mdi-chevron-right @@ -94,7 +102,7 @@ mdi-chevron-down @@ -316,6 +324,22 @@ 'printer/getMacros', 'printer/getExtrudePossible', ]), + reverseX: { + get() { + return this.$store.state.gui.dashboard.control.reverseX; + }, + set(reverseX) { + return this.$store.dispatch('gui/setSettings', { dashboard: { control: { reverseX } } }) + } + }, + reverseY: { + get() { + return this.$store.state.gui.dashboard.control.reverseZ; + }, + set(reverseY) { + return this.$store.dispatch('gui/setSettings', { dashboard: { control: { reverseY } } }) + } + }, reverseZ: { get() { return this.$store.state.gui.dashboard.control.reverseZ; diff --git a/src/components/panels/Settings/ControlPanel.vue b/src/components/panels/Settings/ControlPanel.vue index f82f5197..2c36ba2c 100644 --- a/src/components/panels/Settings/ControlPanel.vue +++ b/src/components/panels/Settings/ControlPanel.vue @@ -68,6 +68,8 @@
+ + @@ -178,6 +180,22 @@ } }, computed: { + reverseX: { + get() { + return this.$store.state.gui.dashboard.control.reverseZ; + }, + set(reverseX) { + return this.$store.dispatch('gui/setSettings', { dashboard: { control: { reverseX } } }) + } + }, + reverseY: { + get() { + return this.$store.state.gui.dashboard.control.reverseZ; + }, + set(reverseY) { + return this.$store.dispatch('gui/setSettings', { dashboard: { control: { reverseY } } }) + } + }, reverseZ: { get() { return this.$store.state.gui.dashboard.control.reverseZ; diff --git a/src/store/gui/index.js b/src/store/gui/index.js index e5eafc39..7bc7b2d5 100644 --- a/src/store/gui/index.js +++ b/src/store/gui/index.js @@ -22,6 +22,8 @@ export function getDefaultState() { stepsZ: [ 25, 1, 0.1 ], stepsAll: [0.1, 1, 10, 25, 50, 100], selectedCrossStep: null, + reverseX: false, + reverseY: false, reverseZ: false, useCross: false }, From f147dc781092a58a06d0ea49faa520958e4c8267 Mon Sep 17 00:00:00 2001 From: eliteSCHW31N <39838619+eliteSchwein@users.noreply.github.com> Date: Fri, 12 Mar 2021 17:44:21 +0100 Subject: [PATCH 07/10] add jpeg file extension --- src/store/files/getters.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/store/files/getters.js b/src/store/files/getters.js index 2cec6d5b..0bcca7f9 100644 --- a/src/store/files/getters.js +++ b/src/store/files/getters.js @@ -10,6 +10,7 @@ export default { element.filename !== undefined && ( element.filename === 'sidebar-logo.svg' || element.filename === 'sidebar-logo.jpg' || + element.filename === 'sidebar-logo.jpeg' || element.filename === 'sidebar-logo.png' || element.filename === 'sidebar-logo.gif' ) @@ -25,6 +26,7 @@ export default { let file = configDir.find(element => element.filename !== undefined && ( element.filename === 'sidebar-background.jpg' || + element.filename === 'sidebar-background.jpeg' || element.filename === 'sidebar-background.png' || element.filename === 'sidebar-background.gif' ) @@ -40,6 +42,7 @@ export default { let file = configDir.find(element => element.filename !== undefined && ( element.filename === 'main-background.jpg' || + element.filename === 'main-background.jpeg' || element.filename === 'main-background.png' || element.filename === 'main-background.gif' ) @@ -88,4 +91,4 @@ export default { used: 0, } } -} \ No newline at end of file +} From 0dfb06d65642e76eaaece8b30cd4343289bb26b9 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Sun, 21 Mar 2021 02:05:31 +0100 Subject: [PATCH 08/10] bugfix: only accept data later than the last entry of the dataset (tempchart) Signed-off-by: Stefan Dej --- src/store/printer/tempHistory/mutations.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/store/printer/tempHistory/mutations.js b/src/store/printer/tempHistory/mutations.js index 0f784bab..b2f3a613 100644 --- a/src/store/printer/tempHistory/mutations.js +++ b/src/store/printer/tempHistory/mutations.js @@ -27,10 +27,15 @@ export default { ]) } } else { - dataset.data.push([ - payload.time, - Math.round(payload.value * multi * 100)/100 - ]) + if ( + dataset.data.length && + dataset.data[dataset.data.length-1][0] < payload.time + ) { + dataset.data.push([ + payload.time, + Math.round(payload.value * multi * 100)/100 + ]) + } let i const timeOld = new Date().getTime() - (1000 * payload.maxHistory) From 56b9172efa2e4f1992f630d1bda607a665cc887b Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Sun, 21 Mar 2021 14:06:05 +0100 Subject: [PATCH 09/10] bugfix: also change hover color (emphasis) from dataset Signed-off-by: Stefan Dej --- src/store/printer/tempHistory/mutations.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/store/printer/tempHistory/mutations.js b/src/store/printer/tempHistory/mutations.js index b2f3a613..759997be 100644 --- a/src/store/printer/tempHistory/mutations.js +++ b/src/store/printer/tempHistory/mutations.js @@ -79,10 +79,18 @@ export default { element.name === payload.name+'_target' || element.name === payload.name+'_power' ) - ) element.lineStyle.color = payload.value + ) { + element.lineStyle.color = payload.value + + if ('emphasis' in element && 'lineStyle' in element.emphasis) + element.emphasis.lineStyle.color = payload.value + } if (element.name === payload.name+'_target' && 'areaStyle' in element) { element.areaStyle.color = payload.value + + if ('emphasis' in element && 'areaStyle' in element.emphasis) + element.emphasis.areaStyle.color = payload.value } }) }, From 261794630d58c18d07943af7a2a9f9f66bf2e2d6 Mon Sep 17 00:00:00 2001 From: Stefan Dej Date: Sun, 21 Mar 2021 17:04:19 +0100 Subject: [PATCH 10/10] feature: add tooltip with object height on layer counter Signed-off-by: Stefan Dej --- src/components/panels/StatusPanel.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/panels/StatusPanel.vue b/src/components/panels/StatusPanel.vue index d439f341..42cc72c9 100644 --- a/src/components/panels/StatusPanel.vue +++ b/src/components/panels/StatusPanel.vue @@ -182,7 +182,16 @@
Layer - {{ current_layer }} of {{ max_layers }} + + + + + Object Height: {{ current_file.object_height }}mm + + + ETA