From 0bb467e884db60ae7baa5df3666c27ec65267932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 9 Jun 2016 13:41:14 +0200 Subject: [PATCH] Ensure temperature graph to be properly initialized --- .../static/js/app/viewmodels/temperature.js | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/octoprint/static/js/app/viewmodels/temperature.js b/src/octoprint/static/js/app/viewmodels/temperature.js index e05cfd6a..b4b6edeb 100644 --- a/src/octoprint/static/js/app/viewmodels/temperature.js +++ b/src/octoprint/static/js/app/viewmodels/temperature.js @@ -40,13 +40,15 @@ $(function() { var graphColors = ["red", "orange", "green", "brown", "purple"]; var heaterOptions = {}; var tools = self.tools(); + var color; // tools - var numExtruders = self.settingsViewModel.printerProfiles.currentProfileData().extruder.count(); + var currentProfileData = self.settingsViewModel.printerProfiles.currentProfileData(); + var numExtruders = (currentProfileData ? currentProfileData.extruder.count() : 0); if (numExtruders && numExtruders > 1) { // multiple extruders for (var extruder = 0; extruder < numExtruders; extruder++) { - var color = graphColors.shift(); + color = graphColors.shift(); if (!color) color = "black"; heaterOptions["tool" + extruder] = {name: "T" + extruder, color: color}; @@ -56,9 +58,9 @@ $(function() { tools[extruder]["name"](gettext("Tool") + " " + extruder); tools[extruder]["key"]("tool" + extruder); } - } else { + } else if (numExtruders == 1) { // only one extruder, no need to add numbers - var color = graphColors[0]; + color = graphColors[0]; heaterOptions["tool0"] = {name: "T", color: color}; if (tools.length < 1 || !tools[0]) { @@ -69,7 +71,7 @@ $(function() { } // print bed - if (self.settingsViewModel.printerProfiles.currentProfileData().heatedBed()) { + if (currentProfileData && currentProfileData.heatedBed()) { self.hasBed(true); heaterOptions["bed"] = {name: gettext("Bed"), color: "blue"}; } else { @@ -79,11 +81,12 @@ $(function() { // write back self.heaterOptions(heaterOptions); self.tools(tools); + self.updatePlot(); }; self.settingsViewModel.printerProfiles.currentProfileData.subscribe(function() { self._printerProfileUpdated(); self.settingsViewModel.printerProfiles.currentProfileData().extruder.count.subscribe(self._printerProfileUpdated); - self.settingsViewModel.printerProfiles.currentProfileData().heatedBed.subscribe(self._printerProfileUpdated()); + self.settingsViewModel.printerProfiles.currentProfileData().heatedBed.subscribe(self._printerProfileUpdated); }); self.temperatures = []; @@ -367,7 +370,11 @@ $(function() { return; } self.updatePlot(); - } + }; + + self.onStartupComplete = function() { + self._printerProfileUpdated(); + }; }