* @param {Object} config Configuration options
* @cfg {string} data Label to display
* @cfg {string} url URL of page
+ * @cfg {boolean} [showImages] Whether to attempt to show images
* @cfg {string} [imageUrl] Thumbnail image URL with URL encoding
* @cfg {string} [description] Page description
* @cfg {boolean} [missing] Page doesn't exist
* @cfg {boolean} [redirect] Page is a redirect
* @cfg {boolean} [disambiguation] Page is a disambiguation page
* @cfg {string} [query] Matching query string to highlight
+ * @cfg {string} [compare] String comparison function for query highlighting
*/
mw.widgets.TitleOptionWidget = function MwWidgetsTitleOptionWidget( config ) {
var icon;
- if ( config.missing ) {
+ if ( !config.showImages ) {
+ icon = null;
+ } else if ( config.missing ) {
icon = 'page-not-found';
} else if ( config.redirect ) {
icon = 'page-redirect';
// Parent constructor
mw.widgets.TitleOptionWidget.parent.call( this, config );
+ // Remove check icon
+ this.checkIcon.$element.remove();
+
// Initialization
this.$label.attr( 'href', config.url );
this.$element.addClass( 'mw-widget-titleOptionWidget' );
// Highlight matching parts of link suggestion
if ( config.query ) {
- this.setHighlightedQuery( config.data, config.query );
+ this.setHighlightedQuery( config.data, config.query, config.compare );
}
this.$label.attr( 'title', config.data );
this.$label.addClass( 'mw-disambig' );
}
- if ( config.imageUrl ) {
+ if ( config.showImages && config.imageUrl ) {
this.$icon
.addClass( 'mw-widget-titleOptionWidget-hasImage' )
.css( 'background-image', 'url(' + config.imageUrl + ')' );