diff --git a/zeppelin-web/bower.json b/zeppelin-web/bower.json
index 57ea00d1118..2ee00326c7b 100644
--- a/zeppelin-web/bower.json
+++ b/zeppelin-web/bower.json
@@ -24,7 +24,8 @@
"angular-elastic-input": "~2.0.1",
"angular-xeditable": "0.1.8",
"highlightjs": "~8.4.0",
- "lodash": "~3.9.3"
+ "lodash": "~3.9.3",
+ "angular-filter": "~0.5.4"
},
"devDependencies": {
"angular-mocks": "1.3.8",
diff --git a/zeppelin-web/src/app/app.js b/zeppelin-web/src/app/app.js
index 0d163d9f44f..6dfa8e5d911 100644
--- a/zeppelin-web/src/app/app.js
+++ b/zeppelin-web/src/app/app.js
@@ -27,6 +27,7 @@ angular.module('zeppelinWebApp', [
'ui.sortable',
'ngTouch',
'ngDragDrop',
+ 'angular.filter',
'monospaced.elastic',
'puElasticInput',
'xeditable'
diff --git a/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html b/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
index e7096f64e0f..b181ed37456 100644
--- a/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
+++ b/zeppelin-web/src/app/interpreter/interpreter-create/interpreter-create.html
@@ -29,7 +29,9 @@
Create new interpreter
style="width:180px">
@@ -43,7 +45,7 @@ Create new interpreter
| {{key}} |
- |
+ |
{{value.description}} |
diff --git a/zeppelin-web/src/app/interpreter/interpreter.controller.js b/zeppelin-web/src/app/interpreter/interpreter.controller.js
index 499c270cf8a..a671ec9c113 100644
--- a/zeppelin-web/src/app/interpreter/interpreter.controller.js
+++ b/zeppelin-web/src/app/interpreter/interpreter.controller.js
@@ -105,7 +105,20 @@ angular.module('zeppelinWebApp').controller('InterpreterCtrl', function($scope,
};
$scope.newInterpreterGroupChange = function() {
- $scope.newInterpreterSetting.properties = $scope.availableInterpreters[$scope.newInterpreterSetting.group].properties;
+ var el = _.pluck(_.filter($scope.availableInterpreters, { 'group': $scope.newInterpreterSetting.group }), 'properties');
+
+ var properties = {};
+ for (var i=0; i < el.length; i++) {
+ var intpInfo = el[i];
+ for (var key in intpInfo) {
+ properties[key] = {
+ value : intpInfo[key].defaultValue,
+ description : intpInfo[key].description
+ };
+ }
+ }
+
+ $scope.newInterpreterSetting.properties = properties;
};
$scope.restartInterpreterSetting = function(settingId) {
@@ -152,7 +165,6 @@ angular.module('zeppelinWebApp').controller('InterpreterCtrl', function($scope,
});
};
-
$scope.resetNewInterpreterSetting = function() {
$scope.newInterpreterSetting = {
name : undefined,
@@ -179,11 +191,14 @@ angular.module('zeppelinWebApp').controller('InterpreterCtrl', function($scope,
if (!$scope.newInterpreterSetting.propertyKey || $scope.newInterpreterSetting.propertyKey === '') {
return;
}
- $scope.newInterpreterSetting.properties[$scope.newInterpreterSetting.propertyKey] = $scope.newInterpreterSetting.propertyValue;
+
+ $scope.newInterpreterSetting.properties[$scope.newInterpreterSetting.propertyKey] = {
+ value: $scope.newInterpreterSetting.propertyValue
+ };
emptyNewProperty($scope.newInterpreterSetting);
}
else {
- // Add new property from create form
+ // Add new property from edit form
var index = _.findIndex($scope.interpreterSettings, { 'id': settingId });
var setting = $scope.interpreterSettings[index];
diff --git a/zeppelin-web/src/index.html b/zeppelin-web/src/index.html
index 5676afac591..ed0ccf415d0 100644
--- a/zeppelin-web/src/index.html
+++ b/zeppelin-web/src/index.html
@@ -100,6 +100,7 @@
+
|