jenkins-bot has submitted this change and it was merged.

Change subject: Stop using this.$
......................................................................


Stop using this.$

Has been a backwards-compatibility alias since OOjs UI 0.7.0.

Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
---
M modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWInlineImageNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWNumberedExternalLinkNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
M modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
M modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWMetaDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWReferencesListDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
M modules/ve-mw/ui/inspectors/ve.ui.MWAlienExtensionInspector.js
M modules/ve-mw/ui/inspectors/ve.ui.MWExtensionInspector.js
M modules/ve-mw/ui/inspectors/ve.ui.MWLinkNodeInspector.js
M modules/ve-mw/ui/pages/ve.ui.MWAdvancedSettingsPage.js
M modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
M modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
M modules/ve-mw/ui/pages/ve.ui.MWParameterPage.js
M modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
M modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
M modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
M modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
M modules/ve-mw/ui/ve.ui.MWMobileSurface.js
M modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWMediaInfoFieldWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWMediaSearchWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWMoreParametersResultWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWNoParametersResultWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWReferenceGroupInputWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWTitleInputWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWTocItemWidget.js
M modules/ve-mw/ui/widgets/ve.ui.MWTocWidget.js
45 files changed, 164 insertions(+), 316 deletions(-)

Approvals:
  Krinkle: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
index f0476ef..03fe2ea 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWBlockImageNode.js
@@ -36,11 +36,11 @@
        //     <figcaption> this.caption.view.$element
 
        // Build DOM:
-       this.$a = this.$( '<a>' )
+       this.$a = $( '<a>' )
                .addClass( 'image' )
                .attr( 'href', this.getResolvedAttribute( 'href' ) );
 
-       this.$image = this.$( '<img>' )
+       this.$image = $( '<img>' )
                .attr( 'src', this.getResolvedAttribute( 'src' ) )
                .appendTo( this.$a );
 
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js
index 405eb0b..e11787e 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js
@@ -83,7 +83,7 @@
  */
 ve.ce.MWExtensionNode.prototype.onParseSuccess = function ( deferred, response 
) {
        var data = response.visualeditor,
-               contentNodes = this.$( data.content ).get();
+               contentNodes = $( data.content ).get();
        deferred.resolve( contentNodes );
 };
 
@@ -134,7 +134,7 @@
  */
 ve.ce.MWInlineExtensionNode.prototype.onParseSuccess = function ( deferred, 
response ) {
        var data = response.visualeditor,
-               contentNodes = this.$( data.content ).get();
+               contentNodes = $( data.content ).get();
 
        // Inline nodes will come back in wrapper paragraphs, so unwrap them.
        if ( contentNodes[0] && contentNodes[0].childNodes ) {
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
index f4440af..ab0e7ad 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWImageCaptionNode.js
@@ -54,9 +54,9 @@
 
 /** */
 ve.ce.MWImageCaptionNode.prototype.buildMagnify = function () {
-       this.$magnify = this.$( '<div>' )
+       this.$magnify = $( '<div>' )
                .addClass( 'magnify' );
-       this.$a = this.$( '<a>' )
+       this.$a = $( '<a>' )
                .addClass( 'internal' )
                .appendTo( this.$magnify );
 };
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWInlineImageNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWInlineImageNode.js
index 87060a0..bc60445 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWInlineImageNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWInlineImageNode.js
@@ -22,10 +22,10 @@
        ve.ce.LeafNode.call( this, model, config );
 
        if ( this.model.getAttribute( 'isLinked' ) ) {
-               this.$element = this.$( '<a>' ).addClass( 'image' );
-               this.$image = this.$( '<img>' ).appendTo( this.$element );
+               this.$element = $( '<a>' ).addClass( 'image' );
+               this.$image = $( '<img>' ).appendTo( this.$element );
        } else {
-               this.$element = this.$image = this.$( '<img>' ).appendTo( 
this.$element );
+               this.$element = this.$image = $( '<img>' ).appendTo( 
this.$element );
        }
 
        // Mixin constructors
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWNumberedExternalLinkNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWNumberedExternalLinkNode.js
index ffebf74..17f813c 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWNumberedExternalLinkNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWNumberedExternalLinkNode.js
@@ -29,7 +29,7 @@
                .prop( 'contentEditable', 'false' );
 
        // Add link
-       this.$link = this.$( '<a>' )
+       this.$link = $( '<a>' )
                // CSS for numbering needs rel=mw:ExtLink
                .attr( 'rel', 'mw:ExtLink' )
                .addClass( 'external' )
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
index 4ce9470..6812672 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWReferenceNode.js
@@ -24,7 +24,7 @@
        ve.ce.FocusableNode.call( this );
 
        // DOM changes
-       this.$link = this.$( '<a>' ).attr( 'href', '#' );
+       this.$link = $( '<a>' ).attr( 'href', '#' );
        this.$element.addClass( 've-ce-mwReferenceNode reference' ).append( 
this.$link );
 
        this.index = '';
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
index cc73ae6..b2f4b487 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWReferencesListNode.js
@@ -29,8 +29,8 @@
 
        // DOM changes
        this.$element.addClass( 've-ce-mwReferencesListNode references' );
-       this.$reflist = this.$( '<ol class="references"></ol>' );
-       this.$refmsg = this.$( '<p>' )
+       this.$reflist = $( '<ol class="references"></ol>' );
+       this.$refmsg = $( '<p>' )
                .addClass( 've-ce-mwReferencesListNode-muted' );
 
        // Events
@@ -181,13 +181,13 @@
                                continue;
                        }
 
-                       $li = this.$( '<li>' );
+                       $li = $( '<li>' );
 
                        if ( keyedNodes.length > 1 ) {
                                for ( j = 0, jLen = keyedNodes.length; j < 
jLen; j++ ) {
                                        $li.append(
-                                               this.$( '<sup>' ).append(
-                                                       this.$( '<a>' ).text( ( 
i + 1 ) + '.' + j )
+                                               $( '<sup>' ).append(
+                                                       $( '<a>' ).text( ( i + 
1 ) + '.' + j )
                                                )
                                        ).append( ' ' );
                                }
@@ -208,7 +208,7 @@
                                        );
                                }
                                $li.append(
-                                       this.$( '<span>' )
+                                       $( '<span>' )
                                                .addClass( 'reference-text' )
                                                .append( viewNode.$element )
                                );
@@ -219,7 +219,7 @@
                                viewNode.destroy();
                        } else {
                                $li.append(
-                                       this.$( '<span>' )
+                                       $( '<span>' )
                                                .addClass( 
've-ce-mwReferencesListNode-muted' )
                                                .text( ve.msg( 
'visualeditor-referenceslist-missingref' ) )
                                );
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
index 94932bd..2cb3b53 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
@@ -163,7 +163,7 @@
  * @inheritdoc
  */
 ve.ce.MWTransclusionNode.prototype.getRenderedDomElements = function ( 
domElements ) {
-       var $elements = this.$( 
ve.ce.GeneratedContentNode.prototype.getRenderedDomElements.call( this, 
domElements ) ),
+       var $elements = $( 
ve.ce.GeneratedContentNode.prototype.getRenderedDomElements.call( this, 
domElements ) ),
                transclusionNode = this;
        if ( this.getModelHtmlDocument() ) {
                $elements
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
index 660d274..534e8c4 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
@@ -160,33 +160,30 @@
        // Parent method
        ve.ui.MWMediaDialog.super.prototype.initialize.call( this );
 
-       this.$spinner = this.$( '<div>' ).addClass( 've-specialchar-spinner' );
+       this.$spinner = $( '<div>' ).addClass( 've-specialchar-spinner' );
 
-       this.panels = new OO.ui.StackLayout( { $: this.$ } );
+       this.panels = new OO.ui.StackLayout();
 
        // Set up the booklet layout
        this.bookletLayout = new OO.ui.BookletLayout( {
-               $: this.$,
                classes: [ 've-ui-mwMediaDialog-panel-settings' ],
                outlined: true
        } );
 
        this.mediaSearchPanel = new OO.ui.PanelLayout( {
-               $: this.$,
                classes: [ 've-ui-mwMediaDialog-panel-search' ],
                scrollable: true
        } );
 
        this.mediaImageInfoPanel = new OO.ui.PanelLayout( {
-               $: this.$,
                classes: [ 've-ui-mwMediaDialog-panel-imageinfo' ],
                scrollable: false
        } );
 
        this.$infoPanelWrapper = $( '<div>' ).addClass( 
've-ui-mwMediaDialog-panel-imageinfo-wrapper' );
 
-       this.generalSettingsPage = new OO.ui.PageLayout( 'general', { $: this.$ 
} );
-       this.advancedSettingsPage = new OO.ui.PageLayout( 'advanced', { $: 
this.$ } );
+       this.generalSettingsPage = new OO.ui.PageLayout( 'general' );
+       this.advancedSettingsPage = new OO.ui.PageLayout( 'advanced' );
        this.bookletLayout.addPages( [
                this.generalSettingsPage, this.advancedSettingsPage
        ] );
@@ -198,9 +195,7 @@
                .setLabel( ve.msg( 'visualeditor-dialog-media-page-advanced' ) 
);
 
        // Define the media search page
-       this.search = new ve.ui.MWMediaSearchWidget( {
-               $: this.$
-       } );
+       this.search = new ve.ui.MWMediaSearchWidget();
 
        this.$body.append( this.search.$spinner );
 
@@ -208,14 +203,12 @@
 
        // Filename
        this.filenameFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-content-filename' ),
                icon: 'picture'
        } );
 
        // Caption
        this.captionFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-content-section' ),
                help: ve.msg( 'visualeditor-dialog-media-content-section-help' 
),
                icon: 'parameter',
@@ -224,15 +217,12 @@
 
        // Alt text
        altTextFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-alttext-section' ),
                help: ve.msg( 'visualeditor-dialog-media-alttext-section-help' 
),
                icon: 'parameter'
        } );
 
