瀏覽代碼

Stop looking for isLimit element in new block encountered.

Kuba Niegowski 5 年之前
父節點
當前提交
e196e38da0
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      packages/ckeditor5-widget/src/verticalnavigation.js

+ 6 - 1
packages/ckeditor5-widget/src/verticalnavigation.js

@@ -128,10 +128,15 @@ function getNearestNonInlineLimit( model, startPosition, direction ) {
 	const schema = model.schema;
 	const range = model.createRangeIn( startPosition.root );
 
-	for ( const { previousPosition, item } of range.getWalker( { startPosition, direction } ) ) {
+	for ( const { previousPosition, item, type } of range.getWalker( { startPosition, direction } ) ) {
 		if ( schema.isLimit( item ) && !schema.isInline( item ) ) {
 			return previousPosition;
 		}
+
+		// Stop looking for isLimit element if the next element is a block element (it is for sure not single line).
+		if ( type == ( direction == 'forward' ? 'elementStart' : 'elementEnd' ) && schema.isBlock( item ) ) {
+			return null;
+		}
 	}
 
 	return null;