mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-18 03:41:45 +00:00
dd54c9c95d
A missing image should return some data to say the image is missing, not just reject the promise. Bug: T169337 Change-Id: Ib41a64a783c1baca88f428417c98e7fb913d14a1
55 lines
1.1 KiB
JavaScript
55 lines
1.1 KiB
JavaScript
/*!
|
|
* VisualEditor MediaWiki Initialization ImageInfoCache class.
|
|
*
|
|
* @copyright 2011-2017 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* Get information about images.
|
|
*
|
|
* @class
|
|
* @extends ve.init.mw.ApiResponseCache
|
|
* @constructor
|
|
*/
|
|
ve.init.mw.ImageInfoCache = function VeInitMwImageInfoCache() {
|
|
ve.init.mw.ImageInfoCache.super.call( this );
|
|
};
|
|
|
|
/* 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 new mw.Api().get(
|
|
{
|
|
action: 'query',
|
|
prop: 'imageinfo',
|
|
indexpageids: '1',
|
|
iiprop: 'size|mediatype',
|
|
titles: subqueue
|
|
},
|
|
{ type: 'POST' }
|
|
);
|
|
};
|