Utente:Jarould/Topicon.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Jarould (discussione | contributi)
mNessun oggetto della modifica
Jarould (discussione | contributi)
Nessun oggetto della modifica
Etichetta: Annulla
Riga 1:
( function ( window, documentmw, $, undefined ) { // Wrap with anonymous function
'use strict';
$( document ).ready(function () {
'use strict';
//get url from sidebar
var url = $("li#t-shorturl").children().attr("href");
 
if (
//return if short url doesn't exist, or user's not in the view tab
// Ignore MediaWiki pages.
if ( url === undefined ||
mw.config.get("wgAction" 'wgCanonicalNamespace' ) !=== "view"'MediaWiki' ||
// Ignore special pages.
window.___location.href.match("diff=") !== null ) {
mw.config.get( 'wgCanonicalNamespace' ) === 'Special' ||
return;
// Ignore nonexistent pages
!mw.config.get( 'wgArticleId' )
) {
return false;
}
if ( mw.config.get( 'wgIsMainPage' ) ) {
// Only Main Page
return false;
} else if ( mw.config.exists( 'wgRestrictionEdit' ) && mw.config.get( 'wgRestrictionEdit', [] )[0] === 'sysop' ) {
// Editing is limited to sysops
$( '.mw-indicators' ).prepend(
'<a href="//it.wikipedia.org/wiki/Wikipedia:Politica_di_protezione_delle_pagine" class="mw-indicator" id="gadget-topicon">' +
'<img src="//upload.wikimedia.org/wikipedia/commons/c/cd/Full_protect.svg" title="Questa pagina è stata protetta" height="20">' +
} )'</a>'
);
} else if ( mw.config.exists( 'wgRestrictionEdit' ) && mw.config.get( 'wgRestrictionEdit', [] )[0] === 'autoconfirmed') {
// Editing is limited to autoconfirmed users
$( '.mw-indicators' ).prepend(
'<a href="//it.wikipedia.org/wiki/Wikipedia:Politica_di_protezione_delle_pagine" class="mw-indicator" id="gadget-topicon">' +
'<img src="//upload.wikimedia.org/wikipedia/commons/2/28/Semi_protect.svg" title="Questa pagina è stata semi-protetta" height="20">' +
);'</a>'
});
} if ( mw.config.exists( 'wgRestrictionMove' ) && mw.config.get( 'wgRestrictionMove', [] ).length > 0 && mw.config.get( 'wgRestrictionMove', [] )[0] === 'sysop' ) {
// Moving the page is limited
$( '.mw-indicators' ).prepend(
'<a href="//it.wikipedia.org/wiki/Wikipedia:Politica_di_protezione_delle_pagine" class="mw-indicator" id="gadget-topicon">' +
'<img src="//upload.wikimedia.org/wikipedia/commons/3/35/Move_protect.svg" title="Questa pagina è protetta contra spostamenti" height="20" title="Questa pagina è protetta contra spostamenti">' +
'</a>'
} );
} else {
// The page is not protected, ignore.
return false;
} );
 
}( mediaWiki, jQuery ) );
//create html elements
var timeoutID = null,
$icon = $( '<span>' )
.addClass('title-shortlink')
.addClass('title-shortlink-icon'),
$tooltip = $( '<span>' )
.addClass('title-shortlink')
.addClass('title-shortlink-tooltip')
.html( 'Sample: ' + window.___location.protocol + url )
.append( $( '<a>' )
.attr( {
'class': 'title-shortlink title-shortlink-help-link',
'id': 'title-shortlink-help-link',
'href': '//it.wikipedia.org/wiki/Pagina_principale',
'target': '_blank'
} )
);
//add tooltip to document
$( '#firstHeading' ).append( $icon );
$( 'body' ).prepend( $tooltip.hide() );
 
$( '.title-shortlink' ).mouseover( function() {
var $offset = $icon.offset(),
left;
if ( timeoutID !== null ) {
clearTimeout( timeoutID );
timeoutID = null;
}
$icon.animate( { opacity: 1 }, 400 );
left = ( $offset.left + $tooltip.width() > window.innerWidth ) ?
$offset.left - $tooltip.width() :
$offset.left;
$tooltip
.css( {
'top' : $offset.top + $icon.height() + 'px',
'left' : left + 'px'
} )
.show();
} );
 
$( '.title-shortlink' ).mouseleave( function() {
timeoutID = setTimeout ( function () {
$tooltip.fadeOut( 400,
function () {
$icon.animate( { opacity: 0.5 }, 400 );
}
);
}, 500);
} );
} );
} ( window, document, jQuery )); // End wrap with anonymous function