var app = angular.module('sentinelDashboardApp');
|
|
app.controller('MachineCtl', ['$scope', '$stateParams', 'MachineService',
|
function ($scope, $stateParams, MachineService) {
|
$scope.app = $stateParams.app;
|
$scope.propertyName = '';
|
$scope.reverse = false;
|
$scope.currentPage = 1;
|
$scope.machines = [];
|
$scope.machinesPageConfig = {
|
pageSize: 10,
|
currentPageIndex: 1,
|
totalPage: 1,
|
totalCount: 0,
|
};
|
|
$scope.sortBy = function (propertyName) {
|
// console.log('machine sortBy ' + propertyName);
|
$scope.reverse = ($scope.propertyName === propertyName) ? !$scope.reverse : false;
|
$scope.propertyName = propertyName;
|
};
|
|
$scope.reloadMachines = function() {
|
MachineService.getAppMachines($scope.app).success(
|
function (data) {
|
// console.log('get machines: ' + data.data[0].hostname)
|
if (data.code == 0 && data.data) {
|
$scope.machines = data.data;
|
var healthy = 0;
|
$scope.machines.forEach(function (item) {
|
if (item.healthy) {
|
healthy++;
|
}
|
if (!item.hostname) {
|
item.hostname = '未知'
|
}
|
})
|
$scope.healthyCount = healthy;
|
$scope.machinesPageConfig.totalCount = $scope.machines.length;
|
} else {
|
$scope.machines = [];
|
$scope.healthyCount = 0;
|
}
|
}
|
);
|
};
|
|
$scope.removeMachine = function(ip, port) {
|
if (!confirm("confirm to remove machine [" + ip + ":" + port + "]?")) {
|
return;
|
}
|
MachineService.removeAppMachine($scope.app, ip, port).success(
|
function(data) {
|
if (data.code == 0) {
|
$scope.reloadMachines();
|
} else {
|
alert("remove failed");
|
}
|
}
|
);
|
};
|
|
$scope.reloadMachines();
|
|
}]);
|