-       this.altTextInput = new OO.ui.TextInputWidget( {
-               $: this.$
-       } );
+       this.altTextInput = new OO.ui.TextInputWidget();
 
        this.altTextInput.$element.addClass( 've-ui-mwMediaDialog-altText' );
 
@@ -242,22 +232,17 @@
 
        // Position
        this.positionSelect = new ve.ui.AlignWidget( {
-               $: this.$,
                dir: this.getDir()
        } );
 
-       this.positionCheckbox = new OO.ui.CheckboxInputWidget( {
-               $: this.$
-       } );
+       this.positionCheckbox = new OO.ui.CheckboxInputWidget();
        positionField = new OO.ui.FieldLayout( this.positionCheckbox, {
-               $: this.$,
                align: 'inline',
                label: ve.msg( 'visualeditor-dialog-media-position-checkbox' ),
                help: ve.msg( 
'visualeditor-dialog-media-position-checkbox-help' )
        } );
 
        positionFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-position-section' ),
                help: ve.msg( 'visualeditor-dialog-media-position-section-help' 
),
                icon: 'parameter'
@@ -271,47 +256,37 @@
 
        // Type
        this.typeFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-type-section' ),
                help: ve.msg( 'visualeditor-dialog-media-type-section-help' ),
                icon: 'parameter'
        } );
 
-       this.typeSelect = new OO.ui.ButtonSelectWidget( {
-               $: this.$
-       } );
+       this.typeSelect = new OO.ui.ButtonSelectWidget();
        this.typeSelect.addItems( [
                // TODO: Inline images require a bit of further work, will be 
coming soon
                new OO.ui.ButtonOptionWidget( {
-                       $: this.$,
                        data: 'thumb',
                        icon: 'image-thumbnail',
                        label: ve.msg( 'visualeditor-dialog-media-type-thumb' )
                } ),
                new OO.ui.ButtonOptionWidget( {
-                       $: this.$,
                        data: 'frameless',
                        icon: 'image-frameless',
                        label: ve.msg( 
'visualeditor-dialog-media-type-frameless' )
                } ),
                new OO.ui.ButtonOptionWidget( {
-                       $: this.$,
                        data: 'frame',
                        icon: 'image-frame',
                        label: ve.msg( 'visualeditor-dialog-media-type-frame' )
                } ),
                new OO.ui.ButtonOptionWidget( {
-                       $: this.$,
                        data: 'none',
                        icon: 'image-none',
                        label: ve.msg( 'visualeditor-dialog-media-type-none' )
                } )
        ] );
-       this.borderCheckbox = new OO.ui.CheckboxInputWidget( {
-               $: this.$
-       } );
+       this.borderCheckbox = new OO.ui.CheckboxInputWidget();
        borderField = new OO.ui.FieldLayout( this.borderCheckbox, {
-               $: this.$,
                align: 'inline',
                label: ve.msg( 'visualeditor-dialog-media-type-border' )
        } );
@@ -324,22 +299,18 @@
 
        // Size
        this.sizeFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-size-section' ),
                icon: 'parameter',
                help: ve.msg( 'visualeditor-dialog-media-size-section-help' )
        } );
 
        this.sizeErrorLabel = new OO.ui.LabelWidget( {
-               $: this.$,
                label: ve.msg( 
'visualeditor-dialog-media-size-originalsize-error' )
        } );
 
-       this.sizeWidget = new ve.ui.MediaSizeWidget( {}, {
-               $: this.$
-       } );
+       this.sizeWidget = new ve.ui.MediaSizeWidget( {} );
 
