mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 11:16:51 +00:00
Fixed prepareRemove to work again after getNodeFromOffset was changed.
This commit is contained in:
parent
915104d6f2
commit
6c745687fc
|
@ -1029,14 +1029,26 @@ es.DocumentModel.prototype.prepareRemoval = function( range ) {
|
||||||
*/
|
*/
|
||||||
function canMerge( range ) {
|
function canMerge( range ) {
|
||||||
var node1 = doc.getNodeFromOffset( range.start );
|
var node1 = doc.getNodeFromOffset( range.start );
|
||||||
var node2 = doc.getNodeFromOffset( range.end - 1 );
|
var node2 = doc.getNodeFromOffset( range.end );
|
||||||
// This is the simple rule we are following for now -- same type & same parent = can merge.
|
// This is the simple rule we are following for now -- same type & same parent = can merge.
|
||||||
// So you can merge adjacent paragraphs, or listitems. And you can't merge a paragraph into
|
// So you can merge adjacent paragraphs, or listitems. And you can't merge a paragraph into
|
||||||
// a table row. There may be other rules we will want in here later, for instance, special
|
// a table row. There may be other rules we will want in here later, for instance, special
|
||||||
// casing merging a listitem into a paragraph.
|
// casing merging a listitem into a paragraph.
|
||||||
return (
|
return (
|
||||||
( ( node1 && node2 ) && ( node1.getElementType() === node2.getElementType() ) ) &&
|
// [<p>a</p><p>b</p>]
|
||||||
( node1.getParent() === node2.getParent() )
|
(
|
||||||
|
node1 &&
|
||||||
|
node2 &&
|
||||||
|
node1.getElementType() === node2.getElementType() &&
|
||||||
|
node1.getParent() === node2.getParent()
|
||||||
|
) ||
|
||||||
|
// [<p>a</p>]<p>b</p>
|
||||||
|
(
|
||||||
|
node1 &&
|
||||||
|
node2 &&
|
||||||
|
node1 === node2 &&
|
||||||
|
range.start < range.end
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1105,7 +1117,6 @@ es.DocumentModel.prototype.prepareRemoval = function( range ) {
|
||||||
if ( range.end < doc.data.length ) {
|
if ( range.end < doc.data.length ) {
|
||||||
tx.pushRetain( doc.data.length - range.end );
|
tx.pushRetain( doc.data.length - range.end );
|
||||||
}
|
}
|
||||||
|
|
||||||
tx.optimize();
|
tx.optimize();
|
||||||
return tx;
|
return tx;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue