Чемпион Южной Америки 1916 Чемпион Южной Америки 1917 Чемпион Южной Америки 1920 Чемпион Южной Америки 1923 Олимпийский чемпион и чемпион мира среди любителей 1924 Чемпион Южной Америки 1924 Чемпион Южной Америки 1926 Олимпийский чемпион и чемпион мира среди любителей 1928 Чемпион мира 1930 Чемпион Южной Америки 1935 Чемпион Южной Америки 1942 Чемпион мира 1950 Чемпион Южной Америки 1956 Чемпион Южной Америки 1959 (Эквадор) Чемпион Южной Америки 1967 Победитель Мундиалито 1980-81 Победитель Кубка Америки 1983 Победитель Кубка Америки 1987 Победитель Кубка Америки 1995 Победитель Кубка Америки 2011

MediaWiki:Gadget-UTCLiveClock.js — различия между версиями

Материал из CelestePedia
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
( function( $, undefined ) {
+
/**
   
+
* Глобальная версия этого гаджета расположена на [[mw:MediaWiki:Gadget-UTCLiveClock.js]],
function showTime( $target ) {
+
* туда можно заглядывать за обновлениями (но там на 12 октября 2017 года не было некоторых
var dateNode = UTCLiveClockConfig.node;
+
* возможностей, которые есть у нас, и там код рассчитан на загрузку без зависимостей и стилей).
if( !dateNode ) {
+
  */
return;
+
( function( mw, $ ) {
 +
function padWithZeroes( num ) {
 +
// Отбить число нулями. Число должно быть натуральным, где 0 <= num < 100.
 +
return num < 10 ? '0' + num.toString() : num.toString();  
 
}
 
}
+
 
var now = new Date();
+
function showTime( $target ) {
var hh = now.getUTCHours();
+
var now = new Date(),
var mm = now.getUTCMinutes();
+
hh = now.getUTCHours(),
var ss = now.getUTCSeconds();
+
mm = now.getUTCMinutes(),
if ( typeof $target === 'undefined' ) {
+
ss = now.getUTCSeconds(),
$target = $( dateNode ).find( 'a:first' );
+
time = padWithZeroes( hh ) + ':' + padWithZeroes( mm ) + ':' + padWithZeroes( ss );
 +
$target.text( time );
 
}
 
}
var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
+
 
$target.text( time );
+
runAsEarlyAsPossible( function liveClock() {
+
var node = mw.util.addPortletLink(
setTimeout( function(){
+
'p-personal',
showTime( $target );
+
mw.util.getUrl( null, { action: 'purge' } ),
}, 1000 );
+
'',
}
+
'utcdate'
+
);
function liveClock() {
+
if ( !node ) return;
appendCSS( '#utcdate a { font-weight:bolder; font-size:120%; }' );
+
+
var $link = $( node ).find( 'a:first' );
if ( typeof( UTCLiveClockConfig ) === 'undefined' ) {
+
$link.on( 'click', function ( e ) {
window.UTCLiveClockConfig = {};
+
new mw.Api().post( {
}
+
action: 'purge',
var portletId = UTCLiveClockConfig.portletId || 'p-personal';
+
titles: mw.config.get( 'wgPageName' )
var nextNode = UTCLiveClockConfig.nextNodeId ? document.getElementById( UTCLiveClockConfig.nextNodeId ) : undefined;
+
} ).then( function () {
UTCLiveClockConfig.node = addPortletLink(
+
var url = mw.util.getUrl();
portletId,
+
if ( e.ctrlKey ) {
wgScript + '?title=' + encodeURIComponent( wgPageName ) + '&action=purge',
+
if ( !window.open( url ) ) {
'',
+
location.assign( url );
'utcdate',
+
}
undefined,
+
} else {
undefined,
+
location.assign( url );
nextNode
+
}
);
+
}, function () {
if( !UTCLiveClockConfig.node ) {
+
mw.notify( 'Не удалось очистить кэш.', { type: 'error' } );
return;
+
} );
}
+
e.preventDefault();
+
} );
showTime();
+
 
}
+
showTime( $link );
$( document ).ready( liveClock );
+
$( '#pt-logout' ).addClass( 'utcdate-added' );
+
var interval = setInterval( function() {
} )( jQuery );
+
try {
 +
showTime( $link );
 +
} catch(e) {
 +
clearInterval( interval );
 +
}
 +
}, 1000 );
 +
}, $( '#pt-logout' ) );
 +
}( mediaWiki, jQuery ) );

Версия 15:59, 22 апреля 2018

/**
 * Глобальная версия этого гаджета расположена на [[mw:MediaWiki:Gadget-UTCLiveClock.js]],
 * туда можно заглядывать за обновлениями (но там на 12 октября 2017 года не было некоторых
 * возможностей, которые есть у нас, и там код рассчитан на загрузку без зависимостей и стилей).
 */
( function( mw, $ ) {
	function padWithZeroes( num ) {
		// Отбить число нулями. Число должно быть натуральным, где 0 <= num < 100.
		return num < 10 ? '0' + num.toString() : num.toString(); 
	}

	function showTime( $target ) {
		var now = new Date(),
			hh = now.getUTCHours(),
			mm = now.getUTCMinutes(),
			ss = now.getUTCSeconds(),
			time = padWithZeroes( hh ) + ':' + padWithZeroes( mm ) + ':' + padWithZeroes( ss );
		$target.text( time );
	}

	runAsEarlyAsPossible( function liveClock() {
		var node = mw.util.addPortletLink(
			'p-personal',
			mw.util.getUrl( null, { action: 'purge' } ),
			'',
			'utcdate'
		);
		if ( !node ) return;
		
		var $link = $( node ).find( 'a:first' );
		$link.on( 'click', function ( e ) {
			new mw.Api().post( {
				action: 'purge',
				titles: mw.config.get( 'wgPageName' )
			} ).then( function () {
				var url = mw.util.getUrl();
				if ( e.ctrlKey ) {
					if ( !window.open( url ) ) {
						location.assign( url );
					}
				} else {
					location.assign( url );
				}
			}, function () {
				mw.notify( 'Не удалось очистить кэш.', { type: 'error' } );
			} );
			e.preventDefault();
		} );

		showTime( $link );
		$( '#pt-logout' ).addClass( 'utcdate-added' );
		var interval = setInterval( function() {
			try {
				showTime( $link );
			} catch(e) {
				clearInterval( interval );
			}
		}, 1000 );
	}, $( '#pt-logout' ) );
}( mediaWiki, jQuery ) );