User:Ricordisamoa/DMYdates.js
Jump to navigation
Jump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* <nowiki>
* DMYdates.js
* @author [[User:Ricordisamoa]]
* Shows dates in claims as "dd month yyyy"
*/
$( document ).ready( function () {
if ( mw.user.options.get( 'date' ) !== 'dmy' ) {
return;
}
mw.hook( 'wikibase.entityPage.entityLoaded' ).add( function ( data ) {
$.each( data.claims || {}, function ( prop, claims ) {
$.each( claims, function ( index, claim ) {
var dv = claim.mainsnak.datavalue;
if (
dv !== undefined &&
dv.type === 'time' &&
dv.value.after === 0 &&
dv.value.before === 0 &&
dv.value.timezone === 0 &&
dv.value.precision === 11
) {
var val = new Date( dv.value.time.replace( /^\+(0{7})?/, '' ) ),
msg = mw.config.get( 'wgMonthNames' )[val.getMonth() + 1].toLowerCase();
if ( msg === 'may' ) {
msg += '_long';
}
var date = [
val.getDate(), mw.messages.get( msg ), val.getFullYear()
];
var $statementview = $( '.wikibase-statementview' )
.filter( function () {
return $( this ).hasClass( 'wikibase-statement-' + claim.id );
} )
.find( '.wikibase-statementview-mainsnak .valueview' );
if ( $statementview.length === 1 ) {
var $valueview = $statementview
.contents()
.filter( function () {
return this.nodeType === 3;
} );
if ( $valueview.length === 1 ) {
$valueview.get( 0 ).textContent = date.join( ' ' );
}
}
}
} );
} );
} );
} );