From f8b421e2dbec87af4b38250598c218afd189fee3 Mon Sep 17 00:00:00 2001 From: gtyhn <122523252@qq.com> Date: Thu, 15 Jul 2021 13:42:26 +0800 Subject: [PATCH] When inserting and loading embedded styles, there is always an extra newline --- lib/src/models/documents/document.dart | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/src/models/documents/document.dart b/lib/src/models/documents/document.dart index 527d220b..004af3f2 100644 --- a/lib/src/models/documents/document.dart +++ b/lib/src/models/documents/document.dart @@ -219,13 +219,15 @@ class Document { } // Currently embed is equivalent to image and hence `is! String` final opInsertImage = op.isInsert && op.data is! String; - final nextOpIsLineBreak = i + 1 < ops.length && - ops[i + 1].isInsert && - ops[i + 1].data is String && - (ops[i + 1].data as String).startsWith('\n'); - if (opInsertImage && (i + 1 == ops.length - 1 || !nextOpIsLineBreak)) { - // automatically append '\n' for image - res.push(Operation.insert('\n')); + if (opInsertImage) { + final nextOpIsLineBreak = i + 1 < ops.length && + ops[i + 1].isInsert && + ops[i + 1].data is String && + (ops[i + 1].data as String).startsWith('\n'); + if (!nextOpIsLineBreak) { + // automatically append '\n' for image + res.push(Operation.insert('\n')); + } } }