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

Change subject: Hide the translaton filters if there are no translation to show
......................................................................


Hide the translaton filters if there are no translation to show

Bug: T75974
Change-Id: I6971af681bce6f96b875fc0a55dda20a955228b4
---
M modules/dashboard/ext.cx.translationlist.js
1 file changed, 34 insertions(+), 20 deletions(-)

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



diff --git a/modules/dashboard/ext.cx.translationlist.js 
b/modules/dashboard/ext.cx.translationlist.js
index d3f4c46..26af902 100644
--- a/modules/dashboard/ext.cx.translationlist.js
+++ b/modules/dashboard/ext.cx.translationlist.js
@@ -27,6 +27,7 @@
                this.$statusFilter = null;
                this.$sourceLanguageFilter = null;
                this.$targetLanguageFilter = null;
+               this.$translationFilterContainer = null;
 
                this.init();
                this.render();
@@ -50,16 +51,26 @@
                var sourceLanguages, targetLanguages;
 
                // Remove unnecessary object wrapping to get plain list of 
objects
-               translations = $.map( translations, function ( e ) { return 
e.translation; } );
+               translations = $.map( translations, function ( e ) {
+                       return e.translation;
+               } );
 
                this.translations = translations;
+
+               if ( translations.length > 0 ) {
+                       this.$translationFilterContainer.show();
+               }
 
                this.listTranslations( translations );
                this.applyFilters( this.filters, translations );
 
-               sourceLanguages = $.map( translations, function ( e ) { return 
e.sourceLanguage; } );
+               sourceLanguages = $.map( translations, function ( e ) {
+                       return e.sourceLanguage;
+               } );
                this.populateLanguageFilter( this.$sourceLanguageFilter, 
unique( sourceLanguages ) );
-               targetLanguages = $.map( translations, function ( e ) { return 
e.targetLanguage; } );
+               targetLanguages = $.map( translations, function ( e ) {
+                       return e.targetLanguage;
+               } );
                this.populateLanguageFilter( this.$targetLanguageFilter, 
unique( targetLanguages ) );
        };
 
@@ -191,16 +202,14 @@
                        $filter.append(
                                $( '<option>' )
                                        // Todo: use translated language name
-                                       .text( $.uls.data.getAutonym( 
languages[i] ) )
-                                       .attr( 'value', languages[i] )
+                                       .text( $.uls.data.getAutonym( 
languages[ i ] ) )
+                                       .attr( 'value', languages[ i ] )
                        );
                }
        };
 
        CXTranslationList.prototype.render = function () {
-               var $translationFilterContainer;
-
-               $translationFilterContainer = $( '<div>' )
+               this.$translationFilterContainer = $( '<div>' )
                        .addClass( 'translation-filter' );
 
                this.$statusFilter = createSelect(
@@ -214,21 +223,26 @@
 
                this.$sourceLanguageFilter = createSelect(
                        'translation-source-language-filter',
-                       { '': mw.msg( 'cx-translation-filter-from-any-language' 
) }
+                       {
+                               '': mw.msg( 
'cx-translation-filter-from-any-language' )
+                       }
                );
 
                this.$targetLanguageFilter = createSelect(
                        'translation-target-language-filter',
-                       { '': mw.msg( 'cx-translation-filter-to-any-language' ) 
}
+                       {
+                               '': mw.msg( 
'cx-translation-filter-to-any-language' )
+                       }
                );
 
-               $translationFilterContainer.append(
+               this.$translationFilterContainer.append(
                        this.$statusFilter,
                        this.$sourceLanguageFilter,
                        this.$targetLanguageFilter
                );
-
-               this.$container.append( $translationFilterContainer );
+               // Hide the filters till we see there are translations to list.
+               this.$translationFilterContainer.hide();
+               this.$container.append( this.$translationFilterContainer );
        };
 
        CXTranslationList.prototype.listen = function () {
@@ -252,7 +266,7 @@
                        value = null;
                }
 
-               this.filters[type] = value;
+               this.filters[ type ] = value;
                this.applyFilters( this.filters, this.translations );
        };
 
@@ -261,18 +275,18 @@
                        keys = Object.keys( filters );
 
                for ( i = 0; i < translations.length; i++ ) {
-                       translation = translations[i];
+                       translation = translations[ i ];
 
                        visible = true;
                        for ( j = 0; j < keys.length; j++ ) {
-                               filterProp = keys[j];
-                               filterValue = filters[filterProp];
+                               filterProp = keys[ j ];
+                               filterValue = filters[ filterProp ];
 
                                if ( filterValue === null ) {
                                        continue;
                                }
 
-                               visible = visible && translation[filterProp] 
=== filterValue;
+                               visible = visible && translation[ filterProp ] 
=== filterValue;
                        }
 
                        if ( visible ) {
@@ -295,8 +309,8 @@
                        $select = $( '<select>' ).addClass( classes );
 
                for ( i = 0; i < keys.length; i++ ) {
-                       value = keys[i];
-                       key = options[value];
+                       value = keys[ i ];
+                       key = options[ value ];
 
                        $select.append( $( '<option>' ).text( key ).attr( 
'value', value ) );
                }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6971af681bce6f96b875fc0a55dda20a955228b4
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Santhosh <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to