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

Change subject: Make dm.Surface's 'select' event more useful
......................................................................


Make dm.Surface's 'select' event more useful

It was previously emitted before the selection was updated and with the
old selection as a parameter. Instead, emit it afterwards, and make sure
it's emitted even if the selection changes because it was translated
for a transaction.

Also correct its event documentation, which seems to have been copied
from a UI class somewhere.

Change-Id: I521eff0095959572587c0ecffd24dbf322e12d82
---
M modules/ve/dm/ve.dm.Surface.js
1 file changed, 7 insertions(+), 9 deletions(-)

Approvals:
  Krinkle: Looks good to me, but someone else must approve
  Divec: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve/dm/ve.dm.Surface.js b/modules/ve/dm/ve.dm.Surface.js
index df37eea..a10ea0b 100644
--- a/modules/ve/dm/ve.dm.Surface.js
+++ b/modules/ve/dm/ve.dm.Surface.js
@@ -47,7 +47,7 @@
 
 /**
  * @event select
- * @param {ve.ui.MenuItemWidget} item Menu item
+ * @param {ve.Range} selection
  */
 
 /**
@@ -315,7 +315,7 @@
        }
        var i, len, left, right, leftAnnotations, rightAnnotations, 
insertionAnnotations,
                selectedNodes = {},
-               selectionChange = false,
+               oldSelection = this.selection,
                contextChange = false,
                dataModelData = this.documentModel.data;
 
@@ -342,10 +342,6 @@
        }
 
        if ( selection ) {
-               // Detect if selection range changed
-               if ( !this.selection || !this.selection.equals( selection ) ) {
-                       selectionChange = true;
-               }
                // Detect if selected nodes changed
                selectedNodes.start = this.documentModel.getNodeFromOffset( 
selection.start );
                if ( selection.getLength() ) {
@@ -358,12 +354,14 @@
                        contextChange = true;
                }
                this.selectedNodes = selectedNodes;
-               if ( selectionChange ) {
-                       this.emit( 'select', this.selection.clone() );
-               }
                this.selection = selection;
        }
 
+       // Emit select event if selection range changed
+       if ( !oldSelection || !oldSelection.equals( this.selection ) ) {
+               this.emit( 'select', this.selection.clone() );
+       }
+
        // Only emit a transact event if transactions were actually processed
        if ( transactions ) {
                this.emit( 'transact', transactions );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I521eff0095959572587c0ecffd24dbf322e12d82
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Divec <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to