diff options
Diffstat (limited to 'MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js')
-rw-r--r-- | MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js b/MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js index e5986e1a..76b605b9 100644 --- a/MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js +++ b/MLEB/Translate/resources/js/ext.translate.special.managetranslatorsandbox.js @@ -34,14 +34,13 @@ } function removeSelectedRequests() { - var $nextRequest, - $selectedRequests = $( '.request-selector:checked' ); + var $selectedRequests = $( '.request-selector:checked' ); - $nextRequest = $selectedRequests + var $nextRequest = $selectedRequests .first() // First selected request .closest( '.request' ) // The request corresponds that checkbox .prevAll( ':not(.hide)' ) // Go back till a non-hidden request - .first(); // The above selecter gives list from bottom to top. Select the bottom one. + .first(); // The above selector gives list from bottom to top. Select the bottom one. $selectedRequests.closest( '.request' ).remove(); @@ -67,8 +66,7 @@ * @param {Object} request The request data set from backend on request items */ function displayRequestDetails( request ) { - var storage, - $reminderStatus = $( '<span>' ).addClass( 'reminder-status' ), + var $reminderStatus = $( '<span>' ).addClass( 'reminder-status' ), $detailsPane = $( '.details.pane' ); if ( request.reminderscount ) { @@ -182,14 +180,27 @@ } } - // @todo: move higher in the tree - storage = new mw.translate.TranslationStashStorage(); - storage.getUserTranslations( request.username ).done( showTranslations ); + getUserTranslations( request.username ).done( showTranslations ); + } + + /** + * Get the current users translations. + * + * @param {string} user User name + * @return {jQuery.Promise} + */ + function getUserTranslations( user ) { + var api = new mw.Api(); + + return api.postWithToken( 'csrf', { + action: 'translationstash', + subaction: 'query', + username: user + } ); } function showTranslations( translations ) { - var gender, - $target = $( '.translations' ); + var $target = $( '.translations' ); $target.empty(); @@ -204,7 +215,7 @@ return; } - gender = $( '.requests-list .request.selected' ).data( 'data' ).gender; + var gender = $( '.requests-list .request.selected' ).data( 'data' ).gender; $target.append( $( '<div>' ) .addClass( 'row title' ) @@ -349,12 +360,11 @@ * or hides that link if there are no such requests. */ function indicateOlderRequests() { - var oldRequestsCount, oldRequestsCountString, - $olderRequests = getOlderRequests(), + var $olderRequests = getOlderRequests(), $olderRequestsIndicator = $( '.older-requests-indicator' ); - oldRequestsCount = $olderRequests.length; - oldRequestsCountString = mw.language.convertNumber( oldRequestsCount ); + var oldRequestsCount = $olderRequests.length; + var oldRequestsCountString = mw.language.convertNumber( oldRequestsCount ); if ( oldRequestsCount ) { $olderRequestsIndicator @@ -404,8 +414,7 @@ } function selectAllRequests() { - var selectedCount, - $requestCheckboxes = $( '.request-selector' ), + var $requestCheckboxes = $( '.request-selector' ), $detailsPane = $( '.details.pane' ), $selectAll = $( '.request-selector-all' ), $requestRows = $( '.requests .request' ), @@ -419,6 +428,7 @@ } ); } ); + var selectedCount; if ( selectAllChecked ) { displayOnMultipleSelection(); $visibleRows.addClass( 'selected' ); @@ -476,8 +486,7 @@ * @param {jQuery.Event} e */ function requestSelectHandler( e ) { - var checkedCount, $checkedBoxes, - request = e.target, + var request = e.target, $detailsPane = $( '.details.pane' ), $requestCheckboxes = $( '.request-selector' ), $selectAll = $( '.request-selector-all' ), @@ -492,8 +501,8 @@ $thisRequestRow.removeClass( 'selected' ); } - $checkedBoxes = $requestCheckboxes.filter( ':checked' ); - checkedCount = $checkedBoxes.length; + var $checkedBoxes = $requestCheckboxes.filter( ':checked' ); + var checkedCount = $checkedBoxes.length; if ( checkedCount === $requestCheckboxes.length ) { // All boxes are selected @@ -561,10 +570,9 @@ } LanguageFilter.prototype.init = function () { - var languageFilter = this, - $clearButton; + var languageFilter = this; - $clearButton = $( '<button>' ) + var $clearButton = $( '<button>' ) .addClass( 'clear-language-selector hide' ) .text( 'Ă—' ); @@ -654,12 +662,11 @@ }; TranslatorSearch.prototype.keyup = function () { - var query, - translatorSearch = this; + var translatorSearch = this; // Respond to the keypress events after a small timeout to avoid freeze when typed fast delay( function () { - query = translatorSearch.$search.val().trim().toLowerCase(); + var query = translatorSearch.$search.val().trim().toLowerCase(); translatorSearch.filter( query ); }, 300 ); }; @@ -685,14 +692,13 @@ }; function updateAfterFiltering() { - var $selectedRequests, - $firstVisibleUser = $( '.request:not(.hide)' ).first(); + var $firstVisibleUser = $( '.request:not(.hide)' ).first(); if ( $firstVisibleUser.length ) { $firstVisibleUser.trigger( 'click' ); } else { $( '.details.pane' ).empty(); - $selectedRequests = $( '.request-selector:checked' ); + var $selectedRequests = $( '.request-selector:checked' ); $selectedRequests.closest( '.request' ).removeClass( 'selected' ); $selectedRequests.prop( { checked: false, |