Santhosh has submitted this change and it was merged.
Change subject: "Hide your translations" button
......................................................................
"Hide your translations" button
Change-Id: I170f019b7eb5f19229b66a275732d320617c2c5e
---
M Translate.i18n.php
M Translate.php
M resources/css/ext.translate.messagetable.css
M resources/js/ext.translate.messagetable.js
M resources/js/ext.translate.special.translate.js
M utils/TuxMessageTable.php
6 files changed, 73 insertions(+), 17 deletions(-)
Approvals:
Santhosh: Verified; Looks good to me, approved
diff --git a/Translate.i18n.php b/Translate.i18n.php
index fee6950..dd8496e 100644
--- a/Translate.i18n.php
+++ b/Translate.i18n.php
@@ -11,6 +11,8 @@
/** English
* @author Nike
* @author Siebrand
+ * @author Amire80
+ * @author Santhosh.thottingal
*/
$messages['en'] = array(
'translate' => 'Translate',
@@ -465,6 +467,8 @@
'tux-editor-clear-translated' => 'Hide translated',
'tux-editor-proofreading-mode' => 'Proofread',
'tux-editor-translate-mode' => 'List',
+ 'tux-editor-proofreading-hide-own-translations' => 'Hide my
translations',
+ 'tux-editor-proofreading-show-own-translations' => 'Show my
translations',
'tux-editor-outdated-warning' => 'This translation may need to be
updated.',
'tux-editor-outdated-warning-diff-link' => 'Show differences',
'tux-editor-doc-editor-placeholder' => 'Message documentation',
@@ -954,6 +958,10 @@
'tux-editor-translate-mode' => 'Label for the button that appears at
the footer of the translation editor.
Pressing the button goes to the translation mode.
{{Identical|List}}',
+ 'tux-editor-proofreading-hide-own-translations' => 'A label for a
button that appears at the bottom of the translation editor in proofreading
mode.
+Pressing the button hides the user\'s own translations from the list.',
+ 'tux-editor-proofreading-show-own-translations' => 'A label for a
button that appears at the bottom of the translation editor in proofreading
mode.
+Pressing the button shows the user\'s own translations in the list.',
'tux-editor-doc-editor-placeholder' => 'A placeholder that appears in
the message documentation editor.
{{Identical|Message documentation}}',
'tux-editor-doc-editor-save' => 'A button that saves the documentation
string',
diff --git a/Translate.php b/Translate.php
index c6cd203..88545e2 100644
--- a/Translate.php
+++ b/Translate.php
@@ -473,6 +473,8 @@
'translate-workflow-state-',
'tpt-discouraged-language-force',
'tpt-discouraged-language',
+ 'tux-editor-proofreading-hide-own-translations',
+ 'tux-editor-proofreading-show-own-translations',
),
) + $resourcePaths;
diff --git a/resources/css/ext.translate.messagetable.css
b/resources/css/ext.translate.messagetable.css
index f1b073d..ffe3732 100644
--- a/resources/css/ext.translate.messagetable.css
+++ b/resources/css/ext.translate.messagetable.css
@@ -203,7 +203,6 @@
.tux-action-bar .toggle.button {
height: 35px;
- width: 50%;
font-size: 15px;
vertical-align: middle;
border-radius: 0;
@@ -218,6 +217,10 @@
border-radius: 0 3px 3px 0;
}
+.tux-action-bar .tux-view-switcher .toggle.button {
+ width: 50%;
+}
+
.tux-action-bar .translate-mode-button:before {
content: "";
height: 15px;
diff --git a/resources/js/ext.translate.messagetable.js
b/resources/js/ext.translate.messagetable.js
index 6547815..36e24fd 100644
--- a/resources/js/ext.translate.messagetable.js
+++ b/resources/js/ext.translate.messagetable.js
@@ -369,7 +369,10 @@
*/
switchMode: function ( mode ) {
var messageTable = this,
- filter = messageTable.$loader.data( 'filter' );
+ filter = messageTable.$loader.data( 'filter' ),
+ $tuxTabUntranslated,
+ $controlOwnButton,
+ $hideTranslatedButton;
messageTable.$actionBar.find( '.down' ).removeClass(
'down' );
if ( mode === 'translate' ) {
@@ -379,14 +382,14 @@
messageTable.$actionBar.find(
'.tux-proofread-button' ).addClass( 'down' );
}
- if ( messageTable.mode === mode ) {
- // no change in the mode
- return;
- }
messageTable.mode = mode;
mw.translate.changeUrl( { action: this.mode } );
$( '.tux-message, .tux-message-proofread').remove();
+
+ $tuxTabUntranslated = $( '.tux-message-selector >
.tux-tab-untranslated' );
+ $controlOwnButton = messageTable.$actionBar.find(
'.tux-proofread-own-translations-button' );
+ $hideTranslatedButton = messageTable.$actionBar.find(
'.tux-editor-clear-translated' );
if ( messageTable.mode === 'proofread' ) {
$( '.tux-message-selector >
.tux-tab-untranslated' ).addClass( 'hide' );
@@ -397,8 +400,16 @@
mw.translate.changeFilter( 'translated'
);
$( '.tux-message-selector >
.tux-tab-translated' ).addClass( 'selected' );
}
+ $tuxTabUntranslated.addClass( 'hide' );
+ $controlOwnButton.removeClass( 'hide' );
+ $hideTranslatedButton.addClass( 'hide' );
} else {
- $( '.tux-message-selector >
.tux-tab-untranslated' ).removeClass( 'hide' );
+ $tuxTabUntranslated.removeClass( 'hide' );
+ $controlOwnButton.addClass( 'hide' );
+
+ if ( messageTable.$loader.data( 'filter'
).indexOf( '!translated' ) > -1 ) {
+ $hideTranslatedButton.removeClass(
'hide' );
+ }
}
$.each( messageTable.messages, function ( index,
message ) {
diff --git a/resources/js/ext.translate.special.translate.js
b/resources/js/ext.translate.special.translate.js
index 1ff1b82..39c6b17 100644
--- a/resources/js/ext.translate.special.translate.js
+++ b/resources/js/ext.translate.special.translate.js
@@ -234,6 +234,19 @@
.filter( '.translated, .proofread' );
}
+ function getOwnTranslatedMessages( $translateContainer ) {
+ $translateContainer = $translateContainer || $(
'.ext-translate-container' );
+
+ return $translateContainer.find( '.tux-message-proofread' )
+ .filter( function () {
+ var $this = $( this );
+
+ return ( $this.hasClass( 'translated' ) &&
+ $this.data( 'message'
).properties['last-translator-text'] === mw.user.getName()
+ );
+ } );
+ }
+
function workflowSelectionHandler ( state ) {
var $status = $( '.tux-workflow-status' );
@@ -280,8 +293,8 @@
}
$( document ).ready( function () {
- var targetLanguage, $translateContainer,
$hideTranslatedButton,$messageList,
- docLanguageAutonym, docLanguageCode, ulsOptions,
filter, uri;
+ var $translateContainer, $hideTranslatedButton,
$controlOwnButton, $messageList,
+ targetLanguage, docLanguageAutonym, docLanguageCode,
ulsOptions, filter, uri;
$messageList = $( '.tux-messagelist' );
if ( $messageList.length ) {
@@ -366,7 +379,6 @@
$translateContainer = $( '.ext-translate-container' );
- // TODO: this could should be in messagetable
$hideTranslatedButton = $translateContainer.find(
'.tux-editor-clear-translated' );
$hideTranslatedButton
.prop( 'disabled', !getTranslatedMessages(
$translateContainer ).length )
@@ -375,6 +387,22 @@
$( this ).prop( 'disabled', true );
} );
+ $controlOwnButton = $translateContainer.find(
'.tux-proofread-own-translations-button' );
+ $controlOwnButton.click( function () {
+ var $this = $( this ),
+ ownTranslatedMessages =
getOwnTranslatedMessages( $translateContainer ),
+ hideMessage = mw.msg(
'tux-editor-proofreading-hide-own-translations' ),
+ showMessage = mw.msg(
'tux-editor-proofreading-show-own-translations' );
+
+ if ( $this.hasClass( 'down' ) ) {
+ ownTranslatedMessages.removeClass( 'hide' );
+ $this.removeClass( 'down' ).text( hideMessage );
+ } else {
+ ownTranslatedMessages.addClass( 'hide' );
+ $this.addClass( 'down' ).text( showMessage );
+ }
+ } );
+
// Workflow state selector
$translateContainer.find( '.tux-workflow-status' )
.on( 'click', function () {
diff --git a/utils/TuxMessageTable.php b/utils/TuxMessageTable.php
index 0f649f8..d8200a3 100644
--- a/utils/TuxMessageTable.php
+++ b/utils/TuxMessageTable.php
@@ -52,17 +52,20 @@
// Hide this button by default and show it only if the filter
is relevant
$footer .= '<div class="three columns text-center">'
- . '<button class="button tux-editor-clear-translated
hide">'
+ . '<button class="toggle button
tux-proofread-own-translations-button hide-own hide">'
+ . $this->msg(
'tux-editor-proofreading-hide-own-translations' )->escaped()
+ . '</button>';
+
+ // Hide this button by default and show it only if the filter
is relevant
+ $footer .= '<button class="toggle button
tux-editor-clear-translated hide">'
. $this->msg( 'tux-editor-clear-translated' )->escaped()
. '</button>'
. '</div>';
-
- $footer .= '<div class="four columns text-center">'
- . '<button class="toggle button down
translate-mode-button">'
- . $this->msg( 'tux-editor-translate-mode'
)->escaped()
- . '</button>';
-
+ $footer .= '<div class="four columns tux-view-switcher
text-center">'
+ . '<button class="toggle button down
translate-mode-button">'
+ . $this->msg( 'tux-editor-translate-mode' )->escaped()
+ . '</button>';
if ( $this->getUser()->isallowed( 'translate-messagereview' ) )
{
$footer .= '<button class="toggle button
tux-proofread-button">'
@@ -71,6 +74,7 @@
}
$footer .= '</div>';
+
// Actual message table is fetched and rendered at client side.
This just provides
// the loader and action bar.
return $this->header() . $footer . '</div>';
--
To view, visit https://gerrit.wikimedia.org/r/51112
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I170f019b7eb5f19229b66a275732d320617c2c5e
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>
Gerrit-Reviewer: Amire80 <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Pginer <[email protected]>
Gerrit-Reviewer: Santhosh <[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