feat: add components

This commit is contained in:
2025-04-04 17:19:07 +08:00
parent 6f494ec9ca
commit c37b9f0ab2
40 changed files with 2088 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
var getMillis = (date) => {
if (date == null) { return 0; }
if (date instanceof java.util.Date) {
return date.getTime();
}
return date;
};
var formatDuration = (date) => {
var millis = getMillis(date);
var diffMillis = $$.date().millis() - millis;
if (diffMillis < 3000) {
return 'just now';
}
var secs = $$.num(diffMillis).divr(1000, 0, null).along();
if (secs < 60) {
return secs + 's';
}
var mins = $$.num(secs).divr(60, 0, null).along();
if (mins < 60) {
return mins + 'm';
}
var hours = $$.num(mins).divr(60, 0, null).along();
if (hours < 24) {
return hours + 'h';
}
var days = $$.num(hours).divr(24, 0, null).along();
if (days < 31) {
return days + 'd';
}
return $$.date().fmt('yyyy-MM-dd').format(new java.util.Date(millis));
};
var formatDueInDays = (date) => {
var millis = getMillis(date);
var diffMillis = millis - $$.date().millis();
var isMinus = diffMillis < 0;
if (isMinus) {
diffMillis = -diffMillis;
}
var prefix = isMinus ? '-' : '';
var secs = $$.num(diffMillis).divr(1000, 0, null).along();
if (secs < 60) {
return 'in ' + prefix + secs + 's';
}
var mins = $$.num(secs).divr(60, 0, null).along();
if (mins < 60) {
return 'in ' + prefix + secs + 'm';
}
var hours = $$.num(mins).divr(60, 0, null).along();
if (hours < 24) {
return 'in ' + prefix + hours + 'h';
}
var days = $$.num(hours).divr(24, 0, null).along();
if (days < 31) {
return 'in ' + prefix + days + 'd';
}
return $$.date().fmt('yyyy-MM-dd').format(new java.util.Date(millis));
};
if (typeof exports == 'object') {
exports.getMillis = getMillis;
exports.formatDuration = formatDuration;
exports.formatDueInDays = formatDueInDays;
}