jenkins-bot has submitted this change and it was merged.

Change subject: Bind to specific elements instead of random
......................................................................


Bind to specific elements instead of random

this.$container can be whatever. It'll be whatever node
.trigger( 'flow_init' ) is called upon.
On init, that is $( document )
After moderation, that'll be .flow-post or flow-topic-container

Because this.$container is not consistent, we can't rely on it
to .on (and especially) .off event handlers. Initially, we bind
to $( document ), then after moderation, we try to .off existing
handlers on e.g. .flow-post, and bind the event anew.
Result, no handlers were removed (there was nothing to .off on
that element), and the handler is bound a second time, to
another node.

End result: things like double-collapse (immediately expand/
collapse) because a click is handled twice.

Change-Id: I5c45b53bceb54386901cf24526d46383ada25804
---
M modules/discussion/ui.js
1 file changed, 8 insertions(+), 5 deletions(-)

Approvals:
  EBernhardson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/discussion/ui.js b/modules/discussion/ui.js
index 4944fc5..cd1808b 100644
--- a/modules/discussion/ui.js
+++ b/modules/discussion/ui.js
@@ -126,6 +126,12 @@
 
                                        $( this ).data( 
'flow-initialised-topic', true );
                                }
+
+                               $( this ).find( '.flow-titlebar' )
+                                       // Remove old event handlers
+                                       .off( '.mw-flow-discussion' )
+                                       // On topic titlebar click, trigger 
collapse/expand event
+                                       .on( 'click.mw-flow-discussion', 
mw.flow.action.ui.titlebarClick );
                        } );
 
                        // init post interaction
@@ -146,13 +152,10 @@
                                }
                        } );
 
-                       this.$container
-                               // Remove old event handlers
+                       this.$container.find( '.topic-collapser li' )
                                .off( '.mw-flow-discussion' )
-                               // On topic titlebar click, trigger 
collapse/expand event
-                               .on( 'click.mw-flow-discussion', 
'.flow-titlebar', mw.flow.action.ui.titlebarClick )
                                // On topic collapser click, choose a different 
collapsing level
-                               .on( 'click.mw-flow-discussion', 
'.topic-collapser li', mw.flow.action.ui.topicCollapserClick );
+                               .on( 'click.mw-flow-discussion', 
mw.flow.action.ui.topicCollapserClick );
                },
 
                /**

-- 
To view, visit https://gerrit.wikimedia.org/r/114991
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5c45b53bceb54386901cf24526d46383ada25804
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <mmul...@wikimedia.org>
Gerrit-Reviewer: EBernhardson <ebernhard...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to