Santhosh has uploaded a new change for review. https://gerrit.wikimedia.org/r/54846
Change subject: (Bug 45639) - [TUX] Messages from wrong message group displayed ...................................................................... (Bug 45639) - [TUX] Messages from wrong message group displayed * Avoid duplicate ajax requests when one is in progress * Reject the results after a message group or language selection * While searching, apply search filter for the last batch of results too Change-Id: Ib481a6c270b1713bf91a7d3e9231ae7782be3035 --- M resources/js/ext.translate.messagetable.js 1 file changed, 24 insertions(+), 6 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate refs/changes/46/54846/1 diff --git a/resources/js/ext.translate.messagetable.js b/resources/js/ext.translate.messagetable.js index 9c08ddc..da7c05f 100644 --- a/resources/js/ext.translate.messagetable.js +++ b/resources/js/ext.translate.messagetable.js @@ -59,6 +59,7 @@ this.$loader = this.$container.siblings( '.tux-messagetable-loader' ); this.$actionBar = this.$container.siblings( '.tux-action-bar' ); this.messages = []; + this.loading = false; this.init(); this.listen(); } @@ -117,6 +118,8 @@ clear: function () { $( '.tux-messagelist' ).empty(); this.messages = []; + // Any ongoing loading process will notice this and will reject results. + this.loading = false; }, add: function ( message ) { @@ -372,11 +375,25 @@ return; } + if ( messageTable.loading ) { + // Avoid duplicate loading - the offset will be wrong and it will result + // in duplicate messages shown in the page + return; + } + + messageTable.loading = true; + mw.translate.getMessages( messagegroup, targetLanguage, offset, pageSize, filter ) .done( function ( result ) { var messages = result.query.messagecollection, $workflowSelector = $( 'ul.tux-workflow-status-selector ' ); + if ( !messageTable.loading ) { + // reject. This was cancelled. + return; + } + + messageTable.loading = false; // No new messges were loaded if ( messages.length === 0 ) { // And this is the first load for the filter... @@ -394,17 +411,17 @@ } } ); - if ( result['query-continue'] === undefined ) { - // End of messages - messageTable.$loader.data( 'offset', -1 ).addClass( 'hide' ); - return; - } - // Dynamically loaded messages should pass the search filter if present. query = $( '.tux-message-filter-box' ).val(); if ( query ) { messageTable.search( query ); + } + + if ( result['query-continue'] === undefined ) { + // End of messages + messageTable.$loader.data( 'offset', -1 ).addClass( 'hide' ); + return; } messageTable.$loader.data( 'offset', result['query-continue'].messagecollection.mcoffset ); @@ -442,6 +459,7 @@ .show(); } messageTable.$loader.data( 'offset', -1 ).addClass( 'hide' ); + messageTable.loading = false; } ); }, -- To view, visit https://gerrit.wikimedia.org/r/54846 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib481a6c270b1713bf91a7d3e9231ae7782be3035 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Translate Gerrit-Branch: master Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits