From 1673c0835349d64b6657517140144493a45c445a Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 6 Oct 2017 10:42:23 +1300 Subject: [PATCH] Update undo for grouping --- scripts/shapes/modules/groups.js | 10 ++-------- scripts/shapes/modules/history.js | 8 ++++++-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/scripts/shapes/modules/groups.js b/scripts/shapes/modules/groups.js index 223992d646..3153a622ee 100644 --- a/scripts/shapes/modules/groups.js +++ b/scripts/shapes/modules/groups.js @@ -143,10 +143,7 @@ Groups = function () { selections.splice(1, selections.length - 1); // Add history entry. - History.push( - { setProperties: undoData }, - { setProperties: redoData } - ); + History.push(null, { setProperties: undoData }, { setProperties: redoData }); } function ungroup() { @@ -248,10 +245,7 @@ Groups = function () { } // Add history entry. - History.push( - { setProperties: undoData }, - { setProperties: redoData } - ); + History.push(null, { setProperties: undoData }, { setProperties: redoData }); } function clear() { diff --git a/scripts/shapes/modules/history.js b/scripts/shapes/modules/history.js index 4b84a5699d..3820feaf81 100644 --- a/scripts/shapes/modules/history.js +++ b/scripts/shapes/modules/history.js @@ -47,8 +47,9 @@ History = (function () { ], MAX_HISTORY_ITEMS = 1000, undoPosition = -1, // The next history item to undo; the next history item to redo = undoIndex + 1. - undoData = [{}, {}], - redoData = [{}, {}]; + undoData = [{}, {}, {}], // Left side, right side, no side. + redoData = [{}, {}, {}], + NO_SIDE = 2; function doKick(entityID) { var properties, @@ -81,6 +82,9 @@ History = (function () { function push(side, undo, redo) { // Add a history entry. + if (side === null) { + side = NO_SIDE; + } undoData[side] = Object.merge(undoData[side], undo); redoData[side] = Object.merge(redoData[side], redo);