resources: Strip '$' and 'mw' from file closures
[lhc/web/wiklou.git] / resources / src / mediawiki.widgets / mw.widgets.TitleOptionWidget.js
index 0f1815b..661f9ae 100644 (file)
@@ -4,7 +4,7 @@
  * @copyright 2011-2015 MediaWiki Widgets Team and others; see AUTHORS.txt
  * @license The MIT License (MIT); see LICENSE.txt
  */
-( function ( $, mw ) {
+( function () {
 
        /**
         * Creates a mw.widgets.TitleOptionWidget object.
         * @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';
@@ -47,6 +51,9 @@
                // 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' );
@@ -66,7 +73,7 @@
 
                // 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 );
 
@@ -78,7 +85,7 @@
                        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 + ')' );
 
        OO.inheritClass( mw.widgets.TitleOptionWidget, OO.ui.MenuOptionWidget );
 
-}( jQuery, mediaWiki ) );
+}() );