Aller au contenu

Utilisateur:Tpt/emptypage.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
( function( $, mw, window ) {
	'use strict';

	function searchItem( search, language, success ) {
		$.ajax( {
			url: '//wikidata.org/w/api.php',
			data: {
				action : 'wbsearchentities',
				search: search,
				language: language,
				type: 'item',
				format : 'json'
			},
			dataType: 'jsonp'
		} )
		.done( function( data ) {
			if( data.search.length > 0 ) {
				success( data.search );
			}
		} );
	}

	function getItem( id, language, success ) {
		$.ajax( {
			url: '//wikidata.org/w/api.php',
			data: {
				action : 'wbgetentities',
				ids: id,
				languages: language,
				format : 'json'
			},
			dataType: 'jsonp'
		} )
		.done( function( data ) {
			success( data.entities[id] );
		} );
	}

	function parseWikitext( text, title, success ) {
		var api = new mw.Api();
		api.get( {
			action: 'parse',
			text: text,
			title: title,
			'contentmodel': 'wikitext',
			prop: 'text'
		} ).done ( function( data ) {
			success( data.parse.text );
		} );
	}

	function getWikitextForItem( item ) {
		return "'''TODO'''";		
	}

	function init() {
		searchItem( mw.config.get( 'wgPageName' ), mw.config.get( 'wgPageContentLanguage' ), function( result ) {
			if( result.length === 1 ) {
				alert( result[0].id );
				getItem( result[0].id, mw.config.get( 'wgPageContentLanguage' ), function( item ) {
					alert( item.id );
					parseWikitext( getWikitextForItem( item ), mw.config.get( 'wgPageName' ), function( html ) {
						alert( html );
						$( '#mw-content-text' ).html( html );
					} );
				} );
			}
		} );
	}

	$( document ).ready( function() {
		if( mw.config.get( 'wgNamespaceNumber') === 0 && mw.config.get( 'wgRevisionId' ) === 0 ) {
			init();
		}
	} );
}( jQuery, mediaWiki, window ) );