Skip to content

Commit 28af1c0

Browse files
author
Ross Kukulinski
committed
Merge pull request #16 from yodlr/units
improved units states
2 parents b73f942 + 0911d97 commit 28af1c0

File tree

3 files changed

+32
-12
lines changed

3 files changed

+32
-12
lines changed

site/js/coregi-controllers.js

+29
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,53 @@ coregiControllers.controller('MachinesCtrl', ['$rootScope', '$scope', 'coregiSe
2525

2626
coregiControllers.controller('UnitsCtrl', ['$rootScope', '$scope', 'coregiService',
2727
function($rootScope, $scope, coregiService) {
28+
var changedUnits = {};
2829

2930
$scope.$watchCollection(coregiService.getUnitsList, function(unitsList) {
3031
if(unitsList) {
3132
$scope.unitsList = unitsList;
33+
34+
for(var c in changedUnits) {
35+
var found = false;
36+
for(var i in $scope.unitsList) {
37+
if(changedUnits[c].unit == $scope.unitsList[i].unit) {
38+
found = true;
39+
break;
40+
}
41+
}
42+
if(!found) {
43+
delete changedUnits[c];
44+
}
45+
}
46+
47+
for(var u in $scope.unitsList) {
48+
if(changedUnits[$scope.unitsList[u].unit]) {
49+
if($scope.unitsList[u].active === changedUnits[$scope.unitsList[u].unit].active) {
50+
$scope.unitsList[u].active = 'busy';
51+
delete changedUnits[$scope.unitsList[u].unit];
52+
}
53+
}
54+
}
3255
}
3356
});
3457

3558
$scope.start = function start(unit) {
3659
if(unit.active === 'active') {
3760
coregiService.stopUnit(unit);
61+
changedUnits[unit.unit] = angular.copy(unit);
62+
unit.active = 'busy';
3863
}
3964
else {
4065
coregiService.startUnit(unit);
66+
changedUnits[unit.unit] = angular.copy(unit);
67+
unit.active = 'busy';
4168
}
4269
};
4370

4471
$scope.destroy = function destroy(unit) {
4572
coregiService.destroyUnit(unit);
73+
changedUnits[unit.unit] = angular.copy(unit);
74+
unit.active = 'busy';
4675
};
4776

4877
}

site/js/coregi-services.js

+2-11
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,18 @@ coregiServices.factory('coregiService', ['$rootScope', '$resource', '$timeout',
115115
getKeysBranchList: function getKeysBranchList() {
116116
return keysBranchList;
117117
},
118-
startUnit: function startUnit(unit, callback) {
118+
startUnit: function startUnit(unit) {
119119
unitsService.start(unit, function(data) {
120-
if(callback) {
121-
callback(null, data);
122-
}
123120
});
124121
},
125122
stopUnit: function stopUnit(unit) {
126123
unitsService.stop(unit, function(data) {
127-
if(callback) {
128-
callback(null, data);
129-
}
130124
});
131125
},
132126
destroyUnit: function destroyUnit(unit) {
133127
unitsService.destroy(unit, function(data) {
134-
if(callback) {
135-
callback(null, data);
136-
}
137128
});
138129
}
139130
};
140131
}
141-
]);
132+
]);

site/partials/units.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<td>
3535
<div class="btn-group" role="group">
3636
<a class="btn btn-default btn-xs" role="button" ng-click="start(unit)">
37-
<span class="glyphicon" aria-hidden="true" ng-class="{'glyphicon-stop': unit.active == 'active', 'glyphicon-play': unit.active != 'active'}"></span>
37+
<span class="glyphicon" aria-hidden="true" ng-class="{'glyphicon-stop': unit.active == 'active', 'glyphicon-play': unit.active == 'inactive', 'glyphicon-exclamation-sign': unit.active == 'failed', 'glyphicon-time': unit.active == 'busy' || unit.active == 'activating' || unit.active == 'deactivating'}"></span>
3838
</a>
3939
<a class="btn btn-default btn-xs" role="button" ng-click="destroy(unit)">
4040
<span class="glyphicon glyphicon-trash" aria-hidden="true"></span>

0 commit comments

Comments
 (0)