dashboard=dashboard
-people=contacts
+#people=contacts
documents=documents
locations=locations
recentItems=recent items
private Composite dynamicArea;
private Session sysSession;
-// private Session homeSession;
+ private Session homeSession;
private Node userDir;
private Map<String, SuiteLayer> layers = new HashMap<>();
//
synchronized void initSessions(Repository repository, String userDirPath) throws RepositoryException {
this.sysSession = repository.login();
-// this.homeSession = repository.login(NodeConstants.HOME_WORKSPACE);
+ this.homeSession = repository.login(NodeConstants.HOME_WORKSPACE);
userDir = sysSession.getNode(userDirPath);
addDisposeListener((e) -> {
Jcr.logout(sysSession);
-// Jcr.logout(homeSession);
+ Jcr.logout(homeSession);
});
}
return sysSession;
if (NodeConstants.SYS_WORKSPACE.equals(workspaceName))
return sysSession;
-// else if (NodeConstants.HOME_WORKSPACE.equals(workspaceName))
-// return homeSession;
+ else if (NodeConstants.HOME_WORKSPACE.equals(workspaceName))
+ return homeSession;
else
throw new IllegalArgumentException("Unknown workspace " + workspaceName);
}
service.pid=argeo.geo.ui.mapLayer
title=%map
-icon=map
\ No newline at end of file
+icon=map
+
+entity.type=entity:geopoint
import javax.jcr.observation.EventListener;
import javax.jcr.query.Query;
-import org.argeo.api.NodeConstants;
-import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.ui.CmsUiProvider;
-import org.argeo.cms.ui.CmsView;
import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.entity.EntityType;
import org.argeo.jcr.JcrException;
}
});
}
- }, Event.PROPERTY_CHANGED | Event.NODE_ADDED | Event.NODE_REMOVED | Event.PROPERTY_ADDED,
- "/", true, null, nodeTypes, false);
+ }, Event.PROPERTY_CHANGED | Event.NODE_ADDED | Event.NODE_REMOVED | Event.PROPERTY_ADDED, "/", true, null,
+ nodeTypes, false);
} catch (RepositoryException e) {
throw new IllegalStateException("Cannot add JCR observer", e);
}
protected void refreshUi(Composite parent, Node context) throws RepositoryException {
CmsUiUtils.clear(parent);
- boolean coworker = CmsView.getCmsView(parent).doAs(() -> CurrentUser.isInRole(NodeConstants.ROLE_USER_ADMIN));
Query query = context.getSession().getWorkspace().getQueryManager()
- .createQuery("SELECT * FROM [" + EntityType.local.get() + "] WHERE [entity:type]='"
- + EntityType.geopoint.get() + "'",
- Query.JCR_SQL2);
+ .createQuery("SELECT * FROM [" + EntityType.geopoint.get() + "]", Query.JCR_SQL2);
List<Node> geoPoints = JcrUtils.nodeIteratorToList(query.execute().getNodes());
OpenLayersMap apafMap = new OpenLayersMap(parent, SWT.NONE, getClass().getResource("map-osm.html"));
apafMap.setLayoutData(CmsUiUtils.fillAll());
--- /dev/null
+content=content
service.pid=argeo.documents.ui.documentsLayer
-title=Documents
-icon=documents
\ No newline at end of file
+title=%content
+icon=documents
+
+entity.type=nt:folder
package org.argeo.documents.ui;
+import java.nio.file.Path;
import java.nio.file.spi.FileSystemProvider;
import javax.jcr.Node;
import org.argeo.cms.ui.CmsUiProvider;
import org.argeo.cms.ui.CmsView;
import org.argeo.cms.ui.util.CmsUiUtils;
+import org.argeo.jcr.Jcr;
+import org.argeo.suite.ui.SuiteEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@Override
public Control createUi(Composite parent, Node context) throws RepositoryException {
CmsView cmsView = CmsView.getCmsView(parent);
- DocumentsFolderComposite dfc = new DocumentsFolderComposite(parent, SWT.NONE, context);
+ DocumentsFolderComposite dfc = new DocumentsFolderComposite(parent, SWT.NONE, context) {
+
+ @Override
+ 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));
+ }
+ };
dfc.setLayoutData(CmsUiUtils.fillAll());
dfc.populate(cmsView.doAs(() -> CmsFsUtils.getPath(nodeFileSystemProvider, context)));
return dfc;
--- /dev/null
+people=people