Чемпион Южной Америки 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:
/**
 
* Это гаджет из Русской Википедии, список авторов см. на соответствующей странице.
 
* Глобальная версия этого гаджета расположена на [[mw:MediaWiki:Gadget-UTCLiveClock.js]],
 
* туда можно заглядывать за обновлениями (но там на 12 октября 2017 года не было некоторых
 
* возможностей, которые есть в РВП и там код рассчитан на загрузку без зависимостей и стилей).
 
*/
 
 
( function( mw, $ ) {
 
( function( mw, $ ) {
function padWithZeroes( num ) {
 
// Отбить число нулями. Число должно быть натуральным, где 0 <= num < 100.
 
return num < 10 ? '0' + num.toString() : num.toString();
 
}
 
  
function showTime( $target ) {
+
    function showTime( $target ) {
var now = new Date(),
+
        var now = new Date(),
hh = now.getUTCHours(),
+
        hh = now.getUTCHours(),
mm = now.getUTCMinutes(),
+
        mm = now.getUTCMinutes(),
ss = now.getUTCSeconds(),
+
        ss = now.getUTCSeconds(),
time = padWithZeroes( hh ) + ':' + padWithZeroes( mm ) + ':' + padWithZeroes( ss );
+
        time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
$target.text( time );
+
        $target.text( time );
}
+
    }
 +
   
 +
    function liveClock() {
 +
        mediaWiki.util.addCSS( '#utcdate a { font-weight:bolder; font-size:120%; }' );
 +
   
 +
        var $container = $( '#p-personal ul:first' );
 +
        if ( !$container.length ) {
 +
        return false;
 +
        }
 +
        var $link = $( '<a href="#">' );
 +
        $link.on( 'click', function( e ) {
 +
        e.preventDefault();
  
runAsEarlyAsPossible( function liveClock() {
+
$.ajax( {
var node = mw.util.addPortletLink(
+
url: '//' + location.host + '/w/api.php',
'p-personal',
+
data: {
mw.util.getUrl( null, { action: 'purge' } ),
+
'action': 'purge',
'',
+
'titles': mw.config.get( 'wgPageName' )
'utcdate'
+
},
);
+
method: 'GET'
if ( !node ) return;
+
} ).done( function( data ) {
+
location.reload();
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 );
+
        $( '<li id="utcdate">' )
$( '#pt-logout' ).addClass( 'utcdate-added' );
+
        .append( $link )
var interval = setInterval( function() {
+
        .appendTo( $container );
try {
+
 
showTime( $link );
+
        showTime( $link );
} catch(e) {
+
        var interval = setInterval( function() {
 +
            try {  
 +
            showTime( $link );
 +
            } catch(e) {
 
clearInterval( interval );
 
clearInterval( interval );
}
+
            }
}, 1000 );
+
        }, 1000 );
}, $( '#pt-logout' ) );
+
        return true;
}( mediaWiki, jQuery ) );
+
    }
 +
 
 +
    if ( !liveClock() ) {
 +
$( document ).ready( liveClock );
 +
    }
 +
   
 +
} )( mediaWiki, jQuery );

Текущая версия на 16:06, 22 апреля 2018

( function( mw, $ ) {

    function showTime( $target ) {
        var now = new Date(),
        	hh = now.getUTCHours(),
        	mm = now.getUTCMinutes(),
        	ss = now.getUTCSeconds(),
        	time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss );
        $target.text( time );
    }
     
    function liveClock() {
        mediaWiki.util.addCSS( '#utcdate a { font-weight:bolder; font-size:120%; }' );
     
        var $container = $( '#p-personal ul:first' );
        if ( !$container.length ) {
        	return false;
        }
        var $link = $( '<a href="#">' );
        $link.on( 'click', function( e ) {
        	e.preventDefault();

			$.ajax( {
				url: '//' + location.host + '/w/api.php',
				data: {
					'action': 'purge',
					'titles': mw.config.get( 'wgPageName' )
				},
				method: 'GET'
			} ).done( function( data ) {
				location.reload();
			} );
        } );

        $( '<li id="utcdate">' )
        	.append( $link )
        	.appendTo( $container );

        showTime( $link );
        var interval = setInterval( function() {
            try { 
            	showTime( $link );
            } catch(e) {
				clearInterval( interval );
            }
        }, 1000 );
        return true;
    }

    if ( !liveClock() ) {
		$( document ).ready( liveClock );
    }
     
} )( mediaWiki, jQuery );