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 = '' + warnings.join('') + '
';
+ }
+ 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;
});