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:44:03 UTC

svn commit: r1522240 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui: FolderListView.java FolderListView.ui.xml FoldersCellTree.java FoldersTreeViewModel.java WestView.java

Author: dongxu
Date: Thu Sep 12 03:44:03 2013
New Revision: 1522240

URL: http://svn.apache.org/r1522240
Log:
make folder list in west panel partly work

Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.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/WestView.java

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java Thu Sep 12 03:44:03 2013
@@ -213,14 +213,24 @@ import org.apache.hupa.client.activity.F
 
 >>>>>>> integrate all of the views to their corresponding activities and mappers
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.cellview.client.CellTree;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.inject.Inject;
 
-public class FolderListView extends Composite implements
-		FolderListActivity.Displayable {
+public class FolderListView extends Composite implements FolderListActivity.Displayable {
 
-	public FolderListView() {
+	@UiField(provided = true)
+	FoldersCellTree cellTree;
+
+	@Inject
+	public FolderListView(final FoldersTreeViewModel viewModel, final EventBus eventBus) {
+		CellTree.Resources res = GWT.create(CellTree.BasicResources.class);
+		cellTree = new FoldersCellTree(viewModel, res);
+		cellTree.setAnimationEnabled(true);
 		initWidget(binder.createAndBindUi(this));
 >>>>>>> make login page as one part of the overall layout & splite layout to little one
 	}
@@ -228,7 +238,6 @@ public class FolderListView extends Comp
 	interface FolderListUiBinder extends UiBinder<SimplePanel, FolderListView> {
 	}
 
-	private static FolderListUiBinder binder = GWT
-			.create(FolderListUiBinder.class);
+	private static FolderListUiBinder binder = GWT.create(FolderListUiBinder.class);
 
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml Thu Sep 12 03:44:03 2013
@@ -10,12 +10,17 @@
 	language governing permissions and limitations under the License. -->
 
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+<<<<<<< HEAD
 	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
 <<<<<<< HEAD
 	<g:SimplePanel ui:field="thisView" />
 =======
+=======
+	xmlns:g='urn:import:com.google.gwt.user.client.ui'
+	xmlns:hupa='urn:import:org.apache.hupa.client.ui'>
+>>>>>>> make folder list in west panel partly work
 	<g:SimplePanel ui:field="FolderListView">
-		<g:HTMLPanel></g:HTMLPanel>
+		<hupa:FoldersCellTree ui:field="cellTree"/>
 	</g:SimplePanel>
 >>>>>>> make login page as one part of the overall layout & splite layout to little one
 </ui:UiBinder>
\ No newline at end of file

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java Thu Sep 12 03:44:03 2013
@@ -23,7 +23,6 @@ import com.google.gwt.user.cellview.clie
 import com.google.inject.Inject;
 
 public class FoldersCellTree extends CellTree {
-
 	@Inject
 	public FoldersCellTree(final FoldersTreeViewModel viewModel, Resources resources) {
 		super(viewModel, null, resources);

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=1522240&r1=1522239&r2=1522240&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:44:03 2013
@@ -23,12 +23,16 @@ import java.util.List;
 
 import org.apache.hupa.client.rf.HupaRequestFactory;
 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.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.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;
@@ -36,15 +40,32 @@ import com.google.web.bindery.requestfac
 
 public class FoldersTreeViewModel implements TreeViewModel {
 
+	protected User user;
 	@Inject protected HupaRequestFactory rf;
 	@Inject protected EventBus eventBus;
 	
-	protected SingleSelectionModel<ImapFolder> selectionModel;
 	
-	public void setSelectionModel(SingleSelectionModel<ImapFolder> selectionModel){
-		this.selectionModel = selectionModel;
+	public FoldersTreeViewModel(){
+
+		selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
+			@SuppressWarnings("unchecked")
+			@Override
+			public void onSelectionChange(SelectionChangeEvent event) {
+				SingleSelectionModel<ImapFolder> selectionModel = (SingleSelectionModel<ImapFolder>) event.getSource();
+				eventBus.fireEvent(new LoadMessagesEvent(user, selectionModel.getSelectedObject()));
+			}
+		});
 	}
 
+
+	private final SingleSelectionModel<ImapFolder> selectionModel = new SingleSelectionModel<ImapFolder>(
+	        new ProvidesKey<ImapFolder>() {
+		        @Override
+		        public Object getKey(ImapFolder item) {
+			        return item == null ? null : item.getFullName();
+		        }
+	        });
+
 	/**
 	 * Get the {@link NodeInfo} that provides the children of the specified
 	 * value.
@@ -77,13 +98,15 @@ public class FoldersTreeViewModel implem
 
 		@Override
 		protected void onRangeChanged(HasData<ImapFolder> display) {
+			System.out.print(rf == null);
 			rf.fetchFoldersRequest().fetch(folder).fire(new Receiver<List<ImapFolder>>() {
 				@Override
 				public void onSuccess(List<ImapFolder> response) {
 					if (response == null || response.size() == 0) {
 						updateRowCount(-1, true);
-					} else
+					} else{
 						updateRowData(0, response);
+					}
 				}
 			});
 

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=1522240&r1=1522239&r2=1522240&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:44:03 2013
@@ -778,10 +778,10 @@ public class WestView extends Composite 
 =======
 			}
 		});
-		viewModel.setSelectionModel(selectionModel);
+//		viewModel.setSelectionModel(selectionModel);
 
 		CellTree.Resources res = GWT.create(CellTree.BasicResources.class);
-		cellTree = new FoldersCellTree(viewModel, res);
+//		cellTree = new FoldersCellTree(viewModel, res);
 		cellTree.setAnimationEnabled(true);
 		initWidget(cellTree);
 >>>>>>> refactoring.



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org