Mutualise some common JS functions

This commit is contained in:
nemunaire 2018-12-04 04:13:01 +01:00
parent 3df8d24e33
commit e9fd9c4e9a
4 changed files with 71 additions and 136 deletions

View file

@ -110,3 +110,72 @@ angular.module("FICApp")
}
}
})
.filter("objectLength", function() {
return function(input) {
if (input !== undefined)
return Object.keys(input).length;
else
return "";
}
});
angular.module("FICApp")
.controller("CountdownController", function($scope, $rootScope, $interval) {
var time;
if (sessionStorage.userService)
time = angular.fromJson(sessionStorage.userService);
$scope.time = {};
$rootScope.recvTime = function(response) {
time = {
"cu": Math.floor(response.headers("x-fic-time") * 1000),
"he": (new Date()).getTime(),
};
sessionStorage.userService = angular.toJson(time);
}
function updTime() {
if (time && $rootScope.settings) {
var srv_cur = new Date(Date.now() + (time.cu - time.he));
// Refresh on start time reached
if (Math.floor($rootScope.settings.start / 1000) == Math.floor(srv_cur / 1000))
$rootScope.refresh(true);
var remain = 0;
if ($rootScope.settings.start == 0) {
$scope.time = {};
return
} else if ($rootScope.settings.start > srv_cur) {
$rootScope.startIn = Math.floor(($rootScope.settings.start - srv_cur) / 1000);
remain = $rootScope.settings.end - $rootScope.settings.start;
} else if ($rootScope.settings.end > srv_cur) {
$rootScope.startIn = 0;
remain = $rootScope.settings.end - srv_cur;
}
remain = remain / 1000;
if (remain < 0) {
remain = 0;
$scope.time.end = true;
$scope.time.expired = true;
} else if (remain < 60) {
$scope.time.end = false;
$scope.time.expired = true;
} else {
$scope.time.end = false;
$scope.time.expired = false;
}
$scope.time.remaining = remain;
$scope.time.hours = Math.floor(remain / 3600);
$scope.time.minutes = Math.floor((remain % 3600) / 60);
$scope.time.seconds = Math.floor(remain % 60);
}
}
updTime();
$interval(updTime, 1000);
})