koerseadmin/js/filters.js

81 lines
1.7 KiB
JavaScript

'use strict';
var mod = angular.module('bananaraceApp.filters', []);
// mod.filter('mstotext', ['milliseconds', function(milliseconds) {
// function msToTextFilter(input) {
// return 'filtered'+input;
// }
// return msToTextFilter;
// }]);
mod.filter('reverse', function() {
return function(input, uppercase) {
input = input || '';
var out = "";
for (var i = 0; i < input.length; i++) {
out = input.charAt(i) + out;
}
// conditional based on optional argument
if (uppercase) {
out = out.toUpperCase();
}
return out+' blabla';
};
});
mod.filter('mstotext', function() {
function padWithZeros(desiredlength, input) {
while((input+'').length<desiredlength) {
input = '0'+input;
}
return input;
};
return function(input) {
var msInMin = 60*1000;
var mins = Math.floor(input/msInMin);
//ok
var secs = Math.floor(input/1000)%60;
//ok
var hundreds = Math.floor((input%1000)/10);
return padWithZeros(2,mins)+':'+padWithZeros(2,secs)+'.'+padWithZeros(2,hundreds);
}
});
mod.filter('msToString', function() {
return function(input) {
if(input<1000) {
return input+"ms";
} else if(input<60000) {
var secs = input/1000;
secs = secs.toFixed(2);
// var hundreds = input-(secs*1000);
// hundreds/=100;
// hundreds = Math.floor(hundreds);
return secs+"s";
} else {
//do minutes
var minutes = Math.floor(input/1000/60);
var rest = input-minutes*60*1000;
var restsecs = rest/1000;
return minutes+":"+restsecs.toFixed(2);
}
}
});
mod.filter('msToTimeString', function() {
return function(input) {
var value = Math.round(input);
value = new Date(value).toUTCString()
// var stringed = value.toString("MM");
// value ="kak";
return value;
}
});