From b9fd3dda7d4163d42addb6e807e897d57cf91447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 23 Feb 2015 14:55:43 +0100 Subject: [PATCH] Added onAfterTabChange callback, fixed tab switching this way Both temperature graph and terminal need to be updated AFTER the tab has been switched (onAfterTabChange) not before (onTabChange). --- src/octoprint/static/js/app/main.js | 11 +++++++++++ src/octoprint/static/js/app/viewmodels/temperature.js | 4 ++-- src/octoprint/static/js/app/viewmodels/terminal.js | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/octoprint/static/js/app/main.js b/src/octoprint/static/js/app/main.js index 10a5e6d0..c5bb6f92 100644 --- a/src/octoprint/static/js/app/main.js +++ b/src/octoprint/static/js/app/main.js @@ -248,6 +248,17 @@ $(function() { }); }); + $('#tabs a[data-toggle="tab"]').on('shown', function (e) { + var current = e.target.hash; + var previous = e.relatedTarget.hash; + + _.each(allViewModels, function(viewModel) { + if (viewModel.hasOwnProperty("onAfterTabChange")) { + viewModel.onAfterTabChange(current, previous); + } + }); + }); + // Fix input element click problems on dropdowns $(".dropdown input, .dropdown label").click(function(e) { e.stopPropagation(); diff --git a/src/octoprint/static/js/app/viewmodels/temperature.js b/src/octoprint/static/js/app/viewmodels/temperature.js index 33e3cbf9..85af5bdb 100644 --- a/src/octoprint/static/js/app/viewmodels/temperature.js +++ b/src/octoprint/static/js/app/viewmodels/temperature.js @@ -354,11 +354,11 @@ $(function() { } }; - self.onTabChange = function(current, previous) { + self.onAfterTabChange = function(current, previous) { if (current != "#temp") { return; } - temperatureViewModel.updatePlot(); + self.updatePlot(); } } diff --git a/src/octoprint/static/js/app/viewmodels/terminal.js b/src/octoprint/static/js/app/viewmodels/terminal.js index 5af9f7d3..67635b0d 100644 --- a/src/octoprint/static/js/app/viewmodels/terminal.js +++ b/src/octoprint/static/js/app/viewmodels/terminal.js @@ -152,7 +152,7 @@ $(function() { return true; }; - self.onTabChange = function(current, previous) { + self.onAfterTabChange = function(current, previous) { if (current != "#terminal") { return; }