MediaWiki:Gadget-currentDate.js
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.
// This script is directly copied from [[User:TMg/currentDate.js]].
/**
* This script automatically adds the current date (in ISO form) as a default value whenever
* you add a snak with the property "retrieved" (P813, alias "access date").
*/
( function ( $ ) {
$( '.wikibase-statementgrouplistview' ).on(
'valueviewafterstartediting',
function( event ) {
// Separate multiple property IDs with pipe characters.
var currentDateProperties = 'P813';
var $valueview = $( event.target ),
valueview = $valueview.data( 'valueview' ),
expert = valueview.expert();
if ( valueview.options.dataValueType !== 'time'
|| expert.$input.val()
) {
return;
}
var $snakview = $valueview.closest( '.wikibase-snakview' ),
snakview = $snakview.data( 'snakview' ),
regex = new RegExp( '^(' + currentDateProperties
.replace( /[^P\d]+/gi, '|' )
.replace( /^\||\|$/gi, '' ) + ')$', 'i' );
if ( !regex.test( snakview.value().property ) ) {
return;
}
var input = expert.$input[0],
isoDate = new Date().toISOString().slice( 0, 10 );
expert.$input.val( isoDate );
// FIXME: This accesses a protected property.
expert._viewNotifier.notify( 'change' );
input.focus();
input.select();
} );
} )( jQuery );