mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 17:38:19 +08:00
ui-default: init
将ui-default合并至主存储库便于维护
This commit is contained in:
1 parent
6317c9057f
commit
5faa54c7ca
564 files changed
+23083
-14
No files matched your search
@@ -0,0 +1,45 @@
|
||||
import * as timeago from 'timeago.js';
|
||||
import { AutoloadPage } from 'vj/misc/Page';
|
||||
import i18n from 'vj/utils/i18n';
|
||||
|
||||
try {
|
||||
const locales = require.context('timeago.js/lib/lang', false, /\.js$/);
|
||||
let locale;
|
||||
try {
|
||||
locale = locales(`./${i18n('timeago_locale')}.js`).default;
|
||||
} catch (e) {
|
||||
locale = locales('./en_US.js').default;
|
||||
}
|
||||
timeago.register(i18n('timeago_locale'), locale);
|
||||
} catch (e) {
|
||||
console.error(`Cannot register timeago locale: ${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, i18n('timeago_locale'));
|
||||
});
|
||||
}
|
||||
|
||||
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');
|
||||
timeago.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