<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://wikiminecraft.es/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikibase.js</id>
	<title>MediaWiki:Gadget-wikibase.js - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://wikiminecraft.es/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikibase.js"/>
	<link rel="alternate" type="text/html" href="https://wikiminecraft.es/index.php?title=MediaWiki:Gadget-wikibase.js&amp;action=history"/>
	<updated>2026-05-01T15:36:39Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wikiminecraft.es/index.php?title=MediaWiki:Gadget-wikibase.js&amp;diff=735&amp;oldid=prev</id>
		<title>Bth0: Página creada con «// &lt;nowiki&gt;  /**  * wikibase.js  * ===========  * wikibase.js is a libary which provides functions to edit Wikibase entities. It also supports importing site links from wik...»</title>
		<link rel="alternate" type="text/html" href="https://wikiminecraft.es/index.php?title=MediaWiki:Gadget-wikibase.js&amp;diff=735&amp;oldid=prev"/>
		<updated>2014-04-09T07:11:07Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «// &amp;lt;nowiki&amp;gt;  /**  * wikibase.js  * ===========  * wikibase.js is a libary which provides functions to edit Wikibase entities. It also supports importing site links from wik...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * wikibase.js&lt;br /&gt;
 * ===========&lt;br /&gt;
 * wikibase.js is a libary which provides functions to edit Wikibase entities. It also supports importing site links from wikipedias.&lt;br /&gt;
 * If you want to use this libary in a gadget, you have to add to the [[MediaWiki:Gadgets-definition]] page:&lt;br /&gt;
 *  * &amp;lt;GadgetName&amp;gt;|wikibase.js|&amp;lt;GadgetName&amp;gt;.js&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
