You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:33:04 UTC
svn commit: r1522218 - in
/james/hupa/trunk/client/src/main/java/org/apache/hupa/client:
activity/WestActivity.java ui/FolderTreeViewModel.java
ui/MessagesCellTable.java ui/WestView.java
Author: dongxu
Date: Thu Sep 12 03:33:03 2013
New Revision: 1522218
URL: http://svn.apache.org/r1522218
Log:
fixed issue #16
[Issue 16]click events should be attached to the CellTree so that the messages list can display at the main panel.
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522218&r1=1522217&r2=1522218&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 03:33:03 2013
@@ -1355,10 +1355,16 @@ System.out.println("1111111"+response);
// MailInboxPlace(folder.getName()).with(user));
}
+<<<<<<< HEAD
private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) {
placeController.goTo(IMAPMessagePlaceProvider.get());
>>>>>>> try to change fetch messages to use RF
}
+=======
+// private void showMessage(User user, ImapFolder folder, Message message, MessageDetails details) {
+// placeController.goTo(IMAPMessagePlaceProvider.get());
+// }
+>>>>>>> fixed issue #16
private void showNewMessage() {
placeController.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW));
@@ -1375,7 +1381,7 @@ System.out.println("1111111"+response);
}
@Inject private Displayable display;
- @Inject private Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
+// @Inject private Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
@Inject private Provider<MessageSendPlace> messageSendPlaceProvider;
@Inject private Provider<IMAPMessagePlace> messagePlaceProvider;
private User user;
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java?rev=1522218&r1=1522217&r2=1522218&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderTreeViewModel.java Thu Sep 12 03:33:03 2013
@@ -21,17 +21,18 @@ package org.apache.hupa.client.ui;
import java.util.List;
-import org.apache.hupa.client.rf.FetchFoldersRequest;
import org.apache.hupa.client.rf.HupaRequestFactory;
import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.events.LoadMessagesEvent;
import com.google.gwt.cell.client.AbstractCell;
-import com.google.gwt.cell.client.Cell;
+import com.google.gwt.event.shared.EventBus;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.view.client.AsyncDataProvider;
import com.google.gwt.view.client.HasData;
-import com.google.gwt.view.client.ListDataProvider;
-import com.google.gwt.view.client.Range;
+import com.google.gwt.view.client.ProvidesKey;
+import com.google.gwt.view.client.SelectionChangeEvent;
+import com.google.gwt.view.client.SingleSelectionModel;
import com.google.gwt.view.client.TreeViewModel;
import com.google.inject.Inject;
import com.google.web.bindery.requestfactory.shared.Receiver;
@@ -39,12 +40,37 @@ import com.google.web.bindery.requestfac
public class FolderTreeViewModel implements TreeViewModel {
@Inject protected HupaRequestFactory rf;
+ @Inject protected EventBus eventBus;
+
+ protected SingleSelectionModel<ImapFolder> selectionModel;
+
+ protected void setSelectionModel(SingleSelectionModel<ImapFolder> selectionModel){
+ this.selectionModel = selectionModel;
+ }
/**
* Get the {@link NodeInfo} that provides the children of the specified
* value.
*/
+ @Override
public <T> NodeInfo<?> getNodeInfo(T value) {
+
+// final ProvidesKey<ImapFolder> KEY_PROVIDER = new ProvidesKey<ImapFolder>() {
+// @Override
+// public Object getKey(ImapFolder item) {
+// return item == null ? null : item.getFullName();
+// }
+// };
+// final SingleSelectionModel<ImapFolder> selectionModel = new SingleSelectionModel<ImapFolder>(KEY_PROVIDER);
+// selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
+//
+// @Override
+// public void onSelectionChange(SelectionChangeEvent event) {
+// ImapFolder folder = (ImapFolder)event.getSource();
+//
+// eventBus.fireEvent(new LoadMessagesEvent(user, folder));
+//
+// }});
return new DefaultNodeInfo<ImapFolder>(new ImapFolderListDataProvider((ImapFolder) value),
new AbstractCell<ImapFolder>() {
@Override
@@ -53,7 +79,7 @@ public class FolderTreeViewModel impleme
sb.appendEscaped(value.getName());
}
}
- });
+ }, selectionModel, null);
}
private class ImapFolderListDataProvider extends AsyncDataProvider<ImapFolder> {
@@ -67,7 +93,6 @@ public class FolderTreeViewModel impleme
@Override
public void addDataDisplay(HasData<ImapFolder> display) {
super.addDataDisplay(display);
-
}
@Override
@@ -90,6 +115,7 @@ public class FolderTreeViewModel impleme
* Check if the specified value represents a leaf node. Leaf nodes cannot be
* opened.
*/
+ @Override
public boolean isLeaf(Object value) {
if (value == null)
return false;
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522218&r1=1522217&r2=1522218&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java Thu Sep 12 03:33:03 2013
@@ -570,15 +570,15 @@ public class MessagesCellTable extends D
});
addColumn(checkboxCol, header);
- this.setColumnWidth(checkboxCol, 3, Unit.EM);
+ setColumnWidth(checkboxCol, 3, Unit.EM);
addColumn(fromCol, constants.mailTableFrom());
- this.setColumnWidth(fromCol, 40, Unit.PCT);
+ setColumnWidth(fromCol, 40, Unit.PCT);
addColumn(subjectCol, constants.mailTableSubject());
- this.setColumnWidth(subjectCol, 60, Unit.PCT);
+ setColumnWidth(subjectCol, 60, Unit.PCT);
addColumn(attachedCol, "Attached");// TODO i18n
- this.setColumnWidth(attachedCol, 7, Unit.EM);
+ setColumnWidth(attachedCol, 7, Unit.EM);
addColumn(dateCol, constants.mailTableDate());
- this.setColumnWidth(dateCol, 10, Unit.EM);
+ setColumnWidth(dateCol, 10, Unit.EM);
setRowCount(PAGE_SIZE, false);
setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED);
setSelectionModel(selectionModel, DefaultSelectionEventManager.<Message> createCheckboxManager(0));
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java?rev=1522218&r1=1522217&r2=1522218&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java Thu Sep 12 03:33:03 2013
@@ -96,6 +96,7 @@ import org.apache.hupa.shared.data.Messa
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.LogoutEvent;
@@ -144,6 +145,7 @@ import com.google.gwt.user.client.ui.Tre
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ProvidesKey;
+import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;
import com.google.gwt.view.client.TreeViewModel;
import com.google.inject.Inject;
@@ -189,12 +191,22 @@ public class WestView extends Composite
private TreeViewModel viewModel;
@Inject
- public WestView(FolderTreeViewModel viewModel, EventBus bus, PagingScrollTableRowDragController controllerProvider, HupaConstants constants, HupaMessages messages) {
+ public WestView(FolderTreeViewModel viewModel, final EventBus eventBus, PagingScrollTableRowDragController controllerProvider, HupaConstants constants, HupaMessages messages) {
this.viewModel = viewModel;
+ selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
+
+ @Override
+ public void onSelectionChange(SelectionChangeEvent event) {
+ @SuppressWarnings("unchecked")
+ SingleSelectionModel<ImapFolder> selectionModel =(SingleSelectionModel<ImapFolder>) event.getSource();
+ eventBus.fireEvent(new LoadMessagesEvent(user, selectionModel.getSelectedObject()));
+
+ }});
+ viewModel.setSelectionModel(selectionModel);
this.constants = constants;
this.messages = messages;
this.controller = controllerProvider;
- this.bus = bus;
+ this.bus = eventBus;
loader = new Loading(constants.loading());
<<<<<<< HEAD
<<<<<<< HEAD
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org