From a0e5f79483085075dcf3f673b154e97a56973ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 8 Mar 2017 18:03:16 +0100 Subject: [PATCH] Only load file into GCODE viewer when that is actually visible Reduces needed bandwidth on page load, might help to mitigate bandwidth related issues described in #1241. --- src/octoprint/static/js/app/viewmodels/gcode.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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){