From bb20dbe6a6609d259fdcd9ff7fec92409cd0fe21 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Wed, 9 Jun 2021 21:57:56 +0200 Subject: [PATCH] Prevent adding in UndoManager empty changes --- src/undo_manager/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/undo_manager/index.js b/src/undo_manager/index.js index b8164db20..6fc3eaba2 100644 --- a/src/undo_manager/index.js +++ b/src/undo_manager/index.js @@ -25,7 +25,7 @@ */ import UndoManager from 'backbone-undo'; -import { isArray, isBoolean } from 'underscore'; +import { isArray, isBoolean, isEmpty } from 'underscore'; export default () => { let em; @@ -80,12 +80,16 @@ export default () => { if (hasSkip(opt)) { return; } else { + const after = object.toJSON({ fromUndo }); const result = { object, before: beforeCache, - after: object.toJSON({ fromUndo }) + after }; beforeCache = null; + // Skip undo in case of empty changes + if (isEmpty(after)) return; + return result; } }