From: bsinou Date: Thu, 26 Jan 2017 18:14:04 +0000 (+0100) Subject: Introduce a bundle for Rap Workbench X-Git-Tag: argeo-suite-0.1.1~21 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=8bdde6aa832531285352b099ceecb5d890bd67a8 Introduce a bundle for Rap Workbench --- diff --git a/org.argeo.suite.web/META-INF/spring/ui.xml b/org.argeo.suite.web/META-INF/spring/ui.xml index e11d967..8e5f084 100644 --- a/org.argeo.suite.web/META-INF/spring/ui.xml +++ b/org.argeo.suite.web/META-INF/spring/ui.xml @@ -48,7 +48,8 @@ - + + diff --git a/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png b/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png new file mode 100644 index 0000000..cd8207a Binary files /dev/null and b/org.argeo.suite.web/theme/argeo-classic/icons/favicon.png differ diff --git a/org.argeo.suite.workbench.rap/.classpath b/org.argeo.suite.workbench.rap/.classpath new file mode 100644 index 0000000..1ef7358 --- /dev/null +++ b/org.argeo.suite.workbench.rap/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.argeo.suite.workbench.rap/.gitignore b/org.argeo.suite.workbench.rap/.gitignore new file mode 100644 index 0000000..09e3bc9 --- /dev/null +++ b/org.argeo.suite.workbench.rap/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/target/ diff --git a/org.argeo.suite.workbench.rap/.project b/org.argeo.suite.workbench.rap/.project new file mode 100644 index 0000000..4c4c4ff --- /dev/null +++ b/org.argeo.suite.workbench.rap/.project @@ -0,0 +1,28 @@ + + + org.argeo.suite.workbench.rap + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/org.argeo.suite.workbench.rap/META-INF/.gitignore b/org.argeo.suite.workbench.rap/META-INF/.gitignore new file mode 100644 index 0000000..4854a41 --- /dev/null +++ b/org.argeo.suite.workbench.rap/META-INF/.gitignore @@ -0,0 +1 @@ +/MANIFEST.MF diff --git a/org.argeo.suite.workbench.rap/apps.properties b/org.argeo.suite.workbench.rap/apps.properties new file mode 100644 index 0000000..e0227a3 --- /dev/null +++ b/org.argeo.suite.workbench.rap/apps.properties @@ -0,0 +1 @@ +argeo.security.systemKey=argeo \ No newline at end of file diff --git a/org.argeo.suite.workbench.rap/bnd.bnd b/org.argeo.suite.workbench.rap/bnd.bnd new file mode 100644 index 0000000..4439ee6 --- /dev/null +++ b/org.argeo.suite.workbench.rap/bnd.bnd @@ -0,0 +1,18 @@ +Require-Capability: cms.datamodel; filter:="(name=people)" + +Bundle-Activator: org.argeo.suite.workbench.AsUiPlugin +Bundle-SymbolicName: org.argeo.suite.workbench.rap;singleton:=true +Require-Bundle: org.eclipse.core.runtime,\ + org.eclipse.rap.ui,\ + org.eclipse.rap.ui.workbench + +Import-Package:\ +javax.jcr.nodetype,\ +javax.jcr.security,\ +org.argeo.cms,\ +org.argeo.cms.ui.workbench,\ +org.argeo.connect.people.rap.views,\ +org.argeo.eclipse.spring,\ +org.argeo.node,\ +org.argeo.util,\ +* \ No newline at end of file diff --git a/org.argeo.suite.workbench.rap/plugin.xml b/org.argeo.suite.workbench.rap/plugin.xml new file mode 100644 index 0000000..efa841e --- /dev/null +++ b/org.argeo.suite.workbench.rap/plugin.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.suite.workbench.rap/pom.xml b/org.argeo.suite.workbench.rap/pom.xml new file mode 100644 index 0000000..b252909 --- /dev/null +++ b/org.argeo.suite.workbench.rap/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.argeo.suite + argeo-suite + 0.1.1-SNAPSHOT + .. + + org.argeo.suite.workbench.rap + Argeo Suite Rap Workbench + jar + + + org.argeo.suite + org.argeo.suite.web + 0.1.1-SNAPSHOT + + + org.argeo.connect + org.argeo.connect.people.rap + ${version.argeo-connect} + + + + + + + + diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java new file mode 100644 index 0000000..60663a6 --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/AsUiPlugin.java @@ -0,0 +1,73 @@ +package org.argeo.suite.workbench; + +import java.net.URL; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** The activator class controls the plug-in life cycle */ +public class AsUiPlugin extends AbstractUIPlugin { + + public static final String PLUGIN_ID = "org.argeo.suite.workbench"; + + // The shared instance + private static AsUiPlugin plugin; + + private BundleContext bundleContext; + + /** Default constructor */ + public AsUiPlugin() { + } + + public void start(BundleContext context) throws Exception { + super.start(context); + this.bundleContext = context; + plugin = this; + } + + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static AsUiPlugin getDefault() { + return plugin; + } + + /** Creates the image */ + public static Image img(String path) { + return getImageDescriptor(path).createImage(); + } + + /** + * Returns an image descriptor for the image file at the given plug-in + * relative path + * + * @param path + * the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + public URL imageUrl(String path) { + return bundleContext.getBundle().getResource(path); + } + + @Override + protected void initializeImageRegistry(ImageRegistry reg) { + } + + public BundleContext getBundleContext() { + return bundleContext; + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java new file mode 100644 index 0000000..71fb19c --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/DashboardPerspective.java @@ -0,0 +1,23 @@ +package org.argeo.suite.workbench; + +import org.argeo.connect.people.rap.views.MyTasksView; +import org.argeo.connect.people.rap.views.PeopleDefaultView; +import org.eclipse.ui.IFolderLayout; +import org.eclipse.ui.IPageLayout; +import org.eclipse.ui.IPerspectiveFactory; + +/** Default office perspective */ +public class DashboardPerspective implements IPerspectiveFactory { + + public void createInitialLayout(IPageLayout layout) { + String editorArea = layout.getEditorArea(); + layout.setEditorAreaVisible(true); + layout.setFixed(false); + + IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT, 0.25f, editorArea); + left.addView(MyTasksView.ID); + // Only show contacts to coworkers + // if (CurrentUser.isInRole(AoRole.coworker.dn())) + left.addView(PeopleDefaultView.ID); + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java new file mode 100644 index 0000000..1b985bf --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsActionBarAdvisor.java @@ -0,0 +1,12 @@ +package org.argeo.suite.workbench.rap; + +import org.argeo.cms.ui.workbench.rap.RapActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; + +/** Eclipse rap specific action bar advisor */ +public class AsActionBarAdvisor extends RapActionBarAdvisor { + + public AsActionBarAdvisor(IActionBarConfigurer configurer, String username) { + super(configurer, username); + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java new file mode 100644 index 0000000..7c1a93a --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsSecureEntryPoint.java @@ -0,0 +1,79 @@ +package org.argeo.suite.workbench.rap; + +import static org.eclipse.swt.SWT.CENTER; +import static org.eclipse.swt.SWT.LEFT; +import static org.eclipse.swt.SWT.NO_FOCUS; +import static org.eclipse.swt.SWT.TOP; + +import org.argeo.cms.ui.workbench.rap.RapWorkbenchAdvisor; +import org.argeo.cms.ui.workbench.rap.RapWorkbenchLogin; +import org.argeo.cms.util.CmsUtils; +import org.argeo.cms.widgets.auth.CmsLogin; +import org.argeo.eclipse.ui.EclipseUiUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +/** + * This class controls all aspects of the application's execution and is + * contributed through the plugin.xml. + */ +public class AsSecureEntryPoint extends RapWorkbenchLogin { + + /** Override to provide an application specific workbench advisor */ + protected RapWorkbenchAdvisor createRapWorkbenchAdvisor(String username) { + return new AsWorkbenchAdvisor(username); + } + + protected void createLoginPage(Composite parent, CmsLogin login) { + parent.setLayout(EclipseUiUtils.noSpaceGridLayout()); + + // Main layout + Composite bodyCmp = new Composite(parent, SWT.NO_FOCUS); + bodyCmp.setLayoutData(EclipseUiUtils.fillAll()); + GridLayout gl = new GridLayout(); + gl.marginHeight = 25; + gl.marginWidth = 40; + bodyCmp.setLayout(gl); + + // Logo + Label headerLbl = new Label(bodyCmp, SWT.WRAP); + CmsUtils.markup(headerLbl); + String headerStr = " " + + " " + + ""; + headerLbl.setText(headerStr); + GridData gd = new GridData(SWT.LEFT, SWT.CENTER, true, false); + headerLbl.setLayoutData(gd); + + // Title + Label titleLbl = new Label(bodyCmp, SWT.WRAP | SWT.CENTER); + CmsUtils.markup(titleLbl); + String titleStr = " Please sign in to your personal dashboard"; + titleLbl.setText(titleStr); + gd = new GridData(SWT.CENTER, SWT.BOTTOM, false, false); + gd.verticalIndent = 40; + titleLbl.setLayoutData(gd); + + // Login composite + Composite loginCmp = login.createCredentialsBlock(bodyCmp); + gd = new GridData(SWT.CENTER, SWT.TOP, true, true); + gd.widthHint = 200; + gd.verticalIndent = 15; + loginCmp.setLayoutData(gd); + + // Footer + Label footerLbl = new Label(bodyCmp, SWT.WRAP | SWT.CENTER); + CmsUtils.markup(footerLbl); + String footerStr = "SDPS is a private service.
" + + " Please contact us if you have any question.
"; + footerLbl.setText(footerStr); + footerLbl.setLayoutData(EclipseUiUtils.fillWidth()); + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java new file mode 100644 index 0000000..d8c992e --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWelcomeRedirect.java @@ -0,0 +1,17 @@ +package org.argeo.suite.workbench.rap; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +public class AsWelcomeRedirect extends HttpServlet { + private static final long serialVersionUID = 4359084312826596812L; + + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect(resp.encodeRedirectURL("/ui/WelcomePage")); + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java new file mode 100644 index 0000000..19a98d3 --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWindowAdvisor.java @@ -0,0 +1,36 @@ +package org.argeo.suite.workbench.rap; + +import org.argeo.cms.ui.workbench.rap.RapWindowAdvisor; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; + +/** Eclipse RAP specific window advisor */ +public class AsWindowAdvisor extends RapWindowAdvisor { + + private String username; + + public AsWindowAdvisor(IWorkbenchWindowConfigurer configurer, + String username) { + super(configurer, username); + this.username = username; + } + + @Override + public ActionBarAdvisor createActionBarAdvisor( + IActionBarConfigurer configurer) { + return new AsActionBarAdvisor(configurer, username); + } + + @Override + public void preWindowOpen() { + super.preWindowOpen(); + IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); + configurer.setShowStatusLine(true); + } + + @Override + public void postWindowOpen() { + super.postWindowOpen(); + } +} diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java new file mode 100644 index 0000000..5f67135 --- /dev/null +++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/rap/AsWorkbenchAdvisor.java @@ -0,0 +1,38 @@ +package org.argeo.suite.workbench.rap; + +import org.argeo.cms.ui.workbench.rap.RapWorkbenchAdvisor; +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; +import org.eclipse.ui.application.WorkbenchWindowAdvisor; + +/** Eclipse RAP specific workbench advisor */ +public class AsWorkbenchAdvisor extends RapWorkbenchAdvisor { + + private String username; + + @Override + public void postStartup() { + super.postStartup(); + // ExitConfirmation confirmation = RWT.getClient().getService( + // ExitConfirmation.class); + // confirmation.setMessage("Are you sure you want to leave the page? " + // + "All un-saved information will be lost."); + } + + public void postShutdown() { + super.postShutdown(); + // ExitConfirmation confirmation = RWT.getClient().getService( + // ExitConfirmation.class); + // if (confirmation != null) + // confirmation.setMessage(null); + } + + public AsWorkbenchAdvisor(String username) { + super(username); + this.username = username; + } + + public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( + IWorkbenchWindowConfigurer configurer) { + return new AsWindowAdvisor(configurer, username); + } +} diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png new file mode 100644 index 0000000..cd8207a Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/favicon.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png new file mode 100644 index 0000000..3f56074 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/createFolder.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png new file mode 100644 index 0000000..9150e40 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/delete.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png new file mode 100644 index 0000000..3f56074 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/downloadFolder.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png new file mode 100644 index 0000000..3f56074 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/open.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png new file mode 100644 index 0000000..3f56074 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/shareFolder.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png new file mode 100644 index 0000000..3f56074 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/fs/upload.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt new file mode 100644 index 0000000..4e60cf3 --- /dev/null +++ b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/Icon-credit.txt @@ -0,0 +1,17 @@ +Some of the icons have been downloaded from http://www.fatcow.com/free-icons. +They are licenced under Creative Commons Attribution 3.0 License. + +These icons were as from October 3rd, 2013 the following: +fax.png +mail_black.png +phone-vintage.png +telephone.png + +Some of the icons have been downloaded from http://somerandomdude.com/work/iconic/. +They are licenced under Creative Commons Attribution 3.0 License. + +These icons were as from October 15th, 2013 the following: +socialmedia.png (former chat_alt_stroke_16x16.png) +home.png (former home_16x16.png) +mobile.png (former iphone_12x16.png) +link.png (former link_16x16.png) diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png new file mode 100644 index 0000000..8e7e44c Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/facebook.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png new file mode 100644 index 0000000..791f511 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/fax.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png new file mode 100644 index 0000000..ff97843 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/googleplus.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png new file mode 100644 index 0000000..16834e3 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/home.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png new file mode 100644 index 0000000..b334f91 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/impp.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png new file mode 100644 index 0000000..f223cfa Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/link.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png new file mode 100644 index 0000000..d86dc0e Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/linkedin.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png new file mode 100644 index 0000000..790f750 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mail_black.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png new file mode 100644 index 0000000..08ac54b Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/mobile.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png new file mode 100644 index 0000000..beb04fc Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/myspace.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png new file mode 100644 index 0000000..7e463ad Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/phone_vintage.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png new file mode 100644 index 0000000..0eac7b8 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/reddit.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png new file mode 100644 index 0000000..e31a04d Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/skype.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png new file mode 100644 index 0000000..f0d1722 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/socialmedia.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png new file mode 100644 index 0000000..e04ec63 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/telephone.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png new file mode 100644 index 0000000..1023e5b Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/twitter.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png new file mode 100644 index 0000000..26fd283 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/contacts/xing.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif new file mode 100644 index 0000000..1965b84 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primary.gif differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif new file mode 100644 index 0000000..acb0268 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/misc/primaryNOT.gif differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif new file mode 100644 index 0000000..d28c326 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/people.gif differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png new file mode 100644 index 0000000..06aa725 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/company.png differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif new file mode 100644 index 0000000..90a0014 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/icons/people/types/person.gif differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg b/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg new file mode 100644 index 0000000..0a2bb68 Binary files /dev/null and b/org.argeo.suite.workbench.rap/theme/argeo-classic/img/logo.jpg differ diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css new file mode 100644 index 0000000..a5d18b2 --- /dev/null +++ b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-ext.css @@ -0,0 +1,284 @@ +/****************************************** +** Argeo Suite specific theming ** +******************************************/ + +/* Extends the default RAP theme. TODO: create a complete homogeneous theme */ + + +/** Uncomment this for dev only to show all composite borders */ +/* +Composite, .showBorder, Composite.showBorder{ + border:1px solid fuchsia; +} + +Label { + border:1px solid blue; +} +*/ +/** DEFAULT STYLE - Override some styling provided by RAP **/ + +* { + color: #333333; + background-color: white; + background-image: none; + font: 12px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif; +} + +*:disabled { + color: #555555; +} + +Text, +Combo-Field, DateTime-Field { + padding: 2px 8px 2px 8px; +} + +Text[BORDER], +Text[MULTI][BORDER] { + box-shadow: inset 0 0 1px #bdbdbd; +} + + +Combo { + font: 14px Verdana, "Lucida Sans", Arial, Helvetica, sans-serif; + padding: 2px 8px 2px 8px; +} + +Combo, +Combo[BORDER] { + box-shadow: inset 0 0 1px #bdbdbd; +} + +Combo:focused, +Combo[BORDER]:focused, +DropDown, +Combo-List { + box-shadow: 1px 1px 2px black; + border: 1px solid #a4a4a4; +} + +Widget-ToolTip { + animation: fadeIn 250ms ease-in, fadeOut 250ms ease-in; +} + + +/** GADGETS **/ +.people_gadget { + border: 1px solid #f3f3f4; + border-radius: 0px; + padding: 0px 0px; + margin: 0px 0px; + background-image: none; + background-color: transparent; +} + +.people_gadget_header { + background-color: #f3f3f4; + font-color: white; + color: white; /*dont work */ + font: bold 14px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif; + +} + +/** HEADER + **/ +.people_entity_header { + font: 14px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif; + text-decoration: none; +} + + +/****** Flat image Buttons *********/ +Button[PUSH][FLAT].people_flat_btn, +Button.people_flat_btn, +Button.people_flat_btn:default, +Button.people_flat_btn:disabled, +Button.people_flat_btn:hover, +Button.people_flat_btn:pressed, +Button.people_flat_btn:selected { + border: 0px solid white; + border-radius: 0px; + padding: 0px 0px; + background-image: none; + background-color: transparent; + animation: hoverOut 500ms ease-out; + cursor: pointer; +} + +/* + +Button.createFolder_btn:selected, +Button.createFolder_btn:disabled, +Button.createFolder_btn:pressed, + +*/ + +/****** Context menu *********/ +.contextMenu_box { + border: 0px solid #fde2d5; + padding: 0px; + box-shadow: 2px 2px 5px #fde2d5; +} + +Button[PUSH][FLAT].createFolder_btn { + background-image: url( theme/argeo-classic/icons/fs/createFolder.png); +} + +Button[PUSH][FLAT].shareFolder_btn { + background-image: url( theme/argeo-classic/icons/fs/shareFolder.png); +} + +Button[PUSH][FLAT].downloadFolder_btn { + background-image: url( theme/argeo-classic/icons/fs/downloadFolder.png); +} + +Button[PUSH][FLAT].delete_btn { + background-image: url( theme/argeo-classic/icons/fs/delete.png); +} + +Button[PUSH][FLAT].uploadFiles_btn { + background-image: url( theme/argeo-classic/icons/fs/upload.png); +} + +Button[PUSH][FLAT].open_btn { + background-image: url( theme/argeo-classic/icons/fs/open.png); +} + +Button[PUSH][FLAT].shareFolder_btn, +Button[PUSH][FLAT].downloadFolder_btn, +Button[PUSH][FLAT].delete_btn, +Button[PUSH][FLAT].uploadFiles_btn, +Button[PUSH][FLAT].open_btn, +Button[PUSH][FLAT].createFolder_btn { + border: 0px solid white; + border-left: 10px solid transparent; + border-radius: 0px; + padding: 8px 5px 8px 24px; + background-color: transparent; + background-repeat: no-repeat; + background-position: left; + animation: hoverOut 500ms ease-out; + cursor: pointer; +} + +Button[PUSH][FLAT].shareFolder_btn:hover, +Button[PUSH][FLAT].downloadFolder_btn:hover, +Button[PUSH][FLAT].delete_btn:hover, +Button[PUSH][FLAT].uploadFiles_btn:hover, +Button[PUSH][FLAT].open_btn:hover, +Button[PUSH][FLAT].createFolder_btn:hover { + background-color: #fef0ea; +} + +Button[PUSH][FLAT].shareFolder_btn:pressed, +Button[PUSH][FLAT].downloadFolder_btn:pressed, +Button[PUSH][FLAT].delete_btn:pressed, +Button[PUSH][FLAT].uploadFiles_btn:pressed, +Button[PUSH][FLAT].open_btn:pressed, +Button[PUSH][FLAT].createFolder_btn:pressed { + background-color: #fde2d5; +} + +/*******************************/ +/* People Generic Styling **/ +/*******************************/ + +/** TEXTS **/ + +/* Force show border on text even when disabled */ +Text.people_force_border[BORDER]:disabled, +Text.people_force_border[MULTI][BORDER]:disabled { + box-shadow: none; + border: 1px solid #a4a4a4; +} + +Text[BORDER]:disabled, +Text[MULTI][BORDER]:disabled { + box-shadow: none; + border: 1px solid white; +} + +/* Signals focus gained ********/ +Text[BORDER]:focused, +Text[MULTI][BORDER]:focused, +Shell.people_popup_shell { + box-shadow: 1px 1px 2px black; + border: 1px solid #a4a4a4; +} + +/** LOGO */ +.people-logoComposite { + background-image: gradient(linear, left top, right top, + from( #007a9a ), + to( #00294a ) +); +} + +.people-logo { + background-color: transparent; +} + +.people-logoTable { + background-color: transparent; + color: white; + font: 12px Helvetica, Verdana, "Lucida Sans", Arial, sans-serif; +} + +/** Corresponding links */ +Link.people-logoTable, +Link.people-logoTable:hover, +Link.people-logoTable:selected, +Link.people-logoTable:selected:unfocused, +Link.people-logoTable:linesvisible:even:hover, +Link.people-logoTable:linesvisible:even:selected, +Link.people-logoTable:linesvisible:even:selected:unfocused +{ + background-color: transparent; + color: #ffffff; + background-image: none; + +} + +/******** LINKS **************/ + +Link, Link-Hyperlink, +Link-Hyperlink:link, +Link-Hyperlink:visited, +Link-Hyperlink:active { + color: #333333; + background-color: #ffffff; + background-image: none; + text-shadow: none; + text-decoration: none; +} + +Link-Hyperlink:hover { + text-decoration: underline; +} + +Link-Hyperlink:disabled { + color: #959595; +} + +/*** Override default links **/ +a:link { + color: #333333; text-decoration:none; +} +a:hover { + text-decoration:underline; +} + + +/** TABLE ITEMS **/ +/* Fix invisible links on selected and hover table rows */ +Table-RowOverlay:selected, +Table-RowOverlay:linesvisible:even:selected { + color: #333333; + background-color: #9aaaba; +} + +Table-RowOverlay:selected:unfocused, +Table-RowOverlay:linesvisible:even:selected:unfocused { + color: #333333; + background-color: #a3b3c4; +} diff --git a/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css new file mode 100644 index 0000000..0ddeccb --- /dev/null +++ b/org.argeo.suite.workbench.rap/theme/argeo-classic/workbench-headerExt.css @@ -0,0 +1,15 @@ +/****************************************** +** Argeo Suite additional header ** +******************************************/ + +/* Force the addition of global styles to the application header */ + +/*** Override default links **/ +a:link { + color: #333333; + text-decoration:none; +} + +a:hover { + text-decoration:underline; +} diff --git a/pom.xml b/pom.xml index 387030f..77b1282 100644 --- a/pom.xml +++ b/pom.xml @@ -14,9 +14,11 @@ 0.1.1-SNAPSHOT org.argeo.suite.web + org.argeo.suite.workbench.rap sdk + 0.1.1-SNAPSHOT 0.1 2.1.63 2.1.9 diff --git a/sdk/argeo_suite_web.properties b/sdk/argeo_suite_web.properties index 261afa3..3f2f57c 100644 --- a/sdk/argeo_suite_web.properties +++ b/sdk/argeo_suite_web.properties @@ -9,11 +9,8 @@ argeo.osgi.start.5.workbench=org.eclipse.equinox.http.registry argeo.osgi.start.5.apps=org.argeo.connect.people.web,\ org.argeo.connect.people.rap -argeo.osgi.start.6.apps=org.argeo.suite.web - -## rel path from the exec// folder (user.dir) to the FIRST INIT dir -#argeo.node.init=../../../org.argeo.suite.web/resources/init - +argeo.osgi.start.6.apps=org.argeo.suite.web,\ +org.argeo.suite.workbench.rap ## Rap Workbench configuration ## Open the user admin page by default when opening the workbench @@ -21,9 +18,6 @@ org.argeo.security.ui.initialPerspective=org.argeo.cms.ui.workbench.adminSecurit # Default home page for the Specific People RAP workbench perspective org.argeo.ui.openHomeCommandId=org.argeo.connect.people.rap.openDefaultEditor -## LDAP -#argeo.node.useradmin.uris=dc=demo,dc=suite,dc=argeo,dc=org.ldif?userBase=ou=People&groupBase=ou=Groups - ## JCR BACKEND argeo.node.repo.type=h2 diff --git a/sdk/org.argeo.suite.sdk/pom.xml b/sdk/org.argeo.suite.sdk/pom.xml index 75ec7de..87b8d13 100644 --- a/sdk/org.argeo.suite.sdk/pom.xml +++ b/sdk/org.argeo.suite.sdk/pom.xml @@ -13,6 +13,15 @@ jar + + + + org.argeo.suite + org.argeo.suite.workbench.rap + 0.1.1-SNAPSHOT + + + org.argeo.suite org.argeo.suite.web