Browse Source

AMBARI-8385 Multiple clicks possible when creating a view instance. (ababiichuk)

ababiichuk 10 năm trước cách đây
mục cha
commit
112300cd42

+ 6 - 2
ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/CreateViewInstanceCtrl.js

@@ -37,10 +37,10 @@ angular.module('ambariAdminConsole')
         icon64_path: '',
         properties: viewVersion.ViewVersionInfo.parameters,
         description: ''
-      };    
+      };
     });
   }
-    
+
 
   $scope.$watch(function(scope) {
     return scope.version;
@@ -66,6 +66,7 @@ angular.module('ambariAdminConsole')
   $scope.nameValidationPattern = /^\s*\w*\s*$/;
 
   $scope.save = function() {
+  if (!$scope.form.instanceCreateForm.submitted) {
     $scope.form.instanceCreateForm.submitted = true;
     if($scope.form.instanceCreateForm.$valid){
       View.createInstance($scope.instance)
@@ -77,10 +78,13 @@ angular.module('ambariAdminConsole')
           } else {
             $location.path('/views/' + $scope.instance.view_name + '/versions/' + $scope.instance.version + '/instances/' + $scope.instance.instance_name + '/edit');
           }
+          $scope.form.instanceCreateForm.submitted = false;
         })
         .catch(function(data) {
           Alert.error('Cannot create instance', data.message);
+         $scope.form.instanceCreateForm.submitted = false;
         });
+      }
     }
   };
 

+ 2 - 1
ambari-admin/src/main/resources/ui/admin-web/app/views/ambariViews/create.html

@@ -115,7 +115,8 @@
   </div>
   
   <div class="col-sm-12 ">
-    <button class="btn btn-primary pull-right left-margin save-button" ng-click="save()" type="submit">Save</button>
+    <button class="btn btn-primary pull-right left-margin save-button"
+            ng-class="{'disabled' : (form.instanceCreateForm.submitted)}" ng-click="save()" type="submit">Save</button>
     <a href ng-click="cancel()" class="btn btn-default pull-right cancel-button">Cancel</a>
   </div>