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

Reply via email to