MediaWiki:Common.js: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
+Metadata Extension |
||
Zeile 263: | Zeile 263: | ||
mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton ); | mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton ); | ||
/* Metadata for MultimediaViewer extension. 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(); | |||
} ); | |||
} |