better list demo

This commit is contained in:
Rolux 2010-07-01 17:06:04 +02:00
commit 894f27f760
5 changed files with 159 additions and 31 deletions

View file

@ -1172,7 +1172,7 @@ Ox.formatDate = function() {
};
}();
Ox.formatDuration = function(sec, day, dec) {
Ox.formatDuration = function(sec, dec, format) {
/*
>>> Ox.formatDuration(123456.789, 3)
1:10:17:36.789
@ -1185,17 +1185,37 @@ Ox.formatDuration = function(sec, day, dec) {
>>> Ox.formatDuration(3599.999)
01:00:00
*/
var dec = arguments.length == 3 ? dec : (Ox.isNumber(day) ? day : 0),
day = arguments.length == 3 ? day : (Ox.isBoolean(day) ? day : false),
var format = arguments.length == 3 ? format : (Ox.isString(dec) ? dec : "short"),
dec = (arguments.length == 3 || Ox.isNumber(dec)) ? dec : 0,
sec = dec ? sec : Math.round(sec),
arr = [
Math.floor(sec / 86400),
Ox.pad(Math.floor(sec % 86400 / 3600), 2),
Ox.pad(Math.floor(sec % 3600 / 60), 2),
Ox.pad(Ox.formatNumber(sec % 60, dec, true), dec ? dec + 3 : 2)
];
!arr[0] && !day && arr.shift();
return arr.join(":");
val = [
Math.floor(sec / 31536000),
Math.floor(sec % 31536000 / 86400),
Math.floor(sec % 86400 / 3600),
Math.floor(sec % 3600 / 60),
format == "short" ? Ox.formatNumber(sec % 60, dec) : sec % 60
],
str = {
medium: ["y", "d", "h", "m", "s"],
long: ["year", "day", "hour", "minute", "second"]
},
pad = [0, 3, 2, 2, dec ? dec + 3 : 2];
while (!val[0] && val.length > (format == "short" ? 3 : 1)) {
val.shift();
str.medium.shift();
str.long.shift();
pad.shift();
}
while (format != "short" && !val[val.length - 1] && val.length > 1) {
val.pop();
str.medium.pop();
str.long.pop();
}
return $.map(val, function(v, i) {
return format == "short" ? Ox.pad(v, pad[i]) :
v + (format == "long" ? " " : "") + str[format][i] +
(format == "long" && v != 1 ? "s" : "");
}).join(format == "short" ? ":" : " ");
};
Ox.formatNumber = function(num, dec) {

View file

@ -1557,7 +1557,7 @@ requires
style: "default", // can be default, symbol or tab
type: "text",
value: "",
values: []
values: [] // fixme: shouldn't this go into self.values?
})
.options($.extend(options, {
value: $.isArray(options.value) ?