Esanders has uploaded a new change for review.
https://gerrit.wikimedia.org/r/81028
Change subject: When pasting, try to use original range
......................................................................
When pasting, try to use original range
This functionality was (accidentally?) removed by I8f8a240a. It
stops us from over-zealously balancing data when we can get away
with just pasting the original selected range (e.g. it always wraps
collections of text and content nodes in another paragraph).
Change-Id: I93fa56c4e43083993c310e0050087e9d1de1e08b
---
M modules/ve/ce/ve.ce.Surface.js
1 file changed, 26 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/28/81028/1
diff --git a/modules/ve/ce/ve.ce.Surface.js b/modules/ve/ce/ve.ce.Surface.js
index bde80d7..73d9cf3 100644
--- a/modules/ve/ce/ve.ce.Surface.js
+++ b/modules/ve/ce/ve.ce.Surface.js
@@ -686,17 +686,34 @@
)
);
}
- pasteData = slice.getBalancedData();
- // Annotate
- ve.dm.Document.addAnnotationsToData( pasteData,
this.model.getInsertionAnnotations() );
+ try {
+ // Try to paste in the orignal data
+ pasteData = slice.getData();
- // Transaction
- tx = ve.dm.Transaction.newFromInsertion(
- view.documentView.model,
- selection.start,
- pasteData
- );
+ // Annotate
+ ve.dm.Document.addAnnotationsToData( pasteData,
this.model.getInsertionAnnotations() );
+
+ // Transaction
+ tx = ve.dm.Transaction.newFromInsertion(
+ view.documentView.model,
+ selection.start,
+ pasteData
+ );
+ } catch ( e ) {
+ // If that fails, balance the data before pasting
+ pasteData = slice.getBalancedData();
+
+ // Annotate
+ ve.dm.Document.addAnnotationsToData( pasteData,
this.model.getInsertionAnnotations() );
+
+ // Transaction
+ tx = ve.dm.Transaction.newFromInsertion(
+ view.documentView.model,
+ selection.start,
+ pasteData
+ );
+ }
// Restore focus and scroll position
view.documentView.documentNode.$[0].focus();
--
To view, visit https://gerrit.wikimedia.org/r/81028
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I93fa56c4e43083993c310e0050087e9d1de1e08b
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