Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/80056


Change subject: Preserve selection when inserting references
......................................................................

Preserve selection when inserting references

Some browsers (e.g. Firefox) change the CE range when the dialog
is opened, so after the first surfaceModel change (to modify the
internal item) the surface's selection is modified, and the reference
is inserted in the wrong place.

Bug: 52159
Change-Id: Ia5da33b95a599ba78f308cf0554279ad44616f50
---
M modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
1 file changed, 4 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/56/80056/1

diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js 
b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
index 7a6a3d0..7eb8d2b 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWReferenceDialog.js
@@ -167,6 +167,9 @@
 ve.ui.MWReferenceDialog.prototype.onClose = function ( action ) {
        var i, len, txs, item, data, group, refGroup, listGroup, keyIndex, 
refNode, refNodes,
                surfaceModel = this.surface.getModel(),
+               // Store the original selection browsers may reset it after
+               // the first model change.
+               selection = surfaceModel.getSelection().clone(),
                doc = surfaceModel.getDocument(),
                internalList = doc.getInternalList();
 
@@ -252,7 +255,7 @@
                                this.ref.listIndex = item.index;
                        }
                        // Add reference at cursor
-                       
surfaceModel.getFragment().collapseRangeToEnd().insertContent( [
+                       surfaceModel.getFragment( selection 
).collapseRangeToEnd().insertContent( [
                                { 'type': 'mwReference', 'attributes': this.ref 
}, { 'type': '/mwReference' }
                        ] );
                }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia5da33b95a599ba78f308cf0554279ad44616f50
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

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

Reply via email to