diff --git a/src/tracker/gui.js b/src/tracker/gui.js index c982b96..98f80f2 100644 --- a/src/tracker/gui.js +++ b/src/tracker/gui.js @@ -1,6 +1,22 @@ var GUI = (function(){ var controller; + var stateChangedEvent = (type, detail) => { + var force = type === "gui"; + + if (controller){ + if (type === "data" || force){ + controller.ui.btnDownload.disabled = controller.ui.btnReset.disabled = !STATE.hasSavedData(); + } + + if (type === "tracking" || force){ + controller.ui.btnToggleTracking.innerHTML = detail ? "Pause Tracking" : "Start Tracking"; + } + } + }; + + STATE.onStateChanged(stateChangedEvent); + var root = { showController: function(){ controller = {}; @@ -23,7 +39,7 @@ var GUI = (function(){ controller.ele.innerHTML = [ "", - "", + "", "", "", "

", @@ -88,16 +104,7 @@ var GUI = (function(){ controller.ui.inputUpload.value = null; }); - STATE.onStateChanged((type, detail) => { - if (controller){ - if (type === "data"){ - controller.ui.btnDownload.disabled = controller.ui.btnReset.disabled = !STATE.hasSavedData(); - } - else if (type === "tracking"){ - controller.ui.btnToggleTracking.innerHTML = detail ? "Pause Tracking" : "Start Tracking"; - } - } - }, true); + stateChangedEvent("gui", "controller"); }, hideController: function(){