@@ -228,7 +228,7 @@
|
- {{ app.manifest.title || 'App Link'}} |
+ {{ app.manifest.title || 'App Link' }} |
diff --git a/dashboard/src/views/apps.js b/dashboard/src/views/apps.js
index 8805055cc..5f06d2d89 100644
--- a/dashboard/src/views/apps.js
+++ b/dashboard/src/views/apps.js
@@ -32,6 +32,8 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
$scope.showFilter = false;
$scope.filterActive = false;
$scope.view = 'list';
+ $scope.orderBy = 'location'; // or app, status, sso
+ $scope.orderByReverse = false;
$scope.allUsers = [];
$scope.allGroups = [];
@@ -46,8 +48,23 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
if (tr['app.states.updateAvailable']) $scope.states[3].label = tr['app.states.updateAvailable'];
});
- // for sorting of the app grid items
- $scope.labelOrFQDN = function (item) {
+ $scope.setOrderBy = function (by) {
+ if (by === $scope.orderBy) {
+ $scope.orderByReverse = !$scope.orderByReverse;
+ } else {
+ $scope.orderBy = by;
+ $scope.orderByReverse = false;
+ }
+
+ localStorage.appsOrderBy = by;
+ localStorage.appsOrderByReverse = $scope.orderByReverse ? 'true' : '';
+ };
+
+ // for sorting/grouping
+ $scope.orderByFilter = function (item) {
+ if ($scope.orderBy === 'app') return item.manifest.title || 'App Link';
+ if ($scope.orderBy === 'status') return item.installationState + '-' + item.runState;
+ if ($scope.orderBy === 'sso') return item.sso;
return item.label || item.fqdn;
};
@@ -271,6 +288,9 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat
$scope.setView(localStorage.appsView);
+ $scope.orderBy = localStorage.appsOrderBy;
+ $scope.orderByReverse = !!localStorage.appsOrderByReverse;
+
if (!$scope.user.isAtLeastAdmin) return;
// load local settings and apply tag filter
|