mediaWiki.loader.using( &amp;#039;mediawiki.jqueryMsg&amp;#039;, function () {&lt;br /&gt;
	window.jqueryMsg = mediaWiki.jqueryMsg.getMessageFunction();&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
( function( mw, $ ) {&lt;br /&gt;
	var debug = mw.util.getParamValue( &amp;#039;wikibase.js&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
	var errorMessages = {&lt;br /&gt;
		&amp;#039;unknown&amp;#039;: {&lt;br /&gt;
			&amp;#039;en&amp;#039;: &amp;#039;An unknown error had occured.&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	function errMsg( key ) {&lt;br /&gt;
		/*var msg;&lt;br /&gt;
		if( i18n[ lang ][ key ] ) {&lt;br /&gt;
			msg = errorMessages[ lang ][ key ];&lt;br /&gt;
		}&lt;br /&gt;
		else if( key in i18n[ &amp;#039;en&amp;#039; ] ) {&lt;br /&gt;
			msg = errorMessages[ &amp;#039;en&amp;#039; ][ key ];&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			msg = &amp;#039;&amp;lt;&amp;#039; + key + &amp;#039;&amp;gt;&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		for ( var i = 1; i &amp;lt; arguments.length; i++ ) {&lt;br /&gt;
			msg = msg.replace( new RegExp( &amp;#039;$&amp;#039; + i, &amp;#039;g&amp;#039; ), arguments[i] );&lt;br /&gt;
		}&lt;br /&gt;
		return parse( msg );*/&lt;br /&gt;
		return &amp;#039;&amp;lt;&amp;#039; + key + &amp;#039;&amp;gt;&amp;#039;;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function parse( key ) {&lt;br /&gt;
		mw.messages.set( key, key ); // register key&lt;br /&gt;
		return jqueryMsg( key ).replace( &amp;#039;\n&amp;#039;, &amp;#039;&amp;lt;br&amp;gt;&amp;#039; ); // html encode&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Class to make editing Wikibase entities easier.&lt;br /&gt;
	 */&lt;br /&gt;
	function WikibaseTools() {&lt;br /&gt;
		/* properties */&lt;br /&gt;
		this.id = mediaWiki.config.get( &amp;#039;wbEntityId&amp;#039; );&lt;br /&gt;
		this.entities = {&lt;br /&gt;
			ITEM: &amp;#039;item&amp;#039;,&lt;br /&gt;
			PROPERTY: &amp;#039;property&amp;#039;,&lt;br /&gt;
			QUERY: &amp;#039;query&amp;#039;,&lt;br /&gt;
			NONE: false&lt;br /&gt;
		};&lt;br /&gt;
		switch( this.id ? this.id.substr( 0, 1 ) : false ) {&lt;br /&gt;
			case &amp;#039;q&amp;#039;:&lt;br /&gt;
				this.entityType = this.entities.ITEM;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;#039;p&amp;#039;:&lt;br /&gt;
				this.entityType = this.entities.PROPERTY;&lt;br /&gt;
				break;&lt;br /&gt;
			case &amp;#039;xxx&amp;#039;:&lt;br /&gt;
				this.entityType = this.entities.QUERY;&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				this.entityType = this.entities.NONE;&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		/* functions */&lt;br /&gt;
		this.createItem = createItem;&lt;br /&gt;
		this.updateItem = updateItem;&lt;br /&gt;
		this.getItem = getItem;&lt;br /&gt;
		this.getSiteLinks = getSiteLinks;&lt;br /&gt;
		this.getInterwikiLinks = getInterwikiLinks;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Create a single new Wikibase entity.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param data The serialized object that is used as the data source. A newly created entity will be assigned an &amp;#039;id&amp;#039;.&lt;br /&gt;
	 * @param summary Summary for the edit. Will be prepended by an automatically generated comment.&lt;br /&gt;
	 * @param success function called on success&lt;br /&gt;
	 * @param error function called on error&lt;br /&gt;
	 */&lt;br /&gt;
	function createItem( data, summary, success, error ) {&lt;br /&gt;
		this.updateItem( data, false, summary, success, error );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Modify a Wikibase entity with serialised information.&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param data The serialized object that is used as the data source. A newly created entity will be assigned an &amp;#039;id&amp;#039;.&lt;br /&gt;
	 * @param id The identifier for the entity, including the prefix. If set to false, a new item will be created.&lt;br /&gt;
	 * @param summary Summary for the edit. Will be prepended by an automatically generated comment.&lt;br /&gt;
	 * @param success function called on success&lt;br /&gt;
	 * @param error function called on error&lt;br /&gt;
	 */&lt;br /&gt;
	function updateItem( data, id, summary, success, error ) {&lt;br /&gt;
		var postData = {&lt;br /&gt;
			&amp;#039;format&amp;#039;: &amp;#039;json&amp;#039;,&lt;br /&gt;
			&amp;#039;action&amp;#039;: &amp;#039;wbeditentity&amp;#039;,&lt;br /&gt;
			&amp;#039;data&amp;#039;: $.toJSON( data ),&lt;br /&gt;
			&amp;#039;summary&amp;#039;: summary,&lt;br /&gt;
			&amp;#039;token&amp;#039;:  mw.user.tokens.get( &amp;#039;editToken&amp;#039; )&lt;br /&gt;
		};&lt;br /&gt;
		if( id ) {&lt;br /&gt;
			postData[&amp;#039;id&amp;#039;] = id;&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			postData[&amp;#039;new&amp;#039;] = &amp;#039;item&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		$.ajax( {&lt;br /&gt;
			type: &amp;#039;POST&amp;#039;,&lt;br /&gt;
			url: mw.util.wikiScript( &amp;#039;api&amp;#039; ),&lt;br /&gt;
			data: postData,&lt;br /&gt;
			success: function( data ) {&lt;br /&gt;
				if( data.error &amp;amp;&amp;amp; data.error.info ) {&lt;br /&gt;
					error( parse( data.error.info ) );&lt;br /&gt;
				}&lt;br /&gt;
				else {&lt;br /&gt;
					success( data );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get the data for multiple Wikibase entities&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param id The IDs of the entities to get the data from&lt;br /&gt;
	 * @param success function called on success&lt;br /&gt;
	 * @param error function called on error&lt;br /&gt;
	 */&lt;br /&gt;
	function getItem( id, success, error ) {&lt;br /&gt;
		$.ajax( {&lt;br /&gt;
			url: mw.util.wikiScript( &amp;#039;api&amp;#039; ),&lt;br /&gt;
			data: {&lt;br /&gt;
				&amp;#039;format&amp;#039;: &amp;#039;json&amp;#039;,&lt;br /&gt;
				&amp;#039;action&amp;#039;: &amp;#039;wbgetentities&amp;#039;,&lt;br /&gt;
				&amp;#039;ids&amp;#039;: typeof id === &amp;#039;string&amp;#039; ? id : id.join( &amp;#039;|&amp;#039; ) &lt;br /&gt;
			},&lt;br /&gt;
			success: function( data ) {&lt;br /&gt;
				if( data.error &amp;amp;&amp;amp; data.error.info ) {&lt;br /&gt;
					error( parse( data.error.info ) );&lt;br /&gt;
				}&lt;br /&gt;
				else {&lt;br /&gt;
					success( typeof id === &amp;#039;string&amp;#039; ? data.entities[id] : data.entities );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get the existings site links of an entity&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param id The ID of the entity to get the site links from&lt;br /&gt;
	 * @param success function called on success&lt;br /&gt;
	 * @param error function called on error&lt;br /&gt;
	 */&lt;br /&gt;
	function getSiteLinks( id, success, error ) {&lt;br /&gt;
		this.getItem(&lt;br /&gt;
			id,&lt;br /&gt;
			function( data ) {&lt;br /&gt;
				if( data.sitelinks ) {&lt;br /&gt;
					success( data.sitelinks );&lt;br /&gt;
				}&lt;br /&gt;
				else {&lt;br /&gt;
					success( {} );&lt;br /&gt;
				}&lt;br /&gt;
			},&lt;br /&gt;
			error&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Return the existings links in a page of a wiki&lt;br /&gt;
	 * @param lang the language of the wikipedia ( look for &amp;lt;lang&amp;gt;.wikipedia.org )&lt;br /&gt;
	 * @param title title of the page&lt;br /&gt;
	 * @param success function called on success&lt;br /&gt;
	 * @param error function called on error&lt;br /&gt;
	 */&lt;br /&gt;
	function getInterwikiLinks( lang, title, success, error ) {&lt;br /&gt;
		$.ajax( {&lt;br /&gt;
			url: &amp;#039;//&amp;#039; + lang + &amp;#039;.wikipedia.org/w/api.php&amp;#039;,&lt;br /&gt;
			data: {&lt;br /&gt;
				&amp;#039;format&amp;#039;: &amp;#039;json&amp;#039;,&lt;br /&gt;
				&amp;#039;action&amp;#039;: &amp;#039;query&amp;#039;,&lt;br /&gt;
				&amp;#039;titles&amp;#039;: title,&lt;br /&gt;
				&amp;#039;prop&amp;#039;: &amp;#039;langlinks&amp;#039;,&lt;br /&gt;
				&amp;#039;lllimit&amp;#039;: 400&lt;br /&gt;
			},&lt;br /&gt;
			dataType: &amp;#039;jsonp&amp;#039;&lt;br /&gt;
		} )&lt;br /&gt;
		.done( function( data ) {&lt;br /&gt;
			if( data.error &amp;amp;&amp;amp; data.error.info ) {&lt;br /&gt;
				error( parse( data.error.info ) );&lt;br /&gt;
			}&lt;br /&gt;
			else if( data.query &amp;amp;&amp;amp; data.query.pages ) {&lt;br /&gt;
				for( var id in data.query.pages ) {&lt;br /&gt;
					if( id == -1 ) {&lt;br /&gt;
						error( errMsg( &amp;#039;unknown&amp;#039; ) );&lt;br /&gt;
					} else {&lt;br /&gt;
						if( data.query.pages[id].langlinks ) {&lt;br /&gt;
							var langlinks = data.query.pages[id].langlinks;&lt;br /&gt;
							var links = {};&lt;br /&gt;
							for( var i in langlinks ) {&lt;br /&gt;
								links[langlinks[i][&amp;#039;lang&amp;#039;]] = langlinks[i][&amp;#039;*&amp;#039;];&lt;br /&gt;
							}&lt;br /&gt;
							success( links );&lt;br /&gt;
						} else {&lt;br /&gt;
							success( [] );&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			else {&lt;br /&gt;
				error( errMsg( &amp;#039;unknown&amp;#039; ) );&lt;br /&gt;
			}&lt;br /&gt;
		} )&lt;br /&gt;
		.fail( function( jqXHR, textStatus, errorThrown ) {&lt;br /&gt;
			error( errMsg( &amp;#039;unknown&amp;#039; ) );&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var wikibaseTools = new WikibaseTools();&lt;br /&gt;
&lt;br /&gt;
	window.wikibaseTools = wikibaseTools; // global access&lt;br /&gt;
} )( mediaWiki, jQuery );&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bth0</name></author>
	</entry>
</feed>