Amire80 has uploaded a new change for review.
https://gerrit.wikimedia.org/r/59132
Change subject: Show "Cancel" instead of "Skip" at the last message
......................................................................
Show "Cancel" instead of "Skip" at the last message
Bug: 46099
Change-Id: If71d03f6d4ae123899edf2b2ed00c167069900eb
---
M Resources.php
M Translate.i18n.php
M resources/css/ext.translate.editor.css
M resources/js/ext.translate.editor.js
M resources/js/ext.translate.messagetable.js
5 files changed, 73 insertions(+), 23 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate
refs/changes/32/59132/1
diff --git a/Resources.php b/Resources.php
index ea68c2e..231006c 100644
--- a/Resources.php
+++ b/Resources.php
@@ -63,6 +63,7 @@
'tux-editor-discard-changes-button-label',
'tux-editor-save-button-label',
'tux-editor-skip-button-label',
+ 'tux-editor-cancel-button-label',
'tux-editor-confirm-button-label',
'tux-editor-shortcut-info',
'tux-editor-edit-desc',
diff --git a/Translate.i18n.php b/Translate.i18n.php
index 4a0a2c6..68deb8d 100644
--- a/Translate.i18n.php
+++ b/Translate.i18n.php
@@ -456,6 +456,7 @@
'tux-editor-discard-changes-button-label' => 'Discard changes',
'tux-editor-save-button-label' => 'Save translation',
'tux-editor-skip-button-label' => 'Skip to next',
+ 'tux-editor-cancel-button-label' => 'Cancel',
'tux-editor-confirm-button-label' => 'Confirm translation',
'tux-editor-shortcut-info' => 'Press "$1" to save or "$2" to skip to
next message',
'tux-editor-edit-desc' => 'Edit description',
@@ -1075,6 +1076,9 @@
'tux-editor-discard-changes-button-label' => 'Label for a button that
discards the changes made to a translation and restores the saved version.',
'tux-editor-save-button-label' => 'Label for save translation button',
'tux-editor-skip-button-label' => 'Label for skip button',
+ 'tux-editor-cancel-button-label' => 'Label for cancel button.
+Pressing the button hides the message editor without saving and marks the
message internally as "hard".
+{{Identical|Cancel}}',
'tux-editor-confirm-button-label' => 'Label for confirm button',
'tux-editor-shortcut-info' => 'A help text for the keyboard shortcuts
* $1 is shortcut key for save button
diff --git a/resources/css/ext.translate.editor.css
b/resources/css/ext.translate.editor.css
index bbb5524..4c12e9f 100644
--- a/resources/css/ext.translate.editor.css
+++ b/resources/css/ext.translate.editor.css
@@ -378,3 +378,17 @@
background: url(../images/label-tick.png) right no-repeat;
color: #252525;
}
+
+/* Hide the cancel button by default... */
+.tux-editor-cancel-button {
+ display: none;
+}
+
+/* ... but show it in the last message */
+.last-message .tux-editor-cancel-button {
+ display: inline-block;
+}
+
+.last-message .tux-editor-skip-button {
+ display: none;
+}
diff --git a/resources/js/ext.translate.editor.js
b/resources/js/ext.translate.editor.js
index 08a4bde..446764d 100644
--- a/resources/js/ext.translate.editor.js
+++ b/resources/js/ext.translate.editor.js
@@ -304,6 +304,7 @@
$saveButton,
$requestRight,
$skipButton,
+ $cancelButton,
$sourceString,
$closeIcon,
$layoutActions,
@@ -326,7 +327,6 @@
$messageTools.toggleClass( 'hide' );
e.stopPropagation();
} );
-
$closeIcon = $( '<span>' )
.addClass( 'one column close' )
@@ -582,9 +582,18 @@
e.stopPropagation();
} );
+ $cancelButton = $( '<button>' )
+ .addClass( 'button tux-editor-cancel-button
hide' )
+ .text( mw.msg( 'tux-editor-cancel-button-label'
) )
+ .on( 'click', function ( e ) {
+ translateEditor.skip();
+ translateEditor.hide();
+ e.stopPropagation();
+ } );
+
$controlButtonBlock = $( '<div>' )
.addClass( 'twelve columns
tux-editor-control-buttons' )
- .append( $requestRight, $saveButton,
$skipButton );
+ .append( $requestRight, $saveButton,
$skipButton, $cancelButton );
$editorColumn.append( $( '<div>' )
.addClass( 'row tux-editor-actions-block' )
@@ -816,6 +825,7 @@
$( '.tux-editor-save-button, .tux-editor-save-button'
).removeAttr( 'accesskey' );
this.$editor.find( '.tux-editor-save-button' ).attr(
'accesskey', 's' );
this.$editor.find( '.tux-editor-skip-button' ).attr(
'accesskey', 'd' );
+ // @todo access key for the cancel button
this.$messageItem.addClass( 'hide' );
this.$editor
diff --git a/resources/js/ext.translate.messagetable.js
b/resources/js/ext.translate.messagetable.js
index 652fdc1..a2e8958 100644
--- a/resources/js/ext.translate.messagetable.js
+++ b/resources/js/ext.translate.messagetable.js
@@ -3,6 +3,12 @@
mw.translate = mw.translate || {};
+ var itemsClass = {
+ proofread: '.tux-message-proofread',
+ page: '.tux-message-pagemode',
+ translate: '.tux-message'
+ };
+
mw.translate = $.extend( mw.translate, {
getMessages: function ( messageGroup, language, offset, limit,
filter ) {
var api = new mw.Api();
@@ -295,12 +301,7 @@
search: function ( query ) {
var resultCount = 0,
$result,
- matcher = new RegExp( '(^|\\s|\\b)' +
escapeRegex( query ), 'gi' ),
- itemsClass = {
- proofread: '.tux-message-proofread',
- page: '.tux-message-pagemode',
- translate: '.tux-message'
- };
+ matcher = new RegExp( '(^|\\s|\\b)' +
escapeRegex( query ), 'gi' );
this.$container.find( itemsClass[ this.mode ] ).each(
function () {
var $message = $( this ),
@@ -344,6 +345,7 @@
}
this.$loader.trigger( 'appear' );
+ this.updateLastMessage();
// Trigger a scroll event for the window to make sure
all floating toolbars
// are in their position.
@@ -437,23 +439,26 @@
if ( result['query-continue'] ===
undefined ) {
// End of messages
- messageTable.$loader.data(
'offset', -1 ).addClass( 'hide' );
- return;
+ messageTable.$loader.data(
'offset', -1 )
+ .addClass( 'hide' );
+ } else {
+ messageTable.$loader.data(
'offset', result['query-continue'].messagecollection.mcoffset );
+
+ remaining =
result.query.metadata.remaining;
+
+ $(
'.tux-messagetable-loader-count' ).text(
+ mw.msg(
'tux-messagetable-more-messages', remaining )
+ );
+
+ $(
'.tux-messagetable-loader-more' ).text(
+ mw.msg(
'tux-messagetable-loading-messages', Math.min( remaining, pageSize ) )
+ );
+
+ // Make sure the floating
toolbars are visible without the need for scroll
+ $( window ).trigger( 'scroll' );
}
- messageTable.$loader.data( 'offset',
result['query-continue'].messagecollection.mcoffset );
-
- remaining =
result.query.metadata.remaining;
-
- $( '.tux-messagetable-loader-count'
).text(
- mw.msg(
'tux-messagetable-more-messages', remaining )
- );
-
- $( '.tux-messagetable-loader-more'
).text(
- mw.msg(
'tux-messagetable-loading-messages', Math.min( remaining, pageSize ) )
- );
- // Make sure the floating toolbars are
visible without the need for scroll
- $( window ).trigger( 'scroll' );
+ messageTable.updateLastMessage();
} )
.fail( function ( errorCode, response ) {
if ( response.error.code ===
'mctranslate-language-disabled' ) {
@@ -466,6 +471,22 @@
} );
},
+ updateLastMessage: function () {
+ var $messages = this.$container.find( itemsClass[
this.mode ] ),
+ oldLastMessage = $messages.filter(
'.last-message' ),
+ newLastMessage = $messages
+ .not( '.hide' )
+ .last();
+
+ if ( oldLastMessage.length ) {
+ oldLastMessage.removeClass( 'last-message' );
+ }
+
+ if ( newLastMessage.length ) {
+ newLastMessage.addClass( 'last-message' );
+ }
+ },
+
/**
* If the user selection results nothing to show, give some
pointers
* what to do.
--
To view, visit https://gerrit.wikimedia.org/r/59132
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If71d03f6d4ae123899edf2b2ed00c167069900eb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits