MediaWiki:Gadget-Descriptions.js

De WikiMinecraft
Revisión del 06:56 9 abr 2014 de Bth0 (discusión | contribs.) (Página creada con «// required modules: wikibase.store.EntityStore, jquery.wikibase.wbtooltip ( function ( mw, $, wb ) { // only works for items if ( !mw.config.exists( 'wbEntityId' ) ) {...»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
// required modules: wikibase.store.EntityStore, jquery.wikibase.wbtooltip

( function ( mw, $, wb ) {

	// only works for items
	if ( !mw.config.exists( 'wbEntityId' ) ) {
		return;
	}

	function init() {
		var entityStore = new wb.store.EntityStore();
		wb.compileEntityStoreFromMwConfig( entityStore );

		$( '.wb-claimlistview a[href^="/wiki/"]' )
		.each( function() {
			var $anchor = $( this ),
				id = $anchor.attr( 'href' ).replace( /.*(Q\d+)/, '$1' ).replace( /.*Property:(P\d+)/, '$1' );
			if ( id.indexOf( 'Q' ) !== 0 && id.indexOf( 'P' ) !== 0 ) {
				return;
			}

			entityStore.get( id )
			.done( function ( entity ) {
				var description = entity.getContent().getDescription();
				if ( !description ) {
					return;
				}

				var $tooltip = $( '<span>' )
					.appendTo( 'body' )
					.wbtooltip( {
					        content: $( '<span>' ).text( description ),
					        permanent: true,
					        gravity: 'nw',
					        $anchor: $anchor
					} );

				$anchor.hover( function() {
					$tooltip.data( 'wbtooltip' ).show();
				}, function() {
					$tooltip.data( 'wbtooltip' ).hide();
				} );
			} );
		} );
	}

	mw.loader.using( ['wikibase.store.EntityStore', 'jquery.wikibase.wbtooltip'], function () {
		mw.hook( 'wikibase.domready' ).add( init );
	} );

} ( mediaWiki, jQuery, wikibase ) );