services: add a refresh button

This commit is contained in:
Girish Ramakrishnan
2021-02-15 11:38:51 -08:00
parent 891cb135f4
commit b7bc5d38bd
7 changed files with 59 additions and 7969 deletions
+2 -1
View File
@@ -46,7 +46,8 @@
<div class="content">
<div class="text-left">
<h1>{{ 'services.title' | tr }}</h1>
<h1>{{ 'services.title' | tr }}
<button class="btn btn-default pull-right" ng-click="refreshAll()">{{ 'services.refresh' | tr }}</button>
</div>
<div class="card" style="margin-bottom: 15px;">
+34 -28
View File
@@ -132,40 +132,46 @@ angular.module('Application').controller('ServicesController', ['$scope', '$loca
}
};
$scope.refreshAll = function (callback) {
Client.getServices(function (error, result) {
if (error) return Client.error(error);
$scope.services = result.map(function (name) {
var displayName = name;
var isRedis = false;
if (name.indexOf('redis') === 0) {
isRedis = true;
var app = Client.getCachedAppSync(name.slice('redis:'.length));
if (app) {
displayName = 'Redis (' + (app.label || app.fqdn) + ')';
} else {
displayName = 'Redis (unknown app)';
}
}
return {
name: name,
displayName: displayName,
isRedis: isRedis
};
});
$scope.hasRedisServices = !!$scope.services.find(function (service) { return service.isRedis; });
// just kick off the status fetching
$scope.services.forEach(function (s) { refresh(s.name); });
if (callback) return callback();
});
};
Client.onReady(function () {
Client.memory(function (error, memory) {
if (error) console.error(error);
$scope.memory = memory;
Client.getServices(function (error, result) {
if (error) return Client.error(error);
$scope.services = result.map(function (name) {
var displayName = name;
var isRedis = false;
if (name.indexOf('redis') === 0) {
isRedis = true;
var app = Client.getCachedAppSync(name.slice('redis:'.length));
if (app) {
displayName = 'Redis (' + (app.label || app.fqdn) + ')';
} else {
displayName = 'Redis (unknown app)';
}
}
return {
name: name,
displayName: displayName,
isRedis: isRedis
};
});
$scope.hasRedisServices = !!$scope.services.find(function (service) { return service.isRedis; });
// just kick off the status fetching
$scope.services.forEach(function (s) { refresh(s.name); });
$scope.refreshAll(function () {
$scope.servicesReady = true;
});
});