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
July 2008
- 1 participants
- 43 discussions
21 Jul '08
Author: vjrj
Date: 2008-07-21 16:30:36 +0200 (Mon, 21 Jul 2008)
New Revision: 812
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/ContentProviderImpl.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.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/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/ParticipationSummaryPanel.java
Log:
new ParticipationSummary
Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-07-21 14:30:36 UTC (rev 812)
@@ -131,7 +131,7 @@
src="org.ourproject.kune.app.Kune.nocache.js"></script>
<iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
<div id="kuneprogresspanel" class="kune-sitebar">
-<table cellspacing="0" summary="Loading" cellpadding="0" border="0"
+<table cellspacing="0" summary="Starting" cellpadding="0" border="0"
style="height: 16px;">
<tbody>
<tr>
@@ -140,7 +140,7 @@
src="images/spin-kune-thund-green.gif"
style="height: 16px; width: 16px;" /></td>
<td align="left" style="vertical-align: top;" class="kune-Progress">
- <div class="kune-SiteBarPanel gwt-Label" id="kuneprogresstext">Loading</div>
+ <div class="kune-SiteBarPanel gwt-Label" id="kuneprogresstext">Starting</div>
</td>
<td width="100%" height="16" align="left"
style="vertical-align: top;"></td>
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -56,7 +56,7 @@
final Session session = kune.getSession();
- Site.showProgressLoading();
+ Site.showProgressStarting();
final KunePlatform platform = kune.getPlatform();
final StateManager stateManager = kune.getStateManager();
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-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -179,12 +179,12 @@
}, SingletonScope.class);
final WorkspaceSkeleton ws = builder.getInstance(WorkspaceSkeleton.class);
+ final Images images = builder.getInstance(Images.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));
+ final SitePublicSpaceLinkPanel panel = new SitePublicSpaceLinkPanel(presenter, ws, i18n, images);
presenter.init(panel);
return presenter;
}
@@ -368,7 +368,9 @@
builder.registerProvider(ParticipationSummary.class, new Provider<ParticipationSummary>() {
public ParticipationSummary get() {
- final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(i18n);
+ final ParticipationSummaryPresenter presenter = new ParticipationSummaryPresenter(i18n, builder
+ .getProvider(StateManager.class), builder.getInstance(ImageUtils.class), builder
+ .getInstance(Session.class), SocialNetworkService.App.getInstance());
final ParticipationSummaryView view = new ParticipationSummaryPanel(presenter, i18n, ws);
presenter.init(view);
return presenter;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/ContentProviderImpl.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/ContentProviderImpl.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/ContentProviderImpl.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -35,26 +35,26 @@
private final HashMap<StateToken, StateDTO> cache;
public ContentProviderImpl(final ContentServiceAsync server) {
- this.server = server;
- this.cache = new HashMap<StateToken, StateDTO>();
+ this.server = server;
+ this.cache = new HashMap<StateToken, StateDTO>();
}
public void cache(final StateToken encodeState, final StateDTO content) {
- cache.put(encodeState, content);
+ cache.put(encodeState, content);
}
public void getContent(final String user, final StateToken newState, final AsyncCallback<StateDTO> callback) {
- Site.showProgressProcessing();
- StateDTO catched = getCached(newState);
- if (catched != null) {
- callback.onSuccess(catched);
- } else {
- server.getContent(user, newState.getGroup(), newState, callback);
- }
+ Site.showProgressLoading();
+ final StateDTO catched = getCached(newState);
+ if (catched != null) {
+ callback.onSuccess(catched);
+ } else {
+ server.getContent(user, newState.getGroup(), newState, callback);
+ }
}
private StateDTO getCached(final StateToken newState) {
- return cache.remove(newState);
+ return cache.remove(newState);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -46,10 +46,11 @@
}
public void doSearch(final String text) {
+ Site.showProgressLoading();
searchHistory.put(text, null);
- Site.hideProgress();
view.search(text, currentSearch);
view.show();
+ Site.hideProgress();
}
public void doSearchOfType(final String text, final SiteSearcherType typeOfSearch) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -84,6 +84,10 @@
progress.showProgress(i18n.t("Saving"));
}
+ public static void showProgressStarting() {
+ progress.showProgress(i18n.t("Starting"));
+ }
+
public static void veryImportant(final String value) {
getSiteMessage().setMessage(value, SiteErrorType.veryimp);
}
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-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanelNew.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -12,6 +12,7 @@
import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import com.allen_sauer.gwt.log.client.Log;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.BoxComponent;
import com.gwtext.client.widgets.Button;
@@ -51,6 +52,7 @@
}
public void addButton(final GridButton gridButton) {
+ // Workaround: gwt-ext don't have toolbar.removeItem method ...
ToolbarButton button = buttonsCache.get(gridButton);
if (button == null) {
button = new ToolbarButton(gridButton.getTitle());
@@ -61,10 +63,11 @@
gridButton.getSlot().onEvent("");
}
});
+ buttonsCache.put(gridButton, button);
+ } else {
+ button.setVisible(true);
}
- if (!button.isAttached()) {
- gridMenuPanel.getBottomBar().addButton(button);
- }
+ gridMenuPanel.getBottomBar().addButton(button);
}
public void addItem(final GridItem<GroupDTO> gridItem) {
@@ -74,6 +77,9 @@
public void clear() {
gridMenuPanel.removeAll();
for (final ToolbarButton button : buttonsCache.values()) {
+ // Workaround: gwt-ext don't have toolbar.removeItem method ...
+ // gridMenuPanel.getBottomBar().getEl().removeChild(button.getElement());
+ button.setVisible(false);
button.removeFromParent();
}
}
@@ -99,6 +105,7 @@
}
public void setVisible(final boolean visible) {
+ Log.debug("Set visible: " + visible + " in GroupMembers");
super.setVisible(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-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPresenterNew.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -9,68 +9,46 @@
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.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;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
-import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItemCollection;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
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 {
+public class GroupMembersSummaryPresenterNew extends SocialNetworkPresenter 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 I18nUITranslationService i18n;
+ private final GridGroup adminCategory;
+ private final GridGroup collabCategory;
+ private final GridGroup pendigCategory;
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;
- 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,
+ public GroupMembersSummaryPresenterNew(final I18nUITranslationService i18n,
+ final Provider<StateManager> stateManagerProvider, final ImageUtils imageUtils, final Session session,
final SocialNetworkServiceAsync snService) {
+ super(i18n, stateManagerProvider, imageUtils, session, 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
+ adminCategory = new GridGroup(adminsTitle, adminsTitle, i18n.t("People that can admin this group"), true);
+ collabCategory = new GridGroup(collabsTitle, collabsTitle, i18n
+ .t("Other people that collaborate with this group"), true);
+ pendigCategory = new GridGroup(pendingTitle, pendingTitle, i18n
.t("People pending to be accepted in this group by the admins"), imageUtils
.getImageHtml(ImageDescriptor.alert), true);
- createMenuActions();
- createButtons();
+ super.addGroupOperation(gotoMemberMenuItem, false);
}
public void addCollab(final String groupShortName) {
@@ -86,15 +64,6 @@
});
}
- 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);
}
@@ -103,16 +72,8 @@
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) {
+ if (state.getGroup().getType().equals(GroupDTO.PERSONAL)) {
hide();
} else {
setGroupMembers(state.getGroupMembers(), state.getGroupRights());
@@ -123,174 +84,11 @@
view.setTheme(oldTheme, newTheme);
}
- 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();
- }
- });
-
- 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();
- snService.requestJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- new AsyncCallbackSimple<Object>() {
- public void onSuccess(final Object result) {
- Site.hideProgress();
- 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"));
- }
- }
- });
- }
- });
-
- 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();
- snService.unJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
- new AsyncCallbackSimple<SocialNetworkResultDTO>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Removed as member"));
- getStateManager().reload();
- // in the future with user info:
- // services.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
- // 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);
- if (otherOperations != null) {
- menu.addMenuItemList(otherOperations);
- }
- if (session.isLogged() && otherOperations != null) {
- menu.addMenuItemList(otherLoggedOperations);
- }
- 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());
- }
- });
- 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.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>("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>() {
- public void onSuccess(final SocialNetworkResultDTO result) {
- Site.hideProgress();
- Site.info(i18n.t("Member rejected"));
- getStateManager().setSocialNetwork(result);
- }
- });
- }
- });
- }
-
- private StateManager getStateManager() {
- return stateManager.get();
- }
-
private boolean isMember(final boolean userIsAdmin, final boolean userIsCollab) {
return userIsAdmin || userIsCollab;
}
+ @SuppressWarnings("unchecked")
private void setGroupMembers(final SocialNetworkDTO socialNetwork, final AccessRightsDTO rights) {
final AccessListsDTO accessLists = socialNetwork.getAccessLists();
@@ -320,34 +118,22 @@
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);
+ view
+ .addItem(createGridItem(adminCategory, admin, rights, changeToCollabMenuItem,
+ removeMemberMenuItem));
}
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);
+ view
+ .addItem(createGridItem(collabCategory, collab, rights, changeToAdminMenuItem,
+ removeMemberMenuItem));
}
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.addItem(createGridItem(pendigCategory, pendingCollab, rights, acceptJoinGroupMenuItem,
+ denyJoinGroupMenuItem));
}
}
view.setDropDownContentVisible(true);
view.setVisible(true);
}
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPresenter.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -19,66 +19,77 @@
*/
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.GroupDTO;
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.platf.client.rpc.SocialNetworkServiceAsync;
+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.workspace.client.i18n.I18nUITranslationService;
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 {
+import com.calclab.suco.client.container.Provider;
+public class ParticipationSummaryPresenter extends SocialNetworkPresenter implements ParticipationSummary {
+
private ParticipationSummaryView view;
+ private final GridGroup adminCategory;
+ private GridGroup collabCategory;
+ private final GridGroup collabOnlyCategory;
- 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 ParticipationSummaryPresenter(final I18nUITranslationService i18n,
+ final Provider<StateManager> stateManagerProvider, final ImageUtils imageUtils, final Session session,
+ final SocialNetworkServiceAsync snService) {
+ super(i18n, stateManagerProvider, imageUtils, session, snService);
+ adminCategory = new GridGroup("admin in:", " ", i18n.tWithNT("Administrate these groups",
+ "talking about a person"), false);
+ collabCategory = new GridGroup(i18n.t("and as collaborator in:"), " ", i18n.t("Collaborate in these groups"),
+ false);
+ collabOnlyCategory = new GridGroup(i18n.t("collaborator in:"), " ", i18n.t("Collaborate in these groups"),
+ false);
+ super.addGroupOperation(gotoGroupMenuItem, false);
}
- public View getView() {
- return view;
- }
-
public void init(final ParticipationSummaryView view) {
this.view = view;
}
+ @SuppressWarnings("unchecked")
public void setState(final StateDTO state) {
final ParticipationDataDTO participation = state.getParticipation();
final AccessRightsDTO rights = state.getGroupRights();
- view.setDropDownContentVisible(false);
+ view.setContentVisible(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) {
+ collabCategory = collabOnlyCategory;
+ }
+ for (final LinkDTO link : groupsIsAdmin) {
+ // FIXME: return GroupDTO not LinkDTO from server
+ final GroupDTO group = new GroupDTO();
+ group.setShortName(link.getShortName());
+ group.setLongName(link.getLongName());
+ view.addItem(createGridItem(adminCategory, group, rights, unJoinMenuItem));
+ }
+ for (final LinkDTO link : groupsIsCollab) {
+ // FIXME: return GroupDTO not LinkDTO from server
+ final GroupDTO group = new GroupDTO();
+ group.setShortName(link.getShortName());
+ group.setLongName(link.getLongName());
+ view.addItem(createGridItem(collabCategory, group, rights, unJoinMenuItem));
+ }
if (numAdmins > 0 || numCollaborators > 0) {
- addParticipants(groupsIsAdmin, groupsIsCollab, numAdmins, numCollaborators, userIsAdmin, userIsMember,
- adminsActions, collabActions, viewerActions);
- view.setDropDownContentVisible(true);
+ view.setContentVisible(true);
view.show();
} else {
hide();
@@ -90,48 +101,8 @@
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);
- }
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryView.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -20,19 +20,19 @@
package org.ourproject.kune.workspace.client.socialnet;
import org.ourproject.kune.platf.client.View;
+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 ParticipationSummaryView extends View {
- void addCategory(String name, String title);
+ void addItem(GridItem<GroupDTO> createGridItem);
- void addCategoryMember(String categoryName, String name, String title, MemberAction[] memberActions);
-
void clear();
void hide();
- void setDropDownContentVisible(boolean visible);
+ void setContentVisible(boolean visible);
void setTheme(WsTheme oldTheme, WsTheme newTheme);
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/SocialNetworkPresenter.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -0,0 +1,267 @@
+package org.ourproject.kune.workspace.client.socialnet;
+
+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.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.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.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;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItem;
+import org.ourproject.kune.platf.client.ui.gridmenu.GridMenuItemCollection;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.sitebar.Site;
+
+import com.calclab.suco.client.container.Provider;
+import com.calclab.suco.client.signal.Slot;
+
+public class SocialNetworkPresenter {
+
+ protected GridButton addMember;
+ protected GridButton requestJoin;
+ protected GridButton unJoinButton;
+ protected GridMenuItem<GroupDTO> changeToCollabMenuItem;
+ protected GridMenuItem<GroupDTO> removeMemberMenuItem;
+ protected GridMenuItem<GroupDTO> changeToAdminMenuItem;
+ protected GridMenuItem<GroupDTO> acceptJoinGroupMenuItem;
+ protected GridMenuItem<GroupDTO> denyJoinGroupMenuItem;
+ protected GridMenuItem<GroupDTO> gotoMemberMenuItem;
+ protected GridMenuItem<GroupDTO> gotoGroupMenuItem;
+ protected GridMenuItem<GroupDTO> unJoinMenuItem;
+ private final I18nUITranslationService i18n;
+ private final Provider<StateManager> stateManagerProvider;
+ private final SocialNetworkServiceAsync snService;
+ private final Session session;
+ private final GridMenuItemCollection<GroupDTO> otherOperations;
+ private final GridMenuItemCollection<GroupDTO> otherLoggedOperations;
+ private final ImageUtils imageUtils;
+
+ public SocialNetworkPresenter(final I18nUITranslationService i18n,
+ final Provider<StateManager> stateManagerProvider, final ImageUtils imageUtils, final Session session,
+ final SocialNetworkServiceAsync snService) {
+ this.i18n = i18n;
+ this.stateManagerProvider = stateManagerProvider;
+ this.imageUtils = imageUtils;
+ this.session = session;
+ this.snService = snService;
+ createButtons();
+ createMenuActions();
+ otherOperations = new GridMenuItemCollection<GroupDTO>();
+ otherLoggedOperations = new GridMenuItemCollection<GroupDTO>();
+ }
+
+ public void addGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ GridMenuItemCollection<GroupDTO> collection;
+ collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+ collection.add(operation);
+ }
+
+ public void removeGroupOperation(final GridMenuItem<GroupDTO> operation, final boolean mustBeLogged) {
+ GridMenuItemCollection<GroupDTO> collection;
+ collection = mustBeLogged ? otherLoggedOperations : otherOperations;
+ collection.remove(operation);
+ }
+
+ protected GridItem<GroupDTO> createGridItem(final GridGroup groupCategory, final GroupDTO group,
+ final AccessRightsDTO rights, final GridMenuItem<GroupDTO>... gridMenuItems) {
+ final GridItem<GroupDTO> gridItem = createDefMemberMenu(group, groupCategory);
+ final GridMenu<GroupDTO> menu = gridItem.getMenu();
+ if (rights.isAdministrable()) {
+ for (final GridMenuItem<GroupDTO> item : gridMenuItems) {
+ menu.addMenuItem(item);
+ }
+ }
+ return gridItem;
+ }
+
+ protected StateManager getStateManager() {
+ return stateManagerProvider.get();
+ }
+
+ 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();
+ }
+ });
+
+ 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();
+ snService.requestJoinGroup(session.getUserHash(), session.getCurrentState().getGroup().getShortName(),
+ new AsyncCallbackSimple<Object>() {
+ public void onSuccess(final Object result) {
+ Site.hideProgress();
+ 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"));
+ }
+ }
+ });
+ }
+ });
+
+ 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) {
+ removeMemberAction();
+ }
+ });
+ }
+
+ 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);
+ if (otherOperations != null) {
+ menu.addMenuItemList(otherOperations);
+ }
+ if (session.isLogged() && otherOperations != null) {
+ menu.addMenuItemList(otherLoggedOperations);
+ }
+ return gridItem;
+ }
+
+ private void createMenuActions() {
+ gotoGroupMenuItem = new GridMenuItem<GroupDTO>("images/group-home.gif", i18n.t("Visit this group homepage"),
+ new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO groupDTO) {
+ getStateManager().gotoToken(groupDTO.getShortName());
+ }
+ });
+ gotoMemberMenuItem = 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());
+ }
+ });
+ unJoinMenuItem = new GridMenuItem<GroupDTO>("images/del.gif", i18n
+ .t("Don't participate more as a member in this group"), new Slot<GroupDTO>() {
+ public void onEvent(final GroupDTO groupDTO) {
+ removeMemberAction(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.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>("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>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Member rejected"));
+ getStateManager().setSocialNetwork(result);
+ }
+ });
+ }
+ });
+ }
+
+ private void removeMemberAction() {
+ removeMemberAction(session.getCurrentState().getGroup());
+ }
+
+ private void removeMemberAction(final GroupDTO groupDTO) {
+ Site.showProgressProcessing();
+ snService.unJoinGroup(session.getUserHash(), groupDTO.getShortName(),
+ new AsyncCallbackSimple<SocialNetworkResultDTO>() {
+ public void onSuccess(final SocialNetworkResultDTO result) {
+ Site.hideProgress();
+ Site.info(i18n.t("Removed as member"));
+ getStateManager().reload();
+ // in the future with user info:
+ // services.stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
+ // result);
+ }
+ });
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java 2008-07-21 02:46:08 UTC (rev 811)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ui/ParticipationSummaryPanel.java 2008-07-21 14:30:36 UTC (rev 812)
@@ -19,54 +19,51 @@
*/
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.dto.GroupDTO;
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.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.socialnet.ParticipationSummaryPresenter;
import org.ourproject.kune.workspace.client.socialnet.ParticipationSummaryView;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.EntitySummary;
import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.gwtext.client.widgets.BoxComponent;
+import com.gwtext.client.widgets.event.ContainerListenerAdapter;
-public class ParticipationSummaryPanel extends StackedDropDownPanel implements ParticipationSummaryView {
+public class ParticipationSummaryPanel extends DropDownPanel implements ParticipationSummaryView {
- private static final boolean COUNTS_VISIBLE = false;
- private final Images img = Images.App.getInstance();
+ private final GridMenuPanel<GroupDTO> gridMenuPanel;
- public ParticipationSummaryPanel(final AbstractPresenter presenter, final I18nTranslationService i18n,
+ public ParticipationSummaryPanel(final ParticipationSummaryPresenter presenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws) {
- super(presenter, "#00D4AA", i18n.t("Participates as..."), i18n.t("Groups in which participates"),
- COUNTS_VISIBLE);
+ super(true);
+ super.setHeaderText(i18n.t("Participates as..."));
+ super.setHeaderTitle(i18n.t("Groups in which participates"));
+ super.setBorderStylePrimaryName("k-dropdownouter-part");
+ super.addStyleName("kune-Margin-Medium-tl");
+ gridMenuPanel = new GridMenuPanel<GroupDTO>(i18n.t("This user is not member of any group"), true, false, false,
+ false, false);
+ 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);
ws.getEntitySummary().addInSummary(this);
}
- public void addCategory(final String name, final String title) {
- super.addStackItem(name, title, COUNTS_VISIBLE);
+ public void addItem(final GridItem<GroupDTO> gridItem) {
+ gridMenuPanel.addItem(gridItem);
}
- 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();
+ gridMenuPanel.removeAll();
}
public void hide() {
@@ -77,21 +74,4 @@
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");
- }
-
}
1
0
r811 - in trunk/src/main/java/org/ourproject/kune: platf/client/app workspace/client/search workspace/client/ui/newtmp/sitebar/sitelogo workspace/client/ui/newtmp/skel
by vjrj 21 Jul '08
by vjrj 21 Jul '08
21 Jul '08
Author: vjrj
Date: 2008-07-21 04:46:08 +0200 (Mon, 21 Jul 2008)
New Revision: 811
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherView.java
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/skel/WorkspaceSkeleton.java
Log:
SiteSearcher fixes
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -65,8 +65,6 @@
// Temporary new ws
final WorkspaceSkeleton ws = kune.getInstance(WorkspaceSkeleton.class);
- ws.mask();
-
ws.show();
ws.getEntityWorkspace().getContentTopBar().add(new Label("Sorry, kune workspace under heavy refactorization"));
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-07-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -31,7 +31,6 @@
import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.Record;
-import com.gwtext.client.data.SimpleStore;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.Button;
@@ -42,15 +41,14 @@
import com.gwtext.client.widgets.Window;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
-import com.gwtext.client.widgets.event.WindowListenerAdapter;
-import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import com.gwtext.client.widgets.grid.GridPanel;
+import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.event.GridCellListenerAdapter;
import com.gwtext.client.widgets.layout.BorderLayoutData;
import com.gwtext.client.widgets.layout.FitLayout;
@@ -60,8 +58,7 @@
private final Window dialog;
private final SiteSearcherPresenter presenter;
private Store groupStore;
- private ComboBox searchCombo;
- private Store historyStore;
+ private TextField searchField;
private Store contentStore;
private GridPanel groupsGrid;
private GridPanel contentGrid;
@@ -76,8 +73,8 @@
dialog = createDialog();
}
- public String getComboTextToSearch() {
- return searchCombo.getValue();
+ public String getTextToSearch() {
+ return searchField.getValueAsString();
}
public void hide() {
@@ -85,7 +82,7 @@
}
public void search(final String text, final SiteSearcherType type) {
- searchCombo.setValue(text);
+ searchField.setValue(text);
switch (type) {
case group_user:
query(groupStore, groupsGrid, text);
@@ -177,12 +174,6 @@
dialog.setCloseAction(Window.HIDE);
- dialog.addListener(new WindowListenerAdapter() {
- public void onCollapse(final Panel panel) {
- // dialog.hide();
- }
- });
-
return dialog;
}
@@ -197,56 +188,26 @@
form.setWidth(330);
form.setHideLabels(true);
- historyStore = new SimpleStore(new String[] { "term" }, presenter.getSearchHistory());
+ searchField = new TextField();
+ searchField.setWidth(300);
+ searchField.addListener(new FieldListenerAdapter() {
- searchCombo = new ComboBox();
- searchCombo.setStore(historyStore);
- searchCombo.setDisplayField("term");
- searchCombo.setTypeAhead(false);
- searchCombo.setLoadingText(i18n.t("Searching..."));
- searchCombo.setWidth(300);
- searchCombo.setPageSize(10);
- searchCombo.setMode(ComboBox.LOCAL);
- searchCombo.setMinChars(1);
- searchCombo.setValueField("term");
- searchCombo.setForceSelection(false);
- searchCombo.setEditable(true);
- historyStore.load();
- searchCombo.addListener(new ComboBoxListenerAdapter() {
- public void onSelect(final ComboBox comboBox, final Record record, final int index) {
- presenter.doSearch(getComboTextToSearch());
- historyStore = new SimpleStore(new String[] { "term" }, presenter.getSearchHistory());
- searchCombo.setStore(historyStore);
- historyStore.load();
- }
- });
- searchCombo.addListener(new FieldListenerAdapter() {
- public void onChange(final Field field, final Object newVal, final Object oldVal) {
- // Maybe we use...
- }
-
public void onSpecialKey(final Field field, final EventObject e) {
switch (e.getKey()) {
case KeyboardListener.KEY_ENTER:
- Log.debug("Enter pressed");
- Log.debug("field: " + field.getValueAsString());
- Log.debug("field2: " + getComboTextToSearch());
presenter.doSearch(field.getValueAsString());
- historyStore = new SimpleStore(new String[] { "term" }, presenter.getSearchHistory());
- historyStore.load();
- searchCombo.setStore(historyStore);
break;
}
e.stopEvent();
}
});
- form.add(searchCombo);
+ form.add(searchField);
final Button searchBtn = new Button(i18n.tWithNT("Search", "used in button"));
searchBtn.addListener(new ButtonListenerAdapter() {
public void onClick(final Button button, final EventObject e) {
- presenter.doSearch(getComboTextToSearch());
+ presenter.doSearch(getTextToSearch());
}
});
hp.add(form);
@@ -291,12 +252,13 @@
final String gridName = type == SiteSearcherType.group_user ? "group-search" : "content-search";
final GridPanel grid = new GridPanel(gridName, 474, 250, store, columnModel);
+
createPagingToolbar(store, grid);
grid.setHideColumnHeader(true);
- // final GridView view = new GridView();
- // view.setForceFit(true);
- // // view.setEnableRowBody(true);
- // grid.setView(view);
+ final GridView view = new GridView();
+ view.setForceFit(true);
+ view.setEmptyText(i18n.t("No results"));
+ grid.setView(view);
grid.addListener(new PanelListenerAdapter() {
public void onRender(final Component component) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java 2008-07-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPresenter.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -26,8 +26,6 @@
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.workspace.client.sitebar.Site;
-import com.allen_sauer.gwt.log.client.Log;
-
public class SiteSearcherPresenter extends AbstractPresenter implements SiteSearcher {
private SiteSearcherView view;
@@ -44,12 +42,11 @@
}
public void doSearch(final SiteSearcherType typeOfSearch) {
- doSearchOfType(view.getComboTextToSearch(), typeOfSearch);
+ doSearchOfType(view.getTextToSearch(), typeOfSearch);
}
public void doSearch(final String text) {
searchHistory.put(text, null);
- Log.debug("Search History: " + searchHistory.toString());
Site.hideProgress();
view.search(text, currentSearch);
view.show();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherView.java 2008-07-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherView.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -23,7 +23,7 @@
public interface SiteSearcherView extends View {
- String getComboTextToSearch();
+ String getTextToSearch();
void hide();
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-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/sitelogo/SiteLogoPanel.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -12,7 +12,6 @@
public SiteLogoPanel(final SiteLogoPresenter presenter, final WorkspaceSkeleton ws) {
siteLogoImg = new Image();
final SiteBar siteBar = ws.getSiteBar();
- siteBar.addSpacer();
siteBar.add(siteLogoImg);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-21 02:05:26 UTC (rev 810)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-21 02:46:08 UTC (rev 811)
@@ -21,6 +21,8 @@
private final ExtElement extRootBody;
public WorkspaceSkeleton() {
+ extRootBody = new ExtElement(RootPanel.getBodyElement());
+ mask();
QuickTips.init(); // extgwt tips
final QuickTip quickTipInstance = QuickTips.getQuickTip();
quickTipInstance.setDismissDelay(8000);
@@ -36,7 +38,6 @@
mainPanel.add(sitebar, DefaultBorderLayout.Position.NORTH, DefaultBorderLayout.DEF_TOOLBAR_HEIGHT);
mainPanel.add(entity.getPanel(), DefaultBorderLayout.Position.CENTER);
container.add(mainPanel.getPanel());
- extRootBody = new ExtElement(RootPanel.getBodyElement());
}
public Panel getEntityMainHeader() {
1
0
Author: vjrj
Date: 2008-07-21 04:05:26 +0200 (Mon, 21 Jul 2008)
New Revision: 810
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgress.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressView.java
Modified:
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/ui/DocumentReaderControlPanel.java
trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/app/ui/DesktopPanel.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.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/InitAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedInAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedOutAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/actions/RecalculateWorkspaceAction.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/SiteBarFactory.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SimpleMessagePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessage.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.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-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientNewModule.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -6,6 +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.ui.newtmp.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.workspace.TagsSummary;
import com.calclab.suco.client.container.Container;
@@ -27,7 +28,8 @@
builder.registerProvider(DocumentFactory.class, new Provider<DocumentFactory>() {
public DocumentFactory get() {
return new DocumentFactory(builder.getInstance(I18nUITranslationService.class), builder
- .getInstance(Session.class), builder.getInstance(TagsSummary.class));
+ .getInstance(Session.class), builder.getInstance(TagsSummary.class), builder
+ .getInstance(WorkspaceSkeleton.class));
}
}, SingletonScope.class);
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/ui/DocumentReaderControlPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/ui/DocumentReaderControlPanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/cnt/reader/ui/DocumentReaderControlPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -24,7 +24,7 @@
import org.ourproject.kune.docs.client.cnt.reader.DocumentReaderListener;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.CustomPushButton;
-import org.ourproject.kune.workspace.client.sitebar.Site;
+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.HorizontalPanel;
@@ -35,49 +35,50 @@
private final CustomPushButton deleteBtn;
private final CustomPushButton translateBtn;
- public DocumentReaderControlPanel(final DocumentReaderListener listener, final I18nTranslationService i18n) {
- editBtn = new CustomPushButton(i18n.tWithNT("Edit", "used in button"), new ClickListener() {
- public void onClick(final Widget sender) {
- listener.onEdit();
- editBtn.removeStyleDependentName("up-hovering");
- }
- });
+ public DocumentReaderControlPanel(final DocumentReaderListener listener, final I18nTranslationService i18n,
+ final WorkspaceSkeleton ws) {
+ editBtn = new CustomPushButton(i18n.tWithNT("Edit", "used in button"), new ClickListener() {
+ public void onClick(final Widget sender) {
+ listener.onEdit();
+ editBtn.removeStyleDependentName("up-hovering");
+ }
+ });
- deleteBtn = new CustomPushButton(i18n.tWithNT("Delete", "used in button"), new ClickListener() {
- public void onClick(final Widget sender) {
- listener.onDelete();
- deleteBtn.removeStyleDependentName("up-hovering");
- }
- });
+ deleteBtn = new CustomPushButton(i18n.tWithNT("Delete", "used in button"), new ClickListener() {
+ public void onClick(final Widget sender) {
+ listener.onDelete();
+ deleteBtn.removeStyleDependentName("up-hovering");
+ }
+ });
- translateBtn = new CustomPushButton(i18n.tWithNT("Translate", "used in button"), new ClickListener() {
- public void onClick(final Widget sender) {
- listener.onTranslate();
- translateBtn.removeStyleDependentName("up-hovering");
- Site.showAlertMessage(i18n.t("Sorry, this functionality is currently in development"));
- }
- });
+ translateBtn = new CustomPushButton(i18n.tWithNT("Translate", "used in button"), new ClickListener() {
+ public void onClick(final Widget sender) {
+ listener.onTranslate();
+ translateBtn.removeStyleDependentName("up-hovering");
+ ws.showAlertMessage(i18n.t("Alert"), i18n.t("Sorry, this functionality is currently in development"));
+ }
+ });
- add(editBtn);
- add(deleteBtn);
- add(translateBtn);
- deleteBtn.addStyleName("kune-Button-Small-lSpace");
- translateBtn.addStyleName("kune-Button-Small-lSpace");
- setEditEnabled(false);
- setDeleteEnabled(false);
- setTranslateEnabled(false);
+ add(editBtn);
+ add(deleteBtn);
+ add(translateBtn);
+ deleteBtn.addStyleName("kune-Button-Small-lSpace");
+ translateBtn.addStyleName("kune-Button-Small-lSpace");
+ setEditEnabled(false);
+ setDeleteEnabled(false);
+ setTranslateEnabled(false);
}
public void setDeleteEnabled(final boolean isEnabled) {
- deleteBtn.setVisible(isEnabled);
+ deleteBtn.setVisible(isEnabled);
}
public void setEditEnabled(final boolean isEnabled) {
- editBtn.setVisible(isEnabled);
+ editBtn.setVisible(isEnabled);
}
public void setTranslateEnabled(final boolean isEnabled) {
- translateBtn.setVisible(isEnabled);
+ translateBtn.setVisible(isEnabled);
}
}
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-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/ui/DocumentFactory.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -52,6 +52,7 @@
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.ui.newtmp.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.workspace.TagsSummary;
public class DocumentFactory {
@@ -59,11 +60,14 @@
private final I18nTranslationService i18n;
private final Session session;
private final TagsSummary tags;
+ private final WorkspaceSkeleton ws;
- public DocumentFactory(final I18nTranslationService i18n, final Session session, final TagsSummary tags) {
+ public DocumentFactory(final I18nTranslationService i18n, final Session session, final TagsSummary tags,
+ final WorkspaceSkeleton ws) {
this.i18n = i18n;
this.session = session;
this.tags = tags;
+ this.ws = ws;
}
public AdminContext createAdminContext() {
@@ -92,7 +96,7 @@
}
public DocumentReaderControl createDocumentReaderControl(final DocumentReaderListener listener) {
- final DocumentReaderControlView view = new DocumentReaderControlPanel(listener, i18n);
+ final DocumentReaderControlView view = new DocumentReaderControlPanel(listener, i18n, ws);
final DocumentReaderControlPresenter presenter = new DocumentReaderControlPresenter(view);
return presenter;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationBuilder.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -57,7 +57,6 @@
final Session session = kune.getSession();
Site.showProgressLoading();
- Site.mask();
final KunePlatform platform = kune.getPlatform();
final StateManager stateManager = kune.getStateManager();
@@ -66,6 +65,7 @@
// Temporary new ws
final WorkspaceSkeleton ws = kune.getInstance(WorkspaceSkeleton.class);
+ ws.mask();
ws.show();
ws.getEntityWorkspace().getContentTopBar().add(new Label("Sorry, kune workspace under heavy refactorization"));
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -26,7 +26,6 @@
import org.ourproject.kune.platf.client.dispatch.DefaultDispatcher;
import org.ourproject.kune.platf.client.dispatch.Dispatcher;
-import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.extend.ExtensibleWidgetsManager;
import org.ourproject.kune.platf.client.services.ColorTheme;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
@@ -36,7 +35,6 @@
import org.ourproject.kune.platf.client.tool.ClientTool;
import org.ourproject.kune.workspace.client.WorkspaceEvents;
import org.ourproject.kune.workspace.client.WorkspaceFactory;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarListener;
import org.ourproject.kune.workspace.client.workspace.Workspace;
public class ApplicationDefault implements Application {
@@ -46,51 +44,52 @@
private StateManager stateManager;
public ApplicationDefault(final Session session, final ExtensibleWidgetsManager extensionPointManager,
- final I18nTranslationService i18n, final ColorTheme colorTheme, final KuneErrorHandler errorHandler) {
- workspace = WorkspaceFactory.createWorkspace(session, extensionPointManager, i18n, colorTheme, errorHandler);
- tools = new HashMap<String, ClientTool>();
- DesktopView desktop = WorkspaceFactory.createDesktop(workspace, new SiteBarListener() {
- public void onChangeState(StateToken token) {
- stateManager.setState(token);
- }
+ final I18nTranslationService i18n, final ColorTheme colorTheme, final KuneErrorHandler errorHandler) {
+ workspace = WorkspaceFactory.createWorkspace(session, extensionPointManager, i18n, colorTheme, errorHandler);
+ tools = new HashMap<String, ClientTool>();
+ // DesktopView desktop = WorkspaceFactory.createDesktop(workspace, new
+ // SiteBarListener() {
+ // public void onChangeState(StateToken token) {
+ // stateManager.setState(token);
+ // }
+ //
+ // public void onUserLoggedOut() {
+ // dispatcher.fire(WorkspaceEvents.USER_LOGGED_OUT, null);
+ // }
+ // }, session);
+ // desktop.attach();
- public void onUserLoggedOut() {
- dispatcher.fire(WorkspaceEvents.USER_LOGGED_OUT, null);
- }
- }, session);
- desktop.attach();
-
}
public ClientTool getTool(final String toolName) {
- return tools.get(toolName);
+ return tools.get(toolName);
}
public Workspace getWorkspace() {
- return workspace;
+ return workspace;
}
public void init(final DefaultDispatcher dispatcher, final StateManager stateManager,
- final HashMap<String, ClientTool> tools) {
- this.dispatcher = dispatcher;
- this.stateManager = stateManager;
- this.tools = tools;
- workspace.attachTools(tools.values().iterator());
+ final HashMap<String, ClientTool> tools) {
+ this.dispatcher = dispatcher;
+ this.stateManager = stateManager;
+ this.tools = tools;
+ workspace.attachTools(tools.values().iterator());
}
public void setGroupState(final String groupShortName) {
- Iterator<ClientTool> iterator = tools.values().iterator();
- while (iterator.hasNext()) {
- ClientTool tool = iterator.next();
- tool.setGroupState(groupShortName);
- }
+ final Iterator<ClientTool> iterator = tools.values().iterator();
+ while (iterator.hasNext()) {
+ final ClientTool tool = iterator.next();
+ tool.setGroupState(groupShortName);
+ }
}
public void start() {
- dispatcher.fireDeferred(WorkspaceEvents.START_APP, null);
+ dispatcher.fireDeferred(WorkspaceEvents.START_APP, null);
}
public void stop() {
- dispatcher.fire(WorkspaceEvents.STOP_APP, null);
+ dispatcher.fire(WorkspaceEvents.STOP_APP, null);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/app/ui/DesktopPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ui/DesktopPanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ui/DesktopPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -23,8 +23,6 @@
import org.ourproject.kune.platf.client.app.DesktopView;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.workspace.client.sitebar.SiteBarFactory;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBar;
import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarListener;
import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessage;
import org.ourproject.kune.workspace.client.workspace.Workspace;
@@ -34,65 +32,68 @@
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.widgets.QuickTip;
-import com.gwtext.client.widgets.QuickTips;
+@Deprecated
public class DesktopPanel extends AbsolutePanel implements DesktopView {
public DesktopPanel(final Workspace workspace, final SiteBarListener listener, final Session session,
- final I18nTranslationService i18n) {
- QuickTips.init(); // extgwt tips
- QuickTip quickTipInstance = QuickTips.getQuickTip();
- quickTipInstance.setDismissDelay(8000);
- quickTipInstance.setHideDelay(500);
- quickTipInstance.setInterceptTitles(true);
- SiteBar siteBar = SiteBarFactory.createSiteBar(listener, session, i18n);
- SiteMessage siteMessage = SiteBarFactory.getSiteMessage();
- this.add((Widget) siteMessage.getView(), calculateMessageWidth(Window.getClientWidth()),
- calculateMessageHeight());
- this.add((Widget) siteBar.getView(), 0, 0);
- this.add((Widget) workspace.getView(), 0, 20);
- this.addStyleName("kunebody");
- initResizeListener(this, workspace, siteMessage);
- resizeDesktop(this, workspace, siteMessage, Window.getClientWidth(), Window.getClientHeight());
+ final I18nTranslationService i18n) {
+ // QuickTips.init(); // extgwt tips
+ // final QuickTip quickTipInstance = QuickTips.getQuickTip();
+ // quickTipInstance.setDismissDelay(8000);
+ // quickTipInstance.setHideDelay(500);
+ // quickTipInstance.setInterceptTitles(true);
+ // SiteBar siteBar = SiteBarFactory.createSiteBar(listener, session,
+ // i18n);
+ // final SiteMessage siteMessage = SiteBarFactory.getSiteMessage();
+ // this.add((Widget) siteMessage.getView(),
+ // calculateMessageWidth(Window.getClientWidth()),
+ // calculateMessageHeight());
+ // this.add((Widget) siteBar.getView(), 0, 0);
+ this.add((Widget) workspace.getView(), 0, 20);
+ this.addStyleName("kunebody");
+ // initResizeListener(this, workspace, siteMessage);
+ // resizeDesktop(this, workspace, siteMessage, Window.getClientWidth(),
+ // Window.getClientHeight());
}
public void attach() {
- RootPanel.get().add(this);
+ RootPanel.get().add(this);
}
private int calculateMessageHeight() {
- return 2;
+ return 2;
}
private int calculateMessageWidth(final int width) {
- return width * 20 / 100 - 10;
+ return width * 20 / 100 - 10;
}
private void initResizeListener(final AbsolutePanel desktop, final Workspace workspace,
- final SiteMessage siteMessage) {
- Window.addWindowResizeListener(new WindowResizeListener() {
- public void onWindowResized(final int width, final int height) {
- resizeDesktop(desktop, workspace, siteMessage, width, height);
- }
- });
+ final SiteMessage siteMessage) {
+ Window.addWindowResizeListener(new WindowResizeListener() {
+ public void onWindowResized(final int width, final int height) {
+ resizeDesktop(desktop, workspace, siteMessage, width, height);
+ }
+ });
}
private void resizeDesktop(final AbsolutePanel desktop, final Workspace workspace, final SiteMessage siteMessage,
- final int clientWidth, final int clientHeight) {
- int width = workspace.calculateWidth(clientWidth);
- int height = workspace.calculateHeight(clientHeight);
- final boolean scroll = width <= Workspace.MIN_WIDTH || height <= Workspace.MIN_HEIGHT ? true : false;
- Window.enableScrolling(scroll);
- if (scroll) {
- desktop.setSize("" + width, "" + height);
- } else {
- desktop.setSize("100%", "100%");
- }
- workspace.adjustSize(width, height);
- siteMessage.adjustWidth(width);
- desktop.setWidgetPosition((Widget) siteMessage.getView(), calculateMessageWidth(width),
- calculateMessageHeight());
+ final int clientWidth, final int clientHeight) {
+ final int width = workspace.calculateWidth(clientWidth);
+ final int height = workspace.calculateHeight(clientHeight);
+ final boolean scroll = width <= Workspace.MIN_WIDTH || height <= Workspace.MIN_HEIGHT ? true : false;
+ Window.enableScrolling(scroll);
+ if (scroll) {
+ desktop.setSize("" + width, "" + height);
+ } else {
+ desktop.setSize("100%", "100%");
+ }
+ workspace.adjustSize(width, height);
+ // siteMessage.adjustWidth(width);
+ // desktop.setWidgetPosition((Widget) siteMessage.getView(),
+ // calculateMessageWidth(width),
+ // calculateMessageHeight());
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -31,18 +31,27 @@
import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.workspace.client.sitebar.Site;
+import org.ourproject.kune.workspace.client.ui.newtmp.skel.WorkspaceSkeleton;
+import com.calclab.suco.client.container.Provider;
import com.google.gwt.core.client.GWT;
public class KuneErrorHandler {
private final Session session;
private final I18nTranslationService i18n;
+ private final Provider<WorkspaceSkeleton> wsProvider;
- public KuneErrorHandler(final Session session, final I18nTranslationService i18n) {
+ public KuneErrorHandler(final Session session, final I18nTranslationService i18n,
+ final Provider<WorkspaceSkeleton> wsProvider) {
this.session = session;
this.i18n = i18n;
+ this.wsProvider = wsProvider;
}
+ public WorkspaceSkeleton getWorkspaceSkeleton() {
+ return wsProvider.get();
+ }
+
public void process(final Throwable caught) {
Site.hideProgress();
try {
@@ -64,8 +73,10 @@
Site.error(i18n.t("Content not found"));
DefaultDispatcher.getInstance().fire(PlatformEvents.GOTO, "");
} catch (final LastAdminInGroupException e) {
- Site.showAlertMessage(i18n.t("Sorry, you are the last admin of this group."
- + " Look for someone to substitute you appropriately as admin before unjoin this group."));
+ getWorkspaceSkeleton().showAlertMessage(
+ i18n.t("Warning"),
+ i18n.t("Sorry, you are the last admin of this group."
+ + " Look for someone to substitute you appropriately as admin before unjoin this group."));
} catch (final AlreadyGroupMemberException e) {
Site.error(i18n.t("This group is already a group member"));
} catch (final AlreadyUserMemberException e) {
@@ -79,7 +90,8 @@
private void doSessionExpired() {
Site.doLogout();
- Site.showAlertMessage(i18n.t("Your session has expired. Please login again."));
+ getWorkspaceSkeleton().showAlertMessage(i18n.t("Session expired"),
+ i18n.t("Your session has expired. Please login again."));
}
}
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 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -24,6 +24,10 @@
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.sitebar.msg.SiteMessage;
+import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessagePanel;
+import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessagePresenter;
+import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessageView;
import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPanelNew;
import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryPresenterNew;
import org.ourproject.kune.workspace.client.socialnet.GroupMembersSummaryViewNew;
@@ -46,6 +50,9 @@
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.siteprogress.SiteProgress;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress.SiteProgressPanel;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress.SiteProgressPresenter;
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;
@@ -129,13 +136,19 @@
final I18nUITranslationService i18n = builder.getInstance(I18nUITranslationService.class);
builder.registerProvider(KuneErrorHandler.class, new Provider<KuneErrorHandler>() {
public KuneErrorHandler get() {
- return new KuneErrorHandler(builder.getInstance(Session.class), i18n);
+ return new KuneErrorHandler(builder.getInstance(Session.class), i18n, builder
+ .getProvider(WorkspaceSkeleton.class));
}
}, SingletonScope.class);
+ builder.registerProvider(WorkspaceSkeleton.class, new Provider<WorkspaceSkeleton>() {
+ public WorkspaceSkeleton get() {
+ return new WorkspaceSkeleton();
+ }
+ }, SingletonScope.class);
+
final KuneErrorHandler errorHandler = builder.getInstance(KuneErrorHandler.class);
AsyncCallbackSimple.init(errorHandler);
- Site.init(i18n);
builder.registerProvider(ColorTheme.class, new Provider<ColorTheme>() {
public ColorTheme get() {
@@ -165,12 +178,6 @@
}
}, SingletonScope.class);
- builder.registerProvider(WorkspaceSkeleton.class, new Provider<WorkspaceSkeleton>() {
- public WorkspaceSkeleton get() {
- return new WorkspaceSkeleton();
- }
- }, SingletonScope.class);
-
final WorkspaceSkeleton ws = builder.getInstance(WorkspaceSkeleton.class);
builder.registerProvider(SitePublicSpaceLink.class, new Provider<SitePublicSpaceLink>() {
@@ -183,6 +190,34 @@
}
}, SingletonScope.class);
+ builder.registerProvider(SiteProgress.class, new Provider<SiteProgress>() {
+ public SiteProgress get() {
+ final SiteProgressPresenter presenter = new SiteProgressPresenter();
+ final SiteProgressPanel panel = new SiteProgressPanel(presenter, builder
+ .getProvider(SitePublicSpaceLink.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(Site.class, new Provider<Site>() {
+ public Site get() {
+ return new Site(i18n, builder.getInstance(SiteProgress.class), builder.getProvider(SiteMessage.class));
+ }
+ }, SingletonScope.class);
+
+ builder.registerProvider(SiteMessage.class, new Provider<SiteMessage>() {
+ public SiteMessage get() {
+ final SiteMessagePresenter siteMessagePresenter = new SiteMessagePresenter();
+ final SiteMessageView siteMessageView = new SiteMessagePanel(siteMessagePresenter, true, i18n);
+ siteMessagePresenter.init(siteMessageView);
+ return siteMessagePresenter;
+ }
+ }, SingletonScope.class);
+
+ builder.getInstance(SiteProgress.class);
+ builder.getInstance(Site.class);
+
builder.registerProvider(SiteSignInLink.class, new Provider<SiteSignInLink>() {
public SiteSignInLink get() {
final SiteSignInLinkPresenter presenter = new SiteSignInLinkPresenter();
@@ -248,6 +283,7 @@
builder.getInstance(SitePublicSpaceLink.class);
builder.getInstance(SiteSignInLink.class);
+
builder.getInstance(SiteSignOutLink.class);
builder.getInstance(SiteNewGroupLink.class);
builder.getInstance(SiteSearch.class);
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-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/StateManagerDefault.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -143,7 +143,6 @@
final String toolName = state.getToolName();
workspace.setTool(toolName);
- Site.sitebar.setState(state);
final ClientTool clientTool = app.getTool(toolName);
clientTool.setContent(state);
clientTool.setContext(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-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceFactory.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -120,6 +120,7 @@
return presenter;
}
+ @Deprecated
public static DesktopView createDesktop(final Workspace workspace, final SiteBarListener listener,
final Session session) {
return new DesktopPanel(workspace, listener, session, i18n);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/InitAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/InitAction.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/InitAction.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -36,7 +36,6 @@
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.RootPanel;
public class InitAction implements Action<Object> {
private final Session session;
@@ -80,9 +79,6 @@
} else {
dispatcher.fire(WorkspaceEvents.USER_LOGGED_IN, currentUser);
}
- RootPanel.get("kuneinitialcurtain").setVisible(false);
-
- Site.unMask();
}
private void checkChatDomain(final String chatDomain) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedInAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedInAction.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedInAction.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -27,7 +27,6 @@
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.sitebar.Site;
import com.google.gwt.user.client.Cookies;
@@ -37,30 +36,30 @@
private final I18nUITranslationService i18n;
public LoggedInAction(final Session session, final StateManager stateManager, final I18nUITranslationService i18n) {
- this.session = session;
- this.stateManager = stateManager;
- this.i18n = i18n;
+ this.session = session;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
}
public void execute(final UserInfoDTO value) {
- onLoggedIn(value);
+ onLoggedIn(value);
}
private void onLoggedIn(final UserInfoDTO userInfoDTO) {
- setCookie(userInfoDTO);
- session.setUserHash(userInfoDTO.getUserHash());
- Site.sitebar.showLoggedUser(userInfoDTO);
- I18nLanguageDTO language = userInfoDTO.getLanguage();
- stateManager.reload();
- i18n.changeCurrentLanguage(language.getCode());
- session.setCurrentLanguage(language);
+ setCookie(userInfoDTO);
+ session.setUserHash(userInfoDTO.getUserHash());
+ // FIXME ite.sitebar.showLoggedUser(userInfoDTO);
+ final I18nLanguageDTO language = userInfoDTO.getLanguage();
+ stateManager.reload();
+ i18n.changeCurrentLanguage(language.getCode());
+ session.setCurrentLanguage(language);
}
private void setCookie(final UserInfoDTO userInfoDTO) {
- // http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ
- String sessionId = userInfoDTO.getUserHash();
- final long duration = Session.SESSION_DURATION;
- Date expires = new Date(System.currentTimeMillis() + duration);
- Cookies.setCookie("userHash", sessionId, expires, null, "/", false);
+ // http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ
+ final String sessionId = userInfoDTO.getUserHash();
+ final long duration = Session.SESSION_DURATION;
+ final Date expires = new Date(System.currentTimeMillis() + duration);
+ Cookies.setCookie("userHash", sessionId, expires, null, "/", false);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedOutAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedOutAction.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/LoggedOutAction.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -24,7 +24,6 @@
import org.ourproject.kune.platf.client.dispatch.Action;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.sitebar.Site;
import com.google.gwt.user.client.Cookies;
@@ -35,19 +34,19 @@
private final StateManager stateManager;
public LoggedOutAction(final Session session, final StateManager stateManager) {
- this.session = session;
- this.stateManager = stateManager;
+ this.session = session;
+ this.stateManager = stateManager;
}
public void execute(final Object value) {
- // FIXME: Remove cookie doesn't works in all browsers, know issue:
- // http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/ded8ā¦
- // http://code.google.com/p/google-web-toolkit/issues/detail?id=1735&q=removeCā¦
- Cookies.removeCookie("userHash");
- // Workaround:
- Cookies.setCookie("userHash", null, new Date(0), null, "/", false);
- session.setUserHash(null);
- Site.sitebar.showLoggedUser(null);
- stateManager.reload();
+ // FIXME: Remove cookie doesn't works in all browsers, know issue:
+ // http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/ded8ā¦
+ // http://code.google.com/p/google-web-toolkit/issues/detail?id=1735&q=removeCā¦
+ Cookies.removeCookie("userHash");
+ // Workaround:
+ Cookies.setCookie("userHash", null, new Date(0), null, "/", false);
+ session.setUserHash(null);
+ // FIXME Site.sitebar.showLoggedUser(null);
+ stateManager.reload();
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/actions/RecalculateWorkspaceAction.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/actions/RecalculateWorkspaceAction.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/actions/RecalculateWorkspaceAction.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -20,28 +20,28 @@
package org.ourproject.kune.workspace.client.actions;
import org.ourproject.kune.platf.client.dispatch.Action;
-import org.ourproject.kune.workspace.client.sitebar.SiteBarFactory;
import org.ourproject.kune.workspace.client.workspace.Workspace;
import com.google.gwt.user.client.Window;
+@Deprecated
@SuppressWarnings("unchecked")
public class RecalculateWorkspaceAction implements Action {
private final Workspace workspace;
public RecalculateWorkspaceAction(final Workspace workspace) {
- this.workspace = workspace;
+ this.workspace = workspace;
}
public void execute(final Object value) {
- onRecalculateWorkspaceAction();
+ onRecalculateWorkspaceAction();
}
private void onRecalculateWorkspaceAction() {
- int width = workspace.calculateWidth(Window.getClientWidth());
- int height = workspace.calculateHeight(Window.getClientHeight());
- workspace.adjustSize(width, height);
- SiteBarFactory.getSiteMessage().adjustWidth(width);
+ final int width = workspace.calculateWidth(Window.getClientWidth());
+ final int height = workspace.calculateHeight(Window.getClientHeight());
+ workspace.adjustSize(width, height);
+ // SiteBarFactory.getSiteMessage().adjustWidth(width);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/ui/NewGroupPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -20,12 +20,12 @@
package org.ourproject.kune.workspace.client.newgroup.ui;
import org.ourproject.kune.platf.client.dto.LicenseDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.platf.client.ui.KuneStringUtils;
import org.ourproject.kune.platf.client.ui.KuneUiUtils;
import org.ourproject.kune.platf.client.ui.dialogs.WizardDialog;
import org.ourproject.kune.platf.client.ui.dialogs.WizardListener;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel;
import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter;
@@ -72,10 +72,10 @@
private final DeckPanel deck;
private LicenseChoose licenseChoosePanel;
private final SiteMessagePanel messagesPanel;
- private final I18nTranslationService i18n;
+ private final I18nUITranslationService i18n;
private TextField tags;
- public NewGroupPanel(final NewGroupPresenter presenter, final I18nTranslationService i18n) {
+ public NewGroupPanel(final NewGroupPresenter presenter, final I18nUITranslationService i18n) {
super(i18n.t("Register a new Group"), true, false, 460, 480, new WizardListener() {
public void onBack() {
presenter.onBack();
@@ -130,7 +130,7 @@
step1Label.addStyleName("kune-Margin-Medium-b");
step2Label.addStyleName("kune-Margin-Medium-b");
- messagesPanel = new SiteMessagePanel(null, false);
+ messagesPanel = new SiteMessagePanel(null, false, i18n);
messagesPanel.setWidth("425");
messagesPanel.setMessage("", SiteErrorType.info, SiteErrorType.error);
newGroupInitialDataVP.add(messagesPanel);
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 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/presence/ui/GroupSummaryPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -44,6 +44,7 @@
super.setBorderStylePrimaryName("k-dropdownouter-summary");
addStyleName("kune-Margin-Medium-tl");
ws.getEntitySummary().addInSummary(this);
+ ws.unMask();
}
public void setComment(final String comment) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -66,6 +66,7 @@
private GridPanel groupsGrid;
private GridPanel contentGrid;
private final WorkspaceSkeleton ws;
+ private ToolbarButton traybarButton;
public SiteSearcherPanel(final SiteSearcherPresenter initPresenter, final I18nTranslationService i18n,
final WorkspaceSkeleton ws) {
@@ -101,21 +102,23 @@
dialog.show();
dialog.expand();
dialog.center();
- final ToolbarButton toolbarButton = new ToolbarButton();
- toolbarButton.setTooltip(i18n.t("Show/hide searcher"));
- toolbarButton.setIcon("images/kune-search-ico-push.gif");
- toolbarButton.addListener(new ButtonListenerAdapter() {
- @Override
- public void onClick(final Button button, final EventObject e) {
- if (dialog.isVisible()) {
- dialog.hide();
- } else {
- dialog.show();
+ if (traybarButton == null) {
+ traybarButton = new ToolbarButton();
+ traybarButton.setTooltip(i18n.t("Show/hide searcher"));
+ traybarButton.setIcon("images/kune-search-ico-push.gif");
+ traybarButton.addListener(new ButtonListenerAdapter() {
+ @Override
+ public void onClick(final Button button, final EventObject e) {
+ if (dialog.isVisible()) {
+ dialog.hide();
+ } else {
+ dialog.show();
+ }
}
- }
- });
- ws.getSiteTraybar().addButton(toolbarButton);
+ });
+ ws.getSiteTraybar().addButton(traybarButton);
+ }
}
private Window createDialog() {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/Site.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -20,94 +20,83 @@
package org.ourproject.kune.workspace.client.sitebar;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.newgroup.ui.SiteErrorType;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBar;
import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessage;
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress.SiteProgress;
-public class Site {
+import com.calclab.suco.client.container.Provider;
- public static SiteMessage siteUserMessage;
-
- public static SiteBar sitebar;
-
+public class Site {
public static final String LOGIN_TOKEN = "login";
-
public static final String NEWGROUP_TOKEN = "newgroup";
-
public static final String FIXME_TOKEN = "fixme";
-
public static final String TRANSLATE_TOKEN = "translate";
-
public static final String IN_DEVELOPMENT = " (in development)";
-
private static I18nTranslationService i18n;
+ private static SiteProgress progress;
+ private static Provider<SiteMessage> siteMessageProvider;
+ @Deprecated
public static void doLogin(final String returnToken) {
- sitebar.doLogin(returnToken);
+ // sitebar.doLogin(returnToken);
}
+ @Deprecated
public static void doLogout() {
- sitebar.doLogout();
+ // sitebar.doLogout();
}
+ @Deprecated
public static void doNewGroup(final String returnToken) {
- sitebar.doNewGroup(returnToken);
+ // sitebar.doNewGroup(returnToken);
}
public static void error(final String value) {
- siteUserMessage.setMessage(value, SiteErrorType.error);
+ getSiteMessage().setMessage(value, SiteErrorType.error);
}
public static void hideProgress() {
- sitebar.hideProgress();
+ progress.hideProgress();
}
public static void important(final String value) {
- siteUserMessage.setMessage(value, SiteErrorType.imp);
+ getSiteMessage().setMessage(value, SiteErrorType.imp);
}
public static void info(final String value) {
- siteUserMessage.setMessage(value, SiteErrorType.info);
+ getSiteMessage().setMessage(value, SiteErrorType.info);
}
- public static void init(final I18nTranslationService i18n) {
- Site.i18n = i18n;
- }
-
- public static void mask() {
- sitebar.mask();
- }
-
- public static void mask(final String message) {
- sitebar.mask(message);
- }
-
- public static void showAlertMessage(final String message) {
- sitebar.showAlertMessage(message);
- }
-
public static void showProgress(final String text) {
- sitebar.showProgress(text);
+ progress.showProgress(text);
}
public static void showProgressLoading() {
- sitebar.showProgress(i18n.t("Loading"));
+ progress.showProgress(i18n.t("Loading"));
}
public static void showProgressProcessing() {
- sitebar.showProgress(i18n.t("Processing"));
+ progress.showProgress(i18n.t("Processing"));
}
public static void showProgressSaving() {
- sitebar.showProgress(i18n.t("Saving"));
+ progress.showProgress(i18n.t("Saving"));
}
- public static void unMask() {
- sitebar.unMask();
+ public static void veryImportant(final String value) {
+ getSiteMessage().setMessage(value, SiteErrorType.veryimp);
}
- public static void veryImportant(final String value) {
- siteUserMessage.setMessage(value, SiteErrorType.veryimp);
+ private static SiteMessage getSiteMessage() {
+ return siteMessageProvider.get();
}
+ public Site(final I18nUITranslationService i18n, final SiteProgress progress,
+ final Provider<SiteMessage> siteMessageProvider) {
+ Site.i18n = i18n;
+ Site.progress = progress;
+ Site.siteMessageProvider = siteMessageProvider;
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/SiteBarFactory.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/SiteBarFactory.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/SiteBarFactory.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -24,8 +24,8 @@
import java.util.List;
import org.ourproject.kune.platf.client.dto.LicenseDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePresenter;
@@ -33,25 +33,16 @@
import org.ourproject.kune.workspace.client.newgroup.NewGroupListener;
import org.ourproject.kune.workspace.client.newgroup.NewGroupPresenter;
import org.ourproject.kune.workspace.client.newgroup.ui.NewGroupPanel;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBar;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarListener;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarPanel;
-import org.ourproject.kune.workspace.client.sitebar.bar.SiteBarPresenter;
import org.ourproject.kune.workspace.client.sitebar.login.Login;
import org.ourproject.kune.workspace.client.sitebar.login.LoginListener;
import org.ourproject.kune.workspace.client.sitebar.login.LoginPanel;
import org.ourproject.kune.workspace.client.sitebar.login.LoginPresenter;
-import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessage;
-import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessagePanel;
-import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessagePresenter;
-import org.ourproject.kune.workspace.client.sitebar.msg.SiteMessageView;
public class SiteBarFactory {
- private static SiteMessage siteMessage;
private static Login login;
private static NewGroup newGroup;
private static Session session;
- private static I18nTranslationService i18n;
+ private static I18nUITranslationService i18n;
public static LicenseChoose createLicenseChoose() {
final List<LicenseDTO> licensesList = session.getLicenses();
@@ -69,17 +60,6 @@
return presenter;
}
- public static SiteBar createSiteBar(final SiteBarListener listener, final Session session,
- final I18nTranslationService i18n) {
- SiteBarFactory.session = session;
- SiteBarFactory.i18n = i18n;
- final SiteBarPresenter siteBarPresenter = new SiteBarPresenter(listener, session, i18n);
- final SiteBarPanel siteBarView = new SiteBarPanel(siteBarPresenter, i18n);
- siteBarPresenter.init(siteBarView);
- Site.sitebar = siteBarPresenter;
- return siteBarPresenter;
- }
-
public static Login getLoginForm(final LoginListener listener) {
if (login == null) {
final LoginPresenter presenter = new LoginPresenter(session, listener, i18n);
@@ -100,14 +80,4 @@
return newGroup;
}
- public static SiteMessage getSiteMessage() {
- if (siteMessage == null) {
- final SiteMessagePresenter siteMessagePresenter = new SiteMessagePresenter();
- final SiteMessageView siteMessageView = new SiteMessagePanel(siteMessagePresenter, true);
- siteMessagePresenter.init(siteMessageView);
- siteMessage = siteMessagePresenter;
- Site.siteUserMessage = siteMessagePresenter;
- }
- return siteMessage;
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SimpleMessagePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SimpleMessagePanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SimpleMessagePanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -39,6 +39,10 @@
this.setVisible(false);
}
+ public void reset() {
+ message.setText("");
+ }
+
public void setMessage(final String text) {
this.message.setHTML(text);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessage.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessage.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessage.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -24,9 +24,6 @@
public interface SiteMessage extends View {
- void adjustWidth(int width);
-
- View getView();
-
void setMessage(String message, SiteErrorType type);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -20,19 +20,28 @@
package org.ourproject.kune.workspace.client.sitebar.msg;
import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.WindowResizeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.core.ExtElement;
public class SiteMessagePanel extends SimpleMessagePanel implements SiteMessageView {
private static final int TIMEVISIBLE = 4000;
private final Timer timer;
- public SiteMessagePanel(final MessagePresenter presenter, final boolean closable) {
+ private final ExtElement extElem;
+
+ public SiteMessagePanel(final MessagePresenter presenter, final boolean closable,
+ final I18nUITranslationService i18n) {
final Images images = Images.App.getInstance();
timer = new Timer() {
public void run() {
@@ -45,6 +54,7 @@
if (closable) {
final PushButton closeIcon = new PushButton(images.cross().createImage(), images.crossDark().createImage());
+ KuneUiUtils.setQuickTip(closeIcon, i18n.t("Click to close"));
add(closeIcon);
closeIcon.addClickListener(new ClickListener() {
public void onClick(final Widget sender) {
@@ -59,15 +69,52 @@
});
setCellVerticalAlignment(closeIcon, VerticalPanel.ALIGN_BOTTOM);
}
+ extElem = new ExtElement(this.getElement());
+ final int clientWidth = Window.getClientWidth();
+ adjustWidth(clientWidth);
+ Window.addWindowResizeListener(new WindowResizeListener() {
+ public void onWindowResized(final int width, final int height) {
+ // Log.debug("Window width: " + width + ", height: " + height);
+ setXY(width);
+ adjustWidth(width);
+ }
+ });
+ extElem.setVisible(false, false);
+ hide();
+ RootPanel.get().add(this, calculateX(clientWidth), calculateY());
}
+ @Override
+ public void adjustWidth(final int windowWidth) {
+ super.adjustWidth(windowWidth);
+ }
+
public void hide() {
- super.hide();
+ extElem.hide(true);
+ super.reset();
timer.cancel();
}
public void show() {
- super.show();
+ if (!extElem.isVisible()) {
+ extElem.show(true);
+ }
+ // super.show();
timer.schedule(TIMEVISIBLE);
}
+
+ private int calculateX(final int clientWidth) {
+ final int x = clientWidth * 20 / 100 - 10;
+ // Log.debug("X: " + x);
+ return x;
+ }
+
+ private int calculateY() {
+ return 2;
+ }
+
+ private void setXY(final int clientWidth) {
+ extElem.setXY(calculateX(clientWidth), calculateY(), false);
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePresenter.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/msg/SiteMessagePresenter.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -31,6 +31,7 @@
public SiteMessagePresenter() {
}
+ @Deprecated
public void adjustWidth(final int windowWidth) {
view.adjustWidth(windowWidth);
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgress.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgress.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgress.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -0,0 +1,9 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress;
+
+public interface SiteProgress {
+
+ void hideProgress();
+
+ void showProgress(String text);
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPanel.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPanel.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -0,0 +1,46 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress;
+
+import org.ourproject.kune.workspace.client.ui.newtmp.sitebar.sitepublic.SitePublicSpaceLink;
+
+import com.calclab.suco.client.container.Provider;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class SiteProgressPanel implements SiteProgressView {
+ private static final int MAX_TIME_PROGRESS_BAR = 20000;
+
+ private final Widget progressPanel;
+ private final Widget progressText;
+ private Timer timeProgressMaxTime;
+
+ private final Provider<SitePublicSpaceLink> publicLinkProvider;
+
+ public SiteProgressPanel(final SiteProgressPresenter presenter,
+ final Provider<SitePublicSpaceLink> publicLinkProvider) {
+ this.publicLinkProvider = publicLinkProvider;
+ progressPanel = RootPanel.get("kuneprogresspanel");
+ progressText = RootPanel.get("kuneprogresstext");
+ }
+
+ public void hideProgress() {
+ timeProgressMaxTime.cancel();
+ progressPanel.setVisible(false);
+ publicLinkProvider.get().setVisible(true);
+ }
+
+ public void showProgress(final String text) {
+ if (timeProgressMaxTime == null) {
+ timeProgressMaxTime = new Timer() {
+ public void run() {
+ hideProgress();
+ }
+ };
+ }
+ timeProgressMaxTime.schedule(MAX_TIME_PROGRESS_BAR);
+ publicLinkProvider.get().setVisible(false);
+ progressPanel.setVisible(true);
+ DOM.setInnerText(progressText.getElement(), text);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPresenter.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressPresenter.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress;
+
+import org.ourproject.kune.platf.client.View;
+
+public class SiteProgressPresenter implements SiteProgress {
+
+ private SiteProgressView view;
+
+ public SiteProgressPresenter() {
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void hideProgress() {
+ view.hideProgress();
+ }
+
+ public void init(final SiteProgressView view) {
+ this.view = view;
+ }
+
+ public void showProgress(final String text) {
+ view.showProgress(text);
+ }
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressView.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/sitebar/siteprogress/SiteProgressView.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -0,0 +1,10 @@
+package org.ourproject.kune.workspace.client.ui.newtmp.sitebar.siteprogress;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface SiteProgressView extends View {
+
+ void hideProgress();
+
+ void showProgress(String text);
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-20 22:13:16 UTC (rev 809)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/ui/newtmp/skel/WorkspaceSkeleton.java 2008-07-21 02:05:26 UTC (rev 810)
@@ -3,7 +3,12 @@
import org.ourproject.kune.platf.client.ui.DefaultBorderLayout;
import org.ourproject.kune.workspace.client.ui.newtmp.themes.WsTheme;
+import com.google.gwt.user.client.ui.RootPanel;
+import com.gwtext.client.core.ExtElement;
+import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.QuickTip;
+import com.gwtext.client.widgets.QuickTips;
import com.gwtext.client.widgets.Toolbar;
import com.gwtext.client.widgets.Viewport;
import com.gwtext.client.widgets.layout.FitLayout;
@@ -13,8 +18,14 @@
private final SiteBar sitebar;
private final DefaultBorderLayout mainPanel;
private final Panel container;
+ private final ExtElement extRootBody;
public WorkspaceSkeleton() {
+ QuickTips.init(); // extgwt tips
+ final QuickTip quickTipInstance = QuickTips.getQuickTip();
+ quickTipInstance.setDismissDelay(8000);
+ quickTipInstance.setHideDelay(500);
+ quickTipInstance.setInterceptTitles(true);
container = new Panel();
container.setLayout(new FitLayout());
container.setBorder(false);
@@ -25,6 +36,7 @@
mainPanel.add(sitebar, DefaultBorderLayout.Position.NORTH, DefaultBorderLayout.DEF_TOOLBAR_HEIGHT);
mainPanel.add(entity.getPanel(), DefaultBorderLayout.Position.CENTER);
container.add(mainPanel.getPanel());
+ extRootBody = new ExtElement(RootPanel.getBodyElement());
}
public Panel getEntityMainHeader() {
@@ -47,6 +59,14 @@
return entity.getEntitySummary().getSiteTraybar();
}
+ public void mask() {
+ extRootBody.mask();
+ }
+
+ public void mask(final String message) {
+ extRootBody.mask(message, "x-mask-loading");
+ }
+
public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
entity.setTheme(oldTheme, newTheme);
}
@@ -55,4 +75,16 @@
new Viewport(container);
}
+ public void showAlertMessage(final String title, final String message) {
+ MessageBox.alert(title, message, new MessageBox.AlertCallback() {
+ public void execute() {
+ }
+ });
+ }
+
+ public void unMask() {
+ extRootBody.unmask();
+ RootPanel.get("kuneinitialcurtain").setVisible(false);
+ }
+
}
1
0
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