Prechádzať zdrojové kódy

AMBARI-7827 Admin View: the user is allowed to go to the dashboard while cluster deploy is happening. (Levgen Gorbachev via atkach)

atkach 10 rokov pred
rodič
commit
4abb993ee4

+ 11 - 5
ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/NavbarCtrl.js

@@ -25,11 +25,17 @@ angular.module('ambariAdminConsole')
     editingName : false
   };
 
-  Cluster.getStatus().then(function(cluster) {
-    $scope.cluster = cluster;
-  }).catch(function(data) {
-    Alert.error('Cannot load cluster status', data.data.message);
-  });
+  function loadClusterData(){
+    Cluster.getStatus().then(function(cluster) {
+      $scope.cluster = cluster;
+      if(cluster.Clusters.provisioning_state === 'INIT'){
+        setTimeout(loadClusterData, 1000);
+      }
+    }).catch(function(data) {
+      Alert.error('Cannot load cluster status', data.data.message);
+    });
+  };
+  loadClusterData();
 
   $scope.toggleEditName = function($event) {
     if ($event && $event.keyCode !== 27) {

+ 12 - 7
ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/mainCtrl.js

@@ -46,13 +46,18 @@ angular.module('ambariAdminConsole')
   $scope.cluster = null;
   $scope.isLoaded = null;
 
-  Cluster.getStatus().then(function(cluster) {
-    $scope.cluster = cluster;
-    $scope.isLoaded = true;
-  }).catch(function(data) {
-    Alert.error('Check cluster status error', data.data.message);
-  });
-
+  function loadClusterData(){
+    Cluster.getStatus().then(function(cluster) {
+      $scope.cluster = cluster;
+      $scope.isLoaded = true;
+      if(cluster.Clusters.provisioning_state === 'INIT'){
+        setTimeout(loadClusterData, 1000);
+      }
+    }).catch(function(data) {
+      Alert.error('Cannot load cluster status', data.data.message);
+    });
+  };
+  loadClusterData();
   $scope.viewInstances = [];
   View.getAllVisibleInstance().then(function(instances) {
     $scope.viewInstances = instances;