MediaWiki:Gadget-UTCLiveClock.js

From translatewiki.net
Revision as of 20:01, 11 November 2010 by MaxSem (talk | contribs) (jQuery- and RL-compliant version :))
Jump to navigation Jump to search

Note: After saving, 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.
(function( $ ) {
	$( document ).ready( function() {
		appendCSS( '#utcdate a { font-weight:bolder; font-size:120%; }' );

		if ( typeof( window.UTCLiveClockConfig ) == 'undefined' ) {
			window.UTCLiveClockConfig = {};
		}
		window.liveClock = {};
		var portletId = window.UTCLiveClockConfig.portletId || 'p-personal';
		var nextNode = window.UTCLiveClockConfig.nextNodeId ? document.getElementById( UTCLiveClockConfig.nextNodeId ) : undefined;
		window.liveClock.node = addPortletLink(
			portletId,
			wgScript + '?title=' + encodeURIComponent( wgPageName ) + '&action=purge',
			'',
			'utcdate',
			undefined,
			undefined,
			nextNode
		);
		if( !window.liveClock.node ) {
			return;
		}

		window.showTime();
	});
})( jQuery );

window.showTime = function() {
	var dateNode = window.liveClock.node;
	if( !dateNode ) {
		return;
	}

	var now = new Date();
	var hh = now.getUTCHours();
	var mm = now.getUTCMinutes();
	var ss = now.getUTCSeconds();
	var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
	dateNode.firstChild.replaceChild( document.createTextNode( time ), dateNode.firstChild.firstChild );

	window.setTimeout( window.showTime, 1000 );
}