mediawiki-extensions-Visual.../modules/ve-mw/init/apiresponsecache/ve.init.mw.ImageInfoCache.js

57 lines
1.2 KiB
JavaScript
Raw Normal View History

/*!
* VisualEditor MediaWiki Initialization ImageInfoCache class.
*
* @copyright See AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* Get information about images.
*
* @class
* @extends ve.init.mw.ApiResponseCache
* @constructor
* @param {mw.Api} [api]
*/
ve.init.mw.ImageInfoCache = function VeInitMwImageInfoCache() {
// Parent constructor
ve.init.mw.ImageInfoCache.super.apply( this, arguments );
};
/* Inheritance */
OO.inheritClass( ve.init.mw.ImageInfoCache, ve.init.mw.ApiResponseCache );
/* Static methods */
/**
* @inheritdoc
*/
ve.init.mw.ImageInfoCache.static.processPage = function ( page ) {
if ( page.imageinfo ) {
return page.imageinfo[ 0 ];
} else if ( 'missing' in page ) {
return { missing: true };
}
};
/* Methods */
/**
* @inheritdoc
*/
ve.init.mw.ImageInfoCache.prototype.getRequestPromise = function ( subqueue ) {
// If you change what `iiprop`s are being fetched, update
// ve.ui.MWMediaDialog to add the same ones to the cache.
return this.api.get(
{
action: 'query',
prop: 'imageinfo',
indexpageids: '1',
iiprop: 'size|mediatype',
titles: subqueue
},
{ type: 'POST' }
);
};