Create order fixes
This commit is contained in:
54
www/linker/js/controllers/run-controller.js
Normal file
54
www/linker/js/controllers/run-controller.js
Normal file
@@ -0,0 +1,54 @@
|
||||
var lunchControllers;
|
||||
|
||||
lunchControllers = angular.module('lunchControllers');
|
||||
|
||||
lunchControllers.controller('RunCtrl', [
|
||||
'$scope', 'socket', '$routeParams', function($scope, socket, $routeParams) {
|
||||
$scope.show = false;
|
||||
$scope.progress = 0;
|
||||
$scope.numOrders = 0;
|
||||
$scope.progressClass = 'progress-bar-danger';
|
||||
socket.get('/run/' + $routeParams['id'], function(response) {
|
||||
$scope.show = true;
|
||||
$scope.run = response;
|
||||
$scope.numOrders = $scope.run.invitees.length;
|
||||
$scope.setStatusClasses();
|
||||
$scope.setProgress();
|
||||
return $scope.$apply();
|
||||
});
|
||||
socket.on('message', function(m) {
|
||||
if (m.verb === 'update' && m.id === $routeParams.id) {
|
||||
$scope.run = m.data;
|
||||
$scope.setProgress();
|
||||
$scope.setStatusClasses();
|
||||
return $scope.$apply();
|
||||
}
|
||||
});
|
||||
$scope.setStatusClasses = function() {
|
||||
var i, _i, _len, _ref, _results;
|
||||
_ref = $scope.run.invitees;
|
||||
_results = [];
|
||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||
i = _ref[_i];
|
||||
if (i.order) {
|
||||
_results.push(i.statusClass = 'done');
|
||||
} else {
|
||||
_results.push(i.statusClass = 'incomplete');
|
||||
}
|
||||
}
|
||||
return _results;
|
||||
};
|
||||
return $scope.setProgress = function() {
|
||||
var numFilledOrders;
|
||||
numFilledOrders = _.filter($scope.run.invitees, function(i) {
|
||||
return i.order;
|
||||
}).length;
|
||||
$scope.progress = (numFilledOrders / $scope.numOrders) * 100;
|
||||
if ($scope.progress >= 100) {
|
||||
return $scope.progressClass = 'progress-bar-success';
|
||||
} else {
|
||||
return $scope.progressClass = 'progress-bar-danger';
|
||||
}
|
||||
};
|
||||
}
|
||||
]);
|
||||
Reference in New Issue
Block a user