X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FSuiteApp.java;h=ead041ca99f8032f5176fd071ad7ca82f084a4c8;hp=db8a8dc17e0d589d01d2ae0de04580bfe0e7744d;hb=921e69ca45d5e257429c019b984428a59f891487;hpb=25ed06d42600a81063515220c51ac2d93fefa27a diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java index db8a8dc..ead041c 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java @@ -323,17 +323,21 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { // Specific UI related events SuiteUi ui = getRelatedUi(event); try { - String currentLayerId = ui.getCurrentLayerId(); - SuiteLayer currentLayer = currentLayerId != null ? layersByPid.get(currentLayerId).get() : null; +// String currentLayerId = ui.getCurrentLayerId(); +// SuiteLayer currentLayer = currentLayerId != null ? layersByPid.get(currentLayerId).get() : null; if (isTopic(event, SuiteEvent.refreshPart)) { Node node = getNode(ui, event); CmsUiProvider uiProvider = findByType(uiProvidersByType, node); - currentLayer.view(uiProvider, ui.getCurrentWorkArea(), node); + SuiteLayer layer = findByType(layersByType, node); + ui.switchToLayer(layer, node); + layer.view(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), Jcr.getTitle(node)); } else if (isTopic(event, SuiteEvent.openNewPart)) { Node node = getNode(ui, event); CmsUiProvider uiProvider = findByType(uiProvidersByType, node); - currentLayer.open(uiProvider, ui.getCurrentWorkArea(), node); + SuiteLayer layer = findByType(layersByType, node); + ui.switchToLayer(layer, node); + layer.open(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), Jcr.getTitle(node)); } else if (isTopic(event, SuiteEvent.switchLayer)) { String layerId = get(event, SuiteEvent.LAYER);