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

Change subject: Use insertContent with templates when range is collapsed
......................................................................


Use insertContent with templates when range is collapsed

We may be trying to insert a block into a paragraph. fixUpInsertion
handles this, but not if use a replace transactions.

Bug: T136279
Change-Id: I1401da52676e79f38ef835a32d2c76004b75fb4e
---
M modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js
1 file changed, 20 insertions(+), 16 deletions(-)

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



diff --git a/modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js 
b/modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js
index ce98bd2..8dbd870 100644
--- a/modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js
+++ b/modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js
@@ -65,24 +65,28 @@
                        nodeClass = ve.dm.MWTransclusionNode;
 
                function insertNode( isInline ) {
-                       // Generate a replacement transaction instead of using 
surfaceFragment.insert (which
-                       // generates a removal and insertion) as blanking the 
reference triggers T135127.
-                       // TODO: Once T135127 is fixed, revert to using 
surfaceFragment.insert.
                        var type = isInline ? nodeClass.static.inlineType : 
nodeClass.static.blockType,
-                               tx = ve.dm.Transaction.newFromReplacement(
-                                       surfaceFragment.getDocument(),
-                                       
surfaceFragment.getSelection().getCoveringRange(),
-                                       [
-                                               {
-                                                       type: type,
-                                                       attributes: {
-                                                               mw: 
model.getPlainObject()
-                                                       }
-                                               },
-                                               { type: '/' + type }
-                                       ]
+                               range = 
surfaceFragment.getSelection().getCoveringRange(),
+                               data = [
+                                       {
+                                               type: type,
+                                               attributes: {
+                                                       mw: 
model.getPlainObject()
+                                               }
+                                       },
+                                       { type: '/' + type }
+                               ];
+
+                       if ( range.isCollapsed() ) {
+                               surfaceFragment.insertContent( data );
+                       } else {
+                               // Generate a replacement transaction instead 
of using surfaceFragment.insertContent
+                               // (which generates a removal and insertion) as 
blanking a reference triggers T135127.
+                               // TODO: Once T135127 is fixed, revert to using 
surfaceFragment.insert.
+                               surfaceFragment.getSurface().change(
+                                       ve.dm.Transaction.newFromReplacement( 
surfaceFragment.getDocument(), range, data )
                                );
-                       surfaceFragment.getSurface().change( tx );
+                       }
                        deferred.resolve();
                }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I1401da52676e79f38ef835a32d2c76004b75fb4e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to