Page MenuHomeWickedGov Phorge

ext.echo.moment-hack.js
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

ext.echo.moment-hack.js

( function () {
/* global moment:false */
'use strict';
const momentOrigLocale = moment.locale();
// Set up new 'short relative time' locale strings for momentjs
moment.defineLocale( 'echo-shortRelativeTime', {
relativeTime: function ( number, withoutSuffix, key ) {
const keymap = {
s: 'seconds',
m: 'minutes',
mm: 'minutes',
h: 'hours',
hh: 'hours',
d: 'days',
dd: 'days',
M: 'months',
MM: 'months',
y: 'years',
yy: 'years'
};
// The following messages are used here:
// * notification-timestamp-ago-seconds
// * notification-timestamp-ago-minutes
// * notification-timestamp-ago-hours
// * notification-timestamp-ago-days
// * notification-timestamp-ago-months
// * notification-timestamp-ago-years
return mw.msg( 'notification-timestamp-ago-' + keymap[ key ], mw.language.convertNumber( number ) );
},
calendar: {
// Brackets must surround this output, otherwise moment thinks
// this is a format string, and replaces all 'm' with minutes,
// 's' with seconds, 'd' with days, etc, which is very amusing,
// but entirely unhelpful
sameDay: '[' + mw.msg( 'notification-timestamp-today' ) + ']',
lastDay: '[' + mw.msg( 'notification-timestamp-yesterday' ) + ']',
lastWeek: function () {
return '[' + mw.msg(
[
'sunday',
'monday',
'tuesday',
'wednesday',
'thursday',
'friday',
'saturday'
][ this.day() ] ) + ']';
}
}
} );
// Reset back to original locale
moment.locale( momentOrigLocale );
}() );

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 3, 18:57 (1 d, 13 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
57/29/147ead300bdc10d1f88933783194
Default Alt Text
ext.echo.moment-hack.js (1 KB)

Event Timeline