diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph-control.html b/zeppelin-web/src/app/notebook/paragraph/paragraph-control.html
index c35c4e5ade3..a192ed6e3a1 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph-control.html
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph-control.html
@@ -75,6 +75,16 @@
Show line numbers
+
+ TabSize
+
+
+
{{paragraph.config.enabled ? "Disable" : "Enable"}} run
diff --git a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
index 110d8fa472b..43fd39cf935 100644
--- a/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
+++ b/zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js
@@ -93,6 +93,7 @@ angular.module('zeppelinWebApp')
$scope.originalText = angular.copy(newParagraph.text);
$scope.chart = {};
$scope.colWidthOption = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ];
+ $scope.tabSizeOption = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
$scope.showTitleEditor = false;
$scope.paragraphFocused = false;
if (newParagraph.focus) {
@@ -285,6 +286,10 @@ angular.module('zeppelinWebApp')
config.colWidth = 12;
}
+ if (!config.tabSize) {
+ config.tabSize = 4;
+ }
+
if (!config.graph) {
config.graph = {};
}
@@ -643,6 +648,14 @@ angular.module('zeppelinWebApp')
commitParagraph($scope.paragraph.title, $scope.paragraph.text, newConfig, newParams);
};
+ $scope.changeTabSize = function() {
+ var newParams = angular.copy($scope.paragraph.settings.params);
+ var newConfig = angular.copy($scope.paragraph.config);
+ $scope.editor.getSession().setTabSize($scope.paragraph.config.tabSize);
+
+ commitParagraph($scope.paragraph.title, $scope.paragraph.text, newConfig, newParams);
+ };
+
$scope.toggleGraphOption = function() {
var newConfig = angular.copy($scope.paragraph.config);
if (newConfig.graph.optionOpen) {