diff --git a/guacamole/src/main/webapp/app/home/controllers/homeController.js b/guacamole/src/main/webapp/app/home/controllers/homeController.js
index 7203f8e0c..d4f85318b 100644
--- a/guacamole/src/main/webapp/app/home/controllers/homeController.js
+++ b/guacamole/src/main/webapp/app/home/controllers/homeController.js
@@ -40,10 +40,7 @@ angular.module('home').controller('homeController', ['$scope', '$injector',
$scope.recentConnections = [];
// Set status to loading until we have all the connections and groups loaded
- $scope.showStatus({
- title : 'status.loadingTitle',
- text : 'status.loadingText'
- });
+ $scope.loading = true;
/* Fetch all connections and groups, then find which recent connections
* still refer to valid connections and groups.
@@ -83,7 +80,7 @@ angular.module('home').controller('homeController', ['$scope', '$injector',
}
});
- $scope.showStatus(false);
+ $scope.loading = false;
});
/**
diff --git a/guacamole/src/main/webapp/app/home/templates/home.html b/guacamole/src/main/webapp/app/home/templates/home.html
index 5a5ac8346..12857509e 100644
--- a/guacamole/src/main/webapp/app/home/templates/home.html
+++ b/guacamole/src/main/webapp/app/home/templates/home.html
@@ -72,7 +72,7 @@
{{'home.allConnections' | translate}}
-
\ No newline at end of file
diff --git a/guacamole/src/main/webapp/app/index/styles/status.css b/guacamole/src/main/webapp/app/index/styles/status.css
index bdd64dc47..9242594b7 100644
--- a/guacamole/src/main/webapp/app/index/styles/status.css
+++ b/guacamole/src/main/webapp/app/index/styles/status.css
@@ -109,3 +109,14 @@
.shown .status {
visibility: visible;
}
+
+.loading {
+ background-image: url(images/spinner.gif);
+ background-position: center;
+ background-repeat: no-repeat;
+ min-height: 200px;
+}
+
+.loading * {
+ visibility: hidden;
+}
diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageController.js b/guacamole/src/main/webapp/app/manage/controllers/manageController.js
index 891a0a56f..28bed857b 100644
--- a/guacamole/src/main/webapp/app/manage/controllers/manageController.js
+++ b/guacamole/src/main/webapp/app/manage/controllers/manageController.js
@@ -36,10 +36,8 @@ angular.module('manage').controller('manageController', ['$scope', '$injector',
var userService = $injector.get('userService');
// Set status to loading until we have all the connections, groups, and users have loaded
- $scope.showStatus({
- title : 'status.loadingTitle',
- text : 'status.loadingText'
- });
+ $scope.loadingUsers = true;
+ $scope.loadingConnections = true;
// All the connections and connection groups in root
$scope.connectionsAndGroups = [];
@@ -47,15 +45,6 @@ angular.module('manage').controller('manageController', ['$scope', '$injector',
// All users that the current user has permission to edit
$scope.users = [];
- // Hide the status message once users, groups, and connections have fully loaded
- var usersLoaded = false;
- var connectionsAndGroupsLoaded = false;
- function checkLoadStatus() {
- if(usersLoaded && connectionsAndGroupsLoaded) {
- $scope.showStatus(false);
- }
- }
-
$scope.basicPermissionsLoaded.then(function basicPermissionsHaveBeenLoaded() {
connectionGroupService.getAllGroupsAndConnections([], undefined, true, true).then(function filterConnectionsAndGroups(rootGroupList) {
$scope.rootGroup = rootGroupList[0];
@@ -73,8 +62,7 @@ angular.module('manage').controller('manageController', ['$scope', '$injector',
);
}
- connectionsAndGroupsLoaded = true;
- checkLoadStatus();
+ $scope.loadingConnections = false;
});
userDAO.getUsers().success(function filterEditableUsers(users) {
@@ -89,8 +77,7 @@ angular.module('manage').controller('manageController', ['$scope', '$injector',
);
}
- usersLoaded = true;
- checkLoadStatus();
+ $scope.loadingUsers = false;
});
});
diff --git a/guacamole/src/main/webapp/app/manage/templates/manage.html b/guacamole/src/main/webapp/app/manage/templates/manage.html
index cdbdbea15..f72142c25 100644
--- a/guacamole/src/main/webapp/app/manage/templates/manage.html
+++ b/guacamole/src/main/webapp/app/manage/templates/manage.html
@@ -62,7 +62,7 @@ THE SOFTWARE.
-
+
@@ -84,7 +84,7 @@ THE SOFTWARE.
-
diff --git a/guacamole/src/main/webapp/images/spinner.gif b/guacamole/src/main/webapp/images/spinner.gif
new file mode 100644
index 000000000..48f9928b5
Binary files /dev/null and b/guacamole/src/main/webapp/images/spinner.gif differ
diff --git a/guacamole/src/main/webapp/translations/en_US.json b/guacamole/src/main/webapp/translations/en_US.json
index df3471756..c1b90caac 100644
--- a/guacamole/src/main/webapp/translations/en_US.json
+++ b/guacamole/src/main/webapp/translations/en_US.json
@@ -3,11 +3,6 @@
"title" : "Guacamole ${project.version}"
},
- "status" : {
- "loadingTitle" : "Loading",
- "loadingText" : "Guacamole is loading; please wait..."
- },
-
"login": {
"loginError" : "Invalid Login",
"username" : "Username",