kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1587 discussions
r809 - in trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar: . sitenewgroup siteoptions sitepublic sitesign
by vjrj 20 Jul '08
by vjrj 20 Jul '08
20 Jul '08
Author: vjrj
Date: 2008-07-21 00:13:16 +0200 (Mon, 21 Jul 2008)
New Revision: 809
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLink.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLink.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLink.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLink.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkView.java
Log:
Workspace refactorization
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLink.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLink.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLink.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup;
+
+public interface SiteNewGroupLink {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPanel.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPanel.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,14 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup;
+
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.Hyperlink;
+
+public class SiteNewGroupLinkPanel implements SiteNewGroupLinkView {
+
+ private final Hyperlink newGroupHyperlink;
+
+ public SiteNewGroupLinkPanel(final SiteNewGroupLinkPresenter presenter, final WorkspaceSkeleton ws) {
+ newGroupHyperlink = new Hyperlink();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPresenter.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,22 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup;
+
+import org.ourproject.kune.platf.client.View;
+
+public class SiteNewGroupLinkPresenter implements SiteNewGroupLink {
+
+private SiteNewGroupLinkView view;
+
+public SiteNewGroupLinkPresenter() {
+}
+
+public void init(SiteNewGroupLinkView view) {
+this.view = view;
+}
+
+
+ public View getView() {
+ return view;
+ }
+
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkView.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitenewgroup/SiteNewGroupLinkView.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SiteNewGroupLinkView extends View {
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptions.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptions.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions;
+
+public interface SiteOptions {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPanel.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPanel.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,9 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions;
+
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+public class SiteOptionsPanel implements SiteOptionsView {
+
+ public SiteOptionsPanel(final SiteOptionsPresenter presenter, final WorkspaceSkeleton ws) {
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPresenter.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,22 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions;
+
+import org.ourproject.kune.platf.client.View;
+
+public class SiteOptionsPresenter implements SiteOptions {
+
+private SiteOptionsView view;
+
+public SiteOptionsPresenter() {
+}
+
+public void init(SiteOptionsView view) {
+this.view = view;
+}
+
+
+ public View getView() {
+ return view;
+ }
+
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsView.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteoptions/SiteOptionsView.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SiteOptionsView extends View {
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLink.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLink.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLink.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,11 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic;
+
+import org.ourproject.kune.platf.client.dto.StateDTO;
+
+public interface SitePublicSpaceLink {
+
+ void setState(StateDTO state);
+
+ void setVisible(boolean visible);
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPanel.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPanel.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,61 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic;
+
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.IconLabel;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.sitebar.Site;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.SiteBar;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class SitePublicSpaceLinkPanel implements SitePublicSpaceLinkView {
+
+ private final HorizontalPanel publicHP;
+ private final IconLabel contentNoPublic;
+ private final IconLabel gotoPublic;
+ private String publicUrl;
+
+ public SitePublicSpaceLinkPanel(final SitePublicSpaceLinkPresenter presenter, final WorkspaceSkeleton ws,
+ final I18nUITranslationService i18n, final Images img) {
+ publicHP = new HorizontalPanel();
+ gotoPublic = new IconLabel(img.anybody(), i18n.t("Go to Public Space"), false);
+ contentNoPublic = new IconLabel(img.anybody(), i18n.t("This content is not public"));
+ publicHP.add(gotoPublic);
+ publicHP.add(contentNoPublic);
+ final SiteBar siteBar = ws.getSiteBar();
+ siteBar.add(publicHP);
+ siteBar.addFill();
+
+ gotoPublic.addStyleName("kune-Margin-Medium-r");
+ setContentPublic(true);
+ gotoPublic.addClickListener(new ClickListener() {
+ public void onClick(final Widget sender) {
+ gotoPublic();
+ }
+ });
+ gotoPublic.setTitle(i18n.t("Leave the workspace and go to the public space of this group")
+ + Site.IN_DEVELOPMENT);
+ gotoPublic.addStyleName("kune-SiteBarPanel-LabelLink");
+ }
+
+ public void setContentGotoPublicUrl(final String publicUrl) {
+ this.publicUrl = publicUrl;
+ }
+
+ public void setContentPublic(boolean visible) {
+ gotoPublic.setVisible(visible);
+ contentNoPublic.setVisible(!visible);
+ }
+
+ public void setVisible(final boolean visible) {
+ publicHP.setVisible(visible);
+ }
+
+ private void gotoPublic() {
+ Window.open(publicUrl, "_blank", "");
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPresenter.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,38 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.GroupListDTO;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+
+public class SitePublicSpaceLinkPresenter implements SitePublicSpaceLink {
+
+ private SitePublicSpaceLinkView view;
+
+ public SitePublicSpaceLinkPresenter() {
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(final SitePublicSpaceLinkView view) {
+ this.view = view;
+ }
+
+ public void setState(final StateDTO state) {
+ final StateToken token = state.getStateToken();
+ if (state.getAccessLists().getViewers().getMode().equals(GroupListDTO.EVERYONE)) {
+ final String publicUrl = token.getPublicUrl();
+ view.setContentGotoPublicUrl(publicUrl);
+ view.setContentPublic(true);
+ } else {
+ view.setContentPublic(false);
+ }
+ }
+
+ public void setVisible(final boolean visible) {
+ view.setVisible(visible);
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkView.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitepublic/SitePublicSpaceLinkView.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,12 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SitePublicSpaceLinkView extends View {
+
+ void setContentGotoPublicUrl(String publicUrl);
+
+ void setContentPublic(boolean visible);
+
+ void setVisible(boolean visible);
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLink.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLink.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLink.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+public interface SiteSignInLink {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPanel.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPanel.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.Hyperlink;
+import com.gwtext.client.widgets.ToolbarButton;
+
+public class SiteSignInLinkPanel implements SiteSignInLinkView {
+ private final ToolbarButton loggedUserMenu;
+ private final Hyperlink signInHyperlink;
+
+ public SiteSignInLinkPanel(final SiteSignInLinkPresenter presenter, final WorkspaceSkeleton ws) {
+ signInHyperlink = new Hyperlink();
+ loggedUserMenu = new ToolbarButton();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPresenter.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,22 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.platf.client.View;
+
+public class SiteSignInLinkPresenter implements SiteSignInLink {
+
+private SiteSignInLinkView view;
+
+public SiteSignInLinkPresenter() {
+}
+
+public void init(SiteSignInLinkView view) {
+this.view = view;
+}
+
+
+ public View getView() {
+ return view;
+ }
+
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkView.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignInLinkView.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SiteSignInLinkView extends View {
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLink.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLink.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLink.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+public interface SiteSignOutLink {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPanel.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPanel.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,14 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.Label;
+
+public class SiteSignOutLinkPanel implements SiteSignOutLinkView {
+
+ private final Label signOutLabel;
+
+ public SiteSignOutLinkPanel(final SiteSignOutLinkPresenter presenter, final WorkspaceSkeleton ws) {
+ signOutLabel = new Label();
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPresenter.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,22 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.platf.client.View;
+
+public class SiteSignOutLinkPresenter implements SiteSignOutLink {
+
+private SiteSignOutLinkView view;
+
+public SiteSignOutLinkPresenter() {
+}
+
+public void init(SiteSignOutLinkView view) {
+this.view = view;
+}
+
+
+ public View getView() {
+ return view;
+ }
+
+}
+
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkView.java 2008-07-20 22:12:04 UTC (rev 808)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitesign/SiteSignOutLinkView.java 2008-07-20 22:13:16 UTC (rev 809)
@@ -0,0 +1,7 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SiteSignOutLinkView extends View {
+}
+
1
0
20 Jul '08
Author: vjrj
Date: 2008-07-21 00:12:04 +0200 (Mon, 21 Jul 2008)
New Revision: 808
Modified:
trunk/script/generateBasicUIElements.sh
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitelogo/SiteLogoPanel.java
Log:
Incomplete - task 9: New DropDown+ GridMenuPanel
Modified: trunk/script/generateBasicUIElements.sh
===================================================================
--- trunk/script/generateBasicUIElements.sh 2008-07-20 20:48:21 UTC (rev 807)
+++ trunk/script/generateBasicUIElements.sh 2008-07-20 22:12:04 UTC (rev 808)
@@ -16,6 +16,11 @@
# DO
PACKAGE=`echo $DIR | cut -d "/" -f 4- | sed 's/\//\./g'`
+if [[ ! -d $DIR ]]
+then
+ mkdir $DIR
+fi
+
cat <<EOF > $DIR/${NAME}.java
package $PACKAGE;
@@ -62,9 +67,11 @@
cat <<EOF > $DIR/${NAME}Panel.java
package $PACKAGE;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
public class ${NAME}Panel implements ${NAME}View {
-public ${NAME}Panel(final ${NAME}Presenter presenter) {
+public ${NAME}Panel(final ${NAME}Presenter presenter, final WorkspaceSkeleton ws) {
}
}
EOF
@@ -81,7 +88,7 @@
builder.registerProvider(${NAME}.class, new Provider<${NAME}>() {
public ${NAME} get() {
final ${NAME}Presenter presenter = new ${NAME}Presenter();
- final ${NAME}Panel panel = new ${NAME}Panel(presenter);
+ final ${NAME}Panel panel = new ${NAME}Panel(presenter, ws);
presenter.init(panel);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-20 20:48:21 UTC (rev 807)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-20 22:12:04 UTC (rev 808)
@@ -40,9 +40,24 @@
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitelogo.SiteLogo;
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitelogo.SiteLogoPanel;
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitelogo.SiteLogoPresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup.SiteNewGroupLink;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup.SiteNewGroupLinkPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitenewgroup.SiteNewGroupLinkPresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions.SiteOptions;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions.SiteOptionsPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteoptions.SiteOptionsPresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic.SitePublicSpaceLink;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic.SitePublicSpaceLinkPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic.SitePublicSpaceLinkPresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesearch.SiteSearch;
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesearch.SiteSearchPanel;
import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesearch.SiteSearchPresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignInLink;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignInLinkPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignInLinkPresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignOutLink;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignOutLinkPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitesign.SiteSignOutLinkPresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePanel;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePresenter;
@@ -99,6 +114,12 @@
}
}, SingletonScope.class);
+ builder.registerProvider(Images.class, new Provider<Images>() {
+ public Images get() {
+ return Images.App.getInstance();
+ }
+ }, SingletonScope.class);
+
builder.registerProvider(ImageUtils.class, new Provider<ImageUtils>() {
public ImageUtils get() {
return new ImageUtils();
@@ -152,6 +173,52 @@
final WorkspaceSkeleton ws = builder.getInstance(WorkspaceSkeleton.class);
+ builder.registerProvider(SitePublicSpaceLink.class, new Provider<SitePublicSpaceLink>() {
+ public SitePublicSpaceLink get() {
+ final SitePublicSpaceLinkPresenter presenter = new SitePublicSpaceLinkPresenter();
+ final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter, ws, i18n, builder
+ .getInstance(Images.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(SiteSignInLink.class, new Provider<SiteSignInLink>() {
+ public SiteSignInLink get() {
+ final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter();
+ final SiteSignInLinkPanel panel = new SiteSignInLinkPanel(presenter, ws);
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(SiteSignOutLink.class, new Provider<SiteSignOutLink>() {
+ public SiteSignOutLink get() {
+ final SiteSignOutLinkPresenter presenter = new SiteSignOutLinkPresenter();
+ final SiteSignOutLinkPanel panel = new SiteSignOutLinkPanel(presenter, ws);
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(SiteNewGroupLink.class, new Provider<SiteNewGroupLink>() {
+ public SiteNewGroupLink get() {
+ final SiteNewGroupLinkPresenter presenter = new SiteNewGroupLinkPresenter();
+ final SiteNewGroupLinkPanel panel = new SiteNewGroupLinkPanel(presenter, ws);
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(SiteOptions.class, new Provider<SiteOptions>() {
+ public SiteOptions get() {
+ final SiteOptionsPresenter presenter = new SiteOptionsPresenter();
+ final SiteOptionsPanel panel = new SiteOptionsPanel(presenter, ws);
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
builder.registerProvider(SiteLogo.class, new Provider<SiteLogo>() {
public SiteLogo get() {
final SiteLogoPresenter presenter = new SiteLogoPresenter(builder.getInstance(Session.class));
@@ -179,6 +246,10 @@
}
}, SingletonScope.class);
+ builder.getInstance(SitePublicSpaceLink.class);
+ builder.getInstance(SiteSignInLink.class);
+ builder.getInstance(SiteSignOutLink.class);
+ builder.getInstance(SiteNewGroupLink.class);
builder.getInstance(SiteSearch.class);
builder.getInstance(SiteLogo.class);
@@ -227,11 +298,13 @@
builder.registerProvider(WorkspaceManager.class, new Provider<WorkspaceManager>() {
public WorkspaceManager get() {
- final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder
- .getInstance(EntityTitlePresenter.class), builder.getInstance(EntitySubTitlePresenter.class),
- builder.getInstance(WsThemePresenter.class), builder.getInstance(EntityLicensePresenter.class),
- builder.getProvider(GroupMembersSummary.class),
- builder.getProvider(ParticipationSummary.class), builder.getProvider(TagsSummary.class),
+ final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(SitePublicSpaceLink.class),
+ builder.getInstance(EntityLogo.class), builder.getInstance(EntityTitlePresenter.class), builder
+ .getInstance(EntitySubTitlePresenter.class), builder
+ .getInstance(WsThemePresenter.class),
+ builder.getInstance(EntityLicensePresenter.class), builder
+ .getProvider(GroupMembersSummary.class), builder
+ .getProvider(ParticipationSummary.class), builder.getProvider(TagsSummary.class),
builder.getProvider(GroupSummary.class));
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-20 20:48:21 UTC (rev 807)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-20 22:12:04 UTC (rev 808)
@@ -3,6 +3,7 @@
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
import org.ourproject.kune.workspace.client.ui.newtmp.licensefoot.EntityLicensePresenter;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic.SitePublicSpaceLink;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntitySubTitlePresenter;
@@ -27,13 +28,15 @@
private final Provider<GroupMembersSummary> groupMembersSummaryProvider;
private final Provider<ParticipationSummary> participationSummaryProvider;
private final Provider<GroupSummary> groupSummaryProvider;
+ private final SitePublicSpaceLink publicSpaceLink;
- public WorkspaceManager(final EntityLogo entityLogo, final EntityTitlePresenter entityTitlePresenter,
- final EntitySubTitlePresenter entitySubTitlePresenter, final WsThemePresenter wsThemePresenter,
- final EntityLicensePresenter entityLicensePresenter,
+ public WorkspaceManager(final SitePublicSpaceLink publicSpaceLink, final EntityLogo entityLogo,
+ final EntityTitlePresenter entityTitlePresenter, final EntitySubTitlePresenter entitySubTitlePresenter,
+ final WsThemePresenter wsThemePresenter, final EntityLicensePresenter entityLicensePresenter,
final Provider<GroupMembersSummary> groupMembersSummaryProvider,
final Provider<ParticipationSummary> participationSummaryProvider,
final Provider<TagsSummary> tagsSummaryProvider, final Provider<GroupSummary> groupSummaryProvider) {
+ this.publicSpaceLink = publicSpaceLink;
this.entityLogo = entityLogo;
this.entityTitlePresenter = entityTitlePresenter;
this.entitySubTitlePresenter = entitySubTitlePresenter;
@@ -60,6 +63,7 @@
}
public void setState(final StateDTO state) {
+ publicSpaceLink.setState(state);
final GroupDTO group = state.getGroup();
final boolean isAdmin = state.getGroupRights().isAdministrable();
entityLogo.setLogo(group.getLongName());
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitelogo/SiteLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitelogo/SiteLogoPanel.java 2008-07-20 20:48:21 UTC (rev 807)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitelogo/SiteLogoPanel.java 2008-07-20 22:12:04 UTC (rev 808)
@@ -13,7 +13,6 @@
siteLogoImg = new Image();
final SiteBar siteBar = ws.getSiteBar();
siteBar.addSpacer();
- siteBar.addSpacer();
siteBar.add(siteLogoImg);
}
1
0
20 Jul '08
Author: vjrj
Date: 2008-07-20 22:48:21 +0200 (Sun, 20 Jul 2008)
New Revision: 807
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
Log:
Incomplete - task 9: New DropDown+ GridMenuPanel
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 20:33:37 UTC (rev 806)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 20:48:21 UTC (rev 807)
@@ -325,6 +325,10 @@
final ColumnConfig endIconColumn = new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer,
END_ICON_HTML);
final ColumnConfig groupColumn = new ColumnConfig(GROUP, GROUP, 0);
+ // Fixed widths?
+ iconColumn.setFixed(true);
+ titleColumn.setFixed(false);
+ endIconColumn.setFixed(true);
final ColumnConfig[] columnsConfigs = withEndIcon ? new ColumnConfig[] { iconColumn, titleColumn,
endIconColumn, groupColumn } : new ColumnConfig[] { iconColumn, titleColumn, groupColumn };
columnModel = new ColumnModel(columnsConfigs);
@@ -365,12 +369,13 @@
final String groupEndIconHtmlTpl = "{[values.rs[0].data[\"" + GROUP_ENDICON_HTML + "\"]]}";
// http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1388&p=6789&hilit=setGroup…
if (withCounters) {
- groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
- + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]} ({[values.rs.length]})</span>"
+ groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
+ + GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP
+ + "\"]]} ({[values.rs.length]})</span>" + groupEndIconHtmlTpl);
+ } else {
+ groupView.setGroupTextTpl("<span style=\"overflow: hidden;\" ext:qtip=\"{[values.rs[0].data[\""
+ + GROUP_TOOLTIP + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>"
+ groupEndIconHtmlTpl);
- } else {
- groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
- + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>" + groupEndIconHtmlTpl);
}
// Other sample with condition:
// view.setGroupTextTpl("{text} ({[values.rs.length]}
1
0
20 Jul '08
Author: vjrj
Date: 2008-07-20 22:33:37 +0200 (Sun, 20 Jul 2008)
New Revision: 806
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
Log:
Incomplete - task 9: New DropDown+ GridMenuPanel
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -227,13 +227,12 @@
builder.registerProvider(WorkspaceManager.class, new Provider<WorkspaceManager>() {
public WorkspaceManager get() {
- // TODO: use here providers instead of getInstance
final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder
.getInstance(EntityTitlePresenter.class), builder.getInstance(EntitySubTitlePresenter.class),
builder.getInstance(WsThemePresenter.class), builder.getInstance(EntityLicensePresenter.class),
- builder.getInstance(GroupMembersSummary.class),
- builder.getInstance(ParticipationSummary.class), builder.getInstance(TagsSummary.class),
- builder.getInstance(GroupSummary.class));
+ builder.getProvider(GroupMembersSummary.class),
+ builder.getProvider(ParticipationSummary.class), builder.getProvider(TagsSummary.class),
+ builder.getProvider(GroupSummary.class));
return presenter;
}
}, SingletonScope.class);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -23,7 +23,7 @@
import java.util.ArrayList;
-public class GridMenuItemCollection extends ArrayList<GridMenuItem<?>> {
+public class GridMenuItemCollection<T> extends ArrayList<GridMenuItem<T>> {
private static final long serialVersionUID = 1L;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -66,27 +66,28 @@
private final GridDragConfiguration gridDragConfiguration;
private final GridDropConfiguration gridDropConfiguration;
private ColumnModel columnModel;
+ private final boolean withEndIcon;
public GridMenuPanel(final String emptyText) {
- this(emptyText, null, null, false, false, false, false);
+ this(emptyText, null, null, false, false, false, false, false);
}
public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters) {
- this(emptyText, null, null, grouped, withCounters, false, false);
+ this(emptyText, null, null, grouped, withCounters, false, false, false);
}
public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters,
- final boolean withTopBar, final boolean withBottomBar) {
- this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar);
+ final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
+ this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar, withEndIcon);
}
public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration) {
- this(emptyText, gridDragConfiguration, null, false, false, false, false);
+ this(emptyText, gridDragConfiguration, null, false, false, false, false, false);
}
public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration,
final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters,
- final boolean withTopBar, final boolean withBottomBar) {
+ final boolean withTopBar, final boolean withBottomBar, final boolean withEndIcon) {
this.emptyText = emptyText;
this.gridDragConfiguration = gridDragConfiguration;
this.gridDropConfiguration = gridDropConfiguration;
@@ -94,6 +95,7 @@
this.onDoubleClick = new Signal<String>("onDoubleClick");
this.grouped = grouped;
this.withCounters = withCounters;
+ this.withEndIcon = withEndIcon;
panel = new Panel();
panel.setBorder(false);
panel.setLayout(new FitLayout());
@@ -111,7 +113,7 @@
}
public GridMenuPanel(final String emptyText, final GridDropConfiguration gridDropConfiguration) {
- this(emptyText, null, gridDropConfiguration, false, false, false, false);
+ this(emptyText, null, gridDropConfiguration, false, false, false, false, false);
}
public void addItem(final GridItem<T> gridItem) {
@@ -161,10 +163,12 @@
}
public Toolbar getBottomBar() {
+ assert bottomBar != null;
return bottomBar;
}
public Toolbar getTopBar() {
+ assert topBar != null;
return topBar;
}
@@ -196,12 +200,6 @@
}
}
- public void setEndIconVisible(final boolean visible) {
- createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
- columnModel.setHidden(2, !visible);
- doLayoutIfNeeded();
- }
-
public void setWidth(final int width) {
if (grid != null) {
grid.setWidth(width - 27);
@@ -322,11 +320,13 @@
}
};
- final ColumnConfig[] columnsConfigs = new ColumnConfig[] {
- new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML),
- new ColumnConfig("Title", TITLE_HTML, 80, true, titleHtmlRenderer, TITLE_HTML),
- new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer, END_ICON_HTML),
- new ColumnConfig(GROUP, GROUP, 0) };
+ final ColumnConfig iconColumn = new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML);
+ final ColumnConfig titleColumn = new ColumnConfig("Title", TITLE_HTML, 100, true, titleHtmlRenderer, TITLE_HTML);
+ final ColumnConfig endIconColumn = new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer,
+ END_ICON_HTML);
+ final ColumnConfig groupColumn = new ColumnConfig(GROUP, GROUP, 0);
+ final ColumnConfig[] columnsConfigs = withEndIcon ? new ColumnConfig[] { iconColumn, titleColumn,
+ endIconColumn, groupColumn } : new ColumnConfig[] { iconColumn, titleColumn, groupColumn };
columnModel = new ColumnModel(columnsConfigs);
grid.setColumnModel(columnModel);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -21,26 +21,36 @@
import org.ourproject.kune.platf.client.AbstractPresenter;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
+import org.ourproject.kune.platf.client.ui.DropDownPanel;
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
-public class GroupSummaryPanel extends StackedDropDownPanel implements GroupSummaryView {
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+public class GroupSummaryPanel extends DropDownPanel implements GroupSummaryView {
+
+ private final VerticalPanel vp;
+
public GroupSummaryPanel(final AbstractPresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws) {
- // FIXME
- super(presenter, "red", i18n.t("Group Summary"), i18n.t("Some summarized information about current project"
- + Site.IN_DEVELOPMENT), false);
- setDropDownContentVisible(true);
- setVisible(true);
+ super(i18n.t("Group Summary"), true);
+ setHeaderTitle(i18n.t("Some summarized information about current project" + Site.IN_DEVELOPMENT));
+ vp = new VerticalPanel();
+ vp.setWidth("100%");
+ super.setContent(vp);
+ super.setContentVisible(true);
+ super.setBorderStylePrimaryName("k-dropdownouter-summary");
+ addStyleName("kune-Margin-Medium-tl");
ws.getEntitySummary().addInSummary(this);
}
public void setComment(final String comment) {
- super.clear();
- super.addComment(comment);
+ final Label label = new Label(comment);
+ label.addStyleName("kune-Margin-Small-trbl");
+ vp.clear();
+ vp.add(label);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -1,5 +1,7 @@
package org.ourproject.kune.workspace.client.socialnet;
+import java.util.HashMap;
+
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.ui.DropDownPanel;
import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
@@ -22,6 +24,7 @@
private final GridMenuPanel<GroupDTO> gridMenuPanel;
private final I18nUITranslationService i18n;
private final GroupMembersSummaryPresenterNew presenter;
+ private final HashMap<GridButton, ToolbarButton> buttonsCache;
public GroupMembersSummaryPanelNew(final GroupMembersSummaryPresenterNew presenter,
final I18nUITranslationService i18n, final WorkspaceSkeleton ws) {
@@ -31,8 +34,9 @@
super.setHeaderText(i18n.t("Group members"));
super.setHeaderTitle(i18n.t("People and groups collaborating in this group"));
super.setBorderStylePrimaryName("k-dropdownouter-members");
+ super.addStyleName("kune-Margin-Medium-tl");
gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
- + "please request to join to work on it"), true, true, false, true);
+ + "please request to join to work on it"), true, true, false, true, false);
final EntitySummary entitySummary = ws.getEntitySummary();
entitySummary.addInSummary(this);
entitySummary.addListener(new ContainerListenerAdapter() {
@@ -43,18 +47,24 @@
}
});
this.setContent(gridMenuPanel);
+ buttonsCache = new HashMap<GridButton, ToolbarButton>();
}
public void addButton(final GridButton gridButton) {
- final ToolbarButton button = new ToolbarButton(gridButton.getTitle());
- button.setIcon(gridButton.getIcon());
- button.setTooltip(gridButton.getTooltip());
- button.addListener(new ButtonListenerAdapter() {
- public void onClick(final Button button, final EventObject e) {
- gridButton.getSlot().onEvent("");
- }
- });
- gridMenuPanel.getBottomBar().addButton(button);
+ ToolbarButton button = buttonsCache.get(gridButton);
+ if (button == null) {
+ button = new ToolbarButton(gridButton.getTitle());
+ button.setIcon(gridButton.getIcon());
+ button.setTooltip(gridButton.getTooltip());
+ button.addListener(new ButtonListenerAdapter() {
+ public void onClick(final Button button, final EventObject e) {
+ gridButton.getSlot().onEvent("");
+ }
+ });
+ }
+ if (!button.isAttached()) {
+ gridMenuPanel.getBottomBar().addButton(button);
+ }
}
public void addItem(final GridItem<GroupDTO> gridItem) {
@@ -63,6 +73,9 @@
public void clear() {
gridMenuPanel.removeAll();
+ for (final ToolbarButton button : buttonsCache.values()) {
+ button.removeFromParent();
+ }
}
public void confirmAddCollab(final String groupShortName, final String groupLongName) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -32,6 +32,7 @@
import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
import org.ourproject.kune.workspace.client.WorkspaceEvents;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
@@ -58,6 +59,11 @@
DefaultDispatcher.getInstance().fire(WorkspaceEvents.ADD_COLLAB_MEMBER, groupShortName);
}
+ public void addGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ // TODO Auto-generated method stub
+
+ }
+
public View getView() {
return view;
}
@@ -78,6 +84,11 @@
view.confirmAddCollab(groupShortName, groupLongName);
}
+ public void removeGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ // TODO Auto-generated method stub
+
+ }
+
public void setState(final StateDTO state) {
if (state.getGroup().getType() == GroupDTO.PERSONAL) {
hide();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -21,6 +21,7 @@
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenu;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItemCollection;
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
@@ -48,6 +49,8 @@
private GridButton addMember;
private GridButton requestJoin;
private GridButton unJoinButton;
+ private GridMenuItemCollection<GroupDTO> otherOperations;
+ private GridMenuItemCollection<GroupDTO> otherLoggedOperations;
public GroupMembersSummaryPresenterNew(final I18nTranslationService i18n,
final Provider<StateManager> stateManager, final ImageUtils imageUtils, final Session session,
@@ -83,6 +86,15 @@
});
}
+ public void addGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ GridMenuItemCollection<GroupDTO> collection;
+ collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+ if (collection == null) {
+ collection = new GridMenuItemCollection<GroupDTO>();
+ }
+ collection.add(operation);
+ }
+
public void hide() {
view.setVisible(false);
}
@@ -91,6 +103,14 @@
this.view = view;
}
+ public void removeGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ GridMenuItemCollection<GroupDTO> collection;
+ collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+ if (collection != null) {
+ collection.remove(operation);
+ }
+ }
+
public void setState(final StateDTO state) {
if (state.getGroup().getType() == GroupDTO.PERSONAL) {
hide();
@@ -115,7 +135,7 @@
}
});
- requestJoin = new GridButton("images/add-green.gif", i18n.t("Request to join"), i18n
+ requestJoin = new GridButton("images/add-green.gif", i18n.t("Participate"), i18n
.t("Request to participate in this group"), new Slot<String>() {
public void onEvent(final String parameter) {
Site.showProgressProcessing();
@@ -139,7 +159,7 @@
}
});
- unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin this group"), i18n
+ unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin"), i18n
.t("Don't participate more as a member in this group"), new Slot<String>() {
public void onEvent(final String parameter) {
Site.showProgressProcessing();
@@ -165,6 +185,12 @@
.getImageHtml(ImageDescriptor.groupDefIcon), longName, longName, " ", longName, i18n.t(
"User name: [%s]", group.getShortName()), menu);
menu.addMenuItem(gotoGroupMenuItem);
+ if (otherOperations != null) {
+ menu.addMenuItemList(otherOperations);
+ }
+ if (session.isLogged() && otherOperations != null) {
+ menu.addMenuItemList(otherLoggedOperations);
+ }
return gridItem;
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -45,18 +45,19 @@
public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws) {
super(i18n.t("Tags"), true);
- super.setBorderStylePrimaryName("k-dropdownouter-tags");
this.i18n = i18n;
setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
this.presenter = presenter;
- addStyleName("kune-Margin-Medium-t");
flowPanel = new FlowPanel();
final VerticalPanel vp = new VerticalPanel();
+ noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
vp.add(flowPanel);
vp.setWidth("100%");
vp.setCellWidth(flowPanel, "100%");
super.setContent(vp);
- noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
+ super.setBorderStylePrimaryName("k-dropdownouter-tags");
+ addStyleName("kune-Margin-Medium-tl");
+ flowPanel.addStyleName("kune-Margin-Small-trbl");
ws.getEntitySummary().addInSummary(this);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -13,6 +13,7 @@
import org.ourproject.kune.workspace.client.workspace.TagsSummary;
import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo;
+import com.calclab.suco.client.container.Provider;
import com.calclab.suco.client.signal.Slot2;
public class WorkspaceManager {
@@ -22,38 +23,40 @@
private final WsThemePresenter wsThemePresenter;
private final EntityLicensePresenter entityLicensePresenter;
private final EntitySubTitlePresenter entitySubTitlePresenter;
- private final TagsSummary tags;
- private final GroupMembersSummary groupMembersSummary;
- private final ParticipationSummary participationSummary;
- private final GroupSummary groupSummary;
+ private final Provider<TagsSummary> tagsProvider;
+ private final Provider<GroupMembersSummary> groupMembersSummaryProvider;
+ private final Provider<ParticipationSummary> participationSummaryProvider;
+ private final Provider<GroupSummary> groupSummaryProvider;
public WorkspaceManager(final EntityLogo entityLogo, final EntityTitlePresenter entityTitlePresenter,
final EntitySubTitlePresenter entitySubTitlePresenter, final WsThemePresenter wsThemePresenter,
- final EntityLicensePresenter entityLicensePresenter, final GroupMembersSummary groupMembersSummary,
- final ParticipationSummary participationSummary, final TagsSummary tags, final GroupSummary groupSummary) {
+ final EntityLicensePresenter entityLicensePresenter,
+ final Provider<GroupMembersSummary> groupMembersSummaryProvider,
+ final Provider<ParticipationSummary> participationSummaryProvider,
+ final Provider<TagsSummary> tagsSummaryProvider, final Provider<GroupSummary> groupSummaryProvider) {
this.entityLogo = entityLogo;
this.entityTitlePresenter = entityTitlePresenter;
this.entitySubTitlePresenter = entitySubTitlePresenter;
this.entityLicensePresenter = entityLicensePresenter;
this.wsThemePresenter = wsThemePresenter;
- this.groupMembersSummary = groupMembersSummary;
- this.participationSummary = participationSummary;
- this.tags = tags;
- this.groupSummary = groupSummary;
+ this.groupMembersSummaryProvider = groupMembersSummaryProvider;
+ this.participationSummaryProvider = participationSummaryProvider;
+ this.tagsProvider = tagsSummaryProvider;
+ this.groupSummaryProvider = groupSummaryProvider;
wsThemePresenter.onThemeChanged(new Slot2<WsTheme, WsTheme>() {
public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
entityLogo.setTheme(oldTheme, newTheme);
- groupMembersSummary.setTheme(oldTheme, newTheme);
- participationSummary.setTheme(oldTheme, newTheme);
- groupSummary.setTheme(oldTheme, newTheme);
- tags.setTheme(oldTheme, newTheme);
+ groupMembersSummaryProvider.get().setTheme(oldTheme, newTheme);
+ participationSummaryProvider.get().setTheme(oldTheme, newTheme);
+ groupSummaryProvider.get().setTheme(oldTheme, newTheme);
+ tagsSummaryProvider.get().setTheme(oldTheme, newTheme);
}
});
}
public void setSocialNetwork(final StateDTO state) {
- groupMembersSummary.setState(state);
- participationSummary.setState(state);
+ groupMembersSummaryProvider.get().setState(state);
+ participationSummaryProvider.get().setState(state);
}
public void setState(final StateDTO state) {
@@ -65,8 +68,8 @@
entitySubTitlePresenter.setState(state);
entityLicensePresenter.setLicense(state);
setSocialNetwork(state);
- groupSummary.setState(state);
- tags.setState(state);
+ groupSummaryProvider.get().setState(state);
+ tagsProvider.get().setState(state);
// Only for probes:
wsThemePresenter.setVisible(true);
wsThemePresenter.setTheme(new WsTheme(group.getWorkspaceTheme()));
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java 2008-07-20 17:16:23 UTC (rev 805)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java 2008-07-20 20:33:37 UTC (rev 806)
@@ -20,7 +20,9 @@
package org.ourproject.kune.workspace.client.workspace;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
public interface GroupMembersSummary {
@@ -29,4 +31,8 @@
public void setTheme(WsTheme oldTheme, WsTheme newTheme);
+ void addGroupOperation(GridMenuItem<GroupDTO> operation, boolean mustBeLogged);
+
+ void removeGroupOperation(GridMenuItem<GroupDTO> operation, boolean mustBeLogged);
+
}
1
0
Author: vjrj
Date: 2008-07-20 19:16:23 +0200 (Sun, 20 Jul 2008)
New Revision: 805
Modified:
trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml
trunk/src/main/java/org/ourproject/kune/platf/Kune-Platform.gwt.xml
Log:
Incomplete - task 9: New DropDown+ GridMenuPanel
Modified: trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml 2008-07-20 14:38:06 UTC (rev 804)
+++ trunk/src/main/java/org/ourproject/kune/app/Kune.gwt.xml 2008-07-20 17:16:23 UTC (rev 805)
@@ -1,46 +1,52 @@
<module>
- <inherits name='com.google.gwt.i18n.I18N' />
- <inherits name='com.google.gwt.user.User' />
- <inherits name="org.cafesip.gwtcomp.GWTComponents" />
+ <inherits name='com.google.gwt.i18n.I18N' />
+ <inherits name='com.google.gwt.user.User' />
+ <inherits name="org.cafesip.gwtcomp.GWTComponents" />
- <!-- gwt-ext -->
- <inherits name='com.gwtext.GwtExt' />
- <script src="js/ext/adapter/ext/ext-base.js" />
- <script src="js/ext/ext-all.js" />
- <!-- kune css -->
- <!-- when build a unique css with csstidy use all.css -->
- <!-- <stylesheet src="css/all.css" /> -->
- <stylesheet src="css/workspace.css" />
- <stylesheet src="css/chat.css" />
- <stylesheet src="css/docs.css" />
- <stylesheet src="css/kune.css" />
- <stylesheet src="css/kune-new.css" />
-
- <inherits name="com.calclab.suco.Suco" />
+ <!-- gwt-ext -->
+ <inherits name='com.gwtext.GwtExt' />
+ <script src="js/ext/adapter/ext/ext-base.js" />
+ <script src="js/ext/ext-all.js" />
- <inherits name='org.ourproject.kune.platf.Kune-Platform' />
- <inherits name='org.ourproject.kune.docs.Kune-Docs' />
- <inherits name='org.ourproject.kune.chat.Kune-Chat' />
+ <!-- kune css -->
+ <!-- when build a unique css with csstidy use all.css -->
+ <!-- <stylesheet src="css/all.css" /> -->
+
+ <stylesheet src="css/reset.css" />
+ <stylesheet src="css/fonts-min.css" />
+ <stylesheet src="js/ext/resources/css/ext-all.css" />
+ <stylesheet src="js/ext/resources/css/xtheme-gray.css" />
+ <stylesheet src="css/workspace.css" />
+ <stylesheet src="css/chat.css" />
+ <stylesheet src="css/docs.css" />
+ <stylesheet src="css/kune.css" />
+ <stylesheet src="css/kune-new.css" />
- <inherits name="com.allen_sauer.gwt.log.gwt-log" />
+ <inherits name="com.calclab.suco.Suco" />
- <extend-property name="log_level" values="DEBUG" />
- <set-property name="log_level" value="DEBUG" />
- <set-property name="log_DivLogger" value="DISABLED" />
- <set-property name="log_FirebugLogger" value="ENABLED" />
+ <inherits name='org.ourproject.kune.platf.Kune-Platform' />
+ <inherits name='org.ourproject.kune.docs.Kune-Docs' />
+ <inherits name='org.ourproject.kune.chat.Kune-Chat' />
- <!--
- <extend-property name="locale" values="es" />
- <extend-property name="locale" values="ar" />
- -->
+ <inherits name="com.allen_sauer.gwt.log.gwt-log" />
- <!-- Specify the app entry point class. -->
- <entry-point class='org.ourproject.kune.app.client.KuneEntryPoint' />
+ <extend-property name="log_level" values="DEBUG" />
+ <set-property name="log_level" value="DEBUG" />
+ <set-property name="log_DivLogger" value="DISABLED" />
+ <set-property name="log_FirebugLogger" value="ENABLED" />
- <!-- <script src="js/ext/ext-custom.js" /> -->
+ <!--
+ <extend-property name="locale" values="es" />
+ <extend-property name="locale" values="ar" />
+ -->
- <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+ <!-- Specify the app entry point class. -->
+ <entry-point class='org.ourproject.kune.app.client.KuneEntryPoint' />
- <!-- <set-property name="user.agent" value="gecko" /> -->
+ <!-- <script src="js/ext/ext-custom.js" /> -->
+
+ <!--http://code.google.com/p/google-web-toolkit/issues/detail?id=42 -->
+
+ <!-- <set-property name="user.agent" value="gecko" /> -->
</module>
Modified: trunk/src/main/java/org/ourproject/kune/platf/Kune-Platform.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/Kune-Platform.gwt.xml 2008-07-20 14:38:06 UTC (rev 804)
+++ trunk/src/main/java/org/ourproject/kune/platf/Kune-Platform.gwt.xml 2008-07-20 17:16:23 UTC (rev 805)
@@ -4,6 +4,8 @@
<inherits name='com.google.gwt.i18n.I18N' />
<inherits name="com.google.gwt.user.UserAgent" />
+ <public path="public" />
+
<replace-with
class="org.ourproject.kune.platf.client.ui.CustomHorizontalSplitPanel.Impl">
<when-type-is
1
0
Author: vjrj
Date: 2008-07-20 16:38:06 +0200 (Sun, 20 Jul 2008)
New Revision: 804
Added:
trunk/script/generateBasicUIElements.sh
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java
trunk/src/main/java/org/ourproject/kune/platf/public/images/accept.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/add-green.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-down-green.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-up-green.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/cancel.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/del.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/group-home.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico-push.gif
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/platf/client/ui/DropDownPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java
Log:
new GridMenuPanel and GroupMembersSummary
Added: trunk/script/generateBasicUIElements.sh
===================================================================
--- trunk/script/generateBasicUIElements.sh 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/script/generateBasicUIElements.sh 2008-07-20 14:38:06 UTC (rev 804)
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+PARAMS=$#
+NAME=$2
+DIR=$1
+
+# CORRECT PARAMS ###############################################################
+
+ if [ $PARAMS -ne 2 ]
+ then
+ echo "Use: $0 <packageDirDest> <ClassName>"
+ echo "$0 src/main/java/com/calclab/emiteui/client/chatuiplugin/chat ChatUI"
+ exit
+ fi
+
+# DO
+PACKAGE=`echo $DIR | cut -d "/" -f 4- | sed 's/\//\./g'`
+
+cat <<EOF > $DIR/${NAME}.java
+package $PACKAGE;
+
+public interface $NAME {
+
+}
+EOF
+
+cat <<EOF > $DIR/${NAME}Presenter.java
+package $PACKAGE;
+
+import org.ourproject.kune.platf.client.View;
+
+public class ${NAME}Presenter implements $NAME {
+
+private ${NAME}View view;
+
+public ${NAME}Presenter() {
+}
+
+public void init(${NAME}View view) {
+this.view = view;
+}
+
+
+ public View getView() {
+ return view;
+ }
+
+}
+
+EOF
+
+cat <<EOF > $DIR/${NAME}View.java
+package $PACKAGE;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface ${NAME}View extends View {
+}
+
+EOF
+
+cat <<EOF > $DIR/${NAME}Panel.java
+package $PACKAGE;
+
+public class ${NAME}Panel implements ${NAME}View {
+
+public ${NAME}Panel(final ${NAME}Presenter presenter) {
+}
+}
+EOF
+
+
+cat <<EOF
+// If you use a Module, paste this
+package $PACKAGE;
+
+import $PACKAGE.${NAME}Presenter;
+import $PACKAGE.${NAME}Panel;
+import $PACKAGE.${NAME};
+
+builder.registerProvider(${NAME}.class, new Provider<${NAME}>() {
+ public ${NAME} get() {
+ final ${NAME}Presenter presenter = new ${NAME}Presenter();
+ final ${NAME}Panel panel = new ${NAME}Panel(presenter);
+ presenter.init(panel);
+ return presenter;
+ }
+}, SingletonScope.class);
+EOF
Property changes on: trunk/script/generateBasicUIElements.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-07-20 14:38:06 UTC (rev 804)
@@ -3,52 +3,52 @@
}
.k-sitebar .kune-IconHyperlink {
- white-space: nowrap;
+ white-space: nowrap;
}
.k-sitebar .kune-IconHyperlink a:link {
- cursor: pointer;
- text-decoration: underline;
- color: #B3B3B3;
+ cursor: pointer;
+ text-decoration: underline;
+ color: #B3B3B3;
}
.k-sitebar .kune-IconHyperlink a:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
.k-sitebar .kune-IconHyperlink a:visited {
- color: #B3B3B3;
+ color: #B3B3B3;
}
.k-sitebar {
- margin-right: 10px;
- height: 16px;
+ margin-right: 10px;
+ height: 16px;
}
.k-sitebar .gwt-TextBox {
- border: 1px solid #E4A374;
- margin: 0 15px 0 3px;
- padding-left: 3px;
- color: #B3B3B3;
+ border: 1px solid #E4A374;
+ margin: 0 15px 0 3px;
+ padding-left: 3px;
+ color: #B3B3B3;
}
.k-sitebar .gwt-Hyperlink a {
- white-space: nowrap;
- color: #B3B3B3;
- text-decoration: underline;
- cursor: pointer;
+ white-space: nowrap;
+ color: #B3B3B3;
+ text-decoration: underline;
+ cursor: pointer;
}
.k-sitebar .gwt-PushButton {
- cursor: pointer;
+ cursor: pointer;
}
.k-sitebar-LabelLink {
- white-space: nowrap;
- color: #B3B3B3;
- margin-left: 3px;
- cursor: pointer;
- text-decoration: underline;
+ white-space: nowrap;
+ color: #B3B3B3;
+ margin-left: 3px;
+ cursor: pointer;
+ text-decoration: underline;
}
.k-entity-summary {
@@ -249,38 +249,72 @@
.ytb-spacer {
width: 2px;
}
-
/* Drop down */
-
.k-dropdownouter {
+ background-color: gray;
}
-.k-dropdownouter-def {
+.k-dropdownouter-members {
+}
+
+.k-dropdownouter-members-def {
+ background-color: #DF5244;
+}
+
+.k-dropdownouter-members-green {
+ background-color: #008000;
+}
+
+.k-dropdownouter-part {
+}
+
+.k-dropdownouter-part-def {
+ background-color: #CA5842;
+}
+
+.k-dropdownouter-part-green {
+ background-color: #00AA00;
+}
+
+.k-dropdownouter-tags {
+}
+
+.k-dropdownouter-tags-def {
background-color: #87501E;
}
-.k-dropdownouter-green {
- background-color: #00D400;
+.k-dropdownouter-tags-green {
+ background-color: #00D400;
}
+.k-dropdownouter-summary {
+}
+
+.k-dropdownouter-summary-def {
+ background-color: #9F734B;
+}
+
+.k-dropdownouter-summary-green {
+ background-color: #4CE14C;
+}
+
.k-dropdowninner {
- margin: 0 3px 1px 3px;
- background: green;
- background-color: #FFF;
- padding: 3px;
+ margin: 0 3px 1px 3px;
+ background: green;
+ background-color: #FFF;
+ /* padding: 3px; */
}
.k-dropdownlabel {
- color: #FFF;
- cursor: pointer;
+ color: #FFF;
+ cursor: pointer;
}
.k-dropdownlabel .gwt-Label {
- margin: 0 5px 0 0;
- width: 100%;
+ margin: 0 5px 0 0;
+ width: 100%;
}
.k-dropdownlabel img {
- margin: 0 3px 0 1px;
+ margin: 0 3px 0 1px;
}
-
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/DropDownPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/DropDownPanel.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/DropDownPanel.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -45,6 +45,7 @@
private final Images img;
private final Image arrowImage;
private final RoundedPanel outerBorder;
+ private String stylePrimaryName;
public DropDownPanel() {
vp = new VerticalPanel();
@@ -60,8 +61,9 @@
titleHP.add(arrowImage);
titleHP.add(titleLabel);
- outerBorder.setCornerStyleName("k-dropdownouter");
- vp.setStylePrimaryName("k-dropdownouter");
+ this.stylePrimaryName = "k-dropdownouter";
+ outerBorder.setCornerStyleName(stylePrimaryName);
+ vp.setStylePrimaryName(stylePrimaryName);
vp.setWidth("100%");
vp.setCellWidth(contentPanel, "100%");
vp.setCellWidth(titleHP, "100%");
@@ -97,6 +99,12 @@
}
}
+ public void setBorderStylePrimaryName(final String stylePrimaryName) {
+ this.stylePrimaryName = stylePrimaryName;
+ outerBorder.setCornerStyleName(stylePrimaryName);
+ vp.setStylePrimaryName(stylePrimaryName);
+ }
+
@Deprecated
public void setColor(final String color) {
// outerBorder.setColor(color);
@@ -148,7 +156,7 @@
contentPanel.removeStyleDependentName(oldThemeS);
}
final String newThemeS = newTheme.toString();
- outerBorder.setCornerStyleName("k-dropdownouter-" + newThemeS);
+ outerBorder.setCornerStyleName(stylePrimaryName + "-" + newThemeS);
// outerBorder.addStyleDependentName(newThemeS);
vp.addStyleDependentName(newThemeS);
titleHP.addStyleDependentName(newThemeS);
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridButton.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -0,0 +1,35 @@
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import com.calclab.suco.client.signal.Slot;
+
+public class GridButton {
+
+ private final String title;
+ private final String icon;
+ private final String tooltip;
+ private final Slot<String> slot;
+
+ public GridButton(final String icon, final String title, final String tooltip, final Slot<String> slot) {
+ this.icon = icon;
+ this.title = title;
+ this.tooltip = tooltip;
+ this.slot = slot;
+ }
+
+ public String getIcon() {
+ return icon;
+ }
+
+ public Slot<String> getSlot() {
+ return slot;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -49,7 +49,7 @@
public void addMenuItem(final GridMenuItem<T> menuItem) {
final Item item = new Item(menuItem.getTitle());
- item.setIconCls(menuItem.getIconCls());
+ item.setIcon(menuItem.getIcon());
menu.addItem(item);
item.addListener(new BaseItemListenerAdapter() {
public void onClick(final BaseItem item, final EventObject e) {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -5,12 +5,12 @@
public class GridMenuItem<T> {
- final String iconCls;
+ final String icon;
final String title;
private final Signal<T> onClick;
- public GridMenuItem(final String iconCls, final String title, final Slot<T> slot) {
- this.iconCls = iconCls;
+ public GridMenuItem(final String icon, final String title, final Slot<T> slot) {
+ this.icon = icon;
this.title = title;
this.onClick = new Signal<T>("onClick");
onClick(slot);
@@ -20,8 +20,8 @@
onClick.fire(id);
}
- public String getIconCls() {
- return iconCls;
+ public String getIcon() {
+ return icon;
}
public String getTitle() {
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -22,10 +22,8 @@
import com.gwtext.client.dd.DropTarget;
import com.gwtext.client.dd.DropTargetConfig;
import com.gwtext.client.util.Format;
-import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Toolbar;
-import com.gwtext.client.widgets.event.ContainerListenerAdapter;
import com.gwtext.client.widgets.grid.CellMetadata;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
@@ -109,12 +107,6 @@
}
menuMap = new HashMap<String, GridMenu<T>>();
recordMap = new HashMap<T, Record>();
- panel.addListener(new ContainerListenerAdapter() {
- public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
- final int rawWidth, final int rawHeight) {
- setWidth(adjWidth);
- }
- });
initWidget(panel);
}
@@ -210,6 +202,13 @@
doLayoutIfNeeded();
}
+ public void setWidth(final int width) {
+ if (grid != null) {
+ grid.setWidth(width - 27);
+ doLayoutIfNeeded();
+ }
+ }
+
public void sort() {
store.sort(GROUP);
}
@@ -426,13 +425,4 @@
final Record record = store.getRecordAt(rowIndex);
onDoubleClick.fire(record.getAsString(ID));
}
-
- private void setWidth(final int width) {
- Log.info("Grid width: " + width);
- if (grid != null) {
- grid.setWidth(width - 27);
- // panel.setWidth(width - 25);
- doLayoutIfNeeded();
- }
- }
}
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/accept.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/accept.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/add-green.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/add-green.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-down-green.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-down-green.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-up-green.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrow-up-green.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/cancel.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/cancel.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/del.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/del.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/group-home.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/group-home.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico-push.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico-push.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -2,48 +2,81 @@
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.ui.DropDownPanel;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.EntitySummary;
import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.BoxComponent;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.event.ContainerListenerAdapter;
public class GroupMembersSummaryPanelNew extends DropDownPanel implements GroupMembersSummaryViewNew {
private final GridMenuPanel<GroupDTO> gridMenuPanel;
+ private final I18nUITranslationService i18n;
+ private final GroupMembersSummaryPresenterNew presenter;
public GroupMembersSummaryPanelNew(final GroupMembersSummaryPresenterNew presenter,
final I18nUITranslationService i18n, final WorkspaceSkeleton ws) {
super(true);
+ this.presenter = presenter;
+ this.i18n = i18n;
super.setHeaderText(i18n.t("Group members"));
super.setHeaderTitle(i18n.t("People and groups collaborating in this group"));
+ super.setBorderStylePrimaryName("k-dropdownouter-members");
gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
+ "please request to join to work on it"), true, true, false, true);
- ws.getEntitySummary().addInSummary(this);
+ final EntitySummary entitySummary = ws.getEntitySummary();
+ entitySummary.addInSummary(this);
+ entitySummary.addListener(new ContainerListenerAdapter() {
+ @Override
+ public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
+ final int rawWidth, final int rawHeight) {
+ gridMenuPanel.setWidth(adjWidth);
+ }
+ });
this.setContent(gridMenuPanel);
}
- public void addAddMemberButton() {
- gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ public void addButton(final GridButton gridButton) {
+ final ToolbarButton button = new ToolbarButton(gridButton.getTitle());
+ button.setIcon(gridButton.getIcon());
+ button.setTooltip(gridButton.getTooltip());
+ button.addListener(new ButtonListenerAdapter() {
+ public void onClick(final Button button, final EventObject e) {
+ gridButton.getSlot().onEvent("");
+ }
+ });
+ gridMenuPanel.getBottomBar().addButton(button);
}
public void addItem(final GridItem<GroupDTO> gridItem) {
gridMenuPanel.addItem(gridItem);
}
- public void addJoinButton() {
- gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ public void clear() {
+ gridMenuPanel.removeAll();
}
- public void addUnjoinButton() {
- gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ public void confirmAddCollab(final String groupShortName, final String groupLongName) {
+ final String groupName = groupLongName + " (" + groupShortName + ")";
+ MessageBox.confirm(i18n.t("Confirm addition of member"), i18n.t("Add [%s] as member?", groupName),
+ new MessageBox.ConfirmCallback() {
+ public void execute(final String btnID) {
+ if (btnID.equals("yes")) {
+ presenter.addCollab(groupShortName);
+ }
+ }
+ });
}
- public void clear() {
- gridMenuPanel.removeAll();
- }
-
public void setDropDownContentVisible(final boolean visible) {
super.setContentVisible(visible);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -16,6 +16,7 @@
import org.ourproject.kune.platf.client.services.ImageUtils;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridGroup;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.platf.client.ui.gridmenu.GridMenu;
@@ -44,6 +45,9 @@
private GridMenuItem<GroupDTO> changeToAdminMenuItem;
private GridMenuItem<GroupDTO> acceptJoinGroupMenuItem;
private GridMenuItem<GroupDTO> denyJoinGroupMenuItem;
+ private GridButton addMember;
+ private GridButton requestJoin;
+ private GridButton unJoinButton;
public GroupMembersSummaryPresenterNew(final I18nTranslationService i18n,
final Provider<StateManager> stateManager, final ImageUtils imageUtils, final Session session,
@@ -62,9 +66,23 @@
pendigGroup = new GridGroup(pendingTitle, pendingTitle, i18n
.t("People pending to be accepted in this group by the admins"), imageUtils
.getImageHtml(ImageDescriptor.alert), true);
- createActions();
+ createMenuActions();
+ createButtons();
}
+ public void addCollab(final String groupShortName) {
+ Site.showProgressProcessing();
+ snService.addCollabMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as collaborator"));
+ getStateManager().setSocialNetwork(result);
+ }
+
+ });
+ }
+
public void hide() {
view.setVisible(false);
}
@@ -85,74 +103,147 @@
view.setTheme(oldTheme, newTheme);
}
- private void createActions() {
- gotoGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Visit this member homepage"), new Slot<GroupDTO>() {
- public void onEvent(final GroupDTO groupDTO) {
- getStateManager().gotoToken(groupDTO.getShortName());
+ private void createButtons() {
+ addMember = new GridButton("images/add-green.gif", i18n.t("Add member"), i18n
+ .t("Add a group or a person as member of this group"), new Slot<String>() {
+ public void onEvent(final String parameter) {
+ // TODO
+ // GroupLiveSearchComponent groupLiveSearchComponent
+ // = workspace.getGroupLiveSearchComponent();
+ // groupLiveSearchComponent.addListener(listener);
+ // groupLiveSearchComponent.show();
}
});
- changeToCollabMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Change to collaborator"), new Slot<GroupDTO>() {
- public void onEvent(final GroupDTO group) {
+
+ requestJoin = new GridButton("images/add-green.gif", i18n.t("Request to join"), i18n
+ .t("Request to participate in this group"), new Slot<String>() {
+ public void onEvent(final String parameter) {
Site.showProgressProcessing();
- snService.setCollabAsAdmin(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
+ snService.requestJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(final Object result) {
Site.hideProgress();
- Site.info(i18n.t("Type of member changed"));
- getStateManager().setSocialNetwork(result);
+ final String resultType = (String) result;
+ if (resultType == SocialNetworkDTO.REQ_JOIN_ACEPTED) {
+ Site.info(i18n.t("You are now member of this group"));
+ getStateManager().reload();
+ }
+ if (resultType == SocialNetworkDTO.REQ_JOIN_DENIED) {
+ Site.important(i18n.t("Sorry this is a closed group"));
+ }
+ if (resultType == SocialNetworkDTO.REQ_JOIN_WAITING_MODERATION) {
+ Site.info(i18n.t("Requested. Waiting for admins decision"));
+ }
}
});
}
});
- removeMemberMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Remove this member"), new Slot<GroupDTO>() {
- public void onEvent(final GroupDTO group) {
+
+ unJoinButton = new GridButton("images/del.gif", i18n.t("Unjoin this group"), i18n
+ .t("Don't participate more as a member in this group"), new Slot<String>() {
+ public void onEvent(final String parameter) {
Site.showProgressProcessing();
- snService.deleteMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ snService.unJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
public void onSuccess(final SocialNetworkResultDTO result) {
Site.hideProgress();
- Site.info(i18n.t("Member removed"));
+ Site.info(i18n.t("Removed as member"));
getStateManager().reload();
- // in the future, only if I cannot
- // be affected:
- // snService.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
+ // in the future with user info:
+ // services.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
// result);
}
});
}
});
- changeToAdminMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Change to admin"), new Slot<GroupDTO>() {
- public void onEvent(final GroupDTO group) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.addAdminMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(), group
- .getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member added as admin"));
- getStateManager().setSocialNetwork(result);
+ }
+
+ private GridItem<GroupDTO> createDefMemberMenu(final GroupDTO group, final GridGroup gridGroup) {
+ final GridMenu<GroupDTO> menu = new GridMenu<GroupDTO>(group);
+ final String longName = group.getLongName();
+ final GridItem<GroupDTO> gridItem = new GridItem<GroupDTO>(group, gridGroup, group.getShortName(), imageUtils
+ .getImageHtml(ImageDescriptor.groupDefIcon), longName, longName, " ", longName, i18n.t(
+ "User name: [%s]", group.getShortName()), menu);
+ menu.addMenuItem(gotoGroupMenuItem);
+ return gridItem;
+ }
+
+ private void createMenuActions() {
+ gotoGroupMenuItem = new GridMenuItem<GroupDTO>("images/group-home.gif", i18n.t("Visit this member homepage"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO groupDTO) {
+ getStateManager().gotoToken(groupDTO.getShortName());
}
});
- }
- });
- acceptJoinGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Accept this member"), new Slot<GroupDTO>() {
+ changeToCollabMenuItem = new GridMenuItem<GroupDTO>("images/arrow-down-green.gif", i18n
+ .t("Change to collaborator"), new Slot<GroupDTO>() {
public void onEvent(final GroupDTO group) {
Site.showProgressProcessing();
- snService.AcceptJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ snService.setCollabAsAdmin(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
public void onSuccess(final SocialNetworkResultDTO result) {
Site.hideProgress();
- Site.info(i18n.t("Member accepted"));
+ Site.info(i18n.t("Type of member changed"));
getStateManager().setSocialNetwork(result);
}
});
}
});
- denyJoinGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Don't accept this member"),
+ removeMemberMenuItem = new GridMenuItem<GroupDTO>("images/del.gif", i18n.t("Remove this member"),
new Slot<GroupDTO>() {
public void onEvent(final GroupDTO group) {
Site.showProgressProcessing();
+ snService.deleteMember(session.getUserHash(), session.getCurrentState().getGroup()
+ .getShortName(), group.getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member removed"));
+ getStateManager().reload();
+ // in the future, only if I cannot
+ // be affected:
+ // snService.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
+ // result);
+ }
+ });
+ }
+ });
+ changeToAdminMenuItem = new GridMenuItem<GroupDTO>("images/arrow-up-green.gif", i18n.t("Change to admin"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.addAdminMember(session.getUserHash(), session.getCurrentState().getGroup()
+ .getShortName(), group.getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as admin"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ acceptJoinGroupMenuItem = new GridMenuItem<GroupDTO>("images/accept.gif", i18n.t("Accept this member"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ snService.AcceptJoinGroup(session.getUserHash(), session.getCurrentState().getGroup()
+ .getShortName(), group.getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member accepted"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ denyJoinGroupMenuItem = new GridMenuItem<GroupDTO>("images/cancel.gif", i18n.t("Don't accept this member"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
server.denyJoinGroup(session.getUserHash(),
session.getCurrentState().getGroup().getShortName(), group.getShortName(),
new AsyncCallbackSimple<SocialNetworkResultDTO>() {
@@ -166,16 +257,6 @@
});
}
- private GridItem<GroupDTO> createDefMemberMenu(final GroupDTO group, final GridGroup gridGroup) {
- final GridMenu<GroupDTO> menu = new GridMenu<GroupDTO>(group);
- final String longName = group.getLongName();
- final GridItem<GroupDTO> gridItem = new GridItem<GroupDTO>(group, gridGroup, group.getShortName(), imageUtils
- .getImageHtml(ImageDescriptor.groupDefIcon), longName, longName, " ", longName, i18n.t(
- "User name: [%s]", group.getShortName()), menu);
- menu.addMenuItem(gotoGroupMenuItem);
- return gridItem;
- }
-
private StateManager getStateManager() {
return stateManager.get();
}
@@ -202,13 +283,13 @@
view.clear();
if (userIsAdmin) {
- view.addAddMemberButton();
+ view.addButton(addMember);
}
if (!userIsMember) {
- view.addJoinButton();
+ view.addButton(requestJoin);
} else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
- view.addUnjoinButton();
+ view.addButton(unJoinButton);
}
if (userCanView) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -1,19 +1,16 @@
package org.ourproject.kune.workspace.client.socialnet;
import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridButton;
import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
public interface GroupMembersSummaryViewNew {
- void addAddMemberButton();
+ void addButton(GridButton gridButton);
void addItem(GridItem<GroupDTO> gridItem);
- void addJoinButton();
-
- void addUnjoinButton();
-
void clear();
void setDropDownContentVisible(boolean visible);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -42,8 +42,10 @@
private final Label noTagsLabel;
private final I18nTranslationService i18n;
- public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n, final WorkspaceSkeleton ws) {
+ public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n,
+ final WorkspaceSkeleton ws) {
super(i18n.t("Tags"), true);
+ super.setBorderStylePrimaryName("k-dropdownouter-tags");
this.i18n = i18n;
setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
this.presenter = presenter;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java 2008-07-20 01:51:06 UTC (rev 803)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntitySummary.java 2008-07-20 14:38:06 UTC (rev 804)
@@ -5,6 +5,7 @@
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.event.ContainerListener;
public class EntitySummary {
private final Panel entityTools;
@@ -37,6 +38,10 @@
mainPanel.doLayoutIfNeeded();
}
+ public void addListener(final ContainerListener listener) {
+ entitySummary.addListener(listener);
+ }
+
public Panel getPanel() {
return mainPanel.getPanel();
}
1
0
20 Jul '08
Author: vjrj
Date: 2008-07-20 03:51:06 +0200 (Sun, 20 Jul 2008)
New Revision: 803
Added:
trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDragConfiguration.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDropConfiguration.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridGroup.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridItem.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
Log:
new GridMenuPanel and GroupMembersSummary
Added: trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.platf.client.services;
+
+public enum ImageDescriptor {
+ accept, add, addGreen, alert, anybody, arrowDownBlack, arrowDownGreen, arrowDownWhite, arrowLeftGreen, arrowRightBlack, arrowRightGreen, arrowRightWhite, arrowUpGreen, bulletAdd, bulletBlack, bulletBlue, bulletDelete, bulletGreen, bulletPink, bulletPurple, bulletRed, bulletStar, bulletToggleMinus, bulletTogglePlus, bulletYellow, button15cblue, button15cdark, button15clight, button15cxlight, button15lblue, button15ldark, button15llight, button15lxlight, button15rblue, button15rdark, button15rlight, button15rxlight, button17cblue, button17cdark, button17clight, button17cxlight, button17lblue, button17ldark, button17llight, button17lxlight, button17rblue, button17rdark, button17rlight, button17rxlight, button20cblue, button20cdark, button20clight, button20cxlight, button20lblue, button20ldark, button20llight, button20lxlight, button20rblue, button20rdark, button20rlight, button20rxlight, buttonArrowDown, buttonHelpBlue, buttonHelpDark, buttonHelpLight, buttonSitebarArrowDown, by80x15, bync80x15, byncnd80x15, byncsa80x15, bynd80x15, bysa80x15, cancel, chat, clear, copyleft, cross, crossDark, del, emblemImportant, error, everybody, fullscreen, gnuFdl, groupDefIcon, groupHome, important, info, infoLight, kuneClose, kuneExternalWindow, kuneHelpTranslationIcon, kuneIcon16, kuneLogo16px, kunePreferences, kuneSearchIco, kuneSearchIcoPush, language, nobody, noCopyleft, nt, opentriangle, personDef, remove, rssIcon, searchIco, spinKuneThundGreen, splitterVertBar, star10, star20, star30, star40, star50, star60, star70, star80, star90, starGrey, starSmallYellow, starVsmallYellow, starYellow, step1, step2, step3, step4, step5, themeChoose, triangle
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,402 @@
+package org.ourproject.kune.platf.client.services;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+
+public class ImageUtils {
+
+ public AbstractImagePrototype getImage(final ImageDescriptor imageDescriptor) {
+ final Images img = Images.App.getInstance();
+ switch (imageDescriptor) {
+ case accept: {
+ return img.accept();
+ }
+ case add: {
+ return img.add();
+ }
+ case addGreen: {
+ return img.addGreen();
+ }
+ case alert: {
+ return img.alert();
+ }
+ case anybody: {
+ return img.anybody();
+ }
+ case arrowDownBlack: {
+ return img.arrowDownBlack();
+ }
+ case arrowDownGreen: {
+ return img.arrowDownGreen();
+ }
+ case arrowDownWhite: {
+ return img.arrowDownWhite();
+ }
+ case arrowLeftGreen: {
+ return img.arrowLeftGreen();
+ }
+ case arrowRightBlack: {
+ return img.arrowRightBlack();
+ }
+ case arrowRightGreen: {
+ return img.arrowRightGreen();
+ }
+ case arrowRightWhite: {
+ return img.arrowRightWhite();
+ }
+ case arrowUpGreen: {
+ return img.arrowUpGreen();
+ }
+ case bulletAdd: {
+ return img.bulletAdd();
+ }
+ case bulletBlack: {
+ return img.bulletBlack();
+ }
+ case bulletBlue: {
+ return img.bulletBlue();
+ }
+ case bulletDelete: {
+ return img.bulletDelete();
+ }
+ case bulletGreen: {
+ return img.bulletGreen();
+ }
+ case bulletPink: {
+ return img.bulletPink();
+ }
+ case bulletPurple: {
+ return img.bulletPurple();
+ }
+ case bulletRed: {
+ return img.bulletRed();
+ }
+ case bulletStar: {
+ return img.bulletStar();
+ }
+ case bulletToggleMinus: {
+ return img.bulletToggleMinus();
+ }
+ case bulletTogglePlus: {
+ return img.bulletTogglePlus();
+ }
+ case bulletYellow: {
+ return img.bulletYellow();
+ }
+ case button15cblue: {
+ return img.button15cblue();
+ }
+ case button15cdark: {
+ return img.button15cdark();
+ }
+ case button15clight: {
+ return img.button15clight();
+ }
+ case button15cxlight: {
+ return img.button15cxlight();
+ }
+ case button15lblue: {
+ return img.button15lblue();
+ }
+ case button15ldark: {
+ return img.button15ldark();
+ }
+ case button15llight: {
+ return img.button15llight();
+ }
+ case button15lxlight: {
+ return img.button15lxlight();
+ }
+ case button15rblue: {
+ return img.button15rblue();
+ }
+ case button15rdark: {
+ return img.button15rdark();
+ }
+ case button15rlight: {
+ return img.button15rlight();
+ }
+ case button15rxlight: {
+ return img.button15rxlight();
+ }
+ case button17cblue: {
+ return img.button17cblue();
+ }
+ case button17cdark: {
+ return img.button17cdark();
+ }
+ case button17clight: {
+ return img.button17clight();
+ }
+ case button17cxlight: {
+ return img.button17cxlight();
+ }
+ case button17lblue: {
+ return img.button17lblue();
+ }
+ case button17ldark: {
+ return img.button17ldark();
+ }
+ case button17llight: {
+ return img.button17llight();
+ }
+ case button17lxlight: {
+ return img.button17lxlight();
+ }
+ case button17rblue: {
+ return img.button17rblue();
+ }
+ case button17rdark: {
+ return img.button17rdark();
+ }
+ case button17rlight: {
+ return img.button17rlight();
+ }
+ case button17rxlight: {
+ return img.button17rxlight();
+ }
+ case button20cblue: {
+ return img.button20cblue();
+ }
+ case button20cdark: {
+ return img.button20cdark();
+ }
+ case button20clight: {
+ return img.button20clight();
+ }
+ case button20cxlight: {
+ return img.button20cxlight();
+ }
+ case button20lblue: {
+ return img.button20lblue();
+ }
+ case button20ldark: {
+ return img.button20ldark();
+ }
+ case button20llight: {
+ return img.button20llight();
+ }
+ case button20lxlight: {
+ return img.button20lxlight();
+ }
+ case button20rblue: {
+ return img.button20rblue();
+ }
+ case button20rdark: {
+ return img.button20rdark();
+ }
+ case button20rlight: {
+ return img.button20rlight();
+ }
+ case button20rxlight: {
+ return img.button20rxlight();
+ }
+ case buttonArrowDown: {
+ return img.buttonArrowDown();
+ }
+ case buttonHelpBlue: {
+ return img.buttonHelpBlue();
+ }
+ case buttonHelpDark: {
+ return img.buttonHelpDark();
+ }
+ case buttonHelpLight: {
+ return img.buttonHelpLight();
+ }
+ case buttonSitebarArrowDown: {
+ return img.buttonSitebarArrowDown();
+ }
+ case by80x15: {
+ return img.by80x15();
+ }
+ case bync80x15: {
+ return img.bync80x15();
+ }
+ case byncnd80x15: {
+ return img.byncnd80x15();
+ }
+ case byncsa80x15: {
+ return img.byncsa80x15();
+ }
+ case bynd80x15: {
+ return img.bynd80x15();
+ }
+ case bysa80x15: {
+ return img.bysa80x15();
+ }
+ case cancel: {
+ return img.cancel();
+ }
+ case chat: {
+ return img.chat();
+ }
+ case clear: {
+ return img.clear();
+ }
+ case copyleft: {
+ return img.copyleft();
+ }
+ case cross: {
+ return img.cross();
+ }
+ case crossDark: {
+ return img.crossDark();
+ }
+ case del: {
+ return img.del();
+ }
+ case emblemImportant: {
+ return img.emblemImportant();
+ }
+ case error: {
+ return img.error();
+ }
+ case everybody: {
+ return img.everybody();
+ }
+ case fullscreen: {
+ return img.fullscreen();
+ }
+ case gnuFdl: {
+ return img.gnuFdl();
+ }
+ case groupDefIcon: {
+ return img.groupDefIcon();
+ }
+ case groupHome: {
+ return img.groupHome();
+ }
+ case important: {
+ return img.important();
+ }
+ case info: {
+ return img.info();
+ }
+ case infoLight: {
+ return img.infoLight();
+ }
+ case kuneClose: {
+ return img.kuneClose();
+ }
+ case kuneExternalWindow: {
+ return img.kuneExternalWindow();
+ }
+ case kuneHelpTranslationIcon: {
+ return img.kuneHelpTranslationIcon();
+ }
+ case kuneIcon16: {
+ return img.kuneIcon16();
+ }
+ case kuneLogo16px: {
+ return img.kuneLogo16px();
+ }
+ case kunePreferences: {
+ return img.kunePreferences();
+ }
+ case kuneSearchIco: {
+ return img.kuneSearchIco();
+ }
+ case kuneSearchIcoPush: {
+ return img.kuneSearchIcoPush();
+ }
+ case language: {
+ return img.language();
+ }
+ case nobody: {
+ return img.nobody();
+ }
+ case noCopyleft: {
+ return img.noCopyleft();
+ }
+ case nt: {
+ return img.nt();
+ }
+ case opentriangle: {
+ return img.opentriangle();
+ }
+ case personDef: {
+ return img.personDef();
+ }
+ case remove: {
+ return img.remove();
+ }
+ case rssIcon: {
+ return img.rssIcon();
+ }
+ case searchIco: {
+ return img.searchIco();
+ }
+ case spinKuneThundGreen: {
+ return img.spinKuneThundGreen();
+ }
+ case splitterVertBar: {
+ return img.splitterVertBar();
+ }
+ case star10: {
+ return img.star10();
+ }
+ case star20: {
+ return img.star20();
+ }
+ case star30: {
+ return img.star30();
+ }
+ case star40: {
+ return img.star40();
+ }
+ case star50: {
+ return img.star50();
+ }
+ case star60: {
+ return img.star60();
+ }
+ case star70: {
+ return img.star70();
+ }
+ case star80: {
+ return img.star80();
+ }
+ case star90: {
+ return img.star90();
+ }
+ case starGrey: {
+ return img.starGrey();
+ }
+ case starSmallYellow: {
+ return img.starSmallYellow();
+ }
+ case starVsmallYellow: {
+ return img.starVsmallYellow();
+ }
+ case starYellow: {
+ return img.starYellow();
+ }
+ case step1: {
+ return img.step1();
+ }
+ case step2: {
+ return img.step2();
+ }
+ case step3: {
+ return img.step3();
+ }
+ case step4: {
+ return img.step4();
+ }
+ case step5: {
+ return img.step5();
+ }
+ case themeChoose: {
+ return img.themeChoose();
+ }
+ case triangle: {
+ return img.triangle();
+ }
+ default:
+ return null;
+ }
+ }
+
+ public String getImageHtml(final ImageDescriptor imageDescriptor) {
+ return getImage(imageDescriptor).getHTML();
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -11,6 +11,7 @@
import org.ourproject.kune.platf.client.extend.ExtensibleWidgetsManager;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
import org.ourproject.kune.platf.client.rpc.ContentService;
+import org.ourproject.kune.platf.client.rpc.SocialNetworkService;
import org.ourproject.kune.platf.client.state.ContentProviderImpl;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.SessionImpl;
@@ -23,11 +24,11 @@
import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter;
import org.ourproject.kune.workspace.client.search.SiteSearcherView;
import org.ourproject.kune.workspace.client.sitebar.Site;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanelNew;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenterNew;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryViewNew;
import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter;
import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
-import org.ourproject.kune.workspace.client.socialnet.ui.GroupMembersSummaryPanel;
import org.ourproject.kune.workspace.client.socialnet.ui.ParticipationSummaryPanel;
import org.ourproject.kune.workspace.client.summary.GroupSummaryPresenter;
import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
@@ -98,6 +99,12 @@
}
}, SingletonScope.class);
+ builder.registerProvider(ImageUtils.class, new Provider<ImageUtils>() {
+ public ImageUtils get() {
+ return new ImageUtils();
+ }
+ }, SingletonScope.class);
+
final I18nUITranslationService i18n = builder.getInstance(I18nUITranslationService.class);
builder.registerProvider(KuneErrorHandler.class, new Provider<KuneErrorHandler>() {
public KuneErrorHandler get() {
@@ -220,6 +227,7 @@
builder.registerProvider(WorkspaceManager.class, new Provider<WorkspaceManager>() {
public WorkspaceManager get() {
+ // TODO: use here providers instead of getInstance
final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder
.getInstance(EntityTitlePresenter.class), builder.getInstance(EntitySubTitlePresenter.class),
builder.getInstance(WsThemePresenter.class), builder.getInstance(EntityLicensePresenter.class),
@@ -232,8 +240,10 @@
builder.registerProvider(GroupMembersSummary.class, new Provider<GroupMembersSummary>() {
public GroupMembersSummary get() {
- final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(i18n);
- final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter, i18n, ws);
+ final GroupMembersSummaryPresenterNew presenter = new GroupMembersSummaryPresenterNew(i18n, builder
+ .getProvider(StateManager.class), builder.getInstance(ImageUtils.class), builder
+ .getInstance(Session.class), SocialNetworkService.App.getInstance());
+ final GroupMembersSummaryViewNew view = new GroupMembersSummaryPanelNew(presenter, i18n, ws);
presenter.init(view);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManager.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -28,14 +28,16 @@
public interface StateManager extends HistoryListener {
+ void gotoToken(String token);
+
void reload();
- void setSocialNetwork(SocialNetworkResultDTO socialNet);
+ void reloadContextAndTitles();
void setRetrievedState(StateDTO content);
+ void setSocialNetwork(SocialNetworkResultDTO socialNet);
+
void setState(StateToken state);
- void reloadContextAndTitles();
-
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -56,6 +56,10 @@
this.oldState = null;
}
+ public void gotoToken(final String token) {
+ setState(new StateToken(token));
+ }
+
public void onHistoryChanged(final String historyToken) {
String oldStateEncoded = "";
if (oldState != null) {
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDragConfiguration.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDragConfiguration.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDragConfiguration.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,42 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+public class GridDragConfiguration {
+
+ private final String ddGroupId;
+ private final String dragMessage;
+
+ public GridDragConfiguration(final String ddGroupId, final String dragMessage) {
+ this.ddGroupId = ddGroupId;
+ this.dragMessage = dragMessage;
+ }
+
+ public String getDdGroupId() {
+ return ddGroupId;
+ }
+
+ public String getDragMessage() {
+ return dragMessage;
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDropConfiguration.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDropConfiguration.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridDropConfiguration.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,50 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import com.calclab.suco.client.signal.Signal;
+import com.calclab.suco.client.signal.Slot;
+
+public class GridDropConfiguration {
+
+ private final String ddGroupId;
+ private final Signal<String> onDrop;
+
+ public GridDropConfiguration(final String ddGroupId, final Slot<String> slot) {
+ this.ddGroupId = ddGroupId;
+ this.onDrop = new Signal<String>("onDrop");
+ this.onDrop(slot);
+ }
+
+ public void fire(final String id) {
+ onDrop.fire(id);
+ }
+
+ public String getDdGroupId() {
+ return ddGroupId;
+ }
+
+ public void onDrop(final Slot<String> slot) {
+ onDrop.add(slot);
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridGroup.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridGroup.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridGroup.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,69 @@
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+public class GridGroup {
+
+ public static GridGroup NoGridGroup = new GridGroup("", "", "", "", false);
+
+ private String name;
+ private String tooltipTitle;
+ private String tooltip;
+ private String endIconHtml;
+
+ public GridGroup(final String adminsTitle, final String tooltipTitle, final String tooltip,
+ final boolean countVisible) {
+ this(adminsTitle, tooltipTitle, tooltip, "", countVisible);
+ }
+
+ public GridGroup(final String name, final String tooltipTitle, final String tooltip, final String endIconHtml,
+ final boolean countVisible) {
+ this.name = name;
+ this.tooltipTitle = tooltipTitle;
+ this.tooltip = tooltip;
+ this.endIconHtml = endIconHtml;
+ }
+
+ GridGroup(final String adminsTitle) {
+ this(adminsTitle, "", "", false);
+ }
+
+ GridGroup(final String adminsTitle, final String tooltip) {
+ this(adminsTitle, "", tooltip, false);
+ }
+
+ GridGroup(final String adminsTitle, final String tooltipTitle, final String tooltip) {
+ this(adminsTitle, tooltipTitle, tooltip, false);
+ }
+
+ public String getEndIconHtml() {
+ return endIconHtml;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+ public String getTooltipTitle() {
+ return tooltipTitle;
+ }
+
+ public void setEndIconHtml(final String endIconHtml) {
+ this.endIconHtml = endIconHtml;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ public void setTooltip(final String tooltip) {
+ this.tooltip = tooltip;
+ }
+
+ public void setTooltipTitle(final String tooltipTitle) {
+ this.tooltipTitle = tooltipTitle;
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridItem.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridItem.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,111 @@
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+public class GridItem<T> {
+
+ private GridGroup group;
+ private String id;
+ private String iconHtml;
+ private String title;
+ private String titleHtml;
+ private String endIconHtml;
+ private String tooltip;
+ private String tooltipTitle;
+ private T item;
+ private GridMenu<T> menu;
+
+ public GridItem(final T item, final GridGroup group, final String id, final String iconHtml, final String title,
+ final String titleHtml, final String endIconHtml, final String tooltipTitle, final String tooltip,
+ final GridMenu<T> menu) {
+ this.item = item;
+ this.group = group;
+ this.id = id;
+ this.iconHtml = iconHtml;
+ this.title = title;
+ this.titleHtml = titleHtml;
+ this.endIconHtml = endIconHtml;
+ this.tooltip = tooltip;
+ this.tooltipTitle = tooltipTitle;
+ this.menu = menu;
+ }
+
+ public String getEndIconHtml() {
+ return endIconHtml;
+ }
+
+ public GridGroup getGroup() {
+ return group;
+ }
+
+ public String getIconHtml() {
+ return iconHtml;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public T getItem() {
+ return item;
+ }
+
+ public GridMenu<T> getMenu() {
+ return menu;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getTitleHtml() {
+ return titleHtml;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+ public String getTooltipTitle() {
+ return tooltipTitle;
+ }
+
+ public void setEndIconHtml(final String endIconHtml) {
+ this.endIconHtml = endIconHtml;
+ }
+
+ public void setGroup(final GridGroup group) {
+ this.group = group;
+ }
+
+ public void setIconHtml(final String iconHtml) {
+ this.iconHtml = iconHtml;
+ }
+
+ public void setId(final String id) {
+ this.id = id;
+ }
+
+ public void setItem(final T item) {
+ this.item = item;
+ }
+
+ public void setMenu(final GridMenu<T> menu) {
+ this.menu = menu;
+ }
+
+ public void setTitle(final String title) {
+ this.title = title;
+ }
+
+ public void setTitleHtml(final String titleHtml) {
+ this.titleHtml = titleHtml;
+ }
+
+ public void setTooltip(final String tooltip) {
+ this.tooltip = tooltip;
+ }
+
+ public void setTooltipTitle(final String tooltipTitle) {
+ this.tooltipTitle = tooltipTitle;
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenu.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,79 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import java.util.Iterator;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.menu.BaseItem;
+import com.gwtext.client.widgets.menu.Item;
+import com.gwtext.client.widgets.menu.Menu;
+import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
+
+public class GridMenu<T> {
+ private final T param;
+ private final Menu menu;
+
+ /**
+ *
+ * @param param
+ * the uniq id (for instance a group short name, a xmpp uri
+ * of the object asociated with this menu
+ *
+ */
+ public GridMenu(final T param) {
+ this.param = param;
+ menu = new Menu();
+ }
+
+ public void addMenuItem(final GridMenuItem<T> menuItem) {
+ final Item item = new Item(menuItem.getTitle());
+ item.setIconCls(menuItem.getIconCls());
+ menu.addItem(item);
+ item.addListener(new BaseItemListenerAdapter() {
+ public void onClick(final BaseItem item, final EventObject e) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ menuItem.fire(param);
+ }
+ });
+ }
+ });
+ }
+
+ @SuppressWarnings("unchecked")
+ public void addMenuItemList(final GridMenuItemCollection list) {
+ for (final Iterator iterator = list.iterator(); iterator.hasNext();) {
+ final GridMenuItem item = (GridMenuItem) iterator.next();
+ addMenuItem(item);
+ }
+ }
+
+ public void showMenu(final EventObject e) {
+ if (menu.getItems().length > 0) {
+ menu.showAt(e.getXY());
+ }
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItem.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,34 @@
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import com.calclab.suco.client.signal.Signal;
+import com.calclab.suco.client.signal.Slot;
+
+public class GridMenuItem<T> {
+
+ final String iconCls;
+ final String title;
+ private final Signal<T> onClick;
+
+ public GridMenuItem(final String iconCls, final String title, final Slot<T> slot) {
+ this.iconCls = iconCls;
+ this.title = title;
+ this.onClick = new Signal<T>("onClick");
+ onClick(slot);
+ }
+
+ public void fire(final T id) {
+ onClick.fire(id);
+ }
+
+ public String getIconCls() {
+ return iconCls;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void onClick(final Slot<T> slot) {
+ onClick.add(slot);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuItemCollection.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,30 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import java.util.ArrayList;
+
+public class GridMenuItemCollection extends ArrayList<GridMenuItem<?>> {
+
+ private static final long serialVersionUID = 1L;
+
+}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/gridmenu/GridMenuPanel.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,438 @@
+package org.ourproject.kune.platf.client.ui.gridmenu;
+
+import java.util.HashMap;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.calclab.suco.client.signal.Signal;
+import com.calclab.suco.client.signal.Slot;
+import com.google.gwt.user.client.ui.Composite;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.core.SortDir;
+import com.gwtext.client.data.ArrayReader;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.GroupingStore;
+import com.gwtext.client.data.MemoryProxy;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.SortState;
+import com.gwtext.client.data.Store;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.dd.DragData;
+import com.gwtext.client.dd.DragSource;
+import com.gwtext.client.dd.DropTarget;
+import com.gwtext.client.dd.DropTargetConfig;
+import com.gwtext.client.util.Format;
+import com.gwtext.client.widgets.BoxComponent;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.event.ContainerListenerAdapter;
+import com.gwtext.client.widgets.grid.CellMetadata;
+import com.gwtext.client.widgets.grid.ColumnConfig;
+import com.gwtext.client.widgets.grid.ColumnModel;
+import com.gwtext.client.widgets.grid.GridDragData;
+import com.gwtext.client.widgets.grid.GridPanel;
+import com.gwtext.client.widgets.grid.GridView;
+import com.gwtext.client.widgets.grid.GroupingView;
+import com.gwtext.client.widgets.grid.Renderer;
+import com.gwtext.client.widgets.grid.RowSelectionModel;
+import com.gwtext.client.widgets.grid.event.GridRowListener;
+import com.gwtext.client.widgets.layout.FitLayout;
+
+public class GridMenuPanel<T> extends Composite {
+ public static final String GRID_MENU_PANEL_DD = "gridMenuPanelDD";
+ public static final int DEFAULT_INITIAL_WIDTH = 150;
+ private static final String GROUP = "groupField";
+ private static final String GROUP_TOOLTIP_TITLE = "groupTooltipTitleField";
+ private static final String GROUP_TOOLTIP = "groupTooltipField";
+ private static final String GROUP_ENDICON_HTML = "groupEndIconHtmlField";
+ private static final String ID = "idField";
+ private static final String ICON_HTML = "iconHtmlField";
+ private static final String TITLE = "titleField";
+ private static final String TITLE_HTML = "titleHtmlField";
+ private static final String END_ICON_HTML = "endIconHtmlField";
+ private static final String TOOLTIP = "tooltipField";
+ private static final String TOOLTIPTITLE = "tooltipTitleField";
+ private final HashMap<String, GridMenu<T>> menuMap;
+ private final HashMap<T, Record> recordMap;
+ private RecordDef recordDef;
+ private GroupingStore store;
+ private GridPanel grid;
+ private final Panel panel;
+ private final boolean grouped;
+ private final boolean withCounters;
+ private final Signal<String> onClick;
+ private final Signal<String> onDoubleClick;
+ private Toolbar topBar;
+ private Toolbar bottomBar;
+ private final String emptyText;
+ private final GridDragConfiguration gridDragConfiguration;
+ private final GridDropConfiguration gridDropConfiguration;
+ private ColumnModel columnModel;
+
+ public GridMenuPanel(final String emptyText) {
+ this(emptyText, null, null, false, false, false, false);
+ }
+
+ public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters) {
+ this(emptyText, null, null, grouped, withCounters, false, false);
+ }
+
+ public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters,
+ final boolean withTopBar, final boolean withBottomBar) {
+ this(emptyText, null, null, grouped, withCounters, withTopBar, withBottomBar);
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration) {
+ this(emptyText, gridDragConfiguration, null, false, false, false, false);
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration,
+ final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters,
+ final boolean withTopBar, final boolean withBottomBar) {
+ this.emptyText = emptyText;
+ this.gridDragConfiguration = gridDragConfiguration;
+ this.gridDropConfiguration = gridDropConfiguration;
+ this.onClick = new Signal<String>("onClick");
+ this.onDoubleClick = new Signal<String>("onDoubleClick");
+ this.grouped = grouped;
+ this.withCounters = withCounters;
+ panel = new Panel();
+ panel.setBorder(false);
+ panel.setLayout(new FitLayout());
+ if (withTopBar) {
+ topBar = new Toolbar();
+ panel.setTopToolbar(topBar);
+ }
+ if (withBottomBar) {
+ bottomBar = new Toolbar();
+ panel.setBottomToolbar(bottomBar);
+ }
+ menuMap = new HashMap<String, GridMenu<T>>();
+ recordMap = new HashMap<T, Record>();
+ panel.addListener(new ContainerListenerAdapter() {
+ public void onResize(final BoxComponent component, final int adjWidth, final int adjHeight,
+ final int rawWidth, final int rawHeight) {
+ setWidth(adjWidth);
+ }
+ });
+ initWidget(panel);
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDropConfiguration gridDropConfiguration) {
+ this(emptyText, null, gridDropConfiguration, false, false, false, false);
+ }
+
+ public void addItem(final GridItem<T> gridItem) {
+ createGridIfNeeded();
+ final String id = gridItem.getId();
+ final Record newRecord = recordDef
+ .createRecord(id, new Object[] { gridItem.getGroup().getName(), gridItem.getGroup().getTooltipTitle(),
+ gridItem.getGroup().getTooltip(), gridItem.getGroup().getEndIconHtml(), id,
+ gridItem.getIconHtml(), gridItem.getTitle(), gridItem.getTitleHtml(),
+ gridItem.getEndIconHtml(), gridItem.getTooltipTitle(), gridItem.getTooltip() });
+ recordMap.put(gridItem.getItem(), newRecord);
+ store.addSorted(newRecord);
+ menuMap.put(id, gridItem.getMenu());
+ sort();
+ doLayoutIfNeeded();
+ }
+
+ public void confDropInPanel(final Panel panel, final GridDropConfiguration gridDropConfiguration) {
+ // FIXME: This doesn't works :-/
+ // http://extjs.com/forum/showthread.php?t=18105
+ final DropTargetConfig dCfg = new DropTargetConfig();
+ dCfg.setTarget(true);
+ dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+ new DropTarget(panel, dCfg) {
+ @Override
+ public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+ if (dragData instanceof GridDragData) {
+ final GridDragData gridDragData = (GridDragData) dragData;
+ final Record[] records = gridDragData.getSelections();
+ for (int i = 0; i < records.length; i++) {
+ gridDropConfiguration.fire(records[i].getAsString(ID));
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+
+ @Override
+ public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+ };
+ }
+
+ public Toolbar getBottomBar() {
+ return bottomBar;
+ }
+
+ public Toolbar getTopBar() {
+ return topBar;
+ }
+
+ public void onClick(final Slot<String> slot) {
+ onClick.add(slot);
+ }
+
+ public void onDoubleClick(final Slot<String> slot) {
+ onDoubleClick.add(slot);
+ }
+
+ public void removeAll() {
+ if (grid != null) {
+ store.removeAll();
+ }
+ recordMap.clear();
+ menuMap.clear();
+ }
+
+ public void removeItem(final GridItem<T> gridItem) {
+ final Record record = recordMap.get(gridItem.getItem());
+ if (record != null) {
+ menuMap.remove(record);
+ store.remove(record);
+ recordMap.remove(gridItem.getItem());
+ doLayoutIfNeeded();
+ } else {
+ Log.error("Trying to remove a non existing item: " + gridItem.getId());
+ }
+ }
+
+ public void setEndIconVisible(final boolean visible) {
+ createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
+ columnModel.setHidden(2, !visible);
+ doLayoutIfNeeded();
+ }
+
+ public void sort() {
+ store.sort(GROUP);
+ }
+
+ public void updateItem(final GridItem<T> gridItem) {
+ final String id = gridItem.getId();
+ final Record record = recordMap.get(gridItem.getItem());
+ if (record != null) {
+ record.set(GROUP, gridItem.getGroup().getName());
+ record.set(GROUP_TOOLTIP_TITLE, gridItem.getGroup().getTooltipTitle());
+ record.set(GROUP_TOOLTIP, gridItem.getGroup().getTooltip());
+ record.set(GROUP_ENDICON_HTML, gridItem.getGroup().getEndIconHtml());
+ record.set(ICON_HTML, gridItem.getIconHtml());
+ record.set(TITLE, gridItem.getTitle());
+ record.set(TITLE_HTML, gridItem.getTitleHtml());
+ record.set(END_ICON_HTML, gridItem.getEndIconHtml());
+ record.set(TOOLTIPTITLE, gridItem.getTooltipTitle());
+ record.set(TOOLTIP, gridItem.getTooltip());
+ store.commitChanges();
+ menuMap.put(id, gridItem.getMenu());
+ sort();
+ doLayoutIfNeeded();
+ } else {
+ Log.error("Trying to update a non existing item: " + id);
+ }
+ }
+
+ private void configureDrag(final GridDragConfiguration gridDragConfiguration) {
+ // TODO: put this in GDConf
+ grid.setEnableDragDrop(true);
+ grid.setDdGroup(gridDragConfiguration.getDdGroupId());
+ grid.setDragDropText(gridDragConfiguration.getDragMessage());
+ }
+
+ private void configureDrop(final GridDropConfiguration gridDropConfiguration) {
+ // TODO: put this in GDConf
+ grid.setEnableDragDrop(true);
+ grid.setDdGroup(gridDropConfiguration.getDdGroupId());
+ final DropTargetConfig dCfg = new DropTargetConfig();
+ dCfg.setTarget(true);
+ dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+ new DropTarget(grid, dCfg) {
+ @Override
+ public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+ if (dragData instanceof GridDragData) {
+ final GridDragData gridDragData = (GridDragData) dragData;
+ final Record[] records = gridDragData.getSelections();
+ for (int i = 0; i < records.length; i++) {
+ gridDropConfiguration.fire(records[i].getAsString(ID));
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+
+ @Override
+ public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+ };
+ }
+
+ private void createGrid(final String emptyText, final GridDragConfiguration gridDragConfiguration,
+ final GridDropConfiguration gridDropConfiguration) {
+ grid = new GridPanel();
+ final FieldDef[] fieldDefs = new FieldDef[] { new StringFieldDef(GROUP),
+ new StringFieldDef(GROUP_TOOLTIP_TITLE), new StringFieldDef(GROUP_TOOLTIP),
+ new StringFieldDef(GROUP_ENDICON_HTML), new StringFieldDef(ID), new StringFieldDef(ICON_HTML),
+ new StringFieldDef(TITLE), new StringFieldDef(TITLE_HTML), new StringFieldDef(END_ICON_HTML),
+ new StringFieldDef(TOOLTIPTITLE), new StringFieldDef(TOOLTIP) };
+ recordDef = new RecordDef(fieldDefs);
+
+ final MemoryProxy proxy = new MemoryProxy(new Object[][] {});
+
+ final ArrayReader reader = new ArrayReader(1, recordDef);
+ store = new GroupingStore(proxy, reader);
+ store.setSortInfo(new SortState(GROUP, SortDir.DESC));
+ store.setGroupField(GROUP);
+ store.setGroupOnSort(true);
+ store.load();
+ grid.setStore(store);
+
+ // TODO: Change this with a method that modify the html
+ final String commonTootipHtmlRender = "<span ext:qtitle=\"{1}\" ext:qtip=\"{2}\">{0}</span>";
+
+ final Renderer iconHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(ICON_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final Renderer titleHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(TITLE_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final Renderer endIconHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(END_ICON_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final ColumnConfig[] columnsConfigs = new ColumnConfig[] {
+ new ColumnConfig("Icon", ICON_HTML, 24, false, iconHtmlRenderer, ICON_HTML),
+ new ColumnConfig("Title", TITLE_HTML, 80, true, titleHtmlRenderer, TITLE_HTML),
+ new ColumnConfig("EndIcon", END_ICON_HTML, 24, false, endIconHtmlRenderer, END_ICON_HTML),
+ new ColumnConfig(GROUP, GROUP, 0) };
+ columnModel = new ColumnModel(columnsConfigs);
+ grid.setColumnModel(columnModel);
+
+ grid.setAutoExpandColumn(TITLE_HTML);
+ grid.setSelectionModel(new RowSelectionModel());
+
+ grid.addGridRowListener(new GridRowListener() {
+ public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+ showMenu(rowIndex, e);
+ onClick(rowIndex);
+ }
+
+ public void onRowContextMenu(final GridPanel grid, final int rowIndex, final EventObject e) {
+ showMenu(rowIndex, e);
+ }
+
+ public void onRowDblClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+ onDoubleClick(rowIndex);
+ }
+
+ private void showMenu(final int rowIndex, final EventObject e) {
+ final Record record = store.getRecordAt(rowIndex);
+ final GridMenu<T> menu = menuMap.get(record.getAsString(ID));
+ if (menu != null) {
+ menu.showMenu(e);
+ }
+ }
+ });
+ grid.stripeRows(true);
+ grid.setAutoWidth(true);
+ grid.setAutoHeight(true);
+
+ if (grouped) {
+ final GroupingView groupView = new GroupingView();
+ groupView.setForceFit(true);
+ final String groupEndIconHtmlTpl = "{[values.rs[0].data[\"" + GROUP_ENDICON_HTML + "\"]]}";
+ // http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1388&p=6789&hilit=setGroup…
+ if (withCounters) {
+ groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
+ + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]} ({[values.rs.length]})</span>"
+ + groupEndIconHtmlTpl);
+ } else {
+ groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
+ + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>" + groupEndIconHtmlTpl);
+ }
+ // Other sample with condition:
+ // view.setGroupTextTpl("{text} ({[values.rs.length]}
+ // {[values.rs.length
+ // > 1 ? \"Items\" : \"Item\"]})");
+ groupView.setHideGroupedColumn(true);
+ groupView.setEmptyGroupText(emptyText);
+ groupView.setShowGroupsText(true);
+ groupView.setEnableNoGroups(true);
+ groupView.setEmptyText(emptyText);
+ groupView.setGroupByText(GROUP);
+ groupView.setIgnoreAdd(true);
+ groupView.setEnableGrouping(true);
+ grid.setView(groupView);
+ } else {
+ final GridView view = new GridView();
+ view.setForceFit(true);
+ grid.setView(view);
+ }
+ grid.setHideColumnHeader(true);
+ grid.setBorder(false);
+ grid.setAutoScroll(true);
+ if (gridDropConfiguration != null) {
+ configureDrop(gridDropConfiguration);
+ }
+ if (gridDragConfiguration != null) {
+ configureDrag(gridDragConfiguration);
+ } else {
+ grid.setDraggable(false);
+ }
+ panel.add(grid);
+ }
+
+ private void createGridIfNeeded() {
+ if (grid == null) {
+ createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
+ }
+ }
+
+ private void doLayoutIfNeeded() {
+ if (panel.isRendered()) {
+ panel.doLayout();
+ }
+ }
+
+ private void onClick(final int rowIndex) {
+ final Record record = store.getRecordAt(rowIndex);
+ onClick.fire(record.getAsString(ID));
+ }
+
+ private void onDoubleClick(final int rowIndex) {
+ final Record record = store.getRecordAt(rowIndex);
+ onDoubleClick.fire(record.getAsString(ID));
+ }
+
+ private void setWidth(final int width) {
+ Log.info("Grid width: " + width);
+ if (grid != null) {
+ grid.setWidth(width - 27);
+ // panel.setWidth(width - 25);
+ doLayoutIfNeeded();
+ }
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,58 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.ui.DropDownPanel;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuPanel;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+import com.gwtext.client.widgets.ToolbarButton;
+
+public class GroupMembersSummaryPanelNew extends DropDownPanel implements GroupMembersSummaryViewNew {
+ private final GridMenuPanel<GroupDTO> gridMenuPanel;
+
+ public GroupMembersSummaryPanelNew(final GroupMembersSummaryPresenterNew presenter,
+ final I18nUITranslationService i18n, final WorkspaceSkeleton ws) {
+ super(true);
+ super.setHeaderText(i18n.t("Group members"));
+ super.setHeaderTitle(i18n.t("People and groups collaborating in this group"));
+ gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This is an orphaned project, if you are interested "
+ + "please request to join to work on it"), true, true, false, true);
+ ws.getEntitySummary().addInSummary(this);
+ this.setContent(gridMenuPanel);
+ }
+
+ public void addAddMemberButton() {
+ gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ }
+
+ public void addItem(final GridItem<GroupDTO> gridItem) {
+ gridMenuPanel.addItem(gridItem);
+ }
+
+ public void addJoinButton() {
+ gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ }
+
+ public void addUnjoinButton() {
+ gridMenuPanel.getBottomBar().addButton(new ToolbarButton("Test"));
+ }
+
+ public void clear() {
+ gridMenuPanel.removeAll();
+ }
+
+ public void setDropDownContentVisible(final boolean visible) {
+ super.setContentVisible(visible);
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ super.setTheme(oldTheme, newTheme);
+ }
+
+ public void setVisible(final boolean visible) {
+ super.setVisible(visible);
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -168,11 +168,6 @@
if (userCanView) {
if (rights.isAdministrable()) {
- new MenuItem("", i18n.t("Remove this member"), new MenuItem.MenuItemListener() {
- public void onClick() {
-
- }
- });
final MemberAction[] adminsActions = {
new MemberAction(i18n.t("Remove this member"), WorkspaceEvents.DEL_MEMBER),
new MemberAction(i18n.t("Change to collaborator"), WorkspaceEvents.SET_ADMIN_AS_COLLAB),
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,246 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkResultDTO;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
+import org.ourproject.kune.platf.client.rpc.SocialNetworkService;
+import org.ourproject.kune.platf.client.rpc.SocialNetworkServiceAsync;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.ImageDescriptor;
+import org.ourproject.kune.platf.client.services.ImageUtils;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridGroup;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenu;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
+import org.ourproject.kune.workspace.client.sitebar.Site;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
+
+import com.calclab.suco.client.container.Provider;
+import com.calclab.suco.client.signal.Slot;
+
+public class GroupMembersSummaryPresenterNew implements GroupMembersSummary {
+
+ private GroupMembersSummaryViewNew view;
+ private final I18nTranslationService i18n;
+ private final GridGroup adminGroup;
+ private final GridGroup collabGroup;
+ private final GridGroup pendigGroup;
+ private GridMenuItem<GroupDTO> gotoGroupMenuItem;
+ private final ImageUtils imageUtils;
+ private final Session session;
+ private final SocialNetworkServiceAsync snService;
+ private final Provider<StateManager> stateManager;
+ private GridMenuItem<GroupDTO> changeToCollabMenuItem;
+ private GridMenuItem<GroupDTO> removeMemberMenuItem;
+ private GridMenuItem<GroupDTO> changeToAdminMenuItem;
+ private GridMenuItem<GroupDTO> acceptJoinGroupMenuItem;
+ private GridMenuItem<GroupDTO> denyJoinGroupMenuItem;
+
+ public GroupMembersSummaryPresenterNew(final I18nTranslationService i18n,
+ final Provider<StateManager> stateManager, final ImageUtils imageUtils, final Session session,
+ final SocialNetworkServiceAsync snService) {
+ this.i18n = i18n;
+ this.stateManager = stateManager;
+ this.imageUtils = imageUtils;
+ this.session = session;
+ this.snService = snService;
+ final String adminsTitle = i18n.t("Admins");
+ final String collabsTitle = i18n.t("Collaborators");
+ final String pendingTitle = i18n.t("Pending");
+ adminGroup = new GridGroup(adminsTitle, adminsTitle, i18n.t("People that can admin this group"), true);
+ collabGroup = new GridGroup(collabsTitle, collabsTitle,
+ i18n.t("Other people that collaborate with this group"), true);
+ pendigGroup = new GridGroup(pendingTitle, pendingTitle, i18n
+ .t("People pending to be accepted in this group by the admins"), imageUtils
+ .getImageHtml(ImageDescriptor.alert), true);
+ createActions();
+ }
+
+ public void hide() {
+ view.setVisible(false);
+ }
+
+ public void init(final GroupMembersSummaryViewNew view) {
+ this.view = view;
+ }
+
+ public void setState(final StateDTO state) {
+ if (state.getGroup().getType() == GroupDTO.PERSONAL) {
+ hide();
+ } else {
+ setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+ }
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+
+ private void createActions() {
+ gotoGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Visit this member homepage"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO groupDTO) {
+ getStateManager().gotoToken(groupDTO.getShortName());
+ }
+ });
+ changeToCollabMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Change to collaborator"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ snService.setCollabAsAdmin(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Type of member changed"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ removeMemberMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Remove this member"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ snService.deleteMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member removed"));
+ getStateManager().reload();
+ // in the future, only if I cannot
+ // be affected:
+ // snService.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
+ // result);
+ }
+ });
+ }
+ });
+ changeToAdminMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Change to admin"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.addAdminMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(), group
+ .getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as admin"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ acceptJoinGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Accept this member"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ snService.AcceptJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ group.getShortName(), new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member accepted"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ denyJoinGroupMenuItem = new GridMenuItem<GroupDTO>("", i18n.t("Don't accept this member"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO group) {
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.denyJoinGroup(session.getUserHash(),
+ session.getCurrentState().getGroup().getShortName(), group.getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member rejected"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ }
+
+ private GridItem<GroupDTO> createDefMemberMenu(final GroupDTO group, final GridGroup gridGroup) {
+ final GridMenu<GroupDTO> menu = new GridMenu<GroupDTO>(group);
+ final String longName = group.getLongName();
+ final GridItem<GroupDTO> gridItem = new GridItem<GroupDTO>(group, gridGroup, group.getShortName(), imageUtils
+ .getImageHtml(ImageDescriptor.groupDefIcon), longName, longName, " ", longName, i18n.t(
+ "User name: [%s]", group.getShortName()), menu);
+ menu.addMenuItem(gotoGroupMenuItem);
+ return gridItem;
+ }
+
+ private StateManager getStateManager() {
+ return stateManager.get();
+ }
+
+ private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
+ return userIsAdmin || userIsCollab;
+ }
+
+ private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
+ final AccessListsDTO accessLists = socialNetwork.getAccessLists();
+
+ final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
+ final List<GroupDTO> collabList = accessLists.getEditors().getList();
+ final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
+
+ final int numAdmins = adminsList.size();
+
+ boolean userIsAdmin = rights.isAdministrable();
+ final boolean userIsCollab = !userIsAdmin && rights.isEditable();
+ final boolean userCanView = rights.isVisible();
+ boolean userIsMember = isMember(userIsAdmin, userIsCollab);
+
+ view.setDropDownContentVisible(false);
+ view.clear();
+
+ if (userIsAdmin) {
+ view.addAddMemberButton();
+ }
+
+ if (!userIsMember) {
+ view.addJoinButton();
+ } else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
+ view.addUnjoinButton();
+ }
+
+ if (userCanView) {
+ for (final GroupDTO admin : adminsList) {
+ final GridItem<GroupDTO> gridItem = createDefMemberMenu(admin, adminGroup);
+ final GridMenu<GroupDTO> menu = gridItem.getMenu();
+ if (rights.isAdministrable()) {
+ menu.addMenuItem(changeToCollabMenuItem);
+ menu.addMenuItem(removeMemberMenuItem);
+ }
+ view.addItem(gridItem);
+ }
+ for (final GroupDTO collab : collabList) {
+ final GridItem<GroupDTO> gridItem = createDefMemberMenu(collab, collabGroup);
+ final GridMenu<GroupDTO> menu = gridItem.getMenu();
+ if (rights.isAdministrable()) {
+ menu.addMenuItem(changeToAdminMenuItem);
+ menu.addMenuItem(removeMemberMenuItem);
+ }
+ view.addItem(gridItem);
+ }
+ for (final GroupDTO pendingCollab : pendingCollabsList) {
+ final GridItem<GroupDTO> gridItem = createDefMemberMenu(pendingCollab, pendigGroup);
+ final GridMenu<GroupDTO> menu = gridItem.getMenu();
+ if (rights.isAdministrable()) {
+ menu.addMenuItem(acceptJoinGroupMenuItem);
+ menu.addMenuItem(denyJoinGroupMenuItem);
+ }
+ view.addItem(gridItem);
+ }
+ }
+ view.setDropDownContentVisible(true);
+ view.setVisible(true);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryViewNew.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -0,0 +1,25 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridItem;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface GroupMembersSummaryViewNew {
+
+ void addAddMemberButton();
+
+ void addItem(GridItem<GroupDTO> gridItem);
+
+ void addJoinButton();
+
+ void addUnjoinButton();
+
+ void clear();
+
+ void setDropDownContentVisible(boolean visible);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+ void setVisible(boolean visible);
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/EntityWorkspace.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -31,6 +31,7 @@
final Panel bottomPanel = new Panel();
bottomPanel.setBorder(false);
bottomPanel.setLayout(new AnchorLayout());
+ ;
title = new TitleBar();
title.setHeight("" + (DEF_TOOLBAR_HEIGHT - 2));
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java 2008-07-18 12:10:54 UTC (rev 802)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java 2008-07-20 01:51:06 UTC (rev 803)
@@ -29,8 +29,4 @@
public void setTheme(WsTheme oldTheme, WsTheme newTheme);
- public void showAdmins();
-
- public void showCollabs();
-
}
1
0
Author: vjrj
Date: 2008-07-18 14:10:54 +0200 (Fri, 18 Jul 2008)
New Revision: 802
Modified:
sandbox3/src/main/java/org/op/client/Sandbox.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java
Log:
new GridMenuPanel tests
Modified: sandbox3/src/main/java/org/op/client/Sandbox.java
===================================================================
--- sandbox3/src/main/java/org/op/client/Sandbox.java 2008-07-18 10:24:57 UTC (rev 801)
+++ sandbox3/src/main/java/org/op/client/Sandbox.java 2008-07-18 12:10:54 UTC (rev 802)
@@ -3,7 +3,9 @@
import org.op.client.gridmenu.GridGroup;
import org.op.client.gridmenu.GridItem;
import org.op.client.gridmenu.GridMenu;
+import org.op.client.gridmenu.GridMenuItem;
import org.op.client.gridmenu.GridMenuPanel;
+import org.op.client.gridmenu.GridMenuItem.GridMenuItemListener;
import org.ourproject.kune.platf.client.View;
import com.calclab.suco.client.signal.Slot;
@@ -177,6 +179,7 @@
final GridMenuPanel grid = new GridMenuPanel("Nada", true, true);
grid.getTopBar().addButton(new ToolbarButton("boton"));
grid.getBottomBar().addButton(new ToolbarButton("boton 2"));
+ grid.setEndIconVisible(false);
grid.onDoubleClick(new Slot<String>() {
public void onEvent(final String id) {
Window.alert("Double click, id: " + id);
@@ -197,12 +200,26 @@
item1.setGroup(collab);
item1.setTitleHtml("New fulano");
grid.updateItem(item1);
+ final GridMenuItem menuItem = new GridMenuItem("/arrow_in.png", "operation 1", new GridMenuItemListener() {
+ public void onClick() {
+ Window.alert("click");
+ }
+ });
+ final GridMenuItem menuItem2 = new GridMenuItem("/arrow_out.png", "operation 2", new GridMenuItemListener() {
+ public void onClick() {
+ Window.alert("click");
+ }
+ });
+ final GridMenu menu = new GridMenu();
+ menu.addMenuItem(menuItem);
+ menu.addMenuItem(menuItem2);
final GridItem item4bis = new GridItem(GridGroup.NoGridGroup, "4", "<a href=''>b2</a>", "fulan2",
- "<em>fulane</em>", "<b>k3</b>", "tooltiptitle", "tooptip", new GridMenu());
+ "<em>fulane</em>", "<b>k3</b>", "tooltiptitle", "tooptip", menu);
grid.removeItem(item4bis);
grid.addItem(item4bis);
grid.removeItem(item4bis);
grid.addItem(item4bis);
+
return grid;
}
}
Modified: sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java 2008-07-18 10:24:57 UTC (rev 801)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java 2008-07-18 12:10:54 UTC (rev 802)
@@ -38,15 +38,15 @@
menu = new Menu();
}
- public void addMenuItem(final GridMenuItem menuOpt) {
- final Item menuItem = new Item(menuOpt.getTitle());
- menuItem.setIconCls(menuOpt.getIconCls());
- menu.addItem(menuItem);
- menuItem.addListener(new BaseItemListenerAdapter() {
+ public void addMenuItem(final GridMenuItem menuItem) {
+ final Item item = new Item(menuItem.getTitle());
+ item.setIconCls(menuItem.getIconCls());
+ menu.addItem(item);
+ item.addListener(new BaseItemListenerAdapter() {
public void onClick(final BaseItem item, final EventObject e) {
DeferredCommand.addCommand(new Command() {
public void execute() {
- menuOpt.getListener().onClick();
+ menuItem.getListener().onClick();
}
});
}
@@ -63,7 +63,9 @@
}
public void showMenu(final EventObject e) {
- menu.showAt(e.getXY());
+ if (menu.getItems().length > 0) {
+ menu.showAt(e.getXY());
+ }
}
}
Modified: sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java 2008-07-18 10:24:57 UTC (rev 801)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java 2008-07-18 12:10:54 UTC (rev 802)
@@ -33,7 +33,6 @@
import com.gwtext.client.widgets.grid.GroupingView;
import com.gwtext.client.widgets.grid.Renderer;
import com.gwtext.client.widgets.grid.RowSelectionModel;
-import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
import com.gwtext.client.widgets.grid.event.GridRowListener;
import com.gwtext.client.widgets.layout.FitLayout;
@@ -50,7 +49,7 @@
private static final String END_ICON_HTML = "endIconHtmlField";
private static final String TOOLTIP = "tooltipField";
private static final String TOOLTIPTITLE = "tooltipTitleField";
- private final HashMap<Record, GridMenu> menuMap;
+ private final HashMap<String, GridMenu> menuMap;
private final HashMap<String, Record> recordMap;
private RecordDef recordDef;
private GroupingStore store;
@@ -65,6 +64,7 @@
private final String emptyText;
private final GridDragConfiguration gridDragConfiguration;
private final GridDropConfiguration gridDropConfiguration;
+ private ColumnModel columnModel;
public GridMenuPanel(final String emptyText) {
this(emptyText, null, null, false, false);
@@ -90,7 +90,7 @@
panel = new Panel();
panel.setBorder(false);
panel.setLayout(new FitLayout());
- menuMap = new HashMap<Record, GridMenu>();
+ menuMap = new HashMap<String, GridMenu>();
recordMap = new HashMap<String, Record>();
}
@@ -102,14 +102,14 @@
if (grid == null) {
createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
}
- final Record newRecord = recordDef.createRecord(item.getId(),
+ final String id = item.getId();
+ final Record newRecord = recordDef.createRecord(id,
new Object[] { item.getGroup().getName(), item.getGroup().getTooltipTitle(),
- item.getGroup().getTooltip(), item.getId(), item.getIconHtml(), item.getTitle(),
- item.getTitleHtml(), item.getEndIconHtml(), item.getTooltipTitle(), item.getTooltip() });
- recordMap.put(item.getId(), newRecord);
+ item.getGroup().getTooltip(), id, item.getIconHtml(), item.getTitle(), item.getTitleHtml(),
+ item.getEndIconHtml(), item.getTooltipTitle(), item.getTooltip() });
+ recordMap.put(id, newRecord);
store.addSorted(newRecord);
- // store.groupBy(GROUP);
- menuMap.put(newRecord, item.getMenu());
+ menuMap.put(id, item.getMenu());
sort();
doLayoutIfNeeded();
}
@@ -187,6 +187,14 @@
}
}
+ public void setEndIconVisible(final boolean visible) {
+ if (grid == null) {
+ createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
+ }
+ columnModel.setHidden(2, !visible);
+ doLayoutIfNeeded();
+ }
+
public void setWidth(final int width) {
// Log.info("Grid width: " + width);
grid.setWidth(width - 27);
@@ -199,7 +207,8 @@
}
public void updateItem(final GridItem item) {
- final Record record = recordMap.get(item.getId());
+ final String id = item.getId();
+ final Record record = recordMap.get(id);
if (record != null) {
record.set(GROUP, item.getGroup().getName());
record.set(GROUP_TOOLTIP_TITLE, item.getGroup().getTooltipTitle());
@@ -211,11 +220,11 @@
record.set(TOOLTIPTITLE, item.getTooltipTitle());
record.set(TOOLTIP, item.getTooltip());
store.commitChanges();
- menuMap.put(record, item.getMenu());
+ menuMap.put(id, item.getMenu());
sort();
doLayoutIfNeeded();
} else {
- Log.error("Trying to update a non existing item: " + item.getId());
+ Log.error("Trying to update a non existing item: " + id);
}
}
@@ -305,21 +314,16 @@
};
final ColumnConfig[] columnsConfigs = new ColumnConfig[] {
- new ColumnConfig("Icon", ICON_HTML, 18, false, iconHtmlRenderer, ICON_HTML),
- new ColumnConfig("Title", TITLE_HTML, 24, true, titleHtmlRenderer, TITLE_HTML),
+ new ColumnConfig("Icon", ICON_HTML, 3, false, iconHtmlRenderer, ICON_HTML),
+ new ColumnConfig("Title", TITLE_HTML, 10, true, titleHtmlRenderer, TITLE_HTML),
new ColumnConfig("EndIcon", END_ICON_HTML, 18, false, endIconHtmlRenderer, END_ICON_HTML),
new ColumnConfig(GROUP, GROUP, 0) };
- final ColumnModel columnModel = new ColumnModel(columnsConfigs);
+ columnModel = new ColumnModel(columnsConfigs);
grid.setColumnModel(columnModel);
grid.setAutoExpandColumn(TITLE_HTML);
grid.setSelectionModel(new RowSelectionModel());
- grid.addGridCellListener(new GridCellListenerAdapter() {
- @Override
- public void onCellDblClick(final GridPanel grid, final int rowIndex, final int colIndex, final EventObject e) {
- onDoubleClick(rowIndex);
- }
- });
+
grid.addGridRowListener(new GridRowListener() {
public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
showMenu(rowIndex, e);
@@ -331,14 +335,15 @@
}
public void onRowDblClick(final GridPanel grid, final int rowIndex, final EventObject e) {
- Log.debug("Row double click");
onDoubleClick(rowIndex);
}
private void showMenu(final int rowIndex, final EventObject e) {
final Record record = store.getRecordAt(rowIndex);
- final GridMenu menu = menuMap.get(record);
- menu.showMenu(e);
+ final GridMenu menu = menuMap.get(record.getAsString(ID));
+ if (menu != null) {
+ menu.showMenu(e);
+ }
}
});
grid.stripeRows(true);
1
0
r801 - in sandbox3: . src/main/java/org/op src/main/java/org/op/client src/main/java/org/op/client/gridmenu
by vjrj 18 Jul '08
by vjrj 18 Jul '08
18 Jul '08
Author: vjrj
Date: 2008-07-18 12:24:57 +0200 (Fri, 18 Jul 2008)
New Revision: 801
Added:
sandbox3/src/main/java/org/op/client/gridmenu/
sandbox3/src/main/java/org/op/client/gridmenu/GridDragConfiguration.java
sandbox3/src/main/java/org/op/client/gridmenu/GridDropConfiguration.java
sandbox3/src/main/java/org/op/client/gridmenu/GridGroup.java
sandbox3/src/main/java/org/op/client/gridmenu/GridItem.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItem.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItemCollection.java
sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java
Modified:
sandbox3/pom.xml
sandbox3/src/main/java/org/op/Sandbox.gwt.xml
sandbox3/src/main/java/org/op/client/Sandbox.java
Log:
new GridMenuPanel tests
Modified: sandbox3/pom.xml
===================================================================
--- sandbox3/pom.xml 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/pom.xml 2008-07-18 10:24:57 UTC (rev 801)
@@ -119,7 +119,7 @@
<dependency>
<groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
<artifactId>gwt-log</artifactId>
- <version>1.5.6</version>
+ <version>2.5.0</version>
</dependency>
<!-- ui -->
Modified: sandbox3/src/main/java/org/op/Sandbox.gwt.xml
===================================================================
--- sandbox3/src/main/java/org/op/Sandbox.gwt.xml 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/Sandbox.gwt.xml 2008-07-18 10:24:57 UTC (rev 801)
@@ -4,6 +4,8 @@
<inherits name="org.ourproject.kune.platf.Kune-Platform" />
+ <inherits name="com.calclab.suco.Suco" />
+
<inherits name='com.gwtext.GwtExt' />
<script src="js/ext/adapter/ext/ext-base.js" />
<script src="js/ext/ext-all.js" />
Modified: sandbox3/src/main/java/org/op/client/Sandbox.java
===================================================================
--- sandbox3/src/main/java/org/op/client/Sandbox.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/Sandbox.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -1,13 +1,22 @@
package org.op.client;
+import org.op.client.gridmenu.GridGroup;
+import org.op.client.gridmenu.GridItem;
+import org.op.client.gridmenu.GridMenu;
+import org.op.client.gridmenu.GridMenuPanel;
import org.ourproject.kune.platf.client.View;
+import com.calclab.suco.client.signal.Slot;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.MenuBar;
+import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.QuickTips;
+import com.gwtext.client.widgets.ToolbarButton;
import com.gwtext.client.widgets.Viewport;
import com.gwtext.client.widgets.layout.FitLayout;
@@ -96,6 +105,12 @@
// form.addTab("Segundo", tab2);
// dialog.add(form.getForm());
+ QuickTips.init(); // extgwt tips
+ // final QuickTip quickTipInstance = QuickTips.getQuickTip();
+ // quickTipInstance.setDismissDelay(8000);
+ // quickTipInstance.setHideDelay(500);
+ // quickTipInstance.setInterceptTitles(true);
+
final Workspace wk = new Workspace();
// EntityCnt ent = new EntityCnt();
@@ -127,7 +142,7 @@
wk.getEntityWorkspace().setContainer(new LabelWrapper(LOREM));
wk.getEntityWorkspace().setContent(new LabelWrapper(LOREM));
wk.getEntitySummary().addInTools(new Label("doc"));
- wk.getEntitySummary().addInSummary(new LabelWrapper(LOREM));
+ // wk.getEntitySummary().addInSummary(new LabelWrapper(LOREM));
wk.getEntityWorkspace().getBottomTitle().addSpacer();
wk.getEntityWorkspace().getBottomTitle().add(new LabelWrapper("Bottom"));
wk.getEntityWorkspace().getTitle().add(new LabelWrapper("Title"));
@@ -148,7 +163,46 @@
wk.getSiteBar().addFill();
wk.getSiteBar().addSeparator();
wk.getSiteBar().add(new LabelWrapper("sitebar-right"));
+
+ final Button button = new Button("kk");
+ button.setTooltip("tooltip");
+ wk.getEntityWorkspace().getContainerTopBar().add(button);
wk.setTheme(WsTheme.def);
wk.setTheme(WsTheme.green);
+ wk.getEntitySummary().addInSummary(createGridSample());
+ // wk.getEntitySummary().addInSummary(new GridGroupingSample());
}
+
+ private GridMenuPanel createGridSample() {
+ final GridMenuPanel grid = new GridMenuPanel("Nada", true, true);
+ grid.getTopBar().addButton(new ToolbarButton("boton"));
+ grid.getBottomBar().addButton(new ToolbarButton("boton 2"));
+ grid.onDoubleClick(new Slot<String>() {
+ public void onEvent(final String id) {
+ Window.alert("Double click, id: " + id);
+ }
+ });
+ final GridGroup admins = new GridGroup("Admins", "Admins Title", "some admin tooltip", true);
+ final GridGroup collab = new GridGroup("Collabs", "Collabs Title", "some collab tooltip", true);
+ final GridItem item1 = new GridItem(admins, "1", "<a href=''>kk</a>", "fulano", "<em>fulano</em>", "<b>kk</b>",
+ "tooltiptitle", "tooptip", new GridMenu());
+ grid.addItem(item1);
+ grid.addItem(new GridItem(admins, "3", "<a href=''>kk</a>", "afulano", "<em>afulano</em>", "<b>k3</b>",
+ "tooltiptitle", "tooptip", new GridMenu()));
+ grid.addItem(new GridItem(collab, "2", "<a href=''>bb</a>", "fulana", "<em>fulana</em>", "<b>k2</b>",
+ "tooltiptitle", "tooptip", new GridMenu()));
+ final GridItem item4 = new GridItem(GridGroup.NoGridGroup, "4", "<a href=''>b2</a>", "fulan2",
+ "<em>fulane</em>", "<b>k3</b>", "tooltiptitle", "tooptip", new GridMenu());
+ grid.addItem(item4);
+ item1.setGroup(collab);
+ item1.setTitleHtml("New fulano");
+ grid.updateItem(item1);
+ final GridItem item4bis = new GridItem(GridGroup.NoGridGroup, "4", "<a href=''>b2</a>", "fulan2",
+ "<em>fulane</em>", "<b>k3</b>", "tooltiptitle", "tooptip", new GridMenu());
+ grid.removeItem(item4bis);
+ grid.addItem(item4bis);
+ grid.removeItem(item4bis);
+ grid.addItem(item4bis);
+ return grid;
+ }
}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridDragConfiguration.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridDragConfiguration.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridDragConfiguration.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,42 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.op.client.gridmenu;
+
+public class GridDragConfiguration {
+
+ private final String ddGroupId;
+ private final String dragMessage;
+
+ public GridDragConfiguration(final String ddGroupId, final String dragMessage) {
+ this.ddGroupId = ddGroupId;
+ this.dragMessage = dragMessage;
+ }
+
+ public String getDdGroupId() {
+ return ddGroupId;
+ }
+
+ public String getDragMessage() {
+ return dragMessage;
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridDropConfiguration.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridDropConfiguration.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridDropConfiguration.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,50 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.op.client.gridmenu;
+
+import com.calclab.suco.client.signal.Signal;
+import com.calclab.suco.client.signal.Slot;
+
+public class GridDropConfiguration {
+
+ private final String ddGroupId;
+ private final Signal<String> onDrop;
+
+ public GridDropConfiguration(final String ddGroupId, final Slot<String> slot) {
+ this.ddGroupId = ddGroupId;
+ this.onDrop = new Signal<String>("onDrop");
+ this.onDrop(slot);
+ }
+
+ public void fire(final String id) {
+ onDrop.fire(id);
+ }
+
+ public String getDdGroupId() {
+ return ddGroupId;
+ }
+
+ public void onDrop(final Slot<String> slot) {
+ onDrop.add(slot);
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridGroup.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridGroup.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridGroup.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,41 @@
+package org.op.client.gridmenu;
+
+public class GridGroup {
+
+ public static GridGroup NoGridGroup = new GridGroup("", "", "", false);
+
+ private String name;
+ private String tooltipTitle;
+ private String tooltip;
+
+ public GridGroup(final String name, final String tooltipTitle, final String tooltip, final boolean countVisible) {
+ this.name = name;
+ this.tooltipTitle = tooltipTitle;
+ this.tooltip = tooltip;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+ public String getTooltipTitle() {
+ return tooltipTitle;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ public void setTooltip(final String tooltip) {
+ this.tooltip = tooltip;
+ }
+
+ public void setTooltipTitle(final String tooltipTitle) {
+ this.tooltipTitle = tooltipTitle;
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridItem.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridItem.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridItem.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,101 @@
+package org.op.client.gridmenu;
+
+public class GridItem {
+
+ private GridGroup group;
+ private String id;
+ private String iconHtml;
+ private String title;
+ private String titleHtml;
+ private String endIconHtml;
+ private String tooltip;
+ private String tooltipTitle;
+ private GridMenu menu;
+
+ public GridItem(final GridGroup group, final String id, final String iconHtml, final String title,
+ final String titleHtml, final String endIconHtml, final String tooltipTitle, final String tooltip,
+ final GridMenu menu) {
+ this.group = group;
+ this.id = id;
+ this.iconHtml = iconHtml;
+ this.title = title;
+ this.titleHtml = titleHtml;
+ this.endIconHtml = endIconHtml;
+ this.tooltip = tooltip;
+ this.tooltipTitle = tooltipTitle;
+ this.menu = menu;
+ }
+
+ public String getEndIconHtml() {
+ return endIconHtml;
+ }
+
+ public GridGroup getGroup() {
+ return group;
+ }
+
+ public String getIconHtml() {
+ return iconHtml;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public GridMenu getMenu() {
+ return menu;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public String getTitleHtml() {
+ return titleHtml;
+ }
+
+ public String getTooltip() {
+ return tooltip;
+ }
+
+ public String getTooltipTitle() {
+ return tooltipTitle;
+ }
+
+ public void setEndIconHtml(final String endIconHtml) {
+ this.endIconHtml = endIconHtml;
+ }
+
+ public void setGroup(final GridGroup group) {
+ this.group = group;
+ }
+
+ public void setIconHtml(final String iconHtml) {
+ this.iconHtml = iconHtml;
+ }
+
+ public void setId(final String id) {
+ this.id = id;
+ }
+
+ public void setMenu(final GridMenu menu) {
+ this.menu = menu;
+ }
+
+ public void setTitle(final String title) {
+ this.title = title;
+ }
+
+ public void setTitleHtml(final String titleHtml) {
+ this.titleHtml = titleHtml;
+ }
+
+ public void setTooltip(final String tooltip) {
+ this.tooltip = tooltip;
+ }
+
+ public void setTooltipTitle(final String tooltipTitle) {
+ this.tooltipTitle = tooltipTitle;
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenu.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,69 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.op.client.gridmenu;
+
+import java.util.Iterator;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.menu.BaseItem;
+import com.gwtext.client.widgets.menu.Item;
+import com.gwtext.client.widgets.menu.Menu;
+import com.gwtext.client.widgets.menu.event.BaseItemListenerAdapter;
+
+public class GridMenu {
+ private final Menu menu;
+
+ public GridMenu() {
+ menu = new Menu();
+ }
+
+ public void addMenuItem(final GridMenuItem menuOpt) {
+ final Item menuItem = new Item(menuOpt.getTitle());
+ menuItem.setIconCls(menuOpt.getIconCls());
+ menu.addItem(menuItem);
+ menuItem.addListener(new BaseItemListenerAdapter() {
+ public void onClick(final BaseItem item, final EventObject e) {
+ DeferredCommand.addCommand(new Command() {
+ public void execute() {
+ menuOpt.getListener().onClick();
+ }
+ });
+ }
+ });
+ }
+
+ @SuppressWarnings("unchecked")
+ public void setMenuItemList(final GridMenuItemCollection list) {
+ menu.removeAll();
+ for (final Iterator iterator = list.iterator(); iterator.hasNext();) {
+ final GridMenuItem item = (GridMenuItem) iterator.next();
+ addMenuItem(item);
+ }
+ }
+
+ public void showMenu(final EventObject e) {
+ menu.showAt(e.getXY());
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItem.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItem.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItem.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,31 @@
+package org.op.client.gridmenu;
+
+public class GridMenuItem {
+
+ public interface GridMenuItemListener {
+ public void onClick();
+ }
+
+ final String iconCls;
+ final String title;
+ final GridMenuItemListener listener;
+
+ public GridMenuItem(final String iconCls, final String title, final GridMenuItemListener listener) {
+ this.iconCls = iconCls;
+ this.title = title;
+ this.listener = listener;
+ }
+
+ public String getIconCls() {
+ return iconCls;
+ }
+
+ public GridMenuItemListener getListener() {
+ return listener;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItemCollection.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItemCollection.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenuItemCollection.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,30 @@
+/*
+ *
+ * ((e)) emite: A pure gwt (Google Web Toolkit) xmpp (jabber) library
+ *
+ * (c) 2008 The emite development team (see CREDITS for details)
+ * This file is part of emite.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.op.client.gridmenu;
+
+import java.util.ArrayList;
+
+public class GridMenuItemCollection extends ArrayList<GridMenuItem> {
+
+ private static final long serialVersionUID = 1L;
+
+}
Added: sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java
===================================================================
--- sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java 2008-07-12 13:46:02 UTC (rev 800)
+++ sandbox3/src/main/java/org/op/client/gridmenu/GridMenuPanel.java 2008-07-18 10:24:57 UTC (rev 801)
@@ -0,0 +1,406 @@
+package org.op.client.gridmenu;
+
+import java.util.HashMap;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.calclab.suco.client.signal.Signal;
+import com.calclab.suco.client.signal.Slot;
+import com.google.gwt.user.client.ui.Composite;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.core.SortDir;
+import com.gwtext.client.data.ArrayReader;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.GroupingStore;
+import com.gwtext.client.data.MemoryProxy;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.SortState;
+import com.gwtext.client.data.Store;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.dd.DragData;
+import com.gwtext.client.dd.DragSource;
+import com.gwtext.client.dd.DropTarget;
+import com.gwtext.client.dd.DropTargetConfig;
+import com.gwtext.client.util.Format;
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.grid.CellMetadata;
+import com.gwtext.client.widgets.grid.ColumnConfig;
+import com.gwtext.client.widgets.grid.ColumnModel;
+import com.gwtext.client.widgets.grid.GridDragData;
+import com.gwtext.client.widgets.grid.GridPanel;
+import com.gwtext.client.widgets.grid.GridView;
+import com.gwtext.client.widgets.grid.GroupingView;
+import com.gwtext.client.widgets.grid.Renderer;
+import com.gwtext.client.widgets.grid.RowSelectionModel;
+import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
+import com.gwtext.client.widgets.grid.event.GridRowListener;
+import com.gwtext.client.widgets.layout.FitLayout;
+
+public class GridMenuPanel extends Composite {
+ public static final String GRID_MENU_PANEL_DD = "gridMenuPanelDD";
+ public static final int DEFAULT_INITIAL_WIDTH = 150;
+ private static final String GROUP = "groupField";
+ private static final String GROUP_TOOLTIP_TITLE = "groupTooltipTitleField";
+ private static final String GROUP_TOOLTIP = "groupTooltipField";
+ private static final String ID = "idField";
+ private static final String ICON_HTML = "iconHtmlField";
+ private static final String TITLE = "titleField";
+ private static final String TITLE_HTML = "titleHtmlField";
+ private static final String END_ICON_HTML = "endIconHtmlField";
+ private static final String TOOLTIP = "tooltipField";
+ private static final String TOOLTIPTITLE = "tooltipTitleField";
+ private final HashMap<Record, GridMenu> menuMap;
+ private final HashMap<String, Record> recordMap;
+ private RecordDef recordDef;
+ private GroupingStore store;
+ private GridPanel grid;
+ private final Panel panel;
+ private final boolean grouped;
+ private final boolean withCounters;
+ private final Signal<String> onClick;
+ private final Signal<String> onDoubleClick;
+ private Toolbar topBar;
+ private Toolbar bottomBar;
+ private final String emptyText;
+ private final GridDragConfiguration gridDragConfiguration;
+ private final GridDropConfiguration gridDropConfiguration;
+
+ public GridMenuPanel(final String emptyText) {
+ this(emptyText, null, null, false, false);
+ }
+
+ public GridMenuPanel(final String emptyText, final boolean grouped, final boolean withCounters) {
+ this(emptyText, null, null, grouped, withCounters);
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration) {
+ this(emptyText, gridDragConfiguration, null, false, false);
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDragConfiguration gridDragConfiguration,
+ final GridDropConfiguration gridDropConfiguration, final boolean grouped, final boolean withCounters) {
+ this.emptyText = emptyText;
+ this.gridDragConfiguration = gridDragConfiguration;
+ this.gridDropConfiguration = gridDropConfiguration;
+ this.onClick = new Signal<String>("onClick");
+ this.onDoubleClick = new Signal<String>("onDoubleClick");
+ this.grouped = grouped;
+ this.withCounters = withCounters;
+ panel = new Panel();
+ panel.setBorder(false);
+ panel.setLayout(new FitLayout());
+ menuMap = new HashMap<Record, GridMenu>();
+ recordMap = new HashMap<String, Record>();
+ }
+
+ public GridMenuPanel(final String emptyText, final GridDropConfiguration gridDropConfiguration) {
+ this(emptyText, null, gridDropConfiguration, false, false);
+ }
+
+ public void addItem(final GridItem item) {
+ if (grid == null) {
+ createGrid(emptyText, gridDragConfiguration, gridDropConfiguration);
+ }
+ final Record newRecord = recordDef.createRecord(item.getId(),
+ new Object[] { item.getGroup().getName(), item.getGroup().getTooltipTitle(),
+ item.getGroup().getTooltip(), item.getId(), item.getIconHtml(), item.getTitle(),
+ item.getTitleHtml(), item.getEndIconHtml(), item.getTooltipTitle(), item.getTooltip() });
+ recordMap.put(item.getId(), newRecord);
+ store.addSorted(newRecord);
+ // store.groupBy(GROUP);
+ menuMap.put(newRecord, item.getMenu());
+ sort();
+ doLayoutIfNeeded();
+ }
+
+ public void confDropInPanel(final Panel panel, final GridDropConfiguration gridDropConfiguration) {
+ // FIXME: This doesn't works :-/
+ // http://extjs.com/forum/showthread.php?t=18105
+ final DropTargetConfig dCfg = new DropTargetConfig();
+ dCfg.setTarget(true);
+ dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+ new DropTarget(panel, dCfg) {
+ @Override
+ public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+ if (dragData instanceof GridDragData) {
+ final GridDragData gridDragData = (GridDragData) dragData;
+ final Record[] records = gridDragData.getSelections();
+ for (int i = 0; i < records.length; i++) {
+ gridDropConfiguration.fire(records[i].getAsString(ID));
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+
+ @Override
+ public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+ };
+ }
+
+ public Toolbar getBottomBar() {
+ if (bottomBar == null) {
+ bottomBar = new Toolbar();
+ panel.setBottomToolbar(bottomBar);
+ }
+ return bottomBar;
+ }
+
+ public Toolbar getTopBar() {
+ if (topBar == null) {
+ topBar = new Toolbar();
+ panel.setTopToolbar(topBar);
+ }
+ return topBar;
+ }
+
+ public void onClick(final Slot<String> slot) {
+ onClick.add(slot);
+ }
+
+ public void onDoubleClick(final Slot<String> slot) {
+ onDoubleClick.add(slot);
+ }
+
+ public void removeAll() {
+ store.removeAll();
+ recordMap.clear();
+ menuMap.clear();
+ }
+
+ public void removeItem(final GridItem item) {
+ final Record record = recordMap.get(item.getId());
+ if (record != null) {
+ menuMap.remove(record);
+ store.remove(record);
+ recordMap.remove(record);
+ doLayoutIfNeeded();
+ } else {
+ Log.error("Trying to remove a non existing item: " + item.getId());
+ }
+ }
+
+ public void setWidth(final int width) {
+ // Log.info("Grid width: " + width);
+ grid.setWidth(width - 27);
+ panel.setWidth(width - 25);
+ doLayoutIfNeeded();
+ }
+
+ public void sort() {
+ store.sort(GROUP);
+ }
+
+ public void updateItem(final GridItem item) {
+ final Record record = recordMap.get(item.getId());
+ if (record != null) {
+ record.set(GROUP, item.getGroup().getName());
+ record.set(GROUP_TOOLTIP_TITLE, item.getGroup().getTooltipTitle());
+ record.set(GROUP_TOOLTIP, item.getGroup().getTooltip());
+ record.set(ICON_HTML, item.getIconHtml());
+ record.set(TITLE, item.getTitle());
+ record.set(TITLE_HTML, item.getTitleHtml());
+ record.set(END_ICON_HTML, item.getEndIconHtml());
+ record.set(TOOLTIPTITLE, item.getTooltipTitle());
+ record.set(TOOLTIP, item.getTooltip());
+ store.commitChanges();
+ menuMap.put(record, item.getMenu());
+ sort();
+ doLayoutIfNeeded();
+ } else {
+ Log.error("Trying to update a non existing item: " + item.getId());
+ }
+ }
+
+ private void configureDrag(final GridDragConfiguration gridDragConfiguration) {
+ // TODO: put this in GDConf
+ grid.setEnableDragDrop(true);
+ grid.setDdGroup(gridDragConfiguration.getDdGroupId());
+ grid.setDragDropText(gridDragConfiguration.getDragMessage());
+ }
+
+ private void configureDrop(final GridDropConfiguration gridDropConfiguration) {
+ // TODO: put this in GDConf
+ grid.setEnableDragDrop(true);
+ grid.setDdGroup(gridDropConfiguration.getDdGroupId());
+ final DropTargetConfig dCfg = new DropTargetConfig();
+ dCfg.setTarget(true);
+ dCfg.setdDdGroup(gridDropConfiguration.getDdGroupId());
+ new DropTarget(grid, dCfg) {
+ @Override
+ public boolean notifyDrop(final DragSource src, final EventObject e, final DragData dragData) {
+ if (dragData instanceof GridDragData) {
+ final GridDragData gridDragData = (GridDragData) dragData;
+ final Record[] records = gridDragData.getSelections();
+ for (int i = 0; i < records.length; i++) {
+ gridDropConfiguration.fire(records[i].getAsString(ID));
+ }
+ }
+ return true;
+ }
+
+ @Override
+ public String notifyEnter(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+
+ @Override
+ public String notifyOver(final DragSource src, final EventObject e, final DragData data) {
+ return "x-tree-drop-ok-append";
+ }
+ };
+ }
+
+ private void createGrid(final String emptyText, final GridDragConfiguration gridDragConfiguration,
+ final GridDropConfiguration gridDropConfiguration) {
+ grid = new GridPanel();
+ final FieldDef[] fieldDefs = new FieldDef[] { new StringFieldDef(GROUP),
+ new StringFieldDef(GROUP_TOOLTIP_TITLE), new StringFieldDef(GROUP_TOOLTIP), new StringFieldDef(ID),
+ new StringFieldDef(ICON_HTML), new StringFieldDef(TITLE), new StringFieldDef(TITLE_HTML),
+ new StringFieldDef(END_ICON_HTML), new StringFieldDef(TOOLTIPTITLE), new StringFieldDef(TOOLTIP) };
+ recordDef = new RecordDef(fieldDefs);
+
+ final MemoryProxy proxy = new MemoryProxy(new Object[][] {});
+
+ final ArrayReader reader = new ArrayReader(1, recordDef);
+ store = new GroupingStore(proxy, reader);
+ store.setSortInfo(new SortState(GROUP, SortDir.DESC));
+ store.setGroupField(GROUP);
+ store.setGroupOnSort(true);
+ store.load();
+ grid.setStore(store);
+
+ // TODO: Change this with a method that modify the html
+ final String commonTootipHtmlRender = "<span ext:qtitle=\"{1}\" ext:qtip=\"{2}\">{0}</span>";
+
+ final Renderer iconHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(ICON_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final Renderer titleHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(TITLE_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final Renderer endIconHtmlRenderer = new Renderer() {
+ public String render(Object value, CellMetadata cellMetadata, Record record, int rowIndex, int colNum,
+ Store store) {
+ return Format.format(commonTootipHtmlRender, new String[] { record.getAsString(END_ICON_HTML),
+ record.getAsString(TOOLTIPTITLE), record.getAsString(TOOLTIP) });
+ }
+ };
+
+ final ColumnConfig[] columnsConfigs = new ColumnConfig[] {
+ new ColumnConfig("Icon", ICON_HTML, 18, false, iconHtmlRenderer, ICON_HTML),
+ new ColumnConfig("Title", TITLE_HTML, 24, true, titleHtmlRenderer, TITLE_HTML),
+ new ColumnConfig("EndIcon", END_ICON_HTML, 18, false, endIconHtmlRenderer, END_ICON_HTML),
+ new ColumnConfig(GROUP, GROUP, 0) };
+ final ColumnModel columnModel = new ColumnModel(columnsConfigs);
+ grid.setColumnModel(columnModel);
+
+ grid.setAutoExpandColumn(TITLE_HTML);
+ grid.setSelectionModel(new RowSelectionModel());
+ grid.addGridCellListener(new GridCellListenerAdapter() {
+ @Override
+ public void onCellDblClick(final GridPanel grid, final int rowIndex, final int colIndex, final EventObject e) {
+ onDoubleClick(rowIndex);
+ }
+ });
+ grid.addGridRowListener(new GridRowListener() {
+ public void onRowClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+ showMenu(rowIndex, e);
+ onClick(rowIndex);
+ }
+
+ public void onRowContextMenu(final GridPanel grid, final int rowIndex, final EventObject e) {
+ showMenu(rowIndex, e);
+ }
+
+ public void onRowDblClick(final GridPanel grid, final int rowIndex, final EventObject e) {
+ Log.debug("Row double click");
+ onDoubleClick(rowIndex);
+ }
+
+ private void showMenu(final int rowIndex, final EventObject e) {
+ final Record record = store.getRecordAt(rowIndex);
+ final GridMenu menu = menuMap.get(record);
+ menu.showMenu(e);
+ }
+ });
+ grid.stripeRows(true);
+ grid.setAutoHeight(true);
+
+ if (grouped) {
+ final GroupingView groupView = new GroupingView();
+ groupView.setForceFit(true);
+ // http://www.gwt-ext.com/forum/viewtopic.php?f=7&t=1388&p=6789&hilit=setGroup…
+ if (withCounters) {
+ groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
+ + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]} ({[values.rs.length]})</span>");
+ } else {
+ groupView.setGroupTextTpl("<span ext:qtip=\"{[values.rs[0].data[\"" + GROUP_TOOLTIP
+ + "\"]]}\">{[values.rs[0].data[\"" + GROUP + "\"]]}</span>");
+ }
+ // Other sample with condition:
+ // view.setGroupTextTpl("{text} ({[values.rs.length]}
+ // {[values.rs.length
+ // > 1 ? \"Items\" : \"Item\"]})");
+ groupView.setHideGroupedColumn(true);
+ groupView.setEmptyGroupText(emptyText);
+ groupView.setShowGroupsText(true);
+ groupView.setEnableNoGroups(true);
+ groupView.setEmptyText(emptyText);
+ groupView.setGroupByText(GROUP);
+ groupView.setIgnoreAdd(true);
+ groupView.setEnableGrouping(true);
+ grid.setView(groupView);
+ } else {
+ final GridView view = new GridView();
+ view.setForceFit(true);
+ grid.setView(view);
+ }
+ grid.setHideColumnHeader(true);
+ grid.setBorder(false);
+ grid.setAutoScroll(true);
+ if (gridDropConfiguration != null) {
+ configureDrop(gridDropConfiguration);
+ }
+ if (gridDragConfiguration != null) {
+ configureDrag(gridDragConfiguration);
+ } else {
+ grid.setDraggable(false);
+ }
+ panel.add(grid);
+ initWidget(panel);
+ }
+
+ private void doLayoutIfNeeded() {
+ if (panel.isRendered()) {
+ panel.doLayout();
+ }
+ }
+
+ private void onClick(final int rowIndex) {
+ final Record record = store.getRecordAt(rowIndex);
+ onClick.fire(record.getAsString(ID));
+ }
+
+ private void onDoubleClick(final int rowIndex) {
+ final Record record = store.getRecordAt(rowIndex);
+ onDoubleClick.fire(record.getAsString(ID));
+ }
+}
1
0
Author: vjrj
Date: 2008-07-12 15:46:02 +0200 (Sat, 12 Jul 2008)
New Revision: 800
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ThemeMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationSummary.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/TagsSummary.java
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/tags/ui/TagsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ui/ThemeMenuPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java
Modified:
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java
trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceFactory.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AcceptJoinGroupAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddAdminAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddCollabAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetAdminAsCollabAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetCollabAsAdminAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/MemberAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspaceUIComponents.java
trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java
Log:
Workspace refactorization
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -6,7 +6,7 @@
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
-import org.ourproject.kune.workspace.client.workspace.Tags;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
import com.calclab.suco.client.container.Container;
import com.calclab.suco.client.container.Provider;
@@ -27,7 +27,7 @@
builder.registerProvider(DocumentFactory.class, new Provider<DocumentFactory>() {
public DocumentFactory get() {
return new DocumentFactory(builder.getInstance(I18nUITranslationService.class), builder
- .getInstance(Session.class), builder.getInstance(Tags.class));
+ .getInstance(Session.class), builder.getInstance(TagsSummary.class));
}
}, SingletonScope.class);
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ctx/admin/AdminContextPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -37,15 +37,15 @@
import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.workspace.client.sitebar.Site;
-import org.ourproject.kune.workspace.client.workspace.Tags;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
public class AdminContextPresenter extends AbstractPresenter implements AdminContext {
private AdminContextView view;
private final Session session;
- private final Tags tags;
+ private final TagsSummary tags;
- public AdminContextPresenter(final Session session, final Tags tags) {
+ public AdminContextPresenter(final Session session, final TagsSummary tags) {
this.session = session;
this.tags = tags;
}
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -52,15 +52,15 @@
import org.ourproject.kune.workspace.client.WorkspaceFactory;
import org.ourproject.kune.workspace.client.component.WorkspaceDeckPanel;
import org.ourproject.kune.workspace.client.ui.ctx.items.ContextItems;
-import org.ourproject.kune.workspace.client.workspace.Tags;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
public class DocumentFactory {
private final I18nTranslationService i18n;
private final Session session;
- private final Tags tags;
+ private final TagsSummary tags;
- public DocumentFactory(final I18nTranslationService i18n, final Session session, final Tags tags) {
+ public DocumentFactory(final I18nTranslationService i18n, final Session session, final TagsSummary tags) {
this.i18n = i18n;
this.session = session;
this.tags = tags;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -17,13 +17,22 @@
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.state.StateManagerDefault;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.presence.ui.GroupSummaryPanel;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
import org.ourproject.kune.workspace.client.search.SiteSearcherPanel;
import org.ourproject.kune.workspace.client.search.SiteSearcherPresenter;
import org.ourproject.kune.workspace.client.search.SiteSearcherView;
import org.ourproject.kune.workspace.client.sitebar.Site;
-import org.ourproject.kune.workspace.client.tags.TagsPresenter;
-import org.ourproject.kune.workspace.client.tags.ui.TagsPanel;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryPresenter;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.ui.GroupMembersSummaryPanel;
+import org.ourproject.kune.workspace.client.socialnet.ui.ParticipationSummaryPanel;
+import org.ourproject.kune.workspace.client.summary.GroupSummaryPresenter;
+import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel;
+import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.WorkspaceManager;
import org.ourproject.kune.workspace.client.ui.newtmp.licensefoot.EntityLicensePanel;
import org.ourproject.kune.workspace.client.ui.newtmp.licensefoot.EntityLicensePresenter;
@@ -40,7 +49,10 @@
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntitySubTitlePresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePanel;
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePresenter;
-import org.ourproject.kune.workspace.client.workspace.Tags;
+import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
+import org.ourproject.kune.workspace.client.workspace.GroupSummary;
+import org.ourproject.kune.workspace.client.workspace.ParticipationSummary;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo;
import org.ourproject.kune.workspace.client.workspace.ui.EntityLogoPanel;
@@ -211,16 +223,45 @@
final WorkspaceManager presenter = new WorkspaceManager(builder.getInstance(EntityLogo.class), builder
.getInstance(EntityTitlePresenter.class), builder.getInstance(EntitySubTitlePresenter.class),
builder.getInstance(WsThemePresenter.class), builder.getInstance(EntityLicensePresenter.class),
- builder.getInstance(Tags.class));
+ builder.getInstance(GroupMembersSummary.class),
+ builder.getInstance(ParticipationSummary.class), builder.getInstance(TagsSummary.class),
+ builder.getInstance(GroupSummary.class));
return presenter;
}
}, SingletonScope.class);
- builder.registerProvider(Tags.class, new Provider<Tags>() {
- public Tags get() {
- final TagsPresenter presenter = new TagsPresenter(builder.getProvider(Session.class), builder
- .getProvider(SiteSearcher.class));
- final TagsPanel panel = new TagsPanel(presenter, i18n, ws);
+ builder.registerProvider(GroupMembersSummary.class, new Provider<GroupMembersSummary>() {
+ public GroupMembersSummary get() {
+ final GroupMembersSummaryPresenter presenter = new GroupMembersSummaryPresenter(i18n);
+ final GroupMembersSummaryView view = new GroupMembersSummaryPanel(presenter, i18n, ws);
+ presenter.init(view);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(GroupSummary.class, new Provider<GroupSummary>() {
+ public GroupSummary get() {
+ final GroupSummaryPresenter presenter = new GroupSummaryPresenter();
+ final GroupSummaryView view = new GroupSummaryPanel(presenter, i18n, ws);
+ presenter.init(view);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(ParticipationSummary.class, new Provider<ParticipationSummary>() {
+ public ParticipationSummary get() {
+ final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(i18n);
+ final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter, i18n, ws);
+ presenter.init(view);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(TagsSummary.class, new Provider<TagsSummary>() {
+ public TagsSummary get() {
+ final TagsSummaryPresenter presenter = new TagsSummaryPresenter(builder.getProvider(Session.class),
+ builder.getProvider(SiteSearcher.class));
+ final TagsSummaryPanel panel = new TagsSummaryPanel(presenter, i18n, ws);
presenter.init(panel);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -116,7 +116,7 @@
final ParticipationDataDTO userParticipation = socialNet.getUserParticipation();
state.setGroupMembers(groupMembers);
state.setParticipation(userParticipation);
- setSocialNetwork(state);
+ ws.setSocialNetwork(state);
}
}
@@ -150,8 +150,6 @@
workspace.setContent(clientTool.getContent());
workspace.setContext(clientTool.getContext());
workspace.getLicenseComponent().setLicense(state);
- setSocialNetwork(state);
- workspace.getGroupSummaryComponent().setGroupSummary(state);
Site.hideProgress();
}
@@ -171,10 +169,4 @@
}
});
}
-
- private void setSocialNetwork(final StateDTO state) {
- workspace.getGroupMembersComponent().setGroupMembers(state);
- workspace.getParticipationComponent().setParticipation(state);
- }
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceFactory.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceFactory.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceFactory.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -42,24 +42,15 @@
import org.ourproject.kune.workspace.client.licensefoot.LicensePresenter;
import org.ourproject.kune.workspace.client.licensefoot.LicenseView;
import org.ourproject.kune.workspace.client.licensefoot.ui.LicensePanel;
-import org.ourproject.kune.workspace.client.presence.ui.GroupSummaryPanel;
import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarListener;
import org.ourproject.kune.workspace.client.socialnet.EntityLiveSearchView;
import org.ourproject.kune.workspace.client.socialnet.GroupLiveSearchPresenter;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersPresenter;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersView;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationPresenter;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationView;
import org.ourproject.kune.workspace.client.socialnet.UserLiveSearchPresenter;
import org.ourproject.kune.workspace.client.socialnet.ui.GroupLiveSearchPanel;
-import org.ourproject.kune.workspace.client.socialnet.ui.GroupMembersPanel;
-import org.ourproject.kune.workspace.client.socialnet.ui.ParticipationPanel;
import org.ourproject.kune.workspace.client.socialnet.ui.UserLiveSearchPanel;
-import org.ourproject.kune.workspace.client.summary.GroupSummaryPresenter;
-import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
+import org.ourproject.kune.workspace.client.theme.ThemeMenuPanel;
import org.ourproject.kune.workspace.client.theme.ThemeMenuPresenter;
import org.ourproject.kune.workspace.client.theme.ThemeMenuView;
-import org.ourproject.kune.workspace.client.theme.ui.ThemeMenuPanel;
import org.ourproject.kune.workspace.client.ui.ctx.items.ContextItems;
import org.ourproject.kune.workspace.client.ui.ctx.items.ContextItemsPanel;
import org.ourproject.kune.workspace.client.ui.ctx.items.ContextItemsPresenter;
@@ -76,9 +67,6 @@
import org.ourproject.kune.workspace.client.workspace.ContentToolBarPresenter;
import org.ourproject.kune.workspace.client.workspace.ContentToolBarView;
import org.ourproject.kune.workspace.client.workspace.GroupLiveSearchComponent;
-import org.ourproject.kune.workspace.client.workspace.GroupMembersComponent;
-import org.ourproject.kune.workspace.client.workspace.GroupSummaryComponent;
-import org.ourproject.kune.workspace.client.workspace.ParticipationComponent;
import org.ourproject.kune.workspace.client.workspace.ThemeMenuComponent;
import org.ourproject.kune.workspace.client.workspace.UserLiveSearchComponent;
import org.ourproject.kune.workspace.client.workspace.Workspace;
@@ -151,20 +139,6 @@
return presenter;
}
- public static GroupMembersComponent createGroupMembersComponent() {
- final GroupMembersPresenter presenter = new GroupMembersPresenter(i18n);
- final GroupMembersView view = new GroupMembersPanel(presenter, i18n);
- presenter.init(view);
- return presenter;
- }
-
- public static GroupSummaryComponent createGroupSummaryComponent() {
- final GroupSummaryPresenter presenter = new GroupSummaryPresenter();
- final GroupSummaryView view = new GroupSummaryPanel(presenter, i18n, colorTheme);
- presenter.init(view);
- return presenter;
- }
-
public static I18nTranslatorComponent createI18nTranslatorComponent() {
final I18nTranslatorPresenter presenter = new I18nTranslatorPresenter(session);
final I18nTranslatorView view = new I18nTranslatorPanel(presenter, i18n);
@@ -186,13 +160,6 @@
return presenter;
}
- public static ParticipationComponent createParticipationComponent() {
- final ParticipationPresenter presenter = new ParticipationPresenter(i18n);
- final ParticipationView view = new ParticipationPanel(presenter, i18n);
- presenter.init(view);
- return presenter;
- }
-
public static ThemeMenuComponent createThemeMenuComponent() {
final ThemeMenuPresenter presenter = new ThemeMenuPresenter();
final ThemeMenuView view = new ThemeMenuPanel(presenter, i18n, colorTheme);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AcceptJoinGroupAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AcceptJoinGroupAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AcceptJoinGroupAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -37,30 +37,32 @@
private final Session session;
private final I18nTranslationService i18n;
+ @Deprecated
public AcceptJoinGroupAction(final Session session, final StateManager stateManager, final Workspace workspace,
- final I18nTranslationService i18n) {
- this.session = session;
- this.workspace = workspace;
- this.stateManager = stateManager;
- this.i18n = i18n;
+ final I18nTranslationService i18n) {
+ this.session = session;
+ this.workspace = workspace;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
}
public void execute(final String groupShortName) {
- onAcceptJoinGroup(groupShortName);
+ onAcceptJoinGroup(groupShortName);
}
private void onAcceptJoinGroup(final String groupShortName) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.AcceptJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member accepted"));
- stateManager.setSocialNetwork(result);
- workspace.getGroupMembersComponent().showCollabs();
- }
- });
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.AcceptJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member accepted"));
+ stateManager.setSocialNetwork(result);
+ // FIXME
+ // workspace.getGroupMembersComponent().showCollabs();
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddAdminAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddAdminAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddAdminAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -30,6 +30,7 @@
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.workspace.Workspace;
+@Deprecated
public class AddAdminAction implements Action<String> {
private final Workspace workspace;
@@ -38,29 +39,29 @@
private final I18nTranslationService i18n;
public AddAdminAction(final Session session, final StateManager stateManager, final Workspace workspace,
- final I18nTranslationService i18n) {
- this.session = session;
- this.stateManager = stateManager;
- this.workspace = workspace;
- this.i18n = i18n;
+ final I18nTranslationService i18n) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.workspace = workspace;
+ this.i18n = i18n;
}
public void execute(final String groupShortName) {
- onAddAdmin(groupShortName);
+ onAddAdmin(groupShortName);
}
private void onAddAdmin(final String groupShortName) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.addAdminMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member added as admin"));
- stateManager.setSocialNetwork(result);
- workspace.getGroupMembersComponent().showAdmins();
- }
- });
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.addAdminMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as admin"));
+ stateManager.setSocialNetwork(result);
+ // workspace.getGroupMembersComponent().showAdmins();
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddCollabAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddCollabAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/AddCollabAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -30,6 +30,7 @@
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.workspace.Workspace;
+@Deprecated
public class AddCollabAction implements Action<String> {
private final Session session;
@@ -38,28 +39,28 @@
private final I18nTranslationService i18n;
public AddCollabAction(final Session session, final StateManager stateManager, final Workspace workspace,
- final I18nTranslationService i18n) {
- this.session = session;
- this.stateManager = stateManager;
- this.workspace = workspace;
- this.i18n = i18n;
+ final I18nTranslationService i18n) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.workspace = workspace;
+ this.i18n = i18n;
}
public void execute(final String groupShortName) {
- onAddCollab(groupShortName);
+ onAddCollab(groupShortName);
}
private void onAddCollab(final String groupShortName) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.addCollabMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member added as collaborator"));
- stateManager.setSocialNetwork(result);
- workspace.getGroupMembersComponent().showCollabs();
- }
- });
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.addCollabMember(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member added as collaborator"));
+ stateManager.setSocialNetwork(result);
+ // workspace.getGroupMembersComponent().showCollabs();
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetAdminAsCollabAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetAdminAsCollabAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetAdminAsCollabAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -30,6 +30,7 @@
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.workspace.Workspace;
+@Deprecated
public class SetAdminAsCollabAction implements Action<String> {
private final Session session;
@@ -38,28 +39,28 @@
private final I18nTranslationService i18n;
public SetAdminAsCollabAction(final Session session, final StateManager stateManager, final Workspace workspace,
- final I18nTranslationService i18n) {
- this.session = session;
- this.stateManager = stateManager;
- this.workspace = workspace;
- this.i18n = i18n;
+ final I18nTranslationService i18n) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.workspace = workspace;
+ this.i18n = i18n;
}
public void execute(final String value) {
- onSetAdminAsCollab(value);
+ onSetAdminAsCollab(value);
}
private void onSetAdminAsCollab(final String groupShortName) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.setAdminAsCollab(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Type of member changed"));
- stateManager.reload();
- workspace.getGroupMembersComponent().showCollabs();
- }
- });
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.setAdminAsCollab(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Type of member changed"));
+ stateManager.reload();
+ // workspace.getGroupMembersComponent().showCollabs();
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetCollabAsAdminAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetCollabAsAdminAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/sn/SetCollabAsAdminAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -30,6 +30,7 @@
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.workspace.Workspace;
+@Deprecated
public class SetCollabAsAdminAction implements Action<String> {
private final Session session;
@@ -38,30 +39,30 @@
private final I18nTranslationService i18n;
public SetCollabAsAdminAction(final Session session, final StateManager stateManager, final Workspace workspace,
- final I18nTranslationService i18n) {
- this.session = session;
- this.stateManager = stateManager;
- this.workspace = workspace;
- this.i18n = i18n;
+ final I18nTranslationService i18n) {
+ this.session = session;
+ this.stateManager = stateManager;
+ this.workspace = workspace;
+ this.i18n = i18n;
}
public void execute(final String value) {
- onSetCollabAsAdmin(value);
+ onSetCollabAsAdmin(value);
}
private void onSetCollabAsAdmin(final String groupShortName) {
- Site.showProgressProcessing();
- final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
- server.setCollabAsAdmin(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Type of member changed"));
- stateManager.setSocialNetwork(result);
- workspace.getGroupMembersComponent().showAdmins();
- workspace.getGroupMembersComponent().showAdmins();
- }
- });
+ Site.showProgressProcessing();
+ final SocialNetworkServiceAsync server = SocialNetworkService.App.getInstance();
+ server.setCollabAsAdmin(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ groupShortName, new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Type of member changed"));
+ stateManager.setSocialNetwork(result);
+ // workspace.getGroupMembersComponent().showAdmins();
+ // workspace.getGroupMembersComponent().showAdmins();
+ }
+ });
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -20,26 +20,27 @@
package org.ourproject.kune.workspace.client.presence.ui;
import org.ourproject.kune.platf.client.AbstractPresenter;
-import org.ourproject.kune.platf.client.services.ColorTheme;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
import org.ourproject.kune.workspace.client.sitebar.Site;
import org.ourproject.kune.workspace.client.summary.GroupSummaryView;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
public class GroupSummaryPanel extends StackedDropDownPanel implements GroupSummaryView {
public GroupSummaryPanel(final AbstractPresenter presenter, final I18nTranslationService i18n,
- final ColorTheme colorTheme) {
- // FIXME
- super(presenter, colorTheme.getSummaryDD(), i18n.t("Group Summary"), i18n
- .t("Some summarized information about current project" + Site.IN_DEVELOPMENT), false);
- setDropDownContentVisible(true);
- setVisible(true);
+ final WorkspaceSkeleton ws) {
+ // FIXME
+ super(presenter, "red", i18n.t("Group Summary"), i18n.t("Some summarized information about current project"
+ + Site.IN_DEVELOPMENT), false);
+ setDropDownContentVisible(true);
+ setVisible(true);
+ ws.getEntitySummary().addInSummary(this);
}
public void setComment(final String comment) {
- super.clear();
- super.addComment(comment);
+ super.clear();
+ super.addComment(comment);
}
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,194 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.AbstractPresenter;
-import org.ourproject.kune.platf.client.PlatformEvents;
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dispatch.DefaultDispatcher;
-import org.ourproject.kune.platf.client.dto.AccessListsDTO;
-import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
-import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.workspace.client.WorkspaceEvents;
-import org.ourproject.kune.workspace.client.workspace.GroupMembersComponent;
-
-public class GroupMembersPresenter extends AbstractPresenter implements GroupMembersComponent, EntityLiveSearchListener {
-
- private GroupMembersView view;
- private final I18nTranslationService i18n;
- private final String adminCategory;
- private final String collabCategory;
- private final String pendigCategory;
- private final MemberAction gotoGroupCommand;
-
- public GroupMembersPresenter(final I18nTranslationService i18n) {
- this.i18n = i18n;
- adminCategory = i18n.t("Admins");
- collabCategory = i18n.t("Collaborators");
- pendigCategory = i18n.t("Pending");
- gotoGroupCommand = new MemberAction(i18n.t("Visit this member homepage"), PlatformEvents.GOTO);
-
- }
-
- public void addCollab(final String groupShortName) {
- DefaultDispatcher.getInstance().fire(WorkspaceEvents.ADD_COLLAB_MEMBER, groupShortName);
- }
-
- public View getView() {
- return view;
- }
-
- public void hide() {
- view.hide();
- }
-
- public void init(final GroupMembersView view) {
- this.view = view;
- }
-
- public void onJoin() {
- DefaultDispatcher.getInstance().fire(WorkspaceEvents.REQ_JOIN_GROUP, null);
- }
-
- public void onSelection(final String groupShortName, final String groupLongName) {
- view.confirmAddCollab(groupShortName, groupLongName);
- }
-
- public void setGroupMembers(final StateDTO state) {
- if (state.getGroup().getType() == GroupDTO.PERSONAL) {
- hide();
- } else {
- setGroupMembers(state.getGroupMembers(), state.getGroupRights());
- }
- }
-
- public void showAdmins() {
- view.showCategory(adminCategory);
- }
-
- public void showCollabs() {
- view.showCategory(collabCategory);
- }
-
- private void addMembers(final List<GroupDTO> adminsList, final List<GroupDTO> collabList,
- final List<GroupDTO> pendingCollabsList, final int numAdmins, final int numCollaborators,
- final int numPendingCollabs, final boolean isAdmin, final MemberAction[] adminsActions,
- final MemberAction[] collabActions, final MemberAction[] pendingsActions, final MemberAction[] viewerActions) {
- if (numAdmins > 0) {
- view.addCategory(adminCategory, i18n.t("People that can admin this group"));
- iteraList(adminCategory, adminsList, adminsActions);
- }
- if (numCollaborators > 0) {
- view.addCategory(collabCategory, i18n.t("Other people that collaborate with this group"));
- iteraList(collabCategory, collabList, collabActions);
- }
- if (isAdmin) {
- if (numPendingCollabs > 0) {
- view.addCategory(pendigCategory, i18n.t("People pending to be accepted in this group by the admins"),
- GroupMembersView.ICON_ALERT);
- iteraList(pendigCategory, pendingCollabsList, pendingsActions);
- }
- }
-
- }
-
- private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
- return userIsAdmin || userIsCollab;
- }
-
- private void iteraList(final String categoryName, final List<GroupDTO> groupList, final MemberAction[] actions) {
- final Iterator<GroupDTO> iter = groupList.iterator();
- while (iter.hasNext()) {
- final GroupDTO group = iter.next();
- view.addCategoryMember(categoryName, group.getShortName(), group.getLongName(), actions);
- }
- }
-
- private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
- final AccessListsDTO accessLists = socialNetwork.getAccessLists();
-
- List<GroupDTO> adminsList = accessLists.getAdmins().getList();
- List<GroupDTO> collabList = accessLists.getEditors().getList();
- List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
-
- int numAdmins = adminsList.size();
- int numCollaborators = collabList.size();
- int numPendingCollabs = pendingCollabsList.size();
-
- boolean userIsAdmin = rights.isAdministrable();
- boolean userIsCollab = !userIsAdmin && rights.isEditable();
- boolean userCanView = rights.isVisible();
- boolean userIsMember = isMember(userIsAdmin, userIsCollab);
-
- view.setDropDownContentVisible(false);
- view.clear();
-
- if (userIsAdmin) {
- view.addAddMemberLink();
- }
-
- if (!userIsMember) {
- view.addJoinLink();
- } else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
- view.addUnjoinLink();
- }
-
- if (numAdmins == 0 && numCollaborators == 0) {
- view.addComment(i18n.t("This is an orphaned project, if you are interested "
- + "please request to join to work on it"));
- }
-
- if (userCanView) {
- if (rights.isAdministrable()) {
- MemberAction[] adminsActions = {
- new MemberAction(i18n.t("Remove this member"), WorkspaceEvents.DEL_MEMBER),
- new MemberAction(i18n.t("Change to collaborator"), WorkspaceEvents.SET_ADMIN_AS_COLLAB),
- gotoGroupCommand };
- MemberAction[] collabActions = {
- new MemberAction(i18n.t("Remove this member"), WorkspaceEvents.DEL_MEMBER),
- new MemberAction(i18n.t("Change to admin"), WorkspaceEvents.SET_COLLAB_AS_ADMIN),
- gotoGroupCommand };
- MemberAction[] pendingsActions = {
- new MemberAction(i18n.t("Accept this member"), WorkspaceEvents.ACCEPT_JOIN_GROUP),
- new MemberAction(i18n.t("Don't accept this member"), WorkspaceEvents.DENY_JOIN_GROUP),
- gotoGroupCommand };
- MemberAction[] viewerActions = { gotoGroupCommand };
- addMembers(adminsList, collabList, pendingCollabsList, numAdmins, numCollaborators, numPendingCollabs,
- userIsAdmin, adminsActions, collabActions, pendingsActions, viewerActions);
- } else if (rights.isEditable() || rights.isVisible()) {
- MemberAction[] adminsActions = { gotoGroupCommand };
- MemberAction[] collabActions = { gotoGroupCommand };
- MemberAction[] pendingsActions = { gotoGroupCommand };
- MemberAction[] viewerActions = { gotoGroupCommand };
- addMembers(adminsList, collabList, pendingCollabsList, numAdmins, numCollaborators, numPendingCollabs,
- userIsAdmin, adminsActions, collabActions, pendingsActions, viewerActions);
- }
- }
- view.setDropDownContentVisible(true);
- view.show();
- }
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersPresenter.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,204 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.AbstractPresenter;
+import org.ourproject.kune.platf.client.PlatformEvents;
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dispatch.DefaultDispatcher;
+import org.ourproject.kune.platf.client.dto.AccessListsDTO;
+import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.SocialNetworkDTO;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.WorkspaceEvents;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
+
+public class GroupMembersSummaryPresenter extends AbstractPresenter implements GroupMembersSummary,
+ EntityLiveSearchListener {
+
+ private GroupMembersSummaryView view;
+ private final I18nTranslationService i18n;
+ private final String adminCategory;
+ private final String collabCategory;
+ private final String pendigCategory;
+ private final MemberAction gotoGroupCommand;
+
+ public GroupMembersSummaryPresenter(final I18nTranslationService i18n) {
+ this.i18n = i18n;
+ adminCategory = i18n.t("Admins");
+ collabCategory = i18n.t("Collaborators");
+ pendigCategory = i18n.t("Pending");
+ gotoGroupCommand = new MemberAction(i18n.t("Visit this member homepage"), PlatformEvents.GOTO);
+ }
+
+ public void addCollab(final String groupShortName) {
+ DefaultDispatcher.getInstance().fire(WorkspaceEvents.ADD_COLLAB_MEMBER, groupShortName);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void hide() {
+ view.hide();
+ }
+
+ public void init(final GroupMembersSummaryView view) {
+ this.view = view;
+ }
+
+ public void onJoin() {
+ DefaultDispatcher.getInstance().fire(WorkspaceEvents.REQ_JOIN_GROUP, null);
+ }
+
+ public void onSelection(final String groupShortName, final String groupLongName) {
+ view.confirmAddCollab(groupShortName, groupLongName);
+ }
+
+ public void setState(final StateDTO state) {
+ if (state.getGroup().getType() == GroupDTO.PERSONAL) {
+ hide();
+ } else {
+ setGroupMembers(state.getGroupMembers(), state.getGroupRights());
+ }
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+
+ public void showAdmins() {
+ view.showCategory(adminCategory);
+ }
+
+ public void showCollabs() {
+ view.showCategory(collabCategory);
+ }
+
+ private void addMembers(final List<GroupDTO> adminsList, final List<GroupDTO> collabList,
+ final List<GroupDTO> pendingCollabsList, final int numAdmins, final int numCollaborators,
+ final int numPendingCollabs, final boolean isAdmin, final MemberAction[] adminsActions,
+ final MemberAction[] collabActions, final MemberAction[] pendingsActions, final MemberAction[] viewerActions) {
+ if (numAdmins > 0) {
+ view.addCategory(adminCategory, i18n.t("People that can admin this group"));
+ iteraList(adminCategory, adminsList, adminsActions);
+ }
+ if (numCollaborators > 0) {
+ view.addCategory(collabCategory, i18n.t("Other people that collaborate with this group"));
+ iteraList(collabCategory, collabList, collabActions);
+ }
+ if (isAdmin) {
+ if (numPendingCollabs > 0) {
+ view.addCategory(pendigCategory, i18n.t("People pending to be accepted in this group by the admins"),
+ GroupMembersSummaryView.ICON_ALERT);
+ iteraList(pendigCategory, pendingCollabsList, pendingsActions);
+ }
+ }
+
+ }
+
+ private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
+ return userIsAdmin || userIsCollab;
+ }
+
+ private void iteraList(final String categoryName, final List<GroupDTO> groupList, final MemberAction[] actions) {
+ final Iterator<GroupDTO> iter = groupList.iterator();
+ while (iter.hasNext()) {
+ final GroupDTO group = iter.next();
+ view.addCategoryMember(categoryName, group.getShortName(), group.getLongName(), actions);
+ }
+ }
+
+ private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
+ final AccessListsDTO accessLists = socialNetwork.getAccessLists();
+
+ final List<GroupDTO> adminsList = accessLists.getAdmins().getList();
+ final List<GroupDTO> collabList = accessLists.getEditors().getList();
+ final List<GroupDTO> pendingCollabsList = socialNetwork.getPendingCollaborators().getList();
+
+ final int numAdmins = adminsList.size();
+ final int numCollaborators = collabList.size();
+ final int numPendingCollabs = pendingCollabsList.size();
+
+ boolean userIsAdmin = rights.isAdministrable();
+ final boolean userIsCollab = !userIsAdmin && rights.isEditable();
+ final boolean userCanView = rights.isVisible();
+ boolean userIsMember = isMember(userIsAdmin, userIsCollab);
+
+ view.setDropDownContentVisible(false);
+ view.clear();
+
+ if (userIsAdmin) {
+ view.addAddMemberLink();
+ }
+
+ if (!userIsMember) {
+ view.addJoinLink();
+ } else if (userIsAdmin && numAdmins > 1 || userIsCollab) {
+ view.addUnjoinLink();
+ }
+
+ if (numAdmins == 0 && numCollaborators == 0) {
+ view.addComment(i18n.t("This is an orphaned project, if you are interested "
+ + "please request to join to work on it"));
+ }
+
+ if (userCanView) {
+ if (rights.isAdministrable()) {
+ new MenuItem("", i18n.t("Remove this member"), new MenuItem.MenuItemListener() {
+ public void onClick() {
+
+ }
+ });
+ final MemberAction[] adminsActions = {
+ new MemberAction(i18n.t("Remove this member"), WorkspaceEvents.DEL_MEMBER),
+ new MemberAction(i18n.t("Change to collaborator"), WorkspaceEvents.SET_ADMIN_AS_COLLAB),
+ gotoGroupCommand };
+ final MemberAction[] collabActions = {
+ new MemberAction(i18n.t("Remove this member"), WorkspaceEvents.DEL_MEMBER),
+ new MemberAction(i18n.t("Change to admin"), WorkspaceEvents.SET_COLLAB_AS_ADMIN),
+ gotoGroupCommand };
+ final MemberAction[] pendingsActions = {
+ new MemberAction(i18n.t("Accept this member"), WorkspaceEvents.ACCEPT_JOIN_GROUP),
+ new MemberAction(i18n.t("Don't accept this member"), WorkspaceEvents.DENY_JOIN_GROUP),
+ gotoGroupCommand };
+ final MemberAction[] viewerActions = { gotoGroupCommand };
+ addMembers(adminsList, collabList, pendingCollabsList, numAdmins, numCollaborators, numPendingCollabs,
+ userIsAdmin, adminsActions, collabActions, pendingsActions, viewerActions);
+ } else if (rights.isEditable() || rights.isVisible()) {
+ final MemberAction[] adminsActions = { gotoGroupCommand };
+ final MemberAction[] collabActions = { gotoGroupCommand };
+ final MemberAction[] pendingsActions = { gotoGroupCommand };
+ final MemberAction[] viewerActions = { gotoGroupCommand };
+ addMembers(adminsList, collabList, pendingCollabsList, numAdmins, numCollaborators, numPendingCollabs,
+ userIsAdmin, adminsActions, collabActions, pendingsActions, viewerActions);
+ }
+ }
+ view.setDropDownContentVisible(true);
+ view.show();
+ }
+
+}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface GroupMembersSummaryView extends View {
+
+ public static final String ICON_ALERT = "alert";
+
+ void addAddMemberLink();
+
+ void addCategory(String name, String title);
+
+ void addCategory(String name, String title, String iconType);
+
+ void addCategoryMember(String categoryName, String name, String title, MemberAction[] memberActions);
+
+ void addComment(String comment);
+
+ void addJoinLink();
+
+ void addUnjoinLink();
+
+ void clear();
+
+ void confirmAddCollab(String groupShortName, String groupLongName);
+
+ void hide();
+
+ void setDropDownContentVisible(boolean visible);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+ void show();
+
+ void showCategory(String name);
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,54 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface GroupMembersView extends View {
-
- public static final String ICON_ALERT = "alert";
-
- void clear();
-
- void setDropDownContentVisible(boolean visible);
-
- void addCategory(String name, String title);
-
- void addCategory(String name, String title, String iconType);
-
- void addCategoryMember(String categoryName, String name, String title, MemberAction[] memberActions);
-
- void addJoinLink();
-
- void addAddMemberLink();
-
- void show();
-
- void hide();
-
- void addUnjoinLink();
-
- void showCategory(String name);
-
- void confirmAddCollab(String groupShortName, String groupLongName);
-
- void addComment(String comment);
-
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/MemberAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/MemberAction.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/MemberAction.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -19,22 +19,21 @@
*/
package org.ourproject.kune.workspace.client.socialnet;
-
public class MemberAction {
private final String text;
private final String action;
public MemberAction(final String text, final String action) {
- this.text = text;
- this.action = action;
+ this.text = text;
+ this.action = action;
}
public String getAction() {
- return action;
+ return action;
}
public String getText() {
- return text;
+ return text;
}
}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,132 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.AbstractPresenter;
-import org.ourproject.kune.platf.client.PlatformEvents;
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
-import org.ourproject.kune.platf.client.dto.LinkDTO;
-import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.workspace.client.WorkspaceEvents;
-import org.ourproject.kune.workspace.client.workspace.ParticipationComponent;
-
-public class ParticipationPresenter extends AbstractPresenter implements ParticipationComponent {
-
- private ParticipationView view;
-
- private final I18nTranslationService i18n;
-
- private final String admin_subtitle;
-
- private final MemberAction goto_group_command;
-
- public ParticipationPresenter(final I18nTranslationService i18n) {
- this.i18n = i18n;
- admin_subtitle = i18n.t("admin in:");
- goto_group_command = new MemberAction(i18n.t("Visit this group homepage"), PlatformEvents.GOTO);
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final ParticipationView view) {
- this.view = view;
- }
-
- public void setParticipation(final StateDTO state) {
- ParticipationDataDTO participation = state.getParticipation();
- AccessRightsDTO rights = state.getGroupRights();
- view.setDropDownContentVisible(false);
- view.clear();
- MemberAction[] adminsActions = {
- new MemberAction(i18n.t("Don't participate more in this group"), WorkspaceEvents.UNJOIN_GROUP),
- goto_group_command };
- MemberAction[] collabActions = adminsActions;
- MemberAction[] viewerActions = { goto_group_command };
- List<LinkDTO> groupsIsAdmin = participation.getGroupsIsAdmin();
- List<LinkDTO> groupsIsCollab = participation.getGroupsIsCollab();
- boolean userIsAdmin = rights.isAdministrable();
- boolean userIsCollab = !userIsAdmin && rights.isEditable();
- boolean userIsMember = isMember(userIsAdmin, userIsCollab);
- int numAdmins = groupsIsAdmin.size();
- int numCollaborators = groupsIsCollab.size();
- if (numAdmins > 0 || numCollaborators > 0) {
- addParticipants(groupsIsAdmin, groupsIsCollab, numAdmins, numCollaborators, userIsAdmin, userIsMember,
- adminsActions, collabActions, viewerActions);
- view.setDropDownContentVisible(true);
- view.show();
- } else {
- hide();
- }
-
- }
-
- private void addParticipants(final List<LinkDTO> groupsIsAdmin, final List<LinkDTO> groupsIsCollab,
- final int numAdmins, final int numCollaborators, final boolean userIsAdmin, boolean userIsMember,
- final MemberAction[] adminsActions, final MemberAction[] collabActions, final MemberAction[] viewerActions) {
- MemberAction[] actions;
- String collabTitle;
-
- if (!userIsMember) {
- actions = viewerActions;
- } else {
- if (userIsAdmin) {
- actions = adminsActions;
- } else {
- actions = collabActions;
- }
- }
- if (numAdmins > 0) {
- view.addCategory(admin_subtitle, i18n.tWithNT("Administrate these groups", "talking about a person"));
- iteraList(admin_subtitle, groupsIsAdmin, actions);
- collabTitle = i18n.t("and as collaborator in:");
- } else {
- collabTitle = i18n.t("collaborator in:");
- }
- if (numCollaborators > 0) {
- view.addCategory(collabTitle, i18n.t("Collaborate in these groups"));
- iteraList(collabTitle, groupsIsCollab, actions);
- }
-
- }
-
- private void hide() {
- view.hide();
- }
-
- private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
- return userIsAdmin || userIsCollab;
- }
-
- private void iteraList(final String categoryName, final List<LinkDTO> groupList, final MemberAction[] actions) {
- final Iterator<LinkDTO> iter = groupList.iterator();
- while (iter.hasNext()) {
- final LinkDTO group = iter.next();
- view.addCategoryMember(categoryName, group.getShortName(), group.getLongName(), actions);
- }
- }
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationPresenter.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,137 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.AbstractPresenter;
+import org.ourproject.kune.platf.client.PlatformEvents;
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.AccessRightsDTO;
+import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.ParticipationDataDTO;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.WorkspaceEvents;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import org.ourproject.kune.workspace.client.workspace.ParticipationSummary;
+
+public class ParticipationSummaryPresenter extends AbstractPresenter implements ParticipationSummary {
+
+ private ParticipationSummaryView view;
+
+ private final I18nTranslationService i18n;
+
+ private final String admin_subtitle;
+
+ private final MemberAction goto_group_command;
+
+ public ParticipationSummaryPresenter(final I18nTranslationService i18n) {
+ this.i18n = i18n;
+ admin_subtitle = i18n.t("admin in:");
+ goto_group_command = new MemberAction(i18n.t("Visit this group homepage"), PlatformEvents.GOTO);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(final ParticipationSummaryView view) {
+ this.view = view;
+ }
+
+ public void setState(final StateDTO state) {
+ final ParticipationDataDTO participation = state.getParticipation();
+ final AccessRightsDTO rights = state.getGroupRights();
+ view.setDropDownContentVisible(false);
+ view.clear();
+ final MemberAction[] adminsActions = {
+ new MemberAction(i18n.t("Don't participate more in this group"), WorkspaceEvents.UNJOIN_GROUP),
+ goto_group_command };
+ final MemberAction[] collabActions = adminsActions;
+ final MemberAction[] viewerActions = { goto_group_command };
+ final List<LinkDTO> groupsIsAdmin = participation.getGroupsIsAdmin();
+ final List<LinkDTO> groupsIsCollab = participation.getGroupsIsCollab();
+ boolean userIsAdmin = rights.isAdministrable();
+ final boolean userIsCollab = !userIsAdmin && rights.isEditable();
+ final boolean userIsMember = isMember(userIsAdmin, userIsCollab);
+ final int numAdmins = groupsIsAdmin.size();
+ final int numCollaborators = groupsIsCollab.size();
+ if (numAdmins > 0 || numCollaborators > 0) {
+ addParticipants(groupsIsAdmin, groupsIsCollab, numAdmins, numCollaborators, userIsAdmin, userIsMember,
+ adminsActions, collabActions, viewerActions);
+ view.setDropDownContentVisible(true);
+ view.show();
+ } else {
+ hide();
+ }
+
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+
+ private void addParticipants(final List<LinkDTO> groupsIsAdmin, final List<LinkDTO> groupsIsCollab,
+ final int numAdmins, final int numCollaborators, final boolean userIsAdmin, boolean userIsMember,
+ final MemberAction[] adminsActions, final MemberAction[] collabActions, final MemberAction[] viewerActions) {
+ MemberAction[] actions;
+ String collabTitle;
+
+ if (!userIsMember) {
+ actions = viewerActions;
+ } else {
+ if (userIsAdmin) {
+ actions = adminsActions;
+ } else {
+ actions = collabActions;
+ }
+ }
+ if (numAdmins > 0) {
+ view.addCategory(admin_subtitle, i18n.tWithNT("Administrate these groups", "talking about a person"));
+ iteraList(admin_subtitle, groupsIsAdmin, actions);
+ collabTitle = i18n.t("and as collaborator in:");
+ } else {
+ collabTitle = i18n.t("collaborator in:");
+ }
+ if (numCollaborators > 0) {
+ view.addCategory(collabTitle, i18n.t("Collaborate in these groups"));
+ iteraList(collabTitle, groupsIsCollab, actions);
+ }
+
+ }
+
+ private void hide() {
+ view.hide();
+ }
+
+ private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
+ return userIsAdmin || userIsCollab;
+ }
+
+ private void iteraList(final String categoryName, final List<LinkDTO> groupList, final MemberAction[] actions) {
+ final Iterator<LinkDTO> iter = groupList.iterator();
+ while (iter.hasNext()) {
+ final LinkDTO group = iter.next();
+ view.addCategoryMember(categoryName, group.getShortName(), group.getLongName(), actions);
+ }
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,41 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface ParticipationSummaryView extends View {
+
+ void addCategory(String name, String title);
+
+ void addCategoryMember(String categoryName, String name, String title, MemberAction[] memberActions);
+
+ void clear();
+
+ void hide();
+
+ void setDropDownContentVisible(boolean visible);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+ void show();
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,38 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface ParticipationView extends View {
-
- void hide();
-
- void addCategory(String name, String title);
-
- void addCategoryMember(String categoryName, String name, String title, MemberAction[] memberActions);
-
- void show();
-
- void setDropDownContentVisible(boolean visible);
-
- void clear();
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,145 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet.ui;
-
-import org.ourproject.kune.platf.client.PlatformEvents;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.UIConstants;
-import org.ourproject.kune.platf.client.ui.stacks.StackSubItemAction;
-import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
-import org.ourproject.kune.workspace.client.WorkspaceEvents;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersPresenter;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersView;
-import org.ourproject.kune.workspace.client.socialnet.MemberAction;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-import com.gwtext.client.widgets.MessageBox;
-
-public class GroupMembersPanel extends StackedDropDownPanel implements GroupMembersView {
- private static final boolean COUNTS_VISIBLE = true;
- private final Images img = Images.App.getInstance();
- private final GroupMembersPresenter presenter;
- private final I18nTranslationService i18n;
-
- public GroupMembersPanel(final GroupMembersPresenter initPresenter, final I18nTranslationService i18n) {
- super(initPresenter, "#00D4AA", i18n.t("Group members"), i18n
- .t("People and groups collaborating in this group"), COUNTS_VISIBLE);
- presenter = initPresenter;
- this.i18n = i18n;
- }
-
- public void addAddMemberLink() {
- super.addBottomLink(img.addGreen(), i18n.t("Add member"), i18n
- .t("Add a group or a person as member of this group"), WorkspaceEvents.ADD_MEMBER_GROUPLIVESEARCH,
- presenter);
- }
-
- public void addCategory(final String name, final String title) {
- super.addStackItem(name, title, COUNTS_VISIBLE);
- }
-
- public void addCategory(final String name, final String title, final String iconType) {
- super.addStackItem(name, title, getIcon(iconType), UIConstants.ICON_HORIZ_ALIGN_RIGHT, COUNTS_VISIBLE);
- }
-
- public void addCategoryMember(final String categoryName, final String name, final String title,
- final MemberAction[] memberActions) {
- StackSubItemAction[] subItems = new StackSubItemAction[memberActions.length];
- for (int i = 0; i < memberActions.length; i++) {
- subItems[i] = new StackSubItemAction(getIconFronEvent(memberActions[i].getAction()), memberActions[i]
- .getText(), memberActions[i].getAction());
- }
-
- super.addStackSubItem(categoryName, img.groupDefIcon(), name, title, subItems);
- }
-
- public void addComment(final String comment) {
- super.addComment(comment);
- }
-
- public void addJoinLink() {
- super.addBottomLink(img.addGreen(), i18n.t("Request to join"), i18n.t("Request to participate in this group"),
- WorkspaceEvents.REQ_JOIN_GROUP);
- }
-
- public void addUnjoinLink() {
- super.addBottomLink(img.del(), i18n.t("Unjoin this group"), i18n
- .t("Don't participate more as a member in this group"), WorkspaceEvents.UNJOIN_GROUP);
- }
-
- public void clear() {
- super.clear();
- }
-
- public void confirmAddCollab(final String groupShortName, final String groupLongName) {
- String groupName = groupLongName + " (" + groupShortName + ")";
- MessageBox.confirm(i18n.t("Confirm addition of member"), i18n.t("Add [%s] as member?", groupName),
- new MessageBox.ConfirmCallback() {
- public void execute(final String btnID) {
- if (btnID.equals("yes")) {
- presenter.addCollab(groupShortName);
- }
- }
- });
- }
-
- public void hide() {
- this.setVisible(false);
- }
-
- public void show() {
- this.setVisible(true);
- }
-
- public void showCategory(final String name) {
- super.showStackItem(name);
- }
-
- private AbstractImagePrototype getIcon(final String event) {
- if (event == GroupMembersView.ICON_ALERT) {
- return img.alert();
- }
- throw new IndexOutOfBoundsException("Icon unknown in GroupMemebersPanel");
- }
-
- private AbstractImagePrototype getIconFronEvent(final String event) {
- if (event == WorkspaceEvents.ACCEPT_JOIN_GROUP) {
- return img.accept();
- }
- if (event == WorkspaceEvents.DENY_JOIN_GROUP) {
- return img.cancel();
- }
- if (event == WorkspaceEvents.DEL_MEMBER) {
- return img.del();
- }
- if (event == PlatformEvents.GOTO) {
- return img.groupHome();
- }
- if (event == WorkspaceEvents.SET_ADMIN_AS_COLLAB) {
- return img.arrowDownGreen();
- }
- if (event == WorkspaceEvents.SET_COLLAB_AS_ADMIN) {
- return img.arrowUpGreen();
- }
- throw new IndexOutOfBoundsException("Event unknown in GroupMembersPanel");
- }
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersSummaryPanel.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersPanel.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/GroupMembersSummaryPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,148 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet.ui;
+
+import org.ourproject.kune.platf.client.PlatformEvents;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.UIConstants;
+import org.ourproject.kune.platf.client.ui.stacks.StackSubItemAction;
+import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
+import org.ourproject.kune.workspace.client.WorkspaceEvents;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenter;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.MemberAction;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.gwtext.client.widgets.MessageBox;
+
+public class GroupMembersSummaryPanel extends StackedDropDownPanel implements GroupMembersSummaryView {
+ private static final boolean COUNTS_VISIBLE = true;
+ private final Images img = Images.App.getInstance();
+ private final GroupMembersSummaryPresenter presenter;
+ private final I18nTranslationService i18n;
+
+ public GroupMembersSummaryPanel(final GroupMembersSummaryPresenter initPresenter,
+ final I18nTranslationService i18n, final WorkspaceSkeleton ws) {
+ super(initPresenter, "#00D4AA", i18n.t("Group members"), i18n
+ .t("People and groups collaborating in this group"), COUNTS_VISIBLE);
+ presenter = initPresenter;
+ this.i18n = i18n;
+ ws.getEntitySummary().addInSummary(this);
+ }
+
+ public void addAddMemberLink() {
+ super.addBottomLink(img.addGreen(), i18n.t("Add member"), i18n
+ .t("Add a group or a person as member of this group"), WorkspaceEvents.ADD_MEMBER_GROUPLIVESEARCH,
+ presenter);
+ }
+
+ public void addCategory(final String name, final String title) {
+ super.addStackItem(name, title, COUNTS_VISIBLE);
+ }
+
+ public void addCategory(final String name, final String title, final String iconType) {
+ super.addStackItem(name, title, getIcon(iconType), UIConstants.ICON_HORIZ_ALIGN_RIGHT, COUNTS_VISIBLE);
+ }
+
+ public void addCategoryMember(final String categoryName, final String name, final String title,
+ final MemberAction[] memberActions) {
+ final StackSubItemAction[] subItems = new StackSubItemAction[memberActions.length];
+ for (int i = 0; i < memberActions.length; i++) {
+ subItems[i] = new StackSubItemAction(getIconFronEvent(memberActions[i].getAction()), memberActions[i]
+ .getText(), memberActions[i].getAction());
+ }
+
+ super.addStackSubItem(categoryName, img.groupDefIcon(), name, title, subItems);
+ }
+
+ public void addComment(final String comment) {
+ super.addComment(comment);
+ }
+
+ public void addJoinLink() {
+ super.addBottomLink(img.addGreen(), i18n.t("Request to join"), i18n.t("Request to participate in this group"),
+ WorkspaceEvents.REQ_JOIN_GROUP);
+ }
+
+ public void addUnjoinLink() {
+ super.addBottomLink(img.del(), i18n.t("Unjoin this group"), i18n
+ .t("Don't participate more as a member in this group"), WorkspaceEvents.UNJOIN_GROUP);
+ }
+
+ public void clear() {
+ super.clear();
+ }
+
+ public void confirmAddCollab(final String groupShortName, final String groupLongName) {
+ final String groupName = groupLongName + " (" + groupShortName + ")";
+ MessageBox.confirm(i18n.t("Confirm addition of member"), i18n.t("Add [%s] as member?", groupName),
+ new MessageBox.ConfirmCallback() {
+ public void execute(final String btnID) {
+ if (btnID.equals("yes")) {
+ presenter.addCollab(groupShortName);
+ }
+ }
+ });
+ }
+
+ public void hide() {
+ this.setVisible(false);
+ }
+
+ public void show() {
+ this.setVisible(true);
+ }
+
+ public void showCategory(final String name) {
+ super.showStackItem(name);
+ }
+
+ private AbstractImagePrototype getIcon(final String event) {
+ if (event == GroupMembersSummaryView.ICON_ALERT) {
+ return img.alert();
+ }
+ throw new IndexOutOfBoundsException("Icon unknown in GroupMemebersPanel");
+ }
+
+ private AbstractImagePrototype getIconFronEvent(final String event) {
+ if (event == WorkspaceEvents.ACCEPT_JOIN_GROUP) {
+ return img.accept();
+ }
+ if (event == WorkspaceEvents.DENY_JOIN_GROUP) {
+ return img.cancel();
+ }
+ if (event == WorkspaceEvents.DEL_MEMBER) {
+ return img.del();
+ }
+ if (event == PlatformEvents.GOTO) {
+ return img.groupHome();
+ }
+ if (event == WorkspaceEvents.SET_ADMIN_AS_COLLAB) {
+ return img.arrowDownGreen();
+ }
+ if (event == WorkspaceEvents.SET_COLLAB_AS_ADMIN) {
+ return img.arrowUpGreen();
+ }
+ throw new IndexOutOfBoundsException("Event unknown in GroupMembersPanel");
+ }
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,94 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.socialnet.ui;
-
-import org.ourproject.kune.platf.client.AbstractPresenter;
-import org.ourproject.kune.platf.client.PlatformEvents;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.UIConstants;
-import org.ourproject.kune.platf.client.ui.stacks.StackSubItemAction;
-import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
-import org.ourproject.kune.workspace.client.WorkspaceEvents;
-import org.ourproject.kune.workspace.client.socialnet.GroupMembersView;
-import org.ourproject.kune.workspace.client.socialnet.MemberAction;
-import org.ourproject.kune.workspace.client.socialnet.ParticipationView;
-
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-
-public class ParticipationPanel extends StackedDropDownPanel implements ParticipationView {
-
- private static final boolean COUNTS_VISIBLE = false;
- private final Images img = Images.App.getInstance();
-
- public ParticipationPanel(final AbstractPresenter presenter, final I18nTranslationService i18n) {
- super(presenter, "#00D4AA", i18n.t("Participates as..."), i18n.t("Groups in which participates"),
- COUNTS_VISIBLE);
- }
-
- public void addCategory(final String name, final String title) {
- super.addStackItem(name, title, COUNTS_VISIBLE);
- }
-
- public void addCategory(final String name, final String title, final String iconType) {
- super.addStackItem(name, title, getIcon(iconType), UIConstants.ICON_HORIZ_ALIGN_RIGHT, COUNTS_VISIBLE);
- }
-
- public void addCategoryMember(final String categoryName, final String name, final String title,
- final MemberAction[] memberActions) {
- StackSubItemAction[] subItems = new StackSubItemAction[memberActions.length];
- for (int i = 0; i < memberActions.length; i++) {
- subItems[i] = new StackSubItemAction(getIconFronEvent(memberActions[i].getAction()), memberActions[i]
- .getText(), memberActions[i].getAction());
- }
-
- super.addStackSubItem(categoryName, img.groupDefIcon(), name, title, subItems);
- }
-
- public void clear() {
- super.clear();
- }
-
- public void hide() {
- this.setVisible(false);
- }
-
- public void show() {
- this.setVisible(true);
- }
-
- private AbstractImagePrototype getIcon(final String event) {
- if (event == GroupMembersView.ICON_ALERT) {
- return img.alert();
- }
- throw new IndexOutOfBoundsException("Icon unknown in ParticipationPanelk");
- }
-
- private AbstractImagePrototype getIconFronEvent(final String event) {
- if (event == WorkspaceEvents.UNJOIN_GROUP) {
- return img.del();
- }
- if (event == PlatformEvents.GOTO) {
- return img.groupHome();
- }
- throw new IndexOutOfBoundsException("Event unknown in ParticipationPanel");
- }
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationPanel.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,97 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.socialnet.ui;
+
+import org.ourproject.kune.platf.client.AbstractPresenter;
+import org.ourproject.kune.platf.client.PlatformEvents;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.UIConstants;
+import org.ourproject.kune.platf.client.ui.stacks.StackSubItemAction;
+import org.ourproject.kune.platf.client.ui.stacks.StackedDropDownPanel;
+import org.ourproject.kune.workspace.client.WorkspaceEvents;
+import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryView;
+import org.ourproject.kune.workspace.client.socialnet.MemberAction;
+import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+
+public class ParticipationSummaryPanel extends StackedDropDownPanel implements ParticipationSummaryView {
+
+ private static final boolean COUNTS_VISIBLE = false;
+ private final Images img = Images.App.getInstance();
+
+ public ParticipationSummaryPanel(final AbstractPresenter presenter, final I18nTranslationService i18n,
+ final WorkspaceSkeleton ws) {
+ super(presenter, "#00D4AA", i18n.t("Participates as..."), i18n.t("Groups in which participates"),
+ COUNTS_VISIBLE);
+ ws.getEntitySummary().addInSummary(this);
+ }
+
+ public void addCategory(final String name, final String title) {
+ super.addStackItem(name, title, COUNTS_VISIBLE);
+ }
+
+ public void addCategory(final String name, final String title, final String iconType) {
+ super.addStackItem(name, title, getIcon(iconType), UIConstants.ICON_HORIZ_ALIGN_RIGHT, COUNTS_VISIBLE);
+ }
+
+ public void addCategoryMember(final String categoryName, final String name, final String title,
+ final MemberAction[] memberActions) {
+ final StackSubItemAction[] subItems = new StackSubItemAction[memberActions.length];
+ for (int i = 0; i < memberActions.length; i++) {
+ subItems[i] = new StackSubItemAction(getIconFronEvent(memberActions[i].getAction()), memberActions[i]
+ .getText(), memberActions[i].getAction());
+ }
+
+ super.addStackSubItem(categoryName, img.groupDefIcon(), name, title, subItems);
+ }
+
+ public void clear() {
+ super.clear();
+ }
+
+ public void hide() {
+ this.setVisible(false);
+ }
+
+ public void show() {
+ this.setVisible(true);
+ }
+
+ private AbstractImagePrototype getIcon(final String event) {
+ if (event == GroupMembersSummaryView.ICON_ALERT) {
+ return img.alert();
+ }
+ throw new IndexOutOfBoundsException("Icon unknown in ParticipationPanelk");
+ }
+
+ private AbstractImagePrototype getIconFronEvent(final String event) {
+ if (event == WorkspaceEvents.UNJOIN_GROUP) {
+ return img.del();
+ }
+ if (event == PlatformEvents.GOTO) {
+ return img.groupHome();
+ }
+ throw new IndexOutOfBoundsException("Event unknown in ParticipationPanel");
+ }
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryPresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -22,22 +22,27 @@
import org.ourproject.kune.platf.client.AbstractPresenter;
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.StateDTO;
-import org.ourproject.kune.workspace.client.workspace.GroupSummaryComponent;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import org.ourproject.kune.workspace.client.workspace.GroupSummary;
-public class GroupSummaryPresenter extends AbstractPresenter implements GroupSummaryComponent {
+public class GroupSummaryPresenter extends AbstractPresenter implements GroupSummary {
private GroupSummaryView view;
- public void setGroupSummary(final StateDTO state) {
- view.setComment("Summary about this group (in development)");
- }
-
public View getView() {
- return view;
+ return view;
}
public void init(final GroupSummaryView view) {
- this.view = view;
+ this.view = view;
}
+ public void setState(final StateDTO state) {
+ view.setComment("Summary about this group (in development)");
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryView.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/summary/GroupSummaryView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -20,9 +20,12 @@
package org.ourproject.kune.workspace.client.summary;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
public interface GroupSummaryView extends View {
void setComment(String comment);
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,72 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.tags;
-
-import java.util.List;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.workspace.client.search.SiteSearcher;
-import org.ourproject.kune.workspace.client.search.SiteSearcherType;
-import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
-import org.ourproject.kune.workspace.client.workspace.Tags;
-
-import com.calclab.suco.client.container.Provider;
-
-public class TagsPresenter implements Tags {
-
- private TagsView view;
- private final Provider<SiteSearcher> searcherProvider;
- private final Provider<Session> sessionProvider;
-
- public TagsPresenter(final Provider<Session> sessionProvider, final Provider<SiteSearcher> searcherProvider) {
- this.sessionProvider = sessionProvider;
- this.searcherProvider = searcherProvider;
- }
-
- public void doSearchTag(final String name) {
- searcherProvider.get().doSearchOfType(
- "group:" + sessionProvider.get().getCurrentState().getGroup().getShortName() + " tag:" + name,
- SiteSearcherType.content);
- }
-
- public View getView() {
- return view;
- }
-
- public void init(final TagsView view) {
- this.view = view;
- }
-
- public void setGroupTags(final List<TagResultDTO> groupTags) {
- view.setTags(groupTags);
- }
-
- public void setState(final StateDTO state) {
- view.setTags(state.getGroupTags());
- }
-
- public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
- view.setTheme(oldTheme, newTheme);
- }
-}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,85 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.tags;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.DropDownPanel;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class TagsSummaryPanel extends DropDownPanel implements TagsSummaryView {
+
+ private final FlowPanel flowPanel;
+ private final TagsSummaryPresenter presenter;
+ private final Label noTagsLabel;
+ private final I18nTranslationService i18n;
+
+ public TagsSummaryPanel(final TagsSummaryPresenter presenter, final I18nTranslationService i18n, final WorkspaceSkeleton ws) {
+ super(i18n.t("Tags"), true);
+ this.i18n = i18n;
+ setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
+ this.presenter = presenter;
+ addStyleName("kune-Margin-Medium-t");
+ flowPanel = new FlowPanel();
+ final VerticalPanel vp = new VerticalPanel();
+ vp.add(flowPanel);
+ vp.setWidth("100%");
+ vp.setCellWidth(flowPanel, "100%");
+ super.setContent(vp);
+ noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
+ ws.getEntitySummary().addInSummary(this);
+ }
+
+ public void setTags(final List<TagResultDTO> groupTags) {
+ flowPanel.clear();
+ if (groupTags.size() == 0) {
+ flowPanel.add(noTagsLabel);
+ } else {
+ for (final Iterator<TagResultDTO> iterator = groupTags.iterator(); iterator.hasNext();) {
+ final TagResultDTO tagResult = iterator.next();
+ final Label label = new Label(tagResult.getName());
+ // i18n pluralization
+ if (tagResult.getCount().intValue() > 1) {
+ KuneUiUtils.setQuickTip(label, i18n.t("[%d] items with this tag", tagResult.getCount()));
+ } else {
+ KuneUiUtils.setQuickTip(label, i18n.t("[%d] item with this tag", tagResult.getCount()));
+ }
+ label.addClickListener(new ClickListener() {
+ public void onClick(final Widget sender) {
+ presenter.doSearchTag(tagResult.getName());
+ }
+ });
+ label.addStyleName("kune-TagsPanel-tag");
+ flowPanel.add(label);
+ }
+ }
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java (from rev 798, trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsPresenter.java 2008-07-11 10:36:49 UTC (rev 798)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryPresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,72 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.tags;
+
+import java.util.List;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.workspace.client.search.SiteSearcher;
+import org.ourproject.kune.workspace.client.search.SiteSearcherType;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
+
+import com.calclab.suco.client.container.Provider;
+
+public class TagsSummaryPresenter implements TagsSummary {
+
+ private TagsSummaryView view;
+ private final Provider<SiteSearcher> searcherProvider;
+ private final Provider<Session> sessionProvider;
+
+ public TagsSummaryPresenter(final Provider<Session> sessionProvider, final Provider<SiteSearcher> searcherProvider) {
+ this.sessionProvider = sessionProvider;
+ this.searcherProvider = searcherProvider;
+ }
+
+ public void doSearchTag(final String name) {
+ searcherProvider.get().doSearchOfType(
+ "group:" + sessionProvider.get().getCurrentState().getGroup().getShortName() + " tag:" + name,
+ SiteSearcherType.content);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(final TagsSummaryView view) {
+ this.view = view;
+ }
+
+ public void setGroupTags(final List<TagResultDTO> groupTags) {
+ view.setTags(groupTags);
+ }
+
+ public void setState(final StateDTO state) {
+ view.setTags(state.getGroupTags());
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java (from rev 798, trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java 2008-07-11 10:36:49 UTC (rev 798)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsSummaryView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,35 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.tags;
+
+import java.util.List;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface TagsSummaryView extends View {
+
+ void setTags(List<TagResultDTO> groupTags);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/TagsView.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,35 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.tags;
-
-import java.util.List;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
-
-public interface TagsView extends View {
-
- void setTags(List<TagResultDTO> groupTags);
-
- void setTheme(WsTheme oldTheme, WsTheme newTheme);
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/tags/ui/TagsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/tags/ui/TagsPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/tags/ui/TagsPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,87 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.tags.ui;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.DropDownPanel;
-import org.ourproject.kune.platf.client.ui.KuneUiUtils;
-import org.ourproject.kune.workspace.client.tags.TagsPresenter;
-import org.ourproject.kune.workspace.client.tags.TagsView;
-import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
-
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class TagsPanel extends DropDownPanel implements TagsView {
-
- private final FlowPanel flowPanel;
- private final TagsPresenter presenter;
- private final Label noTagsLabel;
- private final I18nTranslationService i18n;
-
- public TagsPanel(final TagsPresenter presenter, final I18nTranslationService i18n, final WorkspaceSkeleton ws) {
- super(i18n.t("Tags"), true);
- this.i18n = i18n;
- setHeaderTitle(i18n.t("Keywords or terms associated with this group"));
- this.presenter = presenter;
- addStyleName("kune-Margin-Medium-t");
- flowPanel = new FlowPanel();
- final VerticalPanel vp = new VerticalPanel();
- vp.add(flowPanel);
- vp.setWidth("100%");
- vp.setCellWidth(flowPanel, "100%");
- super.setContent(vp);
- noTagsLabel = new Label(i18n.t("The contents of this group don't have any tag"));
- ws.getEntitySummary().addInSummary(this);
- }
-
- public void setTags(final List<TagResultDTO> groupTags) {
- flowPanel.clear();
- if (groupTags.size() == 0) {
- flowPanel.add(noTagsLabel);
- } else {
- for (final Iterator<TagResultDTO> iterator = groupTags.iterator(); iterator.hasNext();) {
- final TagResultDTO tagResult = iterator.next();
- final Label label = new Label(tagResult.getName());
- // i18n pluralization
- if (tagResult.getCount().intValue() > 1) {
- KuneUiUtils.setQuickTip(label, i18n.t("[%d] items with this tag", tagResult.getCount()));
- } else {
- KuneUiUtils.setQuickTip(label, i18n.t("[%d] item with this tag", tagResult.getCount()));
- }
- label.addClickListener(new ClickListener() {
- public void onClick(final Widget sender) {
- presenter.doSearchTag(tagResult.getName());
- }
- });
- label.addStyleName("kune-TagsPanel-tag");
- flowPanel.add(label);
- }
- }
- }
-}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ThemeMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ThemeMenuPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ThemeMenuPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,64 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.theme;
+
+import org.ourproject.kune.platf.client.services.ColorTheme;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.BottomTrayIcon;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.MenuBar;
+
+public class ThemeMenuPanel extends BottomTrayIcon implements ThemeMenuView {
+
+ private final MenuBar themesMB;
+ private final ThemeMenuPresenter presenter;
+ private final ColorTheme colorTheme;
+
+ public ThemeMenuPanel(final ThemeMenuPresenter presenter, final I18nTranslationService i18n,
+ final ColorTheme colorTheme) {
+ super(i18n.t("Select Workspace theme for this group"));
+ this.presenter = presenter;
+ this.colorTheme = colorTheme;
+ themesMB = new MenuBar(true);
+ themesMB.addStyleDependentName("bottomMenu");
+ this.addItem(Images.App.getInstance().themeChoose().getHTML(), true, themesMB);
+ }
+
+ public void setThemes(final String[] themes) {
+ for (int i = 0; i < themes.length; i++) {
+ final String theme = themes[i];
+ colorTheme.setTheme(theme);
+ String themeName = colorTheme.getThemeName();
+ String mainColor = colorTheme.getContentMainBorder();
+ themesMB.addItem("<span style=\"color: " + mainColor + ";\">" + themeName + "</span>", true, new Command() {
+ public void execute() {
+ presenter.chooseTheme(theme);
+ }
+ });
+ }
+ }
+
+ public void setVisible(final boolean visible) {
+ super.setVisible(visible);
+ }
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ui/ThemeMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ui/ThemeMenuPanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/theme/ui/ThemeMenuPanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,66 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.theme.ui;
-
-import org.ourproject.kune.platf.client.services.ColorTheme;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.BottomTrayIcon;
-import org.ourproject.kune.workspace.client.theme.ThemeMenuPresenter;
-import org.ourproject.kune.workspace.client.theme.ThemeMenuView;
-
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.MenuBar;
-
-public class ThemeMenuPanel extends BottomTrayIcon implements ThemeMenuView {
-
- private final MenuBar themesMB;
- private final ThemeMenuPresenter presenter;
- private final ColorTheme colorTheme;
-
- public ThemeMenuPanel(final ThemeMenuPresenter presenter, final I18nTranslationService i18n,
- final ColorTheme colorTheme) {
- super(i18n.t("Select Workspace theme for this group"));
- this.presenter = presenter;
- this.colorTheme = colorTheme;
- themesMB = new MenuBar(true);
- themesMB.addStyleDependentName("bottomMenu");
- this.addItem(Images.App.getInstance().themeChoose().getHTML(), true, themesMB);
- }
-
- public void setThemes(final String[] themes) {
- for (int i = 0; i < themes.length; i++) {
- final String theme = themes[i];
- colorTheme.setTheme(theme);
- String themeName = colorTheme.getThemeName();
- String mainColor = colorTheme.getContentMainBorder();
- themesMB.addItem("<span style=\"color: " + mainColor + ";\">" + themeName + "</span>", true, new Command() {
- public void execute() {
- presenter.chooseTheme(theme);
- }
- });
- }
- }
-
- public void setVisible(final boolean visible) {
- super.setVisible(visible);
- }
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/WorkspaceManager.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -7,7 +7,10 @@
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsThemePresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntitySubTitlePresenter;
import org.ourproject.kune.workspace.client.ui.newtmp.title.EntityTitlePresenter;
-import org.ourproject.kune.workspace.client.workspace.Tags;
+import org.ourproject.kune.workspace.client.workspace.GroupMembersSummary;
+import org.ourproject.kune.workspace.client.workspace.GroupSummary;
+import org.ourproject.kune.workspace.client.workspace.ParticipationSummary;
+import org.ourproject.kune.workspace.client.workspace.TagsSummary;
import org.ourproject.kune.workspace.client.workspace.ui.EntityLogo;
import com.calclab.suco.client.signal.Slot2;
@@ -19,25 +22,40 @@
private final WsThemePresenter wsThemePresenter;
private final EntityLicensePresenter entityLicensePresenter;
private final EntitySubTitlePresenter entitySubTitlePresenter;
- private final Tags tags;
+ private final TagsSummary tags;
+ private final GroupMembersSummary groupMembersSummary;
+ private final ParticipationSummary participationSummary;
+ private final GroupSummary groupSummary;
public WorkspaceManager(final EntityLogo entityLogo, final EntityTitlePresenter entityTitlePresenter,
final EntitySubTitlePresenter entitySubTitlePresenter, final WsThemePresenter wsThemePresenter,
- final EntityLicensePresenter entityLicensePresenter, final Tags tags) {
+ final EntityLicensePresenter entityLicensePresenter, final GroupMembersSummary groupMembersSummary,
+ final ParticipationSummary participationSummary, final TagsSummary tags, final GroupSummary groupSummary) {
this.entityLogo = entityLogo;
this.entityTitlePresenter = entityTitlePresenter;
this.entitySubTitlePresenter = entitySubTitlePresenter;
this.entityLicensePresenter = entityLicensePresenter;
this.wsThemePresenter = wsThemePresenter;
+ this.groupMembersSummary = groupMembersSummary;
+ this.participationSummary = participationSummary;
this.tags = tags;
+ this.groupSummary = groupSummary;
wsThemePresenter.onThemeChanged(new Slot2<WsTheme, WsTheme>() {
public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
entityLogo.setTheme(oldTheme, newTheme);
+ groupMembersSummary.setTheme(oldTheme, newTheme);
+ participationSummary.setTheme(oldTheme, newTheme);
+ groupSummary.setTheme(oldTheme, newTheme);
tags.setTheme(oldTheme, newTheme);
}
});
}
+ public void setSocialNetwork(final StateDTO state) {
+ groupMembersSummary.setState(state);
+ participationSummary.setState(state);
+ }
+
public void setState(final StateDTO state) {
final GroupDTO group = state.getGroup();
final boolean isAdmin = state.getGroupRights().isAdministrable();
@@ -46,6 +64,8 @@
entityTitlePresenter.setState(state);
entitySubTitlePresenter.setState(state);
entityLicensePresenter.setLicense(state);
+ setSocialNetwork(state);
+ groupSummary.setState(state);
tags.setState(state);
// Only for probes:
wsThemePresenter.setVisible(true);
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,34 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.workspace;
-
-import org.ourproject.kune.platf.client.Component;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-
-public interface GroupMembersComponent extends Component {
-
- public void showCollabs();
-
- public void showAdmins();
-
- public void setGroupMembers(StateDTO state);
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersComponent.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupMembersSummary.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.workspace;
+
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface GroupMembersSummary {
+
+ public void setState(StateDTO state);
+
+ public void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+ public void showAdmins();
+
+ public void showCollabs();
+
+}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummary.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummary.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.workspace;
+
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface GroupSummary {
+
+ void setState(StateDTO state);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/GroupSummaryComponent.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,30 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.workspace;
-
-import org.ourproject.kune.platf.client.Component;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-
-public interface GroupSummaryComponent extends Component {
-
- void setGroupSummary(StateDTO state);
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,30 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.workspace;
-
-import org.ourproject.kune.platf.client.Component;
-import org.ourproject.kune.platf.client.dto.StateDTO;
-
-public interface ParticipationComponent extends Component {
-
- void setParticipation(StateDTO state);
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationSummary.java (from rev 792, trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationComponent.java 2008-07-06 13:51:18 UTC (rev 792)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ParticipationSummary.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,32 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.workspace;
+
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface ParticipationSummary {
+
+ void setState(StateDTO state);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-package org.ourproject.kune.workspace.client.workspace;
-
-import java.util.List;
-
-import org.ourproject.kune.platf.client.dto.StateDTO;
-import org.ourproject.kune.platf.client.dto.TagResultDTO;
-import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
-
-public interface Tags {
-
- void setGroupTags(List<TagResultDTO> result);
-
- void setState(StateDTO state);
-
- void setTheme(WsTheme oldTheme, WsTheme newTheme);
-
-}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/TagsSummary.java (from rev 798, trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Tags.java 2008-07-11 10:36:49 UTC (rev 798)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/TagsSummary.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+package org.ourproject.kune.workspace.client.workspace;
+
+import java.util.List;
+
+import org.ourproject.kune.platf.client.dto.StateDTO;
+import org.ourproject.kune.platf.client.dto.TagResultDTO;
+import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+
+public interface TagsSummary {
+
+ void setGroupTags(List<TagResultDTO> result);
+
+ void setState(StateDTO state);
+
+ void setTheme(WsTheme oldTheme, WsTheme newTheme);
+
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/Workspace.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -57,16 +57,10 @@
public GroupLiveSearchComponent getGroupLiveSearchComponent();
- public GroupMembersComponent getGroupMembersComponent();
-
- public GroupSummaryComponent getGroupSummaryComponent();
-
public I18nTranslatorComponent getI18nTranslatorComponent();
public LicenseComponent getLicenseComponent();
- public ParticipationComponent getParticipationComponent();
-
public ThemeMenuComponent getThemeMenuComponent();
public UserLiveSearchComponent getUserLiveSearchComponent();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspacePresenter.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -104,14 +104,6 @@
return components.getGroupLiveSearchComponent();
}
- public GroupMembersComponent getGroupMembersComponent() {
- return components.getGroupMembersComponent();
- }
-
- public GroupSummaryComponent getGroupSummaryComponent() {
- return components.getGroupSummaryComponent();
- }
-
public I18nTranslatorComponent getI18nTranslatorComponent() {
return components.getI18nTranslatorComponent();
}
@@ -120,10 +112,6 @@
return components.getLicenseComponent();
}
- public ParticipationComponent getParticipationComponent() {
- return components.getParticipationComponent();
- }
-
public ThemeMenuComponent getThemeMenuComponent() {
return components.getThemeMenuComponent();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspaceUIComponents.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspaceUIComponents.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/WorkspaceUIComponents.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -27,9 +27,9 @@
public class WorkspaceUIComponents {
private LicenseComponent license;
private ContentTitleComponent contentTitle;
- private GroupMembersComponent groupMembers;
- private ParticipationComponent participatesInGroups;
- private GroupSummaryComponent groupSummary;
+ private GroupMembersSummary groupMembers;
+ private ParticipationSummary participatesInGroups;
+ private GroupSummary groupSummary;
private ContentSubTitleComponent contentSubTitle;
private ContentBottomToolBarComponent contentBottomToolBar;
private ThemeMenuComponent themeMenu;
@@ -76,20 +76,6 @@
return groupLiveSearch;
}
- public GroupMembersComponent getGroupMembersComponent() {
- if (groupMembers == null) {
- groupMembers = WorkspaceFactory.createGroupMembersComponent();
- }
- return groupMembers;
- }
-
- public GroupSummaryComponent getGroupSummaryComponent() {
- if (groupSummary == null) {
- groupSummary = WorkspaceFactory.createGroupSummaryComponent();
- }
- return groupSummary;
- }
-
public I18nTranslatorComponent getI18nTranslatorComponent() {
if (i18nTranslatorSearch == null) {
i18nTranslatorSearch = WorkspaceFactory.createI18nTranslatorComponent();
@@ -104,13 +90,6 @@
return license;
}
- public ParticipationComponent getParticipationComponent() {
- if (participatesInGroups == null) {
- participatesInGroups = WorkspaceFactory.createParticipationComponent();
- }
- return participatesInGroups;
- }
-
public ThemeMenuComponent getThemeMenuComponent() {
if (themeMenu == null) {
themeMenu = WorkspaceFactory.createThemeMenuComponent();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java 2008-07-11 11:18:26 UTC (rev 799)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/workspace/ui/WorkspacePanel.java 2008-07-12 13:46:02 UTC (rev 800)
@@ -228,9 +228,6 @@
setContentToolBar(components.getContentToolBarComponent().getView());
setContentBottomToolBar(components.getContentBottomToolBarComponent().getView());
setBottom(components.getLicenseComponent().getView());
- setGroupMembers(components.getGroupMembersComponent().getView());
- setParticipation(components.getParticipationComponent().getView());
- setSummary(components.getGroupSummaryComponent().getView());
addBottomIconComponent(components.getThemeMenuComponent().getView());
}
1
0