AMBARI-11190. Admin View: edit on cluster config'd view prompts for masked props on edit (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e205bd15 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e205bd15 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e205bd15 Branch: refs/heads/trunk Commit: e205bd15d6c50bbcab00062a6d7157b51bff2b32 Parents: fcbde32 Author: Alex Antonenko <[email protected]> Authored: Sat May 16 17:41:41 2015 +0300 Committer: Alex Antonenko <[email protected]> Committed: Sat May 16 23:45:43 2015 +0300 ---------------------------------------------------------------------- .../controllers/ambariViews/ViewsEditCtrl.js | 29 ++++++++++++++------ .../admin-web/app/views/ambariViews/edit.html | 10 +++++-- 2 files changed, 29 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e205bd15/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js index d75d8b2..1362921 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js @@ -88,6 +88,17 @@ angular.module('ambariAdminConsole') } } + function filterClusterConfigs() { + $scope.configurationMeta.forEach(function (element) { + if (element.masked && !$scope.editConfigurationDisabled && element.clusterConfig && !$scope.isLocalCluster) { + $scope.configuration[element.name] = ''; + } + if(!element.clusterConfig) { + delete $scope.configurationBeforeEdit[element.name]; + } + }); + } + // Get META for properties View.getMeta($routeParams.viewId, $routeParams.version).then(function(data) { $scope.configurationMeta = data.data.ViewVersionInfo.parameters; @@ -137,6 +148,15 @@ angular.module('ambariAdminConsole') $scope.numberOfClusterConfigs = 0; $scope.numberOfSettingsConfigs = 0; + $scope.enableLocalCluster = function() { + angular.extend($scope.configuration, $scope.configurationBeforeEdit); + $scope.propertiesForm.$setPristine(); + }; + + $scope.disableLocalCluster = function() { + filterClusterConfigs(); + }; + $scope.toggleSettingsEdit = function() { $scope.editSettingsDisabled = !$scope.editSettingsDisabled; $scope.settingsBeforeEdit = angular.copy($scope.configuration); @@ -247,14 +267,7 @@ angular.module('ambariAdminConsole') $scope.togglePropertiesEditing = function () { $scope.editConfigurationDisabled = !$scope.editConfigurationDisabled; $scope.configurationBeforeEdit = angular.copy($scope.configuration); - $scope.configurationMeta.forEach(function (element) { - if (element.masked && !$scope.editConfigurationDisabled && element.clusterConfig) { - $scope.configuration[element.name] = ''; - } - if(!element.clusterConfig) { - delete $scope.configurationBeforeEdit[element.name]; - } - }); + filterClusterConfigs(); }; $scope.saveConfiguration = function() { if( $scope.propertiesForm.$valid ){ http://git-wip-us.apache.org/repos/asf/ambari/blob/e205bd15/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html ---------------------------------------------------------------------- diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html index b0a7a3b..b41f639 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html +++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/edit.html @@ -182,7 +182,7 @@ <div class="panel-body property-form" popover="{{clusterConfigurableErrorMsg}}" popover-trigger="mouseenter"> <div class="checkbox"> <label> - <input type="radio" ng-model="$parent.isLocalCluster" ng-disabled="!clusterConfigurable || editConfigurationDisabled || noClusterAvailible" ng-value="true" class="visibilityCheckbox"> Local Ambari Managed Cluster + <input type="radio" ng-model="$parent.isLocalCluster" ng-change="enableLocalCluster()" ng-disabled="!clusterConfigurable || editConfigurationDisabled || noClusterAvailible" ng-value="true" class="visibilityCheckbox"> Local Ambari Managed Cluster </label> </div> <div class="form-horizontal property-form"> @@ -198,7 +198,13 @@ <p> </p> <div class="checkbox"> <label> - <input type="radio" ng-model="$parent.isLocalCluster" ng-disabled="editConfigurationDisabled" ng-value="false" class="visibilityCheckbox"> Custom + <input type="radio" + ng-model="$parent.isLocalCluster" + ng-disabled="editConfigurationDisabled" + ng-value="false" + ng-change="disableLocalCluster()" + class="visibilityCheckbox"> + Custom </label> </div> </div>
