mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
add ui
This commit is contained in:
1 parent
777a4bc927
commit
9c45527522
396 files changed
+13772
No files matched your search
@@ -0,0 +1,40 @@
|
||||
import timeagoFactory from 'timeago.js';
|
||||
|
||||
import { AutoloadPage } from 'vj/misc/PageLoader';
|
||||
|
||||
import i18n from 'vj/utils/i18n';
|
||||
|
||||
const timeago = timeagoFactory();
|
||||
timeago.setLocale(i18n('timeago_locale'));
|
||||
|
||||
function runRelativeTime($container) {
|
||||
$container.find('span.time.relative[data-timestamp]').get().forEach((element) => {
|
||||
const $element = $(element);
|
||||
if ($element.attr('data-has-timeago') !== undefined) {
|
||||
return;
|
||||
}
|
||||
$element.attr('data-tooltip', $element.text());
|
||||
$element.attr('datetime', ($element.attr('data-timestamp') || 0) * 1000);
|
||||
$element.attr('data-has-timeago', '1');
|
||||
timeago.render(element);
|
||||
});
|
||||
}
|
||||
|
||||
function cancelRelativeTime($container) {
|
||||
$container.find('span.time.relative[data-timestamp]').get().forEach((element) => {
|
||||
const $element = $(element);
|
||||
if ($element.attr('data-has-timeago') === undefined) {
|
||||
return;
|
||||
}
|
||||
$element.removeAttr('data-has-timeago');
|
||||
timeagoFactory.cancel(element);
|
||||
});
|
||||
}
|
||||
|
||||
const relativeTimePage = new AutoloadPage('relativeTimePage', () => {
|
||||
runRelativeTime($('body'));
|
||||
$(document).on('vjContentNew', e => runRelativeTime($(e.target)));
|
||||
$(document).on('vjContentRemove', e => cancelRelativeTime($(e.target)));
|
||||
});
|
||||
|
||||
export default relativeTimePage;
|
||||
Reference in new issue
Block a user