diff --git a/src/octoprint/static/js/app/viewmodels/gcode.js b/src/octoprint/static/js/app/viewmodels/gcode.js index d4ae7c31..ea8b4c6e 100644 --- a/src/octoprint/static/js/app/viewmodels/gcode.js +++ b/src/octoprint/static/js/app/viewmodels/gcode.js @@ -39,6 +39,8 @@ $(function() { size: ko.observable(undefined) }; + self.needsLoad = false; + self.renderer_centerModel = ko.observable(false); self.renderer_centerViewport = ko.observable(false); self.renderer_zoomOnModel = ko.observable(false); @@ -300,6 +302,7 @@ $(function() { self.loadFile = function(path, date){ self.enableReload(false); + self.needsLoad = false; if (self.status == "idle" && self.errorCount < 3) { self.status = "request"; OctoPrint.files.download("local", path) @@ -401,7 +404,11 @@ $(function() { self.loadedFileDate = undefined; } else { self.waitForApproval(false); - self.loadFile(data.job.file.path, data.job.file.date); + if (self.tabActive) { + self.loadFile(data.job.file.path, data.job.file.date); + } else { + self.needsLoad = true; + } } } } @@ -573,6 +580,9 @@ $(function() { self.onTabChange = function(current, previous) { self.tabActive = current == "#gcode"; + if (self.tabActive && self.needsLoad) { + self.loadFile(self.selectedFile.path(), self.selectedFile.date()); + } }; self.shiftLayer = function(value){