MediaWiki:Common.js

Verze z 2. 7. 2016, 19:48, kterou vytvořil Till Kraemer (diskuse | příspěvky) (Založena nová stránka s textem „→‎Zde uvedený JavaScript bude použit pro všechny uživatele při načtení každé stránky.: /* from https://www.mediawiki.org/wiki/Extension:Multi…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Poznámka: Po zveřejnění musíte vyprázdnit cache vašeho prohlížeče, jinak změny neuvidíte.

  • Firefox / Safari: Při kliknutí na Aktualizovat držte Shift nebo stiskněte Ctrl-F5 nebo Ctrl-R (na Macu ⌘-R)
  • Google Chrome: Stiskněte Ctrl-Shift-R (na Macu ⌘-Shift-R)
  • Internet Explorer / Edge: Při kliknutí na Aktualizovat držte Ctrl nebo stiskněte Ctrl-F5
  • Opera: Stiskněte Ctrl-F5.
/* Zde uvedený JavaScript bude použit pro všechny uživatele při načtení každé stránky. */

/* from https://www.mediawiki.org/wiki/Extension:MultimediaViewer/Extension:Metadata */

function messWithInternalClasses() {
	var oldLinks = mw.mmv.ui.MetadataPanel.prototype.initializeImageLinks,
		oldSet = mw.mmv.ui.MetadataPanel.prototype.setImageInfo,
		oldEmpty = mw.mmv.ui.MetadataPanel.prototype.empty;

	mw.mmv.ui.MetadataPanel.prototype.initializeImageLinks = function () {
		oldLinks.call( this );

		this.$metadataLi = $( '<li>' )
			.addClass( 'mw-mmv-extension-metadata-li empty' )
			.appendTo( this.$imageLinks );

		this.$metadata = $( '<a>' )
			.addClass( 'mw-mmv-extension-metadata' )
			.text( 'Metadata API call' )
			.appendTo( this.$metadataLi );
	};

	mw.mmv.ui.MetadataPanel.prototype.setImageInfo = function ( image, imageData, repoData, localUsage, globalUsage, user ) {
		var metadataHref;

		oldSet.call( this, image, imageData, repoData, localUsage, globalUsage, user );

		metadataHref = mw.util.wikiScript( 'api' ) + '?action=query&format=json&prop=imageinfo&iiprop=timestamp|user|url|size|mime|mediatype|extmetadata&iiextmetadatafilter=DateTime|DateTimeOriginal|ImageDescription|License|LicenseShortName|UsageTerms|LicenseUrl|Credit|Artist|GPSLatitude|GPSLongitude|Categories|Permission&iiextmetadatalanguage=en&titles=' + encodeURIComponent( image.filePageTitle.getPrefixedDb() );

		this.$metadata.prop( 'href', metadataHref );

		this.$metadataLi.removeClass( 'empty' );
	};

	mw.mmv.ui.MetadataPanel.prototype.empty = function () {
		oldEmpty.call( this );

		this.$metadata.prop( 'href', null );
		this.$metadata.addClass( 'empty' );
	};
}

if ( mw.mmv ) {
	mw.loader.using( 'mmv.ui.metadataPanel', function () {
		messWithInternalClasses();
	} );
}