From 611c1ccf4a2e3076dae7638a5238212adb28d3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 16 Jun 2016 12:08:46 +0200 Subject: [PATCH] Disable GCODE viewer if browser is unsupported --- src/octoprint/static/gcodeviewer/js/ui.js | 19 +++++++++++++------ .../static/js/app/viewmodels/gcode.js | 8 +++++++- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/octoprint/static/gcodeviewer/js/ui.js b/src/octoprint/static/gcodeviewer/js/ui.js index 47d539fd..31a4aeef 100644 --- a/src/octoprint/static/gcodeviewer/js/ui.js +++ b/src/octoprint/static/gcodeviewer/js/ui.js @@ -104,8 +104,11 @@ GCODE.ui = (function(){ if(!Modernizr.webworkers)fatal.push("
  • Your browser doesn't seem to support HTML5 Web Workers, this application won't work without it.
  • "); if(!Modernizr.svg)fatal.push("
  • Your browser doesn't seem to support HTML5 SVG, this application won't work without it.
  • "); + var errorList = document.getElementById("errorList"); if(fatal.length>0){ - document.getElementById('errorList').innerHTML = ''; + if (errorList) { + errorList.innerHTML = ''; + } console.log("Initialization failed: unsupported browser.") return false; } @@ -117,8 +120,10 @@ GCODE.ui = (function(){ if(!Modernizr.draganddrop)warnings.push("
  • Your browser doesn't seem to support HTML5 Drag'n'Drop, Drop area will not work.
  • "); if(warnings.length>0){ - document.getElementById('errorList').innerHTML = ''; - console.log("Initialization succeeded with warnings.") + if (errorList) { + errorList.innerHTML = ''; + } + console.log("Initialization succeeded with warnings.", warnings); } return true; }; @@ -138,12 +143,12 @@ GCODE.ui = (function(){ init: function(options){ if (options) setOptions(options); if (!options.container) { - return; + return false; } var capabilitiesResult = checkCapabilities(); if (!capabilitiesResult) { - return; + return false; } setProgress("", 0); @@ -159,6 +164,8 @@ GCODE.ui = (function(){ toolOffsets: options.toolOffsets }); GCODE.renderer.render(0, 0); + + return true; }, clear: function() { @@ -196,4 +203,4 @@ GCODE.ui = (function(){ switchCommands(layerNum, first, last); } } -}()); \ No newline at end of file +}()); diff --git a/src/octoprint/static/js/app/viewmodels/gcode.js b/src/octoprint/static/js/app/viewmodels/gcode.js index 30f13200..e51592f5 100644 --- a/src/octoprint/static/js/app/viewmodels/gcode.js +++ b/src/octoprint/static/js/app/viewmodels/gcode.js @@ -235,7 +235,7 @@ $(function() { self._configureLayerCommandSlider(commandSliderElement); self.settings.requestData(function() { - GCODE.ui.init({ + var initResult = GCODE.ui.init({ container: "#gcode_canvas", onProgress: self._onProgress, onModelLoaded: self._onModelLoaded, @@ -244,6 +244,12 @@ $(function() { toolOffsets: self._retrieveToolOffsets(), invertAxes: self._retrieveAxesConfiguration() }); + + if (!initResult) { + log.info("Could not initialize GCODE viewer component"); + return; + } + self.synchronizeOptions(); self.enabled = true; });