Author: dongxu
Date: Thu Sep 12 03:52:48 2013
New Revision: 1522265
URL: http://svn.apache.org/r1522265
Log:
prepare for place management and history controller
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageListActivity.java
Thu Sep 12 03:52:48 2013
@@ -243,6 +243,7 @@ public class MessageListActivity extends
=======
=======
import org.apache.hupa.client.place.IMAPMessagePlace;
+import org.apache.hupa.client.place.MailFolderPlace;
import org.apache.hupa.client.rf.GetMessageDetailsRequest;
>>>>>>> prepare for message content panel
import org.apache.hupa.client.ui.WidgetDisplayable;
@@ -260,7 +261,6 @@ import org.apache.hupa.shared.events.Log
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import com.google.web.bindery.requestfactory.shared.Receiver;
public class MessageListActivity extends AppBaseActivity {
@@ -315,6 +315,11 @@ public class MessageListActivity extends
}
});
}
+
+ public MessageListActivity with(MailFolderPlace place){
+ display.setFolder(place.getFolder());
+ return this;
+ }
private void cloneFolder(ImapFolder desc, ImapFolder src) {
desc.setChildren(src.getChildren());
@@ -339,6 +344,7 @@ public class MessageListActivity extends
>>>>>>> make message content work as expected partly
public interface Displayable extends WidgetDisplayable {
+ void setFolder(ImapFolder folder);
}
>>>>>>> prepare for message content panel
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/MessageListActivityMapper.java
Thu Sep 12 03:52:48 2013
@@ -80,7 +80,7 @@ public class MessageListActivityMapper i
=======
public Activity getActivity(Place place) {
if(place instanceof DefaultPlace)return null;
- else if (place instanceof MailFolderPlace) return
messageListActivityProvider.get();
+ else if (place instanceof MailFolderPlace) return
messageListActivityProvider.get().with((MailFolderPlace)place);
return messageListActivityProvider.get();
>>>>>>> integrate all of the views to their corresponding activities and
>>>>>>> mappers
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
Thu Sep 12 03:52:48 2013
@@ -30,14 +30,15 @@ public class MailFolderPlace extends Abs
private static final String PREFIX = "folder";
private User user;
private String folderName = "";
-
- public String getFolderName(){
+
+ public String getFolderName() {
return folderName;
}
- public void setFolderName(String folderName){
+ public void setFolderName(String folderName) {
this.folderName = folderName;
}
+
/**
* equality test based on Class type, to let different instance of this
* Place class to be equals for CachingActivityMapper test on Place
equality
@@ -48,7 +49,8 @@ public class MailFolderPlace extends Abs
*/
@Override
public boolean equals(Object otherPlace) {
- return this == otherPlace ;//|| (otherPlace != null &&
getClass() == otherPlace.getClass());
+ return this == otherPlace;// || (otherPlace != null &&
getClass() ==
+ //
otherPlace.getClass());
}
@Override
@@ -61,6 +63,17 @@ public class MailFolderPlace extends Abs
return this;
}
+ public MailFolderPlace with(String folderName) {
+ this.folderName = folderName;
+ return this;
+ }
+
+ public MailFolderPlace with(ImapFolder folder) {
+ this.folder = folder;
+ this.folderName = folder.getName();
+ return this;
+ }
+
public User getUser() {
return user;
}
@@ -70,9 +83,7 @@ public class MailFolderPlace extends Abs
@Override
public MailFolderPlace getPlace(String token) {
- MailFolderPlace p = new MailFolderPlace();
- p.setFolderName(token);
- return p;
+ return new MailFolderPlace().with(token);
}
@Override
@@ -80,15 +91,18 @@ public class MailFolderPlace extends Abs
return place.getFolderName();
}
}
+
private ImapFolder folder;
private String searchValue;
-
+
public ImapFolder getFolder() {
return folder;
}
+
public String getSearchValue() {
return searchValue;
}
+
public MailFolderPlace with(User user, ImapFolder folder, String
searchValue) {
this.folder = folder;
this.searchValue = searchValue;
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
Thu Sep 12 03:52:48 2013
@@ -21,15 +21,19 @@ package org.apache.hupa.client.ui;
import java.util.List;
+import org.apache.hupa.client.place.MailFolderPlace;
import org.apache.hupa.client.rf.HupaRequestFactory;
-import org.apache.hupa.client.ui.res.TreeResources;
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.User;
import org.apache.hupa.shared.events.LoadMessagesEvent;
import com.google.gwt.cell.client.AbstractCell;
-import com.google.gwt.core.shared.GWT;
+import com.google.gwt.cell.client.ValueUpdater;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.NativeEvent;
+import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.view.client.AsyncDataProvider;
import com.google.gwt.view.client.HasData;
@@ -38,15 +42,17 @@ import com.google.gwt.view.client.Select
import com.google.gwt.view.client.SingleSelectionModel;
import com.google.gwt.view.client.TreeViewModel;
import com.google.inject.Inject;
+import com.google.inject.Provider;
import com.google.web.bindery.requestfactory.shared.Receiver;
import com.google.web.bindery.requestfactory.shared.ServerFailure;
public class FoldersTreeViewModel implements TreeViewModel {
- protected User user;
@Inject protected HupaRequestFactory rf;
@Inject protected EventBus eventBus;
- private static TreeResources images;
+ @Inject protected PlaceController placeController;
+ @Inject private Provider<MailFolderPlace> folderPlaceProvider;
+ protected User user;
public FoldersTreeViewModel() {
@@ -59,11 +65,10 @@ public class FoldersTreeViewModel implem
.getSource();
eventBus.fireEvent(new
LoadMessagesEvent(user,
selectionModel.getSelectedObject()));
+
placeController.goTo(folderPlaceProvider.get().with(
+
selectionModel.getSelectedObject()));
}
});
- if (images == null) {
- images = GWT.create(TreeResources.class);
- }
}
private final SingleSelectionModel<ImapFolder> selectionModel = new
SingleSelectionModel<ImapFolder>(
@@ -81,7 +86,9 @@ public class FoldersTreeViewModel implem
@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
return new DefaultNodeInfo<ImapFolder>(new
ImapFolderListDataProvider(
- (ImapFolder) value), new
AbstractCell<ImapFolder>() {//TODO subfolders style and different image for
each folder
+ (ImapFolder) value), new
AbstractCell<ImapFolder>(ClickEvent
+ .getType().getName()) {
+ // TODO different images for each folder
@Override
public void render(Context context, ImapFolder value,
SafeHtmlBuilder sb) {
@@ -89,6 +96,14 @@ public class FoldersTreeViewModel implem
sb.appendEscaped(value.getName());
}
}
+
+ @Override
+ public void onBrowserEvent(Context context, Element
parent,
+ ImapFolder value, NativeEvent event,
+ ValueUpdater<ImapFolder> valueUpdater) {
+ eventBus.fireEvent(new LoadMessagesEvent(user,
value));
+
placeController.goTo(folderPlaceProvider.get().with(value.getName()));
+ }
}, selectionModel, null);
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
Thu Sep 12 03:52:48 2013
@@ -118,10 +118,10 @@
@sprite .messageContentWorkAround {
margin: 8px 0 8px 8px;
padding-right: 8px;
- gwt-image: 'originLogo';
- background-position: center center;
- width: auto;
- height: auto;
+ gwt-image: 'originLogo';
+ background-position: center center;
+ width: auto;
+ height: auto;
}
</ui:style>
<g:LayoutPanel addStyleNames="{style.minWidth}">
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
Thu Sep 12 03:52:48 2013
@@ -92,7 +92,7 @@ import com.google.web.bindery.requestfac
public class MessageListView extends Composite implements
MessageListActivity.Displayable {
- @UiField(provided = true) DataGrid<Message> table;
+ @UiField(provided = true) DataGrid<Message> grid;
private HupaRequestFactory requestFactory;
private EventBus eventBus;
private ImapFolder folder;
@@ -106,9 +106,9 @@ public class MessageListView extends Com
final MessagesCellTable table) {
this.requestFactory = requestFactory;
this.eventBus = eventBus;
- this.table = table;
+ grid = table;
initWidget(binder.createAndBindUi(this));
- this.table.addCellPreviewHandler(new Handler<Message>() {
+ grid.addCellPreviewHandler(new Handler<Message>() {
@Override
public void onCellPreview(CellPreviewEvent<Message>
event) {
if (hasClickedButFirstCol(event)) {
@@ -118,8 +118,9 @@ public class MessageListView extends Com
}
table.getSelectionModel().setSelected(event.getValue(),
true);
- eventBus.fireEvent(new
ExpandMessageEvent(user, folder,
- event.getValue()));
+ MessageListView.this.eventBus
+ .fireEvent(new
ExpandMessageEvent(user, folder,
+
event.getValue()));
}
}
@@ -130,7 +131,7 @@ public class MessageListView extends Com
}
});
- this.table.addRangeChangeHandler(new RangeChangeEvent.Handler()
{
+ grid.addRangeChangeHandler(new RangeChangeEvent.Handler() {
@Override
public void onRangeChange(RangeChangeEvent event) {
fetch(event.getNewRange().getStart());
@@ -180,7 +181,7 @@ public class MessageListView extends Com
folder1.setSubscribed(folder.getSubscribed());
folder1.setUnseenMessageCount(folder.getUnseenMessageCount());
action.setFolder(folder1);
- action.setOffset(table.getPageSize());
+ action.setOffset(grid.getPageSize());
action.setSearchString(searchValue);
action.setStart(start);
messagesRequest.fetch(action).fire(new
Receiver<FetchMessagesResult>() {
@@ -198,8 +199,8 @@ public class MessageListView extends Com
//
folder.setMessageCount(result.getRealCount());// TODO if do
// this, there will be auto bean has been
frozen.
//
folder.setUnseenMessageCount(result.getRealUnreadCount());
- table.setRowCount(result.getRealCount());
- table.setRowData(start, result.getMessages());
+ grid.setRowCount(result.getRealCount());
+ grid.setRowData(start, result.getMessages());
// pager.setPageStart(start);
// eventBus.fireEvent(new
MessagesReceivedEvent(folder1,
@@ -212,6 +213,7 @@ public class MessageListView extends Com
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
interface MessageListUiBinder extends UiBinder<HTMLPanel,
MessageListView> {
>>>>>>> make login page as one part of the overall layout & splite layout to
>>>>>>> little one
=======
@@ -226,12 +228,17 @@ public class MessageListView extends Com
=======
interface MessageListUiBinder extends UiBinder<DataGrid,
MessageListView> {
>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
+=======
+ interface MessageListUiBinder extends
+ UiBinder<DataGrid<Message>, MessageListView> {
+>>>>>>> prepare for place management and history controller
}
private static MessageListUiBinder binder = GWT
.create(MessageListUiBinder.class);
<<<<<<< HEAD
+<<<<<<< HEAD
@Override
public MessagesCellTable getGrid() {
return grid;
@@ -275,4 +282,11 @@ public class MessageListView extends Com
=======
>>>>>>> make login page as one part of the overall layout & splite layout to
>>>>>>> little one
+=======
+ @Override
+ public void setFolder(ImapFolder folder) {
+ this.folder = folder;
+ }
+
+>>>>>>> prepare for place management and history controller
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml?rev=1522265&r1=1522264&r2=1522265&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
Thu Sep 12 03:52:48 2013
@@ -42,6 +42,10 @@
>>>>>>> adjust to the ui of folder list panel
=======
xmlns:hupa='urn:import:org.apache.hupa.client.ui'
xmlns:c='urn:import:com.google.gwt.user.cellview.client'>
+<<<<<<< HEAD
<c:DataGrid ui:field="table" />
>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
+=======
+ <c:DataGrid ui:field="grid" />
+>>>>>>> prepare for place management and history controller
</ui:UiBinder>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]