diff --git a/zeppelin-web/app/scripts/controllers/paragraph.js b/zeppelin-web/app/scripts/controllers/paragraph.js index 0542be28dd5..69a4636ede5 100644 --- a/zeppelin-web/app/scripts/controllers/paragraph.js +++ b/zeppelin-web/app/scripts/controllers/paragraph.js @@ -54,9 +54,26 @@ angular.module('zeppelinWebApp') $scope.lastData.config = jQuery.extend(true, {}, $scope.paragraph.config); $scope.loadTableData($scope.paragraph.result); $scope.setGraphMode($scope.getGraphMode(), false, false); + } else if ($scope.getResultType() === 'HTML') { + $scope.renderHtml(); } }; + $scope.renderHtml = function() { + var retryRenderer = function(){ + if($('#p'+$scope.paragraph.id+'_msg').length){ + try { + $('#p'+$scope.paragraph.id+'_msg').html($scope.paragraph.result.msg); + } catch(err) { + console.log('HTML rendering error %o', err); + } + } else { + $timeout(retryRenderer,10); + } + }; + $timeout(retryRenderer); + + }; var initializeDefault = function(){ if (!$scope.paragraph.config.looknfeel) { @@ -196,6 +213,8 @@ angular.module('zeppelinWebApp') } else { $scope.setGraphMode(newGraphMode, false, true); } + } else if (newType==='HTML') { + $scope.renderHtml(); } } }); @@ -583,7 +602,7 @@ angular.module('zeppelinWebApp') $scope.getBase64ImageSrc = function(base64Data) { return 'data:image/png;base64,'+base64Data; }; - + $scope.getGraphMode = function(paragraph){ var pdata = (paragraph) ? paragraph : $scope.paragraph; if (pdata.config.graph && pdata.config.graph.mode) { diff --git a/zeppelin-web/app/views/paragraph.html b/zeppelin-web/app/views/paragraph.html index 3fffc092ef0..4537ca55997 100644 --- a/zeppelin-web/app/views/paragraph.html +++ b/zeppelin-web/app/views/paragraph.html @@ -257,10 +257,9 @@ ng-bind="paragraph.result.msg"> -
+ ng-Init="loadResultType(paragraph.result)">
- +