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

Change subject: List the selected filters at the top left in 
Special:SearchTranslations.
......................................................................


List the selected filters at the top left in Special:SearchTranslations.

Bug: T98560
Change-Id: Ib98168aaf7dfc8b2a7a130870b2af15596cf5626
---
M resources/css/ext.translate.special.searchtranslations.css
M resources/js/ext.translate.special.searchtranslations.js
M specials/SpecialSearchTranslations.php
3 files changed, 51 insertions(+), 15 deletions(-)

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



diff --git a/resources/css/ext.translate.special.searchtranslations.css 
b/resources/css/ext.translate.special.searchtranslations.css
index b13a374..abee1fa 100644
--- a/resources/css/ext.translate.special.searchtranslations.css
+++ b/resources/css/ext.translate.special.searchtranslations.css
@@ -184,3 +184,8 @@
 .tux-searchpage .successbox {
        margin-left: 25%;
 }
+
+.tux-searchpage .tux-selectedbox .facet-item {
+       background-color: #EDEDED;
+       margin-right: 5px;
+}
diff --git a/resources/js/ext.translate.special.searchtranslations.js 
b/resources/js/ext.translate.special.searchtranslations.js
index 1923e84..34d3e23 100644
--- a/resources/js/ext.translate.special.searchtranslations.js
+++ b/resources/js/ext.translate.special.searchtranslations.js
@@ -8,11 +8,6 @@
 
                resultGroups = $( '.facet.groups' ).data( 'facets' );
 
-               // Make the whole rows clickable
-               $( '.facet-item' ).click( function () {
-                       window.location = $( this ).find( 'a' ).attr( 'href' );
-               } );
-
                $messages.each( function () {
                        var $this = $( this );
 
@@ -28,8 +23,15 @@
 
                $messages.last().addClass( 'last-message' );
 
+               buildSelectedBox();
                showLanguages();
                showMessageGroups();
+
+               // Make the whole rows clickable
+               $( '.tux-searchpage .row .facet-item' ).click( function ( event 
) {
+                       window.location = $( this ).find( 'a' ).attr( 'href' );
+                       event.stopPropagation();
+               } );
        } );
 
        // ES5-compatible Chrome, IE 9+, FF 4+, or Safari 5+ has Object.keys.
@@ -62,7 +64,8 @@
                        quickLanguageList = [],
                        unique = [],
                        regions,
-                       $ulsTrigger;
+                       $ulsTrigger,
+                       languageLabel;
 
                $languages = $( '.facet.languages' );
                languages = $languages.data( 'facets' );
@@ -107,12 +110,14 @@
                for ( i = 0; i <= quickLanguageList.length; i++ ) {
                        languageCode = quickLanguageList[i];
                        result = languages[languageCode];
+                       languageLabel = mw.config.get( 'wgULSLanguages' 
)[languageCode] || languageCode;
                        if ( !result ) {
                                continue;
                        }
 
                        if ( currentLanguage === languageCode ) {
                                selectedClasss = 'selected';
+                               addToSelectedBox( languageLabel, result.url );
                        } else {
                                selectedClasss = '';
                        }
@@ -120,13 +125,13 @@
                        $languages.append( $( '<div>')
                                .addClass( 'row facet-item' )
                                .append( $( '<span>')
-                                       .addClass('facet-name ' + 
selectedClasss )
+                                       .addClass( 'facet-name ' + 
selectedClasss )
                                        .append( $('<a>')
                                                .attr( 'href', result.url )
                                                .text( mw.config.get( 
'wgULSLanguages' )[languageCode] || languageCode )
                                        ),
                                        $( '<span>')
-                                               .addClass('facet-count')
+                                               .addClass( 'facet-count' )
                                                .text( result.count )
                                )
                        );
@@ -221,6 +226,7 @@
                        if ( currentGroup === groupId ) {
                                selectedClass = 'selected';
                                uri.extend( { 'group': '', 'grouppath': '' } );
+                               addToSelectedBox( group.label, uri.toString() );
                        } else {
                                selectedClass = '';
                                uri.extend( { 'group': groupId, 'grouppath': 
grouppath } );
@@ -229,13 +235,13 @@
                        $groupRow = $( '<div>' )
                                .addClass( 'row facet-item ' + ' facet-level-' 
+ level )
                                .append( $( '<span>' )
-                                       .addClass( 'facet-name ' + 
selectedClass)
+                                       .addClass( 'facet-name ' + 
selectedClass )
                                        .append( $( '<a>' )
                                                .attr( 'href', uri.toString() )
                                                .text( group.label )
                                        ),
                                        $( '<span>' )
-                                               .addClass( 'facet-count ' + 
selectedClass )
+                                               .addClass( 'facet-count' )
                                                .text( 
mw.language.convertNumber( group.count ) )
                                );
                        $parent.append( $groupRow );
@@ -313,4 +319,28 @@
                var uri = new mw.Uri();
                return uri.query[ name ] || '';
        }
+
+       // Build a selected box to show the selected items
+       function buildSelectedBox() {
+               $( '.tux-searchpage .tux-searchboxform .tux-search-tabs' 
).after(
+                       $( '<div>' )
+                       .addClass( 'three columns tux-selectedbox' )
+               );
+       }
+
+       function addToSelectedBox( label, url ) {
+               $( '.tux-searchpage .tux-selectedbox' ).append( $( '<div>' )
+                       .addClass( 'row facet-item' )
+                       .append( $( '<span>' )
+                               .addClass( 'facet-name selected' )
+                               .append( $( '<a>' )
+                                       .attr( 'href', url )
+                                       .text( label )
+                               ),
+                               $( '<span>' )
+                                       .addClass( 'facet-count' )
+                                       .text( 'X' )
+                       )
+               );
+       }
 }( jQuery, mediaWiki ) );
diff --git a/specials/SpecialSearchTranslations.php 
b/specials/SpecialSearchTranslations.php
index 0d74f42..3334e11 100644
--- a/specials/SpecialSearchTranslations.php
+++ b/specials/SpecialSearchTranslations.php
@@ -335,11 +335,12 @@
                $messageSelector = $this->messageSelector();
                $this->getOutput()->addHtml( <<<HTML
 <div class="grid tux-searchpage">
-       <div class="row searchinput">
-               <div class="nine columns offset-by-three">$messageSelector 
$search</div>
-       </div>
-       <div class="row count">
-               <div class="nine columns offset-by-three">$count</div>
+       <div class="row tux-searchboxform">
+               <div class="tux-search-tabs 
offset-by-three">$messageSelector</div>
+               <div class="nine columns">
+                       <div class="row searchinput">$search</div>
+                       <div class="row count">$count</div>
+               </div>
        </div>
 HTML
                );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib98168aaf7dfc8b2a7a130870b2af15596cf5626
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Phoenix303 <divyalife...@gmail.com>
Gerrit-Reviewer: Nemo bis <federicol...@tiscali.it>
Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Phoenix303 <divyalife...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to