Skip to content

Commit

Permalink
[Canvas] Fix: lose element selection on page flip (#32111) (#32741)
Browse files Browse the repository at this point in the history
* Fix: lose element selection on page flip

* Fix: remove selection in Redux too (PR feedback from Joe)
  • Loading branch information
monfera authored Mar 8, 2019
1 parent 10a2ef3 commit f64bcd7
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion x-pack/plugins/canvas/public/state/middleware/aeroelastic.js
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -59,6 +59,8 @@ const aeroelasticConfiguration = {

const isGroupId = id => id.startsWith(aeroelasticConfiguration.groupName);

const pageChangerActions = [gotoPage.toString(), duplicatePage.toString(), addPage.toString()];

/**
* elementToShape
*
Expand Down Expand Up @@ -320,6 +322,14 @@ export const aeroelastic = ({ dispatch, getState }) => {
aero.removeStore(action.payload);
}

if (pageChangerActions.indexOf(action.type) >= 0) {
if (getSelectedElement(getState())) {
dispatch(selectElement(null)); // ensure sidebar etc. get updated; will update the layout engine too
} else {
unselectShape(prevPage); // deselect persistent groups as they're not currently selections in Redux
}
}

next(action);

switch (action.type) {
Expand Down

0 comments on commit f64bcd7

Please sign in to comment.