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

Change subject: Update tab links as well when updating page location dynamically
......................................................................


Update tab links as well when updating page location dynamically

Bug: 47003
Change-Id: I2fcc067b0a37a9d36574b0466f58d1be7b08e345
---
M resources/js/ext.translate.special.translate.js
M specials/SpecialTranslate.php
2 files changed, 42 insertions(+), 6 deletions(-)

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



diff --git a/resources/js/ext.translate.special.translate.js 
b/resources/js/ext.translate.special.translate.js
index 388396f..35862fe 100644
--- a/resources/js/ext.translate.special.translate.js
+++ b/resources/js/ext.translate.special.translate.js
@@ -97,6 +97,7 @@
                        } );
 
                        mw.translate.changeUrl( changes );
+                       mw.translate.updateTabLinks( changes );
                        mw.translate.loadMessages( changes );
                        updateGroupWarning();
                },
@@ -135,6 +136,7 @@
                        } );
 
                        mw.translate.changeUrl( changes );
+                       mw.translate.updateTabLinks( changes );
                        mw.translate.loadMessages();
                        updateGroupWarning();
                },
@@ -176,6 +178,22 @@
                                // For old browsers, just reload
                                window.location.href = uri.toString();
                        }
+               },
+
+               /**
+                * Updates the navigation tabs.
+                * @param {Object} params Url parameters to update.
+                * @since 2013.05
+                */
+               updateTabLinks: function ( params ) {
+                       $( '.tux-tab a' ).each( function () {
+                               var $a, uri;
+
+                               $a = $( this );
+                               uri = new mw.Uri( $a.prop( 'href' ) );
+                               uri.extend( params );
+                               $a.prop( 'href', uri.toString() );
+                       } );
                }
        } );
 
diff --git a/specials/SpecialTranslate.php b/specials/SpecialTranslate.php
index 75e7512..33d8975 100644
--- a/specials/SpecialTranslate.php
+++ b/specials/SpecialTranslate.php
@@ -872,28 +872,43 @@
 
                $tabs['namespaces']['translate'] = array(
                        'text' => wfMessage( 'translate-taction-translate' 
)->text(),
-                       'href' => $translate->getLocalUrl( array( 'taction' => 
'translate' ) + $params ),
-                       'class' => $alias === 'Translate' && $taction === 
'translate' ? 'selected' : '',
+                       'href' => $translate->getLocalUrl( $params ),
+                       'class' => 'tux-tab',
                );
+               if ( $alias === 'Translate' && $taction === 'translate' ) {
+                       $tabs['namespaces']['translate']['class'] .= ' 
selected';
+               }
+
 
                if ( !self::isBeta( $request ) ) {
                        $tabs['namespaces']['proofread'] = array(
                                'text' => wfMessage( 
'translate-taction-proofread' )->text(),
                                'href' => $translate->getLocalUrl( array( 
'taction' => 'proofread' ) + $params ),
-                               'class' => $alias === 'Translate' && $taction 
=== 'proofread' ? 'selected' : '',
+                               'class' => 'tux-tab',
                        );
+                       if ( $alias === 'Translate' && $taction === 'proofread' 
) {
+                               $tabs['namespaces']['proofread']['class'] .= ' 
selected';
+                       }
                }
 
                $tabs['views']['lstats'] = array(
                        'text' => wfMessage( 'translate-taction-lstats' 
)->text(),
                        'href' => $languagestats->getLocalUrl( $params ),
-                       'class' => $alias === 'LanguageStats' ? 'selected' : '',
+                       'class' => 'tux-tab',
                );
+               if ( $alias === 'LanguageStats' ) {
+                       $tabs['views']['lstats']['class'] .= ' selected';
+               }
+
+
                $tabs['views']['mstats'] = array(
                        'text' => wfMessage( 'translate-taction-mstats' 
)->text(),
                        'href' => $messagegroupstats->getLocalUrl( $params ),
-                       'class' => $alias === 'MessageGroupStats' ? 'selected' 
: '',
+                       'class' => 'tux-tab',
                );
+               if ( $alias === 'MessageGroupStats' ) {
+                       $tabs['views']['mstats']['class'] .= ' selected';
+               }
 
                // Kind of hackish, but works for now
                global $wgTranslateTasks;
@@ -905,8 +920,11 @@
                        $tabs['views']['export'] = array(
                                'text' => wfMessage( 'translate-taction-export' 
)->text(),
                                'href' => $translate->getLocalUrl( array( 
'taction' => 'export' ) + $params ),
-                               'class' => $alias === 'Translate' && $taction 
=== 'export' ? 'selected' : '',
+                               'class' => 'tux-tab',
                        );
+                       if ( $alias === 'Translate' && $taction === 'export' ) {
+                               $tabs['views']['export']['class'] .= ' 
selected';
+                       }
 
                        // We only need the tab to apper once ;)
                        break;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I2fcc067b0a37a9d36574b0466f58d1be7b08e345
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to