import org.argeo.api.cms.CmsEventSubscriber;
import org.argeo.api.cms.CmsLog;
import org.argeo.api.cms.CmsSession;
+import org.argeo.api.cms.directory.CmsUserManager;
import org.argeo.api.cms.ux.CmsTheme;
import org.argeo.api.cms.ux.CmsUi;
import org.argeo.api.cms.ux.CmsView;
import org.argeo.app.api.EntityType;
import org.argeo.app.api.RankedObject;
import org.argeo.cms.AbstractCmsApp;
-import org.argeo.cms.CmsUserManager;
import org.argeo.cms.LocaleUtils;
import org.argeo.cms.Localized;
import org.argeo.cms.acr.ContentUtils;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.swt.acr.SwtUiProvider;
import org.argeo.cms.swt.dialogs.CmsFeedback;
+import org.argeo.cms.util.LangUtils;
import org.argeo.cms.ux.CmsUxUtils;
import org.argeo.eclipse.ui.specific.UiContext;
import org.argeo.jcr.JcrException;
-import org.argeo.util.LangUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.osgi.framework.Constants;
appTitle = ui.getTitle().lead() + " - ";
if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.refreshPart)) {
- Content node = getNode(ui, event);
+ Content node = getContentFromEvent(ui, event);
if (node == null)
return;
SwtUiProvider uiProvider = findByType(uiProvidersByType, node);
layer.view(uiProvider, ui.getCurrentWorkArea(), node);
ui.getCmsView().stateChanged(nodeToState(node), appTitle + CmsUxUtils.getTitle(node));
} else if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.openNewPart)) {
- Content node = getNode(ui, event);
+ Content node = getContentFromEvent(ui, event);
if (node == null)
return;
SwtUiProvider uiProvider = findByType(uiProvidersByType, node);
String title = null;
if (layerTitle != null)
title = layerTitle.lead();
- Content nodeFromState = getNode(ui, event);
+ Content nodeFromState = getContentFromEvent(ui, event);
if (nodeFromState != null && nodeFromState.getPath().equals(ui.getUserDir().getPath())) {
// default layer view is forced
String state = defaultLayerPid.equals(layerId) ? "~" : layerId;
}
}
} else {
- Content node = getNode(ui, event);
+ Content node = getContentFromEvent(ui, event);
if (node != null) {
SuiteLayer layer = findByType(layersByType, node);
ui.switchToLayer(layer, node);
});
}
- private Content getNode(SuiteUi ui, Map<String, Object> event) {
+ protected Content getContentFromEvent(SuiteUi ui, Map<String, Object> event) {
ProvidedSession contentSession = (ProvidedSession) CmsUxUtils.getContentSession(contentRepository,
ui.getCmsView());
String path = get(event, SuiteUxEvent.CONTENT_PATH);
- if (path != null && path.equals(HOME_STATE))
+ if (path != null && (path.equals(HOME_STATE) || path.equals("")))
return ui.getUserDir();
Content node;
if (path == null) {