diff --git a/x-pack/plugins/canvas/public/state/middleware/aeroelastic.js b/x-pack/plugins/canvas/public/state/middleware/aeroelastic.js index fe88a21341301e..57296de0ccc0c8 100644 --- a/x-pack/plugins/canvas/public/state/middleware/aeroelastic.js +++ b/x-pack/plugins/canvas/public/state/middleware/aeroelastic.js @@ -18,7 +18,7 @@ import { } from '../actions/elements'; import { restoreHistory } from '../actions/history'; import { selectElement } from '../actions/transient'; -import { addPage, removePage, duplicatePage } from '../actions/pages'; +import { addPage, removePage, duplicatePage, gotoPage } from '../actions/pages'; import { appReady } from '../actions/app'; import { setWorkpad } from '../actions/workpad'; import { getNodes, getPages, getSelectedPage, getSelectedElement } from '../selectors/workpad'; @@ -59,6 +59,8 @@ const aeroelasticConfiguration = { const isGroupId = id => id.startsWith(aeroelasticConfiguration.groupName); +const pageChangerActions = [gotoPage.toString(), duplicatePage.toString(), addPage.toString()]; + /** * elementToShape * @@ -320,6 +322,10 @@ export const aeroelastic = ({ dispatch, getState }) => { aero.removeStore(action.payload); } + if (pageChangerActions.indexOf(action.type) >= 0) { + unselectShape(prevPage); + } + next(action); switch (action.type) {