[Canvas] Fix: lose element selection on page flip (#32111) (#32741)

* Fix: lose element selection on page flip

* Fix: remove selection in Redux too (PR feedback from Joe)
This commit is contained in:
Robert Monfera 2019-03-08 16:32:00 +01:00 committed by GitHub
parent 10a2ef3618
commit f64bcd75d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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,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) {