From: Mathieu Baudier Date: Sun, 30 Oct 2022 05:09:40 +0000 (+0100) Subject: Clarify Suite UX X-Git-Tag: v2.3.9~40 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=2362aefd312e04eea437824f37cb6e63389cd361 Clarify Suite UX --- diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java index 53bcdfe..03927d4 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java @@ -105,8 +105,8 @@ public class RecentItems implements CmsUiProvider { public void doubleClick(DoubleClickEvent event) { Node node = (Node) entityViewer.getViewer().getStructuredSelection().getFirstElement(); if (node != null) - CmsSwtUtils.getCmsView(parent).sendEvent(SuiteEvent.openNewPart.topic(), - SuiteEvent.eventProperties(node)); + CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.openNewPart.topic(), + SuiteUxEvent.eventProperties(node)); } }); @@ -114,8 +114,8 @@ public class RecentItems implements CmsUiProvider { public void selectionChanged(SelectionChangedEvent event) { Node node = (Node) entityViewer.getViewer().getStructuredSelection().getFirstElement(); if (node != null) { - CmsSwtUtils.getCmsView(parent).sendEvent(SuiteEvent.refreshPart.topic(), - SuiteEvent.eventProperties(node)); + CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.refreshPart.topic(), + SuiteUxEvent.eventProperties(node)); deleteItem.setEnabled(true); } else { deleteItem.setEnabled(false); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java index a8b9b2e..12dceb8 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java @@ -99,7 +99,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { // private Repository repository; public void init(Map properties) { - for (SuiteEvent event : SuiteEvent.values()) { + for (SuiteUxEvent event : SuiteUxEvent.values()) { getCmsContext().getCmsEventBus().addEventSubscriber(event.topic(), this); } @@ -222,31 +222,17 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (LOGIN.equals(state)) state = null; if (ui.isLoginScreen()) { -// if (state == null) -// state = ui.getPostLoginState(); ui.setLoginScreen(false); -// ui.setPostLoginState(null); } CmsSession cmsSession = cmsView.getCmsSession(); - if (ui.getUserDirNode() == null) { + if (ui.getUserDir() == null) { // FIXME NPE on CMSSession when logging in from anonymous if (cmsSession == null || cmsView.isAnonymous()) { assert publicBasePath != null; Content userDir = contentSession .get(ContentUtils.SLASH + CmsConstants.SYS_WORKSPACE + publicBasePath); ui.setUserDir(userDir); -// ui.initSessions(getRepository(), publicBasePath); } else { -// Session adminSession = null; -// try { -// adminSession = CmsJcrUtils.openDataAdminSession(getRepository(), null); -// Node userDirNode = SuiteUtils.getOrCreateCmsSessionNode(adminSession, cmsSession); -// Content userDir = contentSession.get(CmsConstants.SYS_WORKSPACE + userDirNode.getPath()); -// ui.setUserDir(userDir); -//// ui.initSessions(getRepository(), userDirNode.getPath()); -// } finally { -// Jcr.logout(adminSession); -// } Content userDir = contentSession.getSessionRunDir(); ui.setUserDir(userDir); } @@ -254,7 +240,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { initLocale(cmsSession); context = stateToNode(ui, state); if (context == null) - context = ui.getUserDirNode(); + context = ui.getUserDir(); if (headerUiProvider != null) refreshPart(headerUiProvider, ui.getHeader(), context); @@ -343,9 +329,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } } -// if (context.getPath().equals("/")) {// root node -// types.add("nt:folder"); -// } if (CmsJcrUtils.isUserHome(context) && byType.containsKey("nt:folder")) {// home node types.add("nt:folder"); } @@ -362,7 +345,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } } else { - List objectClasses = content.getContentClasses(); Set types = new TreeSet<>(); for (QName cc : objectClasses) { @@ -377,8 +359,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (!byType.containsKey(type)) throw new IllegalArgumentException("No component found for " + content + " with type " + type); return byType.get(type).get(); - // throw new UnsupportedOperationException("Content " + - // content.getClass().getName() + " is not supported."); } } @@ -423,15 +403,14 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } Map properties = new HashMap<>(); String layerId = HOME_STATE.equals(state) ? defaultLayerPid : state; - properties.put(SuiteEvent.LAYER, layerId); - properties.put(SuiteEvent.NODE_PATH, HOME_STATE); - ui.getCmsView().sendEvent(SuiteEvent.switchLayer.topic(), properties); + properties.put(SuiteUxEvent.LAYER, layerId); + properties.put(SuiteUxEvent.CONTENT_PATH, HOME_STATE); + ui.getCmsView().sendEvent(SuiteUxEvent.switchLayer.topic(), properties); } return; } SuiteUi suiteUi = (SuiteUi) cmsUi; if (suiteUi.isLoginScreen()) { -// suiteUi.setPostLoginState(state); return; } @@ -439,8 +418,8 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (node == null) { suiteUi.getCmsView().navigateTo(HOME_STATE); } else { - suiteUi.getCmsView().sendEvent(SuiteEvent.switchLayer.topic(), SuiteEvent.eventProperties(node)); - suiteUi.getCmsView().sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(node)); + suiteUi.getCmsView().sendEvent(SuiteUxEvent.switchLayer.topic(), SuiteUxEvent.eventProperties(node)); + suiteUi.getCmsView().sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(node)); } } @@ -456,35 +435,10 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { return null; String path = state; -// String path = state.substring(1); -// String workspace; -// if (path.equals("")) { -// workspace = null; -// path = "/"; -// } else { -// int index = path.indexOf('/'); -// if (index == 0) { -// log.error("Cannot interpret " + state); -//// cmsView.navigateTo("~"); -// return null; -// } else if (index > 0) { -// workspace = path.substring(0, index); -// path = path.substring(index); -// } else {// index<0, assuming root node -// workspace = path; -// path = "/"; -// } -// } ProvidedSession contentSession = (ProvidedSession) CmsUxUtils.getContentSession(contentRepository, suiteUi.getCmsView()); return contentSession.get(path); -// Session session = jcrContentProvider.getJcrSession(contentSession, workspace); -//// Session session = suiteUi.getSession(workspace); -// if (session == null) -// return null; -// Node node = Jcr.getNode(session, path); -// return node; } /* @@ -504,9 +458,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (ui.getTitle() != null) appTitle = ui.getTitle().lead() + " - "; -// String currentLayerId = ui.getCurrentLayerId(); -// SuiteLayer currentLayer = currentLayerId != null ? layersByPid.get(currentLayerId).get() : null; - if (SuiteUiUtils.isTopic(topic, SuiteEvent.refreshPart)) { + if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.refreshPart)) { Content node = getNode(ui, event); if (node == null) return; @@ -515,7 +467,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { ui.switchToLayer(layer, node); layer.view(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), appTitle + CmsUxUtils.getTitle(node)); - } else if (SuiteUiUtils.isTopic(topic, SuiteEvent.openNewPart)) { + } else if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.openNewPart)) { Content node = getNode(ui, event); if (node == null) return; @@ -524,28 +476,27 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { ui.switchToLayer(layer, node); layer.open(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), appTitle + CmsUxUtils.getTitle(node)); - } else if (SuiteUiUtils.isTopic(topic, SuiteEvent.switchLayer)) { - String layerId = get(event, SuiteEvent.LAYER); + } else if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.switchLayer)) { + String layerId = get(event, SuiteUxEvent.LAYER); if (layerId != null) { -// ui.switchToLayer(layerId, ui.getUserDir()); SuiteLayer suiteLayer = findLayer(layerId); if (suiteLayer == null) throw new IllegalArgumentException("No layer '" + layerId + "' available."); Localized layerTitle = suiteLayer.getTitle(); // FIXME make sure we don't rebuild the work area twice - Composite workArea = ui.switchToLayer(layerId, ui.getUserDirNode()); + Composite workArea = ui.switchToLayer(layerId, ui.getUserDir()); String title = null; if (layerTitle != null) title = layerTitle.lead(); Content nodeFromState = getNode(ui, event); - if (nodeFromState != null && nodeFromState.getPath().equals(ui.getUserDirNode().getPath())) { + if (nodeFromState != null && nodeFromState.getPath().equals(ui.getUserDir().getPath())) { // default layer view is forced String state = defaultLayerPid.equals(layerId) ? "~" : layerId; ui.getCmsView().stateChanged(state, appTitle + title); suiteLayer.view(null, workArea, nodeFromState); } else { Content layerCurrentContext = suiteLayer.getCurrentContext(workArea); - if (layerCurrentContext != null) { + if (layerCurrentContext != null && !layerCurrentContext.equals(ui.getUserDir())) { // layer was already showing a context so we set the state to it ui.getCmsView().stateChanged(nodeToState(layerCurrentContext), appTitle + CmsUxUtils.getTitle(layerCurrentContext)); @@ -573,46 +524,20 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { ProvidedSession contentSession = (ProvidedSession) CmsUxUtils.getContentSession(contentRepository, ui.getCmsView()); - String path = get(event, SuiteEvent.CONTENT_PATH); + String path = get(event, SuiteUxEvent.CONTENT_PATH); -// String nodePath = get(event, SuiteEvent.NODE_PATH); if (path != null && path.equals(HOME_STATE)) return ui.getUserDir(); -// String workspace = get(event, SuiteEvent.WORKSPACE); - -// Session session = jcrContentProvider.getJcrSession(contentSession, workspace); -//// Session session = ui.getSession(workspace); Content node; if (path == null) { // look for a user - String username = get(event, SuiteEvent.USERNAME); + String username = get(event, SuiteUxEvent.USERNAME); if (username == null) return null; User user = cmsUserManager.getUser(username); if (user == null) return null; node = ContentUtils.roleToContent(cmsUserManager, contentSession, user); -// LdapName userDn; -// try { -// userDn = new LdapName(user.getName()); -// } catch (InvalidNameException e) { -// throw new IllegalArgumentException("Badly formatted username", e); -// } -// String userNodePath = SuiteUtils.getUserNodePath(userDn); - // FIXME deal with home path -// return null; -// if (Jcr.itemExists(session, userNodePath)) -// node = Jcr.getNode(session, userNodePath); -// else { -// Session adminSession = null; -// try { -// adminSession = CmsJcrUtils.openDataAdminSession(getRepository(), workspace); -// SuiteUtils.getOrCreateUserNode(adminSession, userDn); -// } finally { -// Jcr.logout(adminSession); -// } -// node = Jcr.getNode(session, userNodePath); -// } } else { node = contentSession.get(path); } @@ -627,7 +552,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { Object value = eventProperties.get(key); if (value == null) return null; -// throw new IllegalArgumentException("Property " + key + " must be set"); return value.toString(); } @@ -670,32 +594,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } } -// public void addLayer(SuiteLayer layer, Map properties) { -// if (!properties.containsKey(Constants.SERVICE_PID)) -// throw new IllegalArgumentException("A layer must have an ID"); -// String pid = (String) properties.get(Constants.SERVICE_PID); -// List types = properties.containsKey(EntityConstants.TYPE) -// ? LangUtils.toStringList(properties.get(EntityConstants.TYPE)) -// : new ArrayList<>(); -// if (types.isEmpty()) { -// RankedObject.putIfHigherRank(layersByPid, pid, layer, properties); -// } else { -// if (layersByPid.containsKey(pid)) { -// RankedObject current = layersByPid.get(pid); -// List currentTypes = current.getProperties().containsKey(EntityConstants.TYPE) -// ? LangUtils.toStringList(current.getProperties().get(EntityConstants.TYPE)) -// : new ArrayList<>(); -// if (!types.containsAll(currentTypes)) { -// throw new IllegalArgumentException("Higher-ranked layer " + pid + " contains only types " + types -// + ", while it must override all " + currentTypes); -// } -// } -// RankedObject.putIfHigherRank(layersByPid, pid, layer, properties); -// for (String type : types) -// RankedObject.putIfHigherRank(layersByType, type, layer, properties); -// } -// } - public void addLayer(SuiteLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); @@ -733,14 +631,6 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { this.cmsUserManager = cmsUserManager; } -// protected Repository getRepository() { -// return repository; -// } -// -// public void setRepository(Repository repository) { -// this.repository = repository; -// } - protected ContentRepository getContentRepository() { return contentRepository; } @@ -748,9 +638,4 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { public void setContentRepository(ContentRepository contentRepository) { this.contentRepository = contentRepository; } - -// public void setJcrContentProvider(JcrContentProvider jcrContentProvider) { -// this.jcrContentProvider = jcrContentProvider; -// } - } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteEvent.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteEvent.java deleted file mode 100644 index b408232..0000000 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteEvent.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.argeo.app.ui; - -import java.util.HashMap; -import java.util.Map; - -import javax.jcr.Node; - -import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsEvent; -import org.argeo.jcr.Jcr; -import org.osgi.service.useradmin.User; - -/** Events specific to Argeo Suite. */ -public enum SuiteEvent implements CmsEvent { - openNewPart, refreshPart, switchLayer; - - public final static String LAYER = "layer"; - public final static String USERNAME = "username"; - - // ACR - public final static String CONTENT_PATH = "contentPath"; - - // JCR - @Deprecated - public final static String NODE_PATH = "path"; - @Deprecated - public final static String WORKSPACE = "workspace"; - - public String getTopicBase() { - return "argeo.suite.ui"; - } - - public static Map eventProperties(Content content) { - Map properties = new HashMap<>(); - properties.put(CONTENT_PATH, content.getPath()); - return properties; - } - - @Deprecated - public static Map eventProperties(Node node) { - Map properties = new HashMap<>(); - String contentPath = '/' + Jcr.getWorkspaceName(node) + Jcr.getPath(node); - properties.put(CONTENT_PATH, contentPath); -// properties.put(NODE_PATH, Jcr.getPath(node)); -// properties.put(WORKSPACE, Jcr.getWorkspaceName(node)); - return properties; - } - - public static Map eventProperties(User user) { - Map properties = new HashMap<>(); - properties.put(USERNAME, user.getName()); - return properties; - } -} diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java index 02ff38e..c332929 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java @@ -12,7 +12,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; -/** The view for the default ergonomics of Argeo Suite. */ +/** The view for the default UX of Argeo Suite. */ class SuiteUi extends CmsSwtUi { private static final long serialVersionUID = 6207018859086689108L; private final static CmsLog log = CmsLog.getLog(SuiteUi.class); @@ -25,8 +25,6 @@ class SuiteUi extends CmsSwtUi { private Composite sidePane; private Composite dynamicArea; -// private Session sysSession; -// private Session homeSession; private Content userDir; private Map layers = new HashMap<>(); @@ -34,7 +32,6 @@ class SuiteUi extends CmsSwtUi { private String currentLayerId = null; private boolean loginScreen = false; -// private String postLoginState; public SuiteUi(Composite parent, int style) { super(parent, style); @@ -116,13 +113,12 @@ class SuiteUi extends CmsSwtUi { } if (context == null) { if (!getCmsView().isAnonymous()) - context = getUserDirNode(); + context = getUserDir(); } Composite toShow = getLayer(layerId, context); if (toShow != null) { currentLayerId = layerId; if (!isDisposed()) { -// getDisplay().syncExec(() -> { if (!toShow.isDisposed()) { toShow.moveAbove(null); } else { @@ -131,7 +127,6 @@ class SuiteUi extends CmsSwtUi { toShow.moveAbove(null); } dynamicArea.layout(true, true); -// }); } return toShow; } else { @@ -174,8 +169,6 @@ class SuiteUi extends CmsSwtUi { synchronized void logout() { userDir = null; -// Jcr.logout(sysSession); -// Jcr.logout(homeSession); currentLayerId = null; workAreas.clear(); } @@ -204,27 +197,6 @@ class SuiteUi extends CmsSwtUi { return belowHeader; } -// Session getSysSession() { -// return sysSession; -// } -// -// synchronized void initSessions(Repository repository, String userDirPath) throws RepositoryException { -// this.sysSession = repository.login(); -// this.homeSession = repository.login(CmsConstants.HOME_WORKSPACE); -// userDir = sysSession.getNode(userDirPath); -// addDisposeListener((e) -> { -// Jcr.logout(sysSession); -// Jcr.logout(homeSession); -// }); -// } - - @Deprecated - Content getUserDirNode() { - if (userDir == null) - return null; - return userDir; - } - Content getUserDir() { return userDir; } @@ -233,21 +205,6 @@ class SuiteUi extends CmsSwtUi { this.userDir = userDir; } -// Session getSysSession() { -// return sysSession; -// } - -// Session getSession(String workspaceName) { -// if (workspaceName == null) -// return sysSession; -// if (CmsConstants.SYS_WORKSPACE.equals(workspaceName)) -// return sysSession; -// else if (CmsConstants.HOME_WORKSPACE.equals(workspaceName)) -// return homeSession; -// else -// throw new IllegalArgumentException("Unknown workspace " + workspaceName); -// } - public Localized getTitle() { return title; } @@ -263,13 +220,4 @@ class SuiteUi extends CmsSwtUi { public void setLoginScreen(boolean loginScreen) { this.loginScreen = loginScreen; } - -// public String getPostLoginState() { -// return postLoginState; -// } -// -// public void setPostLoginState(String postLoginState) { -// this.postLoginState = postLoginState; -// } - } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java index 7cda3f8..2ba4314 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java @@ -419,7 +419,7 @@ public class SuiteUiUtils { lbl.setText(txt); lbl.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false)); } - CmsSwtUtils.sendEventOnSelect(button, SuiteEvent.switchLayer.topic(), SuiteEvent.LAYER, layer); + CmsSwtUtils.sendEventOnSelect(button, SuiteUxEvent.switchLayer.topic(), SuiteUxEvent.LAYER, layer); return button; } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java new file mode 100644 index 0000000..00aaddc --- /dev/null +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java @@ -0,0 +1,46 @@ +package org.argeo.app.ui; + +import java.util.HashMap; +import java.util.Map; + +import javax.jcr.Node; + +import org.argeo.api.acr.Content; +import org.argeo.api.cms.CmsEvent; +import org.argeo.jcr.Jcr; +import org.osgi.service.useradmin.User; + +/** Events specific to Argeo Suite UX. */ +public enum SuiteUxEvent implements CmsEvent { + openNewPart, refreshPart, switchLayer; + + public final static String LAYER = "layer"; + public final static String USERNAME = "username"; + + // ACR + public final static String CONTENT_PATH = "contentPath"; + + public String getTopicBase() { + return "argeo.suite.ui"; + } + + public static Map eventProperties(Content content) { + Map properties = new HashMap<>(); + properties.put(CONTENT_PATH, content.getPath()); + return properties; + } + + @Deprecated + public static Map eventProperties(Node node) { + Map properties = new HashMap<>(); + String contentPath = '/' + Jcr.getWorkspaceName(node) + Jcr.getPath(node); + properties.put(CONTENT_PATH, contentPath); + return properties; + } + + public static Map eventProperties(User user) { + Map properties = new HashMap<>(); + properties.put(USERNAME, user.getName()); + return properties; + } +} diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java index e5b474b..b34c605 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java @@ -5,7 +5,7 @@ import org.argeo.api.acr.spi.ProvidedContent; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.acr.SwtUiProvider; import org.argeo.cms.swt.widgets.SwtTreeView; @@ -46,7 +46,7 @@ public class ContentEntryArea implements SwtUiProvider { contentPart.onSelected((o) -> { Content c = (Content) o; log.debug(c.getPath()); - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(c)); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(c)); }); return view; } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java index 614e877..657a851 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java @@ -7,7 +7,7 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import org.argeo.api.cms.ux.CmsView; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.cms.fs.CmsFsUtils; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; @@ -29,7 +29,7 @@ public class DocumentsFolderUiProvider implements CmsUiProvider { protected void externalNavigateTo(Path path) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(Jcr.getSession(context).getRepository(), path)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteEvent.openNewPart.topic(), SuiteEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUxEvent.eventProperties(folderNode)); } }; dfc.setLayoutData(CmsSwtUtils.fillAll()); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java index 10ce4a3..6c0bdfc 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java @@ -8,7 +8,7 @@ import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.fs.CmsFsUtils; @@ -46,7 +46,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(folderNode)); } } }); @@ -59,7 +59,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteEvent.openNewPart.topic(), SuiteEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUxEvent.eventProperties(folderNode)); } } }); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java index d86eef2..0fbb5cb 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java @@ -13,7 +13,7 @@ import javax.jcr.query.Query; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsConstants; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.widgets.TreeOrSearchArea; import org.argeo.cms.jcr.acr.JcrContentProvider; @@ -85,8 +85,8 @@ public class JcrContentEntryArea implements CmsUiProvider { public void doubleClick(DoubleClickEvent event) { Node user = (Node) ui.getTreeViewer().getStructuredSelection().getFirstElement(); if (user != null) { - CmsSwtUtils.getCmsView(parent).sendEvent(SuiteEvent.openNewPart.topic(), - SuiteEvent.eventProperties(user)); + CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.openNewPart.topic(), + SuiteUxEvent.eventProperties(user)); } } @@ -95,8 +95,8 @@ public class JcrContentEntryArea implements CmsUiProvider { public void selectionChanged(SelectionChangedEvent event) { Node user = (Node) ui.getTreeViewer().getStructuredSelection().getFirstElement(); if (user != null) { - CmsSwtUtils.getCmsView(parent).sendEvent(SuiteEvent.refreshPart.topic(), - SuiteEvent.eventProperties(user)); + CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.refreshPart.topic(), + SuiteUxEvent.eventProperties(user)); } } }); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java index 28a84b0..97c0e7c 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java @@ -15,7 +15,7 @@ import javax.jcr.RepositoryException; import org.apache.commons.io.IOUtils; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.ux.CmsView; import org.argeo.api.cms.CmsConstants; @@ -275,8 +275,8 @@ public class OpenLayersMap extends Composite { Map properties = new HashMap<>(); // properties.put(SuiteEvent.NODE_PATH, path); // properties.put(SuiteEvent.WORKSPACE, CmsConstants.SYS_WORKSPACE); - properties.put(SuiteEvent.CONTENT_PATH, '/' + CmsConstants.SYS_WORKSPACE + path); - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), properties); + properties.put(SuiteUxEvent.CONTENT_PATH, '/' + CmsConstants.SYS_WORKSPACE + path); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), properties); return null; } } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java index 0329c33..339ea25 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java @@ -11,7 +11,7 @@ import org.argeo.api.acr.ContentRepository; import org.argeo.api.acr.ContentSession; import org.argeo.api.cms.ux.CmsIcon; import org.argeo.api.cms.ux.CmsView; -import org.argeo.app.ui.SuiteEvent; +import org.argeo.app.ui.SuiteUxEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.cms.CmsUserManager; import org.argeo.cms.acr.ContentUtils; @@ -219,15 +219,15 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { if (o instanceof HierarchyUnit) { HierarchyUnit hierarchyUnit = (HierarchyUnit) o; usersPart.setInput(hierarchyUnit); - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), - SuiteEvent.eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit))); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), + SuiteUxEvent.eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit))); } }); usersPart.onSelected((o) -> { Content user = (Content) o; if (user != null) { - cmsView.sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(user)); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(user)); deleteItem.setEnabled(true); } else { deleteItem.setEnabled(false); @@ -237,7 +237,7 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { usersPart.onAction((o) -> { Content user = (Content) o; if (user != null) { - cmsView.sendEvent(SuiteEvent.openNewPart.topic(), SuiteEvent.eventProperties(user)); + cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUxEvent.eventProperties(user)); } });