-       this.$sizeWidgetElements = this.$( '<div>' ).append(
+       this.$sizeWidgetElements = $( '<div>' ).append(
                this.sizeWidget.$element,
                this.sizeErrorLabel.$element
        );
@@ -391,7 +362,6 @@
        var i, newDimensions, field, isPortrait, $info, $section, windowWidth,
                contentDirection = this.getFragment().getDocument().getDir(),
                imageTitle = new OO.ui.LabelWidget( {
-                       $: this.$,
                        label: new mw.Title( imageinfo.title ).getNameText()
                } ),
                metadata = imageinfo.extmetadata,
@@ -484,13 +454,13 @@
                // Store clean API data
                apiData = {},
                fileType = this.getFileType( imageinfo.url ),
-               $thumbContainer = this.$( '<div>' )
+               $thumbContainer = $( '<div>' )
                        .addClass( 've-ui-mwMediaDialog-panel-imageinfo-thumb' 
),
-               $main = this.$( '<div>' )
+               $main = $( '<div>' )
                        .addClass( 've-ui-mwMediaDialog-panel-imageinfo-main' ),
-               $details = this.$( '<div>' )
+               $details = $( '<div>' )
                        .addClass( 
've-ui-mwMediaDialog-panel-imageinfo-details' ),
-               $image = this.$( '<img>' );
+               $image = $( '<img>' );
 
        // Main section - title
        $main.append(
@@ -515,22 +485,22 @@
        // Add sizing info for non-audio images
        if ( imageinfo.mediatype === 'AUDIO' ) {
                // Label this file as an audio
-               apiData.fileDetails =  this.$( '<span>' )
+               apiData.fileDetails =  $( '<span>' )
                        .append( ve.msg( 
'visualeditor-dialog-media-info-audiofile' ) );
        } else {
                // Build the display for image size and type
-               apiData.fileDetails = this.$( '<div>' )
+               apiData.fileDetails = $( '<div>' )
                        .append(
-                               this.$( '<span>' ).text(
+                               $( '<span>' ).text(
                                        imageinfo.width +
                                        ve.msg( 
'visualeditor-dialog-media-dimensionseparator' ) +
                                        imageinfo.height +
                                        ve.msg( 
'visualeditor-dimensionswidget-px' )
                                ),
-                               this.$( '<span>' )
+                               $( '<span>' )
                                        .addClass( 
've-ui-mwMediaDialog-panel-imageinfo-separator' )
                                        .text( mw.msg( 
'visualeditor-dialog-media-info-separator' ) ),
-                               this.$( '<span>' ).text( fileType )
+                               $( '<span>' ).text( fileType )
                        );
        }
 
@@ -540,19 +510,13 @@
                if ( apiData[field] ) {
                        $section = apiDataKeysConfig[i].view.primary ? $main : 
$details;
 
-                       fields[field] = new ve.ui.MWMediaInfoFieldWidget( 
apiData[field],
-                               $.extend(
-                                               {},
-                                               apiDataKeysConfig[i].view,
-                                               { $: this.$ }
-                                       )
-                               );
+                       fields[field] = new ve.ui.MWMediaInfoFieldWidget( 
apiData[field], apiDataKeysConfig[i].view );
                        $section.append( fields[field].$element );
                }
        }
 
        // Build the info panel
-       $info = this.$( '<div>' )
+       $info = $( '<div>' )
                .addClass( 've-ui-mwMediaDialog-panel-imageinfo-info' )
                .append(
                        $main.prop( 'dir', contentDirection ),
@@ -678,7 +642,7 @@
        var isTruncated, charLimit,
                html = $.parseHTML( rawResponse ),
                ellipsis = ve.msg( 'visualeditor-dialog-media-info-ellipsis' ),
-               originalText = this.$( '<div>' ).append( html ).text();
+               originalText = $( '<div>' ).append( html ).text();
 
        config = config || {};
 
@@ -1204,7 +1168,6 @@
        this.captionSurface = new ve.ui.MWSurfaceWidget(
                captionDocument,
                {
-                       $: this.$,
                        tools: ve.init.target.constructor.static.toolbarGroups,
                        excludeCommands: 
this.constructor.static.excludeCommands,
                        importRules: this.constructor.static.getImportRules()
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMetaDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWMetaDialog.js
index f03bd3e..e374a55 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWMetaDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMetaDialog.js
@@ -63,30 +63,15 @@
        ve.ui.MWMetaDialog.super.prototype.initialize.call( this );
 
        // Properties
-       this.panels = new OO.ui.StackLayout( { $: this.$ } );
-       this.bookletLayout = new OO.ui.BookletLayout( { $: this.$, outlined: 
true } );
+       this.panels = new OO.ui.StackLayout();
+       this.bookletLayout = new OO.ui.BookletLayout( { outlined: true } );
        this.settingsPage = new ve.ui.MWSettingsPage(
                'settings',
-               {
-                       $: this.$,
-                       $overlay: this.$overlay
-               }
+               { $overlay: this.$overlay }
        );
-       this.advancedSettingsPage = new ve.ui.MWAdvancedSettingsPage(
-               'advancedSettings',
-               { $: this.$ }
-       );
-       this.categoriesPage = new ve.ui.MWCategoriesPage(
-               'categories',
-               {
-                       $: this.$,
-                       $overlay: this.$overlay
-               }
-       );
-       this.languagesPage = new ve.ui.MWLanguagesPage(
-               'languages',
-               { $: this.$ }
-       );
+       this.advancedSettingsPage = new ve.ui.MWAdvancedSettingsPage( 
'advancedSettings' );
+       this.categoriesPage = new ve.ui.MWCategoriesPage( 'categories', { 
$overlay: this.$overlay } );
+       this.languagesPage = new ve.ui.MWLanguagesPage( 'languages' );
 
        // Initialization
        this.$body.append( this.panels.$element );
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
index 3905f4e..343945b 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
@@ -244,7 +244,6 @@
        this.referenceSurface = new ve.ui.MWSurfaceWidget(
                this.referenceModel.getDocument(),
                {
-                       $: this.$,
                        tools: ve.copy( ve.init.mw.Target.static.toolbarGroups 
),
                        excludeCommands: 
this.constructor.static.excludeCommands,
                        importRules: this.constructor.static.getImportRules(),
@@ -286,34 +285,31 @@
        ve.ui.MWReferenceDialog.super.prototype.initialize.call( this );
 
        // Properties
-       this.panels = new OO.ui.StackLayout( { $: this.$ } );
+       this.panels = new OO.ui.StackLayout();
        this.editPanel = new OO.ui.PanelLayout( {
-               $: this.$, scrollable: true, padded: true
+               scrollable: true, padded: true
        } );
-       this.searchPanel = new OO.ui.PanelLayout( { $: this.$ } );
+       this.searchPanel = new OO.ui.PanelLayout();
 
        this.reuseWarningIcon = new OO.ui.IconWidget( { icon: 'alert' } );
-       this.$reuseWarningText = this.$( '<span>' );
-       this.$reuseWarning = this.$( '<span>' ).append( 
this.reuseWarningIcon.$element, this.$reuseWarningText );
+       this.$reuseWarningText = $( '<span>' );
+       this.$reuseWarning = $( '<span>' ).append( 
this.reuseWarningIcon.$element, this.$reuseWarningText );
 
-       this.contentFieldset = new OO.ui.FieldsetLayout( { $: this.$ } );
+       this.contentFieldset = new OO.ui.FieldsetLayout();
        this.optionsFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-reference-options-section' 
),
                icon: 'settings'
        } );
        this.referenceGroupInput = new ve.ui.MWReferenceGroupInputWidget( {
-               $: this.$,
                $overlay: this.$overlay,
                emptyGroupName: ve.msg( 
'visualeditor-dialog-reference-options-group-placeholder' )
        } );
        this.referenceGroupInput.input.connect( this, { change: 
'onReferenceGroupInputChange' } );
        this.referenceGroupField = new OO.ui.FieldLayout( 
this.referenceGroupInput, {
-               $: this.$,
                align: 'top',
                label: ve.msg( 
'visualeditor-dialog-reference-options-group-label' )
        } );
-       this.search = new ve.ui.MWReferenceSearchWidget( { $: this.$ } );
+       this.search = new ve.ui.MWReferenceSearchWidget();
 
        // Events
        this.search.connect( this, { select: 'onSearchSelect' } );
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWReferencesListDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWReferencesListDialog.js
index 2ccf6ae..fb0de8c 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWReferencesListDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWReferencesListDialog.js
@@ -67,21 +67,17 @@
        ve.ui.MWReferencesListDialog.super.prototype.initialize.call( this );
 
        // Properties
-       this.panels = new OO.ui.StackLayout( { $: this.$ } );
+       this.panels = new OO.ui.StackLayout();
        this.editPanel = new OO.ui.PanelLayout( {
-               $: this.$, scrollable: true, padded: true
+               scrollable: true, padded: true
        } );
-       this.optionsFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$
-       } );
+       this.optionsFieldset = new OO.ui.FieldsetLayout();
 
        this.groupInput = new ve.ui.MWReferenceGroupInputWidget( {
-               $: this.$,
                $overlay: this.$overlay,
                emptyGroupName: ve.msg( 
'visualeditor-dialog-reference-options-group-placeholder' )
        } );
        this.groupField = new OO.ui.FieldLayout( this.groupInput, {
-               $: this.$,
                align: 'top',
                label: ve.msg( 
'visualeditor-dialog-reference-options-group-label' )
        } );
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
index bb83bb4..8c02458 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
@@ -242,12 +242,12 @@
                if ( options.wrap === undefined ) {
                        options.wrap = 'warning';
                }
-               $message = this.$( '<div 
class="ve-ui-mwSaveDialog-message"></div>' );
+               $message = $( '<div class="ve-ui-mwSaveDialog-message"></div>' 
);
                if ( options.wrap !== false ) {
-                       $message.append( this.$( '<p>' ).append(
+                       $message.append( $( '<p>' ).append(
                                // visualeditor-savedialog-label-error
                                // visualeditor-savedialog-label-warning
-                               this.$( '<strong>' ).text( mw.msg( 
'visualeditor-savedialog-label-' + options.wrap ) ),
+                               $( '<strong>' ).text( mw.msg( 
'visualeditor-savedialog-label-' + options.wrap ) ),
                                document.createTextNode( mw.msg( 
'colon-separator' ) ),
                                message
                        ) );
@@ -340,9 +340,8 @@
        ve.ui.MWSaveDialog.super.prototype.initialize.call( this );
 
        // Properties
-       this.panels = new OO.ui.StackLayout( { $: this.$, scrollable: true } );
+       this.panels = new OO.ui.StackLayout( { scrollable: true } );
        this.savePanel = new OO.ui.PanelLayout( {
-               $: this.$,
                scrollable: true,
                padded: true,
                classes: ['ve-ui-mwSaveDialog-savePanel']
@@ -350,18 +349,17 @@
 
        // Byte counter in edit summary
        this.editSummaryCountLabel = new OO.ui.LabelWidget( {
-               $: this.$,
                classes: [ 've-ui-mwSaveDialog-editSummary-count' ],
                label: String( this.editSummaryByteLimit ),
                title: ve.msg( 'visualeditor-editsummary-bytes-remaining' )
        } );
 
        // Save panel
-       this.$editSummaryLabel = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-summaryLabel' )
+       this.$editSummaryLabel = $( '<div>' ).addClass( 
've-ui-mwSaveDialog-summaryLabel' )
                .html( ve.init.platform.getParsedMessage( 'summary' ) )
                .find( 'a' ).attr( 'target', '_blank' ).end();
        this.editSummaryInput = new OO.ui.TextInputWidget(
-               { $: this.$, multiline: true, placeholder: ve.msg( 
'visualeditor-editsummary' ) }
+               { multiline: true, placeholder: ve.msg( 
'visualeditor-editsummary' ) }
        );
        this.editSummaryInput.$element.addClass( 've-ui-mwSaveDialog-summary' );
        this.editSummaryInput.$input
@@ -376,14 +374,14 @@
                );
        } );
 
-       this.$saveOptions = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-options' ).append(
-               this.$( '<div>' ).addClass( 've-ui-mwSaveDialog-checkboxes' ),
+       this.$saveOptions = $( '<div>' ).addClass( 've-ui-mwSaveDialog-options' 
).append(
+               $( '<div>' ).addClass( 've-ui-mwSaveDialog-checkboxes' ),
                this.editSummaryCountLabel.$element
        );
-       this.$saveMessages = this.$( '<div>' );
-       this.$saveActions = this.$( '<div>' );
-       this.$saveFoot = this.$( '<div>' ).addClass( 've-ui-mwSaveDialog-foot' 
).append(
-               this.$( '<p>' ).addClass( 've-ui-mwSaveDialog-license' )
+       this.$saveMessages = $( '<div>' );
+       this.$saveActions = $( '<div>' );
+       this.$saveFoot = $( '<div>' ).addClass( 've-ui-mwSaveDialog-foot' 
).append(
+               $( '<p>' ).addClass( 've-ui-mwSaveDialog-license' )
                        .html( ve.init.platform.getParsedMessage( 
'copyrightwarning' ) )
                        .find( 'a' ).attr( 'target', '_blank' ).end()
        );
@@ -398,13 +396,12 @@
 
        // Review panel
        this.reviewPanel = new OO.ui.PanelLayout( {
-               $: this.$,
                scrollable: true,
                padded: true
        } );
-       this.$reviewViewer = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-viewer' );
-       this.$reviewEditSummary = this.$( '<span>' ).addClass( 
've-ui-mwSaveDialog-summaryPreview' ).addClass( 'comment' );
-       this.$reviewActions = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-actions' );
+       this.$reviewViewer = $( '<div>' ).addClass( 've-ui-mwSaveDialog-viewer' 
);
+       this.$reviewEditSummary = $( '<span>' ).addClass( 
've-ui-mwSaveDialog-summaryPreview' ).addClass( 'comment' );
+       this.$reviewActions = $( '<div>' ).addClass( 
've-ui-mwSaveDialog-actions' );
        this.reviewPanel.$element.append(
                $( '<br>' ),
                $( '<div>' )
@@ -417,22 +414,20 @@
 
        // Conflict panel
        this.conflictPanel = new OO.ui.PanelLayout( {
-               $: this.$,
                scrollable: true,
                padded: true
        } );
-       this.$conflict = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-conflict' )
+       this.$conflict = $( '<div>' ).addClass( 've-ui-mwSaveDialog-conflict' )
                .html( ve.init.platform.getParsedMessage( 
'visualeditor-editconflict' ) )
                .find( 'a' ).attr( 'target', '_blank' ).end();
        this.conflictPanel.$element.append( this.$conflict );
 
        // No changes panel
        this.nochangesPanel = new OO.ui.PanelLayout( {
-               $: this.$,
                scrollable: true,
                padded: true
        } );
-       this.$noChanges = this.$( '<div>' ).addClass( 
've-ui-mwSaveDialog-nochanges' )
+       this.$noChanges = $( '<div>' ).addClass( 've-ui-mwSaveDialog-nochanges' 
)
                .html( ve.init.platform.getParsedMessage( 
'visualeditor-diff-nochanges' ) )
                .find( 'a' ).attr( 'target', '_blank' ).end();
        this.nochangesPanel.$element.append( this.$noChanges );
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
index 61b741d..00493dc 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
@@ -184,9 +184,9 @@
        var page;
 
        if ( param.getName() ) {
-               page = new ve.ui.MWParameterPage( param, param.getId(), { $: 
this.$ } );
+               page = new ve.ui.MWParameterPage( param, param.getId() );
        } else {
-               page = new ve.ui.MWParameterPlaceholderPage( param, 
param.getId(), { $: this.$ } );
+               page = new ve.ui.MWParameterPlaceholderPage( param, 
param.getId() );
        }
        this.bookletLayout.addPages( [ page ], this.transclusionModel.getIndex( 
param ) );
        if ( this.loaded ) {
@@ -276,12 +276,12 @@
  */
 ve.ui.MWTemplateDialog.prototype.getPageFromPart = function ( part ) {
        if ( part instanceof ve.dm.MWTemplateModel ) {
-               return new ve.ui.MWTemplatePage( part, part.getId(), { $: 
this.$ } );
+               return new ve.ui.MWTemplatePage( part, part.getId() );
        } else if ( part instanceof ve.dm.MWTemplatePlaceholderModel ) {
                return new ve.ui.MWTemplatePlaceholderPage(
                        part,
                        part.getId(),
-                       { $: this.$, $overlay: this.$overlay }
+                       { $overlay: this.$overlay }
                );
        }
        return null;
@@ -353,13 +353,8 @@
        ve.ui.MWTemplateDialog.super.prototype.initialize.call( this );
 
        // Properties
-       this.panels = new OO.ui.StackLayout( { $: this.$ } );
-       this.bookletLayout = new OO.ui.BookletLayout(
-               ve.extendObject(
-                       { $: this.$ },
-                       this.constructor.static.bookletLayoutConfig
-               )
-       );
+       this.panels = new OO.ui.StackLayout();
+       this.bookletLayout = new OO.ui.BookletLayout( 
this.constructor.static.bookletLayoutConfig );
 
        // Initialization
        this.$content.addClass( 've-ui-mwTemplateDialog' );
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
index 552041b..e72584a 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
@@ -203,7 +203,7 @@
 ve.ui.MWTransclusionDialog.prototype.getPageFromPart = function ( part ) {
        var page = 
ve.ui.MWTransclusionDialog.super.prototype.getPageFromPart.call( this, part );
        if ( !page && part instanceof ve.dm.MWTransclusionContentModel ) {
-               return new ve.ui.MWTransclusionContentPage( part, part.getId(), 
{ $: this.$ } );
+               return new ve.ui.MWTransclusionContentPage( part, part.getId() 
);
        }
        return page;
 };
@@ -320,19 +320,16 @@
 
        // Properties
        this.addTemplateButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'template',
                title: ve.msg( 'visualeditor-dialog-transclusion-add-template' )
        } );
        this.addContentButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'source',
                title: ve.msg( 'visualeditor-dialog-transclusion-add-content' )
        } );
        this.addParameterButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'parameter',
                title: ve.msg( 'visualeditor-dialog-transclusion-add-param' )
diff --git a/modules/ve-mw/ui/inspectors/ve.ui.MWAlienExtensionInspector.js 
b/modules/ve-mw/ui/inspectors/ve.ui.MWAlienExtensionInspector.js
index bb7c67a..05fae98 100644
--- a/modules/ve-mw/ui/inspectors/ve.ui.MWAlienExtensionInspector.js
+++ b/modules/ve-mw/ui/inspectors/ve.ui.MWAlienExtensionInspector.js
@@ -47,7 +47,7 @@
        // Parent method
        ve.ui.MWExtensionInspector.prototype.initialize.apply( this, arguments 
);
 
-       this.$attributes = this.$( '<div>' ).addClass( 
've-ui-mwAlienExtensionInspector-attributes' );
+       this.$attributes = $( '<div>' ).addClass( 
've-ui-mwAlienExtensionInspector-attributes' );
        this.form.$element.append( this.$attributes );
 };
 
@@ -63,14 +63,12 @@
                        if ( attributes && !ve.isEmptyObject( attributes ) ) {
                                for ( key in attributes ) {
                                        attributeInput = new 
OO.ui.TextInputWidget( {
-                                               $: this.$,
                                                value: attributes[key]
                                        } );
                                        this.attributeInputs[key] = 
attributeInput;
                                        field = new OO.ui.FieldLayout(
                                                attributeInput,
                                                {
-                                                       $: this.$,
                                                        align: 'left',
                                                        label: key
                                                }
diff --git a/modules/ve-mw/ui/inspectors/ve.ui.MWExtensionInspector.js 
b/modules/ve-mw/ui/inspectors/ve.ui.MWExtensionInspector.js
index a9afbf6..1afb93b 100644
--- a/modules/ve-mw/ui/inspectors/ve.ui.MWExtensionInspector.js
+++ b/modules/ve-mw/ui/inspectors/ve.ui.MWExtensionInspector.js
@@ -61,7 +61,6 @@
 
        this.input = new ve.ui.WhitespacePreservingTextInputWidget( {
                limit: 1,
-               $: this.$,
                multiline: true
        } );
        this.input.$element.addClass( 've-ui-mwExtensionInspector-input' );
diff --git a/modules/ve-mw/ui/inspectors/ve.ui.MWLinkNodeInspector.js 
b/modules/ve-mw/ui/inspectors/ve.ui.MWLinkNodeInspector.js
index f19ebe1..6dc2cb9 100644
--- a/modules/ve-mw/ui/inspectors/ve.ui.MWLinkNodeInspector.js
+++ b/modules/ve-mw/ui/inspectors/ve.ui.MWLinkNodeInspector.js
@@ -57,7 +57,6 @@
 
        // Properties
        this.targetInput = new OO.ui.TextInputWidget( {
-               $: this.$,
                validate: ve.init.platform.getExternalLinkUrlProtocolsRegExp()
        } );
 
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWAdvancedSettingsPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWAdvancedSettingsPage.js
index 8c9e884..afca864 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWAdvancedSettingsPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWAdvancedSettingsPage.js
@@ -27,7 +27,6 @@
        this.newSectionEditLinkOptionTouched = false;
 
        this.advancedSettingsFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 
'visualeditor-dialog-meta-advancedsettings-label' ),
                icon: 'advanced'
        } );
@@ -36,7 +35,7 @@
 
        // Indexing items
        this.indexing = new OO.ui.FieldLayout(
-               new OO.ui.ButtonSelectWidget( { $: this.$ } )
+               new OO.ui.ButtonSelectWidget()
                        .addItems( [
                                new OO.ui.ButtonOptionWidget( {
                                        data: 'mwIndexForce',
@@ -53,7 +52,6 @@
                        ] )
                        .connect( this, { select: 'onIndexingOptionChange' } ),
                {
-                       $: this.$,
                        align: 'top',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-index-label' ),
                        help: ve.msg( 
'visualeditor-dialog-meta-settings-index-help' )
@@ -62,7 +60,7 @@
 
        // New edit section link items
        this.newEditSectionLink = new OO.ui.FieldLayout(
-               new OO.ui.ButtonSelectWidget( { $: this.$ } )
+               new OO.ui.ButtonSelectWidget()
                        .addItems( [
                                new OO.ui.ButtonOptionWidget( {
                                        data: 'mwNewSectionEditForce',
@@ -79,7 +77,6 @@
                        ] )
                        .connect( this, { select: 
'onNewSectionEditLinkOptionChange' } ),
                {
-                       $: this.$,
                        align: 'top',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-newsectioneditlink-label' ),
                        help: ve.msg( 
'visualeditor-dialog-meta-settings-newsectioneditlink-help', $( '#ca-edit' 
).text() )
@@ -87,28 +84,23 @@
        );
 
        this.displayTitleTouched = false;
-       this.enableDisplayTitleCheckbox = new OO.ui.CheckboxInputWidget( { $: 
this.$ } );
+       this.enableDisplayTitleCheckbox = new OO.ui.CheckboxInputWidget();
        this.enableDisplayTitleCheckbox.connect( this, { change: 
'onEnableDisplayTitleCheckboxChange' } );
        this.enableDisplayTitleField = new OO.ui.FieldLayout(
                this.enableDisplayTitleCheckbox,
                {
-                       $: this.$,
                        align: 'inline',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-displaytitle-enable' ),
                        help: ve.msg( 
'visualeditor-dialog-meta-settings-displaytitle-help' )
                }
        );
        this.displayTitleInput = new OO.ui.TextInputWidget( {
-               $: this.$,
                placeholder: ve.msg( 
'visualeditor-dialog-meta-settings-displaytitle' )
        } );
        this.displayTitleInput.connect( this, { change: 
'onDisplayTitleInputChange' } );
        this.displayTitleField = new OO.ui.FieldLayout(
                this.displayTitleInput,
-               {
-                       $: this.$,
-                       align: 'inline'
-               }
+               { align: 'inline' }
        );
 
        this.advancedSettingsFieldset.addItems( [ this.indexing, 
this.newEditSectionLink, this.enableDisplayTitleField, this.displayTitleField ] 
);
@@ -131,9 +123,8 @@
 
        $.each( this.metaItemCheckboxes, function () {
                this.fieldLayout = new OO.ui.FieldLayout(
-                       new OO.ui.CheckboxInputWidget( { $: this.$ } ),
+                       new OO.ui.CheckboxInputWidget(),
                        {
-                               $: advancedSettingsPage.$,
                                align: 'inline',
                                label: this.label
                        }
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
index bca7a7c..f39fbab 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWCategoriesPage.js
@@ -28,20 +28,18 @@
        this.defaultSortKeyTouched = false;
        this.fallbackDefaultSortKey = mw.config.get( 'wgTitle' );
        this.categoriesFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-meta-categories-data-label' 
),
                icon: 'tag'
        } );
        this.categoryOptionsFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-meta-categories-options' ),
                icon: 'settings'
        } );
        this.categoryWidget = new ve.ui.MWCategoryWidget( {
-               $: this.$, $overlay: config.$overlay
+               $overlay: config.$overlay
        } );
        this.defaultSortInput = new OO.ui.TextInputWidget( {
-               $: this.$, placeholder: this.fallbackDefaultSortKey
+               placeholder: this.fallbackDefaultSortKey
        } );
 
        this.defaultSortInput.$element.addClass( 
've-ui-mwCategoriesPage-defaultsort' );
@@ -49,7 +47,6 @@
        this.defaultSort = new OO.ui.FieldLayout(
                this.defaultSortInput,
                {
-                       $: this.$,
                        align: 'top',
                        label: ve.msg( 
'visualeditor-dialog-meta-categories-defaultsort-label' ),
                        help: ve.msg( 
'visualeditor-dialog-meta-categories-defaultsort-help' )
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
index e7bf3cb..5b1ef7c 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
@@ -21,14 +21,13 @@
 
        // Properties
        this.languagesFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-meta-languages-label' ),
                icon: 'language'
        } );
 
        // Initialization
        this.languagesFieldset.$element.append(
-               this.$( '<span>' )
+               $( '<span>' )
                        .text( ve.msg( 
'visualeditor-dialog-meta-languages-readonlynote' ) )
        );
        this.$element.append( this.languagesFieldset.$element );
@@ -58,22 +57,22 @@
 
 ve.ui.MWLanguagesPage.prototype.onLoadLanguageData = function ( languages ) {
        var i,
-               $languagesTable = this.$( '<table>' ),
+               $languagesTable = $( '<table>' ),
                languageslength = languages.length;
 
        $languagesTable
                .addClass( 've-ui-mwLanguagesPage-languages-table' )
-               .append( this.$( '<tr>' )
+               .append( $( '<tr>' )
                        .append(
-                               this.$( '<th>' )
+                               $( '<th>' )
                                        .append( ve.msg( 
'visualeditor-dialog-meta-languages-code-label' ) )
                        )
                        .append(
-                               this.$( '<th>' )
+                               $( '<th>' )
                                        .append( ve.msg( 
'visualeditor-dialog-meta-languages-name-label' ) )
                        )
                        .append(
-                               this.$( '<th>' )
+                               $( '<th>' )
                                        .append( ve.msg( 
'visualeditor-dialog-meta-languages-link-label' ) )
                        )
                );
@@ -88,10 +87,10 @@
                        languages[i].dir = 
ve.init.platform.getLanguageDirection( languages[i].safelang );
                }
                $languagesTable
-                       .append( this.$( '<tr>' )
-                               .append( this.$( '<td>' ).text( 
languages[i].lang ) )
-                               .append( this.$( '<td>' ).text( 
languages[i].langname ).add(
-                                               this.$( '<td>' ).text( 
languages[i].title )
+                       .append( $( '<tr>' )
+                               .append( $( '<td>' ).text( languages[i].lang ) )
+                               .append( $( '<td>' ).text( 
languages[i].langname ).add(
+                                               $( '<td>' ).text( 
languages[i].title )
                                        )
                                        .attr( 'lang', languages[i].safelang )
                                        .attr( 'dir', languages[i].dir ) )
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWParameterPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWParameterPage.js
index dcff0a6..b111aaf 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWParameterPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWParameterPage.js
@@ -35,19 +35,18 @@
        this.defaultValue = parameter.getDefaultValue();
        this.exampleValue = parameter.getExampleValue();
 
-       this.$info = this.$( '<div>' );
-       this.$actions = this.$( '<div>' );
-       this.$labelElement = this.$( '<div>' );
-       this.$field = this.$( '<div>' );
-       this.$more = this.$( '<div>' );
-       this.$description = this.$( '<div>' );
+       this.$info = $( '<div>' );
+       this.$actions = $( '<div>' );
+       this.$labelElement = $( '<div>' );
+       this.$field = $( '<div>' );
+       this.$more = $( '<div>' );
+       this.$description = $( '<div>' );
        if ( this.defaultValue ) {
                placeholder = ve.msg( 
'visualeditor-dialog-transclusion-param-default', this.defaultValue );
        } else if ( this.exampleValue ) {
                placeholder = ve.msg( 
'visualeditor-dialog-transclusion-param-example', this.exampleValue );
        }
        this.valueInput = new OO.ui.TextInputWidget( {
-               $: this.$,
                multiline: true,
                autosize: true,
                placeholder: placeholder
@@ -65,7 +64,6 @@
        }
 
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 'visualeditor-dialog-transclusion-remove-param' 
),
@@ -76,7 +74,6 @@
                .toggle( !this.parameter.isRequired() );
 
        this.infoButton = new OO.ui.PopupButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'info',
                title: ve.msg( 'visualeditor-dialog-transclusion-param-info' ),
@@ -84,7 +81,6 @@
        } );
 
        this.addButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'parameter',
                label: ve.msg( 'visualeditor-dialog-transclusion-add-param' ),
@@ -93,7 +89,6 @@
                .connect( this, { click: 'onAddButtonFocus' } );
 
        this.statusIndicator = new OO.ui.IndicatorWidget( {
-               $: this.$,
                classes: [ 've-ui-mwParameterPage-statusIndicator' ]
        } );
 
@@ -126,7 +121,7 @@
                .append( this.$info, this.$actions, this.$field, this.$more );
        this.$description
                .addClass( 've-ui-mwParameterPage-description' )
-               .append( this.$( '<p>' ).text( 
this.spec.getParameterDescription( paramName ) || '' ) );
+               .append( $( '<p>' ).text( this.spec.getParameterDescription( 
paramName ) || '' ) );
 
        if ( this.parameter.isRequired() ) {
                this.statusIndicator
@@ -135,7 +130,7 @@
                                ve.msg( 
'visualeditor-dialog-transclusion-required-parameter' )
                        );
                this.$description.append(
-                       this.$( '<p>' )
+                       $( '<p>' )
                                .addClass( 
've-ui-mwParameterPage-description-required' )
                                .text(
                                        ve.msg( 
'visualeditor-dialog-transclusion-required-parameter-description' )
@@ -148,7 +143,7 @@
                                ve.msg( 
'visualeditor-dialog-transclusion-deprecated-parameter' )
                        );
                this.$description.append(
-                       this.$( '<p>' )
+                       $( '<p>' )
                                .addClass( 
've-ui-mwParameterPage-description-deprecated' )
                                .text(
                                        ve.msg(
@@ -161,7 +156,7 @@
 
        if ( this.defaultValue ) {
                this.$description.append(
-                       this.$( '<p>' )
+                       $( '<p>' )
                                .addClass( 
've-ui-mwParameterPage-description-default' )
                                .text(
                                        ve.msg( 
'visualeditor-dialog-transclusion-param-default', this.defaultValue )
@@ -171,7 +166,7 @@
 
        if ( this.exampleValue ) {
                this.$description.append(
-                       this.$( '<p>' )
+                       $( '<p>' )
                                .addClass( 
've-ui-mwParameterPage-description-example' )
                                .text(
                                        ve.msg( 
'visualeditor-dialog-transclusion-param-example', this.exampleValue )
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
index c9b9ba1..41ec69e 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWParameterPlaceholderPage.js
@@ -28,11 +28,10 @@
        // Properties
        this.parameter = parameter;
        this.template = this.parameter.getTemplate();
-       this.addParameterSearch = new ve.ui.MWParameterSearchWidget( 
this.template, { $: this.$ } )
+       this.addParameterSearch = new ve.ui.MWParameterSearchWidget( 
this.template )
                .connect( this, { select: 'onParameterSelect' } );
 
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 'visualeditor-dialog-transclusion-remove-param' 
),
@@ -42,7 +41,6 @@
                .connect( this, { click: 'onRemoveButtonClick' } );
 
        this.addParameterFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-transclusion-add-param' ),
                icon: 'parameter',
                classes: [ 've-ui-mwTransclusionDialog-addParameterFieldset' ],
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
index 3e870dd..9b4d825 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWSettingsPage.js
@@ -30,7 +30,6 @@
        this.label = ve.msg( 'visualeditor-dialog-meta-settings-section' );
 
        this.settingsFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-meta-settings-label' ),
                icon: 'settings'
        } );
@@ -40,7 +39,6 @@
        // Table of Contents items
        this.tableOfContents = new OO.ui.FieldLayout(
                new OO.ui.ButtonSelectWidget( {
-                       $: this.$,
                        classes: [ 've-test-page-settings-table-of-contents' ]
                } )
                        .addItems( [
@@ -59,7 +57,6 @@
                        ] )
                        .connect( this, { select: 
'onTableOfContentsFieldChange' } ),
                {
-                       $: this.$,
                        align: 'top',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-toc-label' ),
                        help: ve.msg( 
'visualeditor-dialog-meta-settings-toc-help' )
@@ -67,11 +64,10 @@
        );
 
        // Redirect items
-       this.enableRedirectInput = new OO.ui.CheckboxInputWidget( { $: this.$ } 
);
+       this.enableRedirectInput = new OO.ui.CheckboxInputWidget();
        this.enableRedirectField = new OO.ui.FieldLayout(
                this.enableRedirectInput,
                {
-                       $: this.$,
                        classes: [ 've-test-page-settings-enable-redirect' ],
                        align: 'inline',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-redirect-label' ),
@@ -79,22 +75,17 @@
                }
        );
        this.redirectTargetInput = new ve.ui.MWTitleInputWidget( {
-               $: this.$,
                placeholder: ve.msg( 
'visualeditor-dialog-meta-settings-redirect-placeholder' ),
                $overlay: config.$overlay
        } );
        this.redirectTargetField = new OO.ui.FieldLayout(
                this.redirectTargetInput,
-               {
-                       $: this.$,
-                       align: 'top'
-               }
+               { align: 'top' }
        );
-       this.enableStaticRedirectInput = new OO.ui.CheckboxInputWidget( { $: 
this.$ } );
+       this.enableStaticRedirectInput = new OO.ui.CheckboxInputWidget();
        this.enableStaticRedirectField = new OO.ui.FieldLayout(
                this.enableStaticRedirectInput,
                {
-                       $: this.$,
                        classes: [ 've-test-page-settings-prevent-redirect' ],
                        align: 'inline',
                        label: ve.msg( 
'visualeditor-dialog-meta-settings-redirect-staticlabel' ),
@@ -138,9 +129,8 @@
 
        $.each( this.metaItemCheckboxes, function () {
                this.fieldLayout = new OO.ui.FieldLayout(
-                       new OO.ui.CheckboxInputWidget( { $: settingsPage.$ } ),
+                       new OO.ui.CheckboxInputWidget(),
                        {
-                               $: settingsPage.$,
                                classes: this.classes,
                                align: 'inline',
                                label: this.label,
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
index b30afd5..3e78031 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
@@ -30,10 +30,9 @@
        // Properties
        this.template = template;
        this.spec = template.getSpec();
-       this.$more = this.$( '<div>' );
-       this.$description = this.$( '<div>' );
+       this.$more = $( '<div>' );
+       this.$description = $( '<div>' );
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 
'visualeditor-dialog-transclusion-remove-template' ),
@@ -42,12 +41,10 @@
        } )
                .connect( this, { click: 'onRemoveButtonClick' } );
        this.infoFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: this.spec.getLabel(),
                icon: 'template'
        } );
        this.addButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'parameter',
                label: ve.msg( 'visualeditor-dialog-transclusion-add-param' ),
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
index 4b843f0..4729ada 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePlaceholderPage.js
@@ -31,7 +31,7 @@
        this.placeholder = placeholder;
 
        this.addTemplateInput = new ve.ui.MWTitleInputWidget( {
-               $: this.$, $overlay: config.$overlay, namespace: 10
+               $overlay: config.$overlay, namespace: 10
        } )
                .connect( this, {
                        change: 'onTemplateInputChange',
@@ -39,7 +39,6 @@
                } );
 
        this.addTemplateButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-transclusion-add-template' 
),
                flags: ['constructive'],
                classes: [ 've-ui-mwTransclusionDialog-addButton' ],
@@ -48,7 +47,6 @@
                .connect( this, { click: 'onAddTemplate' } );
 
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 
'visualeditor-dialog-transclusion-remove-template' ),
@@ -59,12 +57,10 @@
 
        addTemplateActionFieldLayout = new OO.ui.ActionFieldLayout(
                this.addTemplateInput,
-               this.addTemplateButton,
-               { $: this.$ }
+               this.addTemplateButton
        );
 
        this.addTemplateFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-transclusion-placeholder' ),
                icon: 'template',
                classes: [ 've-ui-mwTransclusionDialog-addTemplateFieldset' ],
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js 
b/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
index cd20513..fcecd1b 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTransclusionContentPage.js
@@ -28,7 +28,6 @@
        // Properties
        this.content = content;
        this.textInput = new OO.ui.TextInputWidget( {
-               $: this.$,
                multiline: true,
                autosize: true,
                classes: [ 've-ui-mwTransclusionDialog-input' ]
@@ -36,7 +35,6 @@
                .setValue( this.content.getValue() )
                .connect( this, { change: 'onTextInputChange' } );
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 
'visualeditor-dialog-transclusion-remove-content' ),
@@ -45,7 +43,6 @@
        } )
                .connect( this, { click: 'onRemoveButtonClick' } );
        this.valueFieldset = new OO.ui.FieldsetLayout( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-transclusion-content' ),
                icon: 'source',
                $content: this.textInput.$element
diff --git a/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js 
b/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
index 5099bb6..545aa97 100644
--- a/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
+++ b/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
@@ -27,7 +27,7 @@
        OO.ui.PopupTool.call( this, toolGroup, config );
 
        // Properties
-       this.$items = this.$( '<div>' ).addClass( 
've-ui-mwNoticesPopupTool-items' );
+       this.$items = $( '<div>' ).addClass( 've-ui-mwNoticesPopupTool-items' );
 
        // Initialization
        items.forEach( function ( item ) {
@@ -96,10 +96,9 @@
        OO.ui.PopupTool.call( this, toolGroup, config );
 
        // Properties
-       this.$items = this.$( '<div>' );
+       this.$items = $( '<div>' );
        this.feedbackPromise = null;
        this.helpButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'help',
                title: ve.msg( 'visualeditor-help-title' ),
@@ -108,13 +107,11 @@
                label: ve.msg( 'visualeditor-help-label' )
        } );
        this.keyboardShortcutsButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'help',
                label: ve.msg( 'visualeditor-dialog-command-help-title' )
        } );
        this.feedbackButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'comment',
                label: ve.msg( 'visualeditor-feedback-tool' )
@@ -128,12 +125,12 @@
        this.$items
                .addClass( 've-ui-mwHelpPopupTool-items' )
                .append(
-                       this.$( '<div>' )
+                       $( '<div>' )
                                .addClass( 've-ui-mwHelpPopupTool-item' )
                                .text( ve.msg( 'visualeditor-beta-warning' ) )
                )
                .append(
-                       this.$( '<div>' )
+                       $( '<div>' )
                                .addClass( 've-ui-mwHelpPopupTool-item' )
                                .append( this.helpButton.$element )
                                .append( this.keyboardShortcutsButton.$element )
@@ -141,21 +138,21 @@
                );
        if ( ve.version.id !== false ) {
                this.$items
-                       .append( this.$( '<div>' )
+                       .append( $( '<div>' )
                                .addClass( 've-ui-mwHelpPopupTool-item' )
-                               .append( this.$( '<span>' )
+                               .append( $( '<span>' )
                                        .addClass( 
've-ui-mwHelpPopupTool-version-label' )
                                        .text( ve.msg( 
'visualeditor-version-label' ) )
                                )
                                .append( ' ' )
-                               .append( this.$( '<a>' )
+                               .append( $( '<a>' )
                                        .addClass( 
've-ui-mwHelpPopupTool-version-link' )
                                        .attr( 'target', '_blank' )
                                        .attr( 'href', ve.version.url )
                                        .text( ve.version.id )
                                )
                                .append( ' ' )
-                               .append( this.$( '<span>' )
+                               .append( $( '<span>' )
                                        .addClass( 
've-ui-mwHelpPopupTool-version-date' )
                                        .text( ve.version.dateString )
                                )
diff --git a/modules/ve-mw/ui/ve.ui.MWMobileSurface.js 
b/modules/ve-mw/ui/ve.ui.MWMobileSurface.js
index 9c6529f..289ebce 100644
--- a/modules/ve-mw/ui/ve.ui.MWMobileSurface.js
+++ b/modules/ve-mw/ui/ve.ui.MWMobileSurface.js
@@ -27,5 +27,5 @@
  * @inheritdoc
  */
 ve.ui.MWMobileSurface.prototype.createContext = function () {
-       return new ve.ui.MWMobileContext( this, { $: this.$ } );
+       return new ve.ui.MWMobileContext( this );
 };
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js
index 1a6aa02..c0bbd6a 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryInputWidget.js
@@ -195,7 +195,6 @@
        ], function ( index, sectionData ) {
                if ( sectionData.items.length ) {
                        itemWidgets.push( new OO.ui.MenuSectionOptionWidget( {
-                               $: widget.lookupMenu.$,
                                data: sectionData.id,
                                label: sectionData.label
                        } ) );
@@ -231,17 +230,15 @@
        );
        if ( cachedData && cachedData.redirectFrom ) {
                return new OO.ui.MenuOptionWidget( {
-                       $: this.lookupMenu.$,
                        data: name,
                        autoFitLabel: false,
-                       label: this.$( '<span>' )
+                       label: $( '<span>' )
                                .text( mw.Title.newFromText( 
cachedData.redirectFrom[0] ).getMainText() )
                                .append( '<br>↳ ' )
-                               .append( this.$( '<span>' ).text( 
mw.Title.newFromText( name ).getMainText() ) )
+                               .append( $( '<span>' ).text( 
mw.Title.newFromText( name ).getMainText() ) )
                } );
        } else {
                return new OO.ui.MenuOptionWidget( {
-                       $: this.lookupMenu.$,
                        data: name,
                        label: name
                } );
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js
index 8512e6c..c615138 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryPopupWidget.js
@@ -25,21 +25,19 @@
        this.category = null;
        this.origSortkey = null;
        this.removed = false;
-       this.$title = this.$( '<label>' );
-       this.$menu = this.$( '<div>' );
+       this.$title = $( '<label>' );
+       this.$menu = $( '<div>' );
        this.removeButton = new OO.ui.ButtonWidget( {
-               $: this.$,
                framed: false,
                icon: 'remove',
                title: ve.msg( 'visualeditor-inspector-remove-tooltip' )
        } );
-       this.sortKeyInput = new OO.ui.TextInputWidget( { $: this.$ } );
+       this.sortKeyInput = new OO.ui.TextInputWidget();
        this.sortKeyField = new OO.ui.FieldLayout( this.sortKeyInput, {
-               $: this.$,
                align: 'top',
                label: ve.msg( 
'visualeditor-dialog-meta-categories-sortkey-label' )
        } );
-       this.$sortKeyForm = this.$( '<form>' ).addClass( 
've-ui-mwCategoryPopupWidget-sortKeyForm' )
+       this.$sortKeyForm = $( '<form>' ).addClass( 
've-ui-mwCategoryPopupWidget-sortKeyForm' )
                .append( this.sortKeyField.$element );
 
        // Events
@@ -54,7 +52,7 @@
        this.$title
                .addClass( 've-ui-mwCategoryPopupWidget-title oo-ui-icon-tag' )
                .text( ve.msg( 'visualeditor-dialog-meta-categories-category' ) 
);
-       this.$hiddenStatus = this.$( '<div>' );
+       this.$hiddenStatus = $( '<div>' );
        this.$menu
                .addClass( 've-ui-mwCategoryPopupWidget-content' )
                .append(
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js
index 427e846..99e7f32 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js
@@ -34,12 +34,8 @@
        this.categoryRedirects = {}; // Source -> target
        this.popupState = false;
        this.savedPopupState = false;
-       this.popup = new ve.ui.MWCategoryPopupWidget( {
-               $: this.$
-       } );
-       this.input = new ve.ui.MWCategoryInputWidget( this, {
-               $: this.$, $overlay: config.$overlay
-       } );
+       this.popup = new ve.ui.MWCategoryPopupWidget();
+       this.input = new ve.ui.MWCategoryInputWidget( this, { $overlay: 
config.$overlay } );
        this.forceCapitalization = mw.config.get( 'wgCaseSensitiveNamespaces' 
).indexOf( 14 ) === -1;
        this.categoryPrefix = mw.config.get( 'wgFormattedNamespaces' )['14'] + 
':';
 
@@ -58,7 +54,7 @@
                        this.$group.addClass( 've-ui-mwCategoryWidget-items' ),
                        this.input.$element,
                        this.popup.$element,
-                       this.$( '<div>' ).css( 'clear', 'both' )
+                       $( '<div>' ).css( 'clear', 'both' )
                );
 };
 
@@ -321,7 +317,6 @@
                        itemTitle = new mw.Title( item.name, mw.config.get( 
'wgNamespaceIds' ).category );
                        // Create a widget using the item data
                        config = {
-                               $: categoryWidget.$,
                                item: item
                        };
                        if ( Object.prototype.hasOwnProperty.call( 
categoryWidget.categoryRedirects, itemTitle.getPrefixedText() ) ) {
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
index 122a5b9..1db2e44 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
@@ -156,7 +156,6 @@
  */
 ve.ui.MWLinkTargetInputWidget.prototype.getLookupMenuOptionsFromData = 
function ( data ) {
        var i, len, item, pageExistsExact, pageExists, index, matchingPage,
-               menu$ = this.lookupMenu.$,
                items = [],
                existingPages = [],
                matchingPages = [],
@@ -197,12 +196,10 @@
        // External link
        if ( ve.init.platform.getExternalLinkUrlProtocolsRegExp().test( 
this.value ) ) {
                items.push( new OO.ui.MenuSectionOptionWidget( {
-                       $: menu$,
                        data: 'externalLink',
                        label: ve.msg( 
'visualeditor-linkinspector-suggest-external-link' )
                } ) );
                items.push( new ve.ui.MWLinkMenuOptionWidget( {
-                       $: menu$,
                        data: this.getExternalLinkAnnotationFromUrl( this.value 
),
                        classes: [ 've-ui-mwLinkTargetInputWidget-extlink' ],
                        label: this.value,
@@ -214,19 +211,16 @@
        if ( !pageExists ) {
                if ( titleObj ) {
                        items.push( new OO.ui.MenuSectionOptionWidget( {
-                               $: menu$,
                                data: 'newPage',
                                label: ve.msg( 
'visualeditor-linkinspector-suggest-new-page' )
                        } ) );
                        items.push( new ve.ui.MWInternalLinkMenuOptionWidget( {
-                               $: menu$,
                                data: this.getInternalLinkAnnotationFromTitle( 
this.value ),
                                pagename: this.value
                        } ) );
                } else {
                        // If no title object could be created, it means the 
title is illegal
                        item = new OO.ui.MenuSectionOptionWidget( {
-                               $: menu$,
                                data: 'illegalTitle',
                                label: ve.msg( 
'visualeditor-linkinspector-illegal-title' )
                        } );
@@ -238,7 +232,6 @@
        // Matching pages
        if ( matchingPages && matchingPages.length ) {
                items.push( new OO.ui.MenuSectionOptionWidget( {
-                       $: menu$,
                        data: 'matchingPages',
                        label: ve.msg( 
'visualeditor-linkinspector-suggest-matching-page',
                        matchingPages.length )
@@ -249,7 +242,6 @@
                }
                for ( i = 0, len = matchingPages.length; i < len; i++ ) {
                        items.push( new ve.ui.MWInternalLinkMenuOptionWidget( {
-                               $: menu$,
                                data: this.getInternalLinkAnnotationFromTitle( 
matchingPages[i] ),
                                pagename: matchingPages[i]
                        } ) );
@@ -259,13 +251,11 @@
        // Disambiguation pages
        if ( disambigPages.length ) {
                items.push( new OO.ui.MenuSectionOptionWidget( {
-                       $: menu$,
                        data: 'disambigPages',
                        label: ve.msg( 
'visualeditor-linkinspector-suggest-disambig-page', disambigPages.length )
                } ) );
                for ( i = 0, len = disambigPages.length; i < len; i++ ) {
                        items.push( new ve.ui.MWInternalLinkMenuOptionWidget( {
-                               $: menu$,
                                data: this.getInternalLinkAnnotationFromTitle( 
disambigPages[i] ),
                                pagename: disambigPages[i]
                        } ) );
@@ -275,13 +265,11 @@
        // Redirect pages
        if ( redirectPages.length ) {
                items.push( new OO.ui.MenuSectionOptionWidget( {
-                       $: menu$,
                        data: 'redirectPages',
                        label: ve.msg( 
'visualeditor-linkinspector-suggest-redirect-page', redirectPages.length )
                } ) );
                for ( i = 0, len = redirectPages.length; i < len; i++ ) {
                        items.push( new OO.ui.MenuOptionWidget( {
-                               $: menu$,
                                data: this.getInternalLinkAnnotationFromTitle( 
redirectPages[i] ),
                                rel: 'redirectPage',
                                label: redirectPages[i]
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWMediaInfoFieldWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWMediaInfoFieldWidget.js
index 6742faa..a7cf4aa 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWMediaInfoFieldWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWMediaInfoFieldWidget.js
@@ -32,9 +32,9 @@
 
        // Mixin constructors
        OO.ui.IconElement.call( this, config );
-       OO.ui.LabelElement.call( this, $.extend( { $label: this.$( '<div>' ) }, 
config ) );
+       OO.ui.LabelElement.call( this, $.extend( { $label: $( '<div>' ) }, 
config ) );
 
-       this.$text = this.$( '<div>' )
+       this.$text = $( '<div>' )
                .addClass( 've-ui-mwMediaInfoFieldWidget-text' );
        this.$overlay = null;
        this.type = config.type || 'attribute';
@@ -51,7 +51,7 @@
        if ( config.href ) {
                this.$text
                        .append(
-                               this.$( '<a>' )
+                               $( '<a>' )
                                        .attr( 'target', '_blank' )
                                        .attr( 'rel', 'mw:ExtLink' )
                                        .attr( 'href',
@@ -77,7 +77,6 @@
        if ( this.type === 'description' ) {
                // Limit height
                this.readMoreButton = new OO.ui.ButtonWidget( {
-                       $: this.$,
                        framed: false,
                        icon: 'expand',
                        label: ve.msg( 
'visualeditor-dialog-media-info-readmore' ),
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWMediaSearchWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWMediaSearchWidget.js
index cbe25d8..3102ba5 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWMediaSearchWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWMediaSearchWidget.js
@@ -48,7 +48,6 @@
        this.selected = null;
 
        this.noItemsMessage = new OO.ui.LabelWidget( {
-               $: this.$,
                label: ve.msg( 'visualeditor-dialog-media-noresults' ),
                classes: [ 've-ui-mwMediaSearchWidget-noresults' ]
        } );
@@ -127,7 +126,6 @@
                        this.itemCache[title] = true;
                        resultWidgets.push(
                                new ve.ui.MWMediaResultWidget( {
-                                       $: this.$,
                                        data: items[i],
                                        rowHeight: this.rowHeight,
                                        maxWidth: this.results.$element.width() 
/ 3,
@@ -243,7 +241,7 @@
                        isFull: false,
                        width: 0,
                        items: [],
-                       $element: this.$( '<div>' )
+                       $element: $( '<div>' )
                                        .addClass( 
've-ui-mwMediaResultWidget-row' )
                                        .css( {
                                                overflow: 'hidden'
@@ -260,7 +258,7 @@
                        isFull: false,
                        width: 0,
                        items: [],
-                       $element: this.$( '<div>' )
+                       $element: $( '<div>' )
                                .addClass( 've-ui-mwMediaResultWidget-row' )
                                .css( {
                                        overflow: 'hidden'
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWMoreParametersResultWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWMoreParametersResultWidget.js
index 246300a..1a40055 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWMoreParametersResultWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWMoreParametersResultWidget.js
@@ -36,7 +36,7 @@
 
 /** */
 ve.ui.MWMoreParametersResultWidget.prototype.buildLabel = function () {
-       return this.$( '<div>' )
+       return $( '<div>' )
                .addClass( 've-ui-mwMoreParametersResultWidget-label' )
                .text( ve.msg( 'visualeditor-parameter-search-more', 
this.data.remainder ) );
 };
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWNoParametersResultWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWNoParametersResultWidget.js
index 23d51d2..5113c66 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWNoParametersResultWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWNoParametersResultWidget.js
@@ -31,7 +31,7 @@
 
 /** */
 ve.ui.MWNoParametersResultWidget.prototype.buildLabel = function () {
-       return this.$( '<div>' )
+       return $( '<div>' )
                .addClass( 've-ui-mwNoParametersResultWidget-label' )
                .text( ve.msg( 'visualeditor-parameter-search-no-unused' ) );
 };
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js
index 144802c..968ecf2 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js
@@ -35,25 +35,25 @@
 /** */
 ve.ui.MWParameterResultWidget.prototype.buildLabel = function () {
        var i, len,
-               $label = this.$( '<div>' )
+               $label = $( '<div>' )
                        .addClass( 've-ui-mwParameterResultWidget-label' )
                        .text( this.data.label ),
-               $names = this.$( '<div>' )
+               $names = $( '<div>' )
                        .addClass( 've-ui-mwParameterResultWidget-names' ),
-               $description = this.$( '<div>' )
+               $description = $( '<div>' )
                        .addClass( 've-ui-mwParameterResultWidget-description' )
                        .text( this.data.description || '' );
 
        if ( this.data.name ) {
                $names.append(
-                       this.$( '<span>' )
+                       $( '<span>' )
                                .addClass( 've-ui-mwParameterResultWidget-name' 
)
                                .text( this.data.name )
                );
        }
        for ( i = 0, len = this.data.aliases.length; i < len; i++ ) {
                $names.append(
-                       this.$( '<span>' )
+                       $( '<span>' )
                                .addClass( 've-ui-mwParameterResultWidget-name' 
)
                                .text( this.data.aliases[i] )
                );
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
index 636cbd7..1bb742f 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWParameterSearchWidget.js
@@ -143,7 +143,7 @@
                        nameMatch = item.names.indexOf( query ) >= 0;
                }
                if ( !hasQuery || textMatch || nameMatch ) {
-                       items.push( new ve.ui.MWParameterResultWidget( { $: 
this.$, data: item } ) );
+                       items.push( new ve.ui.MWParameterResultWidget( { data: 
item } ) );
                        if ( hasQuery && nameMatch ) {
                                exactMatch = true;
                        }
@@ -156,7 +156,6 @@
 
        if ( hasQuery && !exactMatch && value.length && 
!this.template.hasParameter( value ) ) {
                items.unshift( new ve.ui.MWParameterResultWidget( {
-                       $: this.$,
                        data: {
                                name: value,
                                label: value,
@@ -168,13 +167,11 @@
 
        if ( !items.length ) {
                items.push( new ve.ui.MWNoParametersResultWidget( {
-                       $: this.$,
                        data: {},
                        disabled: true
                } ) );
        } else if ( remainder ) {
                items.push( new ve.ui.MWMoreParametersResultWidget( {
-                       $: this.$,
                        data: { remainder: remainder }
                } ) );
        }
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceGroupInputWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceGroupInputWidget.js
index aaa7927..33e4baa 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceGroupInputWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceGroupInputWidget.js
@@ -39,7 +39,6 @@
  */
 ve.ui.MWReferenceGroupInputWidget.prototype.populateMenu = function ( 
internalList ) {
        var placeholderGroupItem = new OO.ui.MenuOptionWidget( {
-               $: this.$,
                data: '',
                label: this.emptyGroupName,
                flags: 'emptyGroupPlaceholder'
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
index c1f5c12..32b9910 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceResultWidget.js
@@ -23,7 +23,7 @@
        OO.ui.OptionWidget.call( this, config );
 
        // Properties
-       this.$shield = this.$( '<div>' );
+       this.$shield = $( '<div>' );
 
        // Initialization
        this.$shield.addClass( 've-ui-mwReferenceResultWidget-shield' );
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
index 692ea6b..71b683d 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWReferenceSearchWidget.js
@@ -233,15 +233,14 @@
        for ( i = 0, len = this.index.length; i < len; i++ ) {
                item = this.index[i];
                if ( item.text.indexOf( query ) >= 0 ) {
-                       $citation = this.$( '<div>' )
+                       $citation = $( '<div>' )
                                .addClass( 
've-ui-mwReferenceSearchWidget-citation' )
                                .text( '[' + item.citation + ']' );
-                       $name = this.$( '<div>' )
+                       $name = $( '<div>' )
                                .addClass( 've-ui-mwReferenceSearchWidget-name' 
)
                                .text( item.name );
                        items.push(
                                new ve.ui.MWReferenceResultWidget( {
-                                       $: this.$,
                                        data: i,
                                        label: $citation.add( $name ).add( 
item.$element )
                                } )
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWTitleInputWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWTitleInputWidget.js
index bc4447f..fac668d 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWTitleInputWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWTitleInputWidget.js
@@ -87,7 +87,6 @@
  */
 ve.ui.MWTitleInputWidget.prototype.getLookupMenuOptionsFromData = function ( 
data ) {
        var i, len, title, value,
-               menu$ = this.lookupMenu.$,
                items = [],
                matchingPages = data,
                linkCacheUpdate = {};
@@ -103,7 +102,6 @@
                                value = title.getPrefixedText();
                        }
                        items.push( new OO.ui.MenuOptionWidget( {
-                               $: menu$,
                                data: value,
                                label: value
                        } ) );
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWTocItemWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWTocItemWidget.js
index c7c0f08..5ea2eb9 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWTocItemWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWTocItemWidget.js
@@ -26,7 +26,7 @@
        OO.ui.Widget.call( this, config );
 
        // Mixin Constructor
-       OO.ui.GroupElement.call( this, $.extend( {}, config, { $group: this.$( 
'<ul>' ) } ) );
+       OO.ui.GroupElement.call( this, $.extend( {}, config, { $group: $( 
'<ul>' ) } ) );
 
        config = config || {};
 
@@ -40,14 +40,14 @@
        // Allows toc items to be optionally associated to a node.
        // For the case of the zero level parent item.
        if ( this.node ) {
-               this.$tocNumber = this.$( '<span>' ).addClass( 'tocnumber' )
+               this.$tocNumber = $( '<span>' ).addClass( 'tocnumber' )
                        .text( this.sectionPrefix );
-               this.$tocText = this.$( '<span>' ).addClass( 'toctext' )
+               this.$tocText = $( '<span>' ).addClass( 'toctext' )
                        .text( this.node.$element.text() );
                this.$element
                        .addClass( 'toclevel-' + this.tocLevel )
                        .addClass( 'tocsection-' + this.tocIndex )
-                       .append( this.$( '<a>' ).append( this.$tocNumber, 
this.$tocText ) );
+                       .append( $( '<a>' ).append( this.$tocNumber, 
this.$tocText ) );
 
                // Monitor node events
                this.node.model.connect( this, { update: 'onUpdate' } );
diff --git a/modules/ve-mw/ui/widgets/ve.ui.MWTocWidget.js 
b/modules/ve-mw/ui/widgets/ve.ui.MWTocWidget.js
index 961b016..97877c0 100644
--- a/modules/ve-mw/ui/widgets/ve.ui.MWTocWidget.js
+++ b/modules/ve-mw/ui/widgets/ve.ui.MWTocWidget.js
@@ -28,7 +28,7 @@
        // Topic level 0 lives inside of a toc item
        this.topics = new ve.ui.MWTocItemWidget();
        // Place for a cloned previous toc to live while rebuilding.
-       this.$tempTopics = this.$( '<ul>' );
+       this.$tempTopics = $( '<ul>' );
        // Section keyed item map
        this.items = {};
        this.initialized = false;
@@ -40,13 +40,13 @@
        this.tocToggle = {
                hideMsg: ve.msg( 'hidetoc' ),
                showMsg: ve.msg( 'showtoc' ),
-               $link: this.$( '<a class="internal" id="togglelink"></a>' 
).text( ve.msg( 'hidetoc' ) ),
+               $link: $( '<a class="internal" id="togglelink"></a>' ).text( 
ve.msg( 'hidetoc' ) ),
                open: true
        };
        this.$element.addClass( 'toc ve-ui-mwTocWidget' ).append(
-               this.$( '<div>' ).attr( 'id', 'toctitle' ).append(
-                       this.$( '<h2>' ).text( ve.msg( 'toc' ) ),
-                       this.$( '<span>' ).addClass( 'toctoggle' ).append( 
this.tocToggle.$link )
+               $( '<div>' ).attr( 'id', 'toctitle' ).append(
+                       $( '<h2>' ).text( ve.msg( 'toc' ) ),
+                       $( '<span>' ).addClass( 'toctoggle' ).append( 
this.tocToggle.$link )
                ),
                this.topics.$group, this.$tempTopics
        );

-- 
To view, visit https://gerrit.wikimedia.org/r/203468
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to