From 28d50d570a9948dbf555d6749fad6231f5739317 Mon Sep 17 00:00:00 2001 From: Jan Drewniak Date: Thu, 29 Aug 2019 11:30:19 +0200 Subject: [PATCH] Removing highlighting from mobile rcfilters Removes the highlighting feature from rcfilters (e.g. Special:RecentChanges) when OO.ui.isMobile() is true (isMobile is true when MobileFrontend is enabled). Also prevents the "enhanced" list view module from being loaded in mobile mode, as the option to do so is disabled for mobile. Bug: T231054 Change-Id: I1d4e1fdef6469f461ff4dad168ce01c856531d1c --- .../src/mediawiki.rcfilters/dm/ItemModel.js | 2 +- .../ui/ChangesListWrapperWidget.js | 2 +- .../ui/ItemMenuOptionWidget.js | 38 +++++++++++-------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/resources/src/mediawiki.rcfilters/dm/ItemModel.js b/resources/src/mediawiki.rcfilters/dm/ItemModel.js index ae8ac5fdb7..eccc5df997 100644 --- a/resources/src/mediawiki.rcfilters/dm/ItemModel.js +++ b/resources/src/mediawiki.rcfilters/dm/ItemModel.js @@ -259,7 +259,7 @@ ItemModel.prototype.getIdentifiers = function () { * @return {boolean} */ ItemModel.prototype.isHighlightSupported = function () { - return !!this.getCssClass(); + return !!this.getCssClass() && !OO.ui.isMobile(); }; /** diff --git a/resources/src/mediawiki.rcfilters/ui/ChangesListWrapperWidget.js b/resources/src/mediawiki.rcfilters/ui/ChangesListWrapperWidget.js index 1a5ae6cd3e..f92685bd31 100644 --- a/resources/src/mediawiki.rcfilters/ui/ChangesListWrapperWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/ChangesListWrapperWidget.js @@ -101,7 +101,7 @@ ChangesListWrapperWidget.prototype.onModelUpdate = function ( isEmpty = $changesListContent === 'NO_RESULTS', // For enhanced mode, we have to load these modules, which are // not loaded for the 'regular' mode in the backend - loaderPromise = mw.user.options.get( 'usenewrc' ) ? + loaderPromise = mw.user.options.get( 'usenewrc' ) && !OO.ui.isMobile() ? mw.loader.using( [ 'mediawiki.special.changeslist.enhanced', 'mediawiki.icon' ] ) : $.Deferred().resolve(), widget = this; diff --git a/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js b/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js index 710bd653eb..7ac981b1b3 100644 --- a/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/ItemMenuOptionWidget.js @@ -20,6 +20,7 @@ ItemMenuOptionWidget = function MwRcfiltersUiItemMenuOptionWidget( controller, filtersViewModel, invertModel, itemModel, highlightPopup, config ) { var layout, + $widgetRow, classes = [], $label = $( '
' ) .addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-label' ); @@ -93,29 +94,34 @@ ItemMenuOptionWidget = function MwRcfiltersUiItemMenuOptionWidget( // defaults on 'click' as well. layout.$label.on( 'click', false ); - this.$element - .addClass( 'mw-rcfilters-ui-itemMenuOptionWidget' ) - .addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-view-' + this.itemModel.getGroupModel().getView() ) + $widgetRow = $( '
' ) + .addClass( 'mw-rcfilters-ui-table' ) .append( $( '
' ) - .addClass( 'mw-rcfilters-ui-table' ) + .addClass( 'mw-rcfilters-ui-row' ) .append( $( '
' ) - .addClass( 'mw-rcfilters-ui-row' ) - .append( - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-itemCheckbox' ) - .append( layout.$element ), - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-excludeLabel' ) - .append( this.excludeLabel.$element ), - $( '
' ) - .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-highlightButton' ) - .append( this.highlightButton.$element ) - ) + .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-itemCheckbox' ) + .append( layout.$element ) ) ); + if ( !OO.ui.isMobile() ) { + $widgetRow.find( '.mw-rcfilters-ui-row' ).append( + $( '
' ) + .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-excludeLabel' ) + .append( this.excludeLabel.$element ), + $( '
' ) + .addClass( 'mw-rcfilters-ui-cell mw-rcfilters-ui-itemMenuOptionWidget-highlightButton' ) + .append( this.highlightButton.$element ) + ); + } + + this.$element + .addClass( 'mw-rcfilters-ui-itemMenuOptionWidget' ) + .addClass( 'mw-rcfilters-ui-itemMenuOptionWidget-view-' + this.itemModel.getGroupModel().getView() ) + .append( $widgetRow ); + if ( this.itemModel.getIdentifiers() ) { this.itemModel.getIdentifiers().forEach( function ( ident ) { classes.push( 'mw-rcfilters-ui-itemMenuOptionWidget-identifier-' + ident ); -- 2.20.1