Author: dongxu
Date: Thu Sep 12 04:19:18 2013
New Revision: 1522330
URL: http://svn.apache.org/r1522330
Log:
prepare to make composeView's reload work
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java?rev=1522330&r1=1522329&r2=1522330&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
Thu Sep 12 04:19:18 2013
@@ -30,6 +30,7 @@ import org.apache.hupa.client.activity.T
import org.apache.hupa.client.mapper.ActivityManagerInitializer;
import org.apache.hupa.client.place.ComposePlace;
<<<<<<< HEAD
+<<<<<<< HEAD
import org.apache.hupa.client.place.ContactPlace;
import org.apache.hupa.client.place.FolderPlace;
import org.apache.hupa.client.place.HupaPlace;
@@ -64,6 +65,10 @@ import org.apache.hupa.client.bundles.Hu
>>>>>>> scrub login view code, use css by a unique way
=======
>>>>>>> could change main panel dynamically currently by clicking the compose
>>>>>>> button
+=======
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.place.MailFolderPlace;
+>>>>>>> prepare to make composeView's reload work
import org.apache.hupa.client.rf.CheckSessionRequest;
import org.apache.hupa.client.rf.HupaRequestFactory;
import org.apache.hupa.client.ui.HupaLayoutable;
@@ -292,28 +297,39 @@ public class HupaController {
private final class PlaceChangHandler implements
PlaceChangeEvent.Handler {
@Override
public void onPlaceChange(PlaceChangeEvent event) {
- adjustLayout(event);
checkSession();
+ adjustLayout(event);
}
}
private void adjustLayout(PlaceChangeEvent event) {
Place place = event.getNewPlace();
+
if (place instanceof ComposePlace) {
+ if(((ComposePlace)place).getParameters() != null){
hupaLayout.switchToCompose();
+ }else{
+ this.placeController.goTo(new
DefaultPlace("@"));
+ }
} else {
hupaLayout.switchToMessage();
}
}
<<<<<<< HEAD
+<<<<<<< HEAD
>>>>>>> move new theme ui from experiment to hupa evo
=======
+=======
+ private User user;
+
+>>>>>>> prepare to make composeView's reload work
private void checkSession() {
CheckSessionRequest checkSession =
requestFactory.sessionRequest();
checkSession.getUser().fire(new Receiver<User>() {
@Override
public void onSuccess(User user) {
+ HupaController.this.user = user;
if (user == null) {
RootLayoutPanel.get().clear();
RootLayoutPanel.get().add(loginLayout.get());
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522330&r1=1522329&r2=1522330&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
Thu Sep 12 04:19:18 2013
@@ -137,6 +137,7 @@ public class ComposeActivity extends App
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
+<<<<<<< HEAD
private Type type = Type.NEW;
<<<<<<< HEAD
>>>>>>> make send text mail work excellently
@@ -151,6 +152,8 @@ public class ComposeActivity extends App
=======
private User user;
>>>>>>> fixed issue#46 and issue#32
+=======
+>>>>>>> prepare to make composeView's reload work
private ComposePlace place;
>>>>>>> coping with reply and forward sending message
@@ -421,14 +424,22 @@ public class ComposeActivity extends App
@Override
public String mayStop(){
super.mayStop();
- return null;
-// return "Do you want to leave this page?";
+ if(noContent()){
+ return null;
+ }
+ return "Do you want to leave this page?";
}
@Override
public void onStop(){
super.onStop();
-// placeController.goTo(new DefaultPlace("@"));
+ if(!noContent()){
+ placeController.goTo(new DefaultPlace("@"));
+ }
+ }
+
+ private boolean noContent() {
+ return "".equals(display.getMessage().getText()) &&
"".equals(display.getSubject().getText());
}
@Override
@@ -440,8 +451,8 @@ public class ComposeActivity extends App
if (place == null)
return;
Message oldMessage = place.getParameters().getOldmessage();
- if (user != null)
- display.getFromList().addItem(user.getName());
+ if (place.getParameters().getUser() != null)
+
display.getFromList().addItem(place.getParameters().getUser().getName());
display.getMessageHTML().setHTML(
wrapMessage(oldMessage,
place.getParameters().getOldDetails(), place.getToken()));
if ("forward".equals(place.getToken())) {
@@ -471,10 +482,10 @@ public class ComposeActivity extends App
list.addAll(oldMessage.getTo());
if (oldMessage.getCc() != null)
list.addAll(oldMessage.getCc());
- list = removeEmailFromList(list,
user.getName());
+ list = removeEmailFromList(list,
place.getParameters().getUser().getName());
display.getCc().setText(Util.listToString(list));
if (oldMessage.getTo() != null) {
-
oldMessage.getTo().remove(user.getName());
+
oldMessage.getTo().remove(place.getParameters().getUser().getName());
}
display.getTo().setText(oldMessage.getFrom());
}
@@ -524,12 +535,7 @@ public class ComposeActivity extends App
return ret;
}
private void bindTo(EventBus eventBus) {
- eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
- @Override
- public void onLogin(LoginEvent event) {
- user = event.getUser();
- }
- });
+
registerHandler(display.getSendClick().addClickHandler(sendClickHandler));
registerHandler(display.getCcClick().addClickHandler(new
ClickHandler() {
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java?rev=1522330&r1=1522329&r2=1522330&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeActivityMapper.java
Thu Sep 12 04:19:18 2013
@@ -21,36 +21,46 @@ package org.apache.hupa.client.mapper;
import org.apache.hupa.client.activity.ComposeActivity;
import org.apache.hupa.client.place.ComposePlace;
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.place.MailFolderPlace;
import com.google.gwt.activity.shared.Activity;
import com.google.gwt.activity.shared.ActivityMapper;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
import com.google.gwt.place.shared.Place;
+import com.google.gwt.place.shared.PlaceController;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class ComposeActivityMapper implements ActivityMapper {
private final Provider<ComposeActivity> composeActivityProvider;
+ @Inject protected PlaceController placeController;
+
@Inject
public ComposeActivityMapper(Provider<ComposeActivity>
composeActivityProvider) {
this.composeActivityProvider = composeActivityProvider;
}
public Activity getActivity(final Place place) {
- return new ActivityAsyncProxy() {
- @Override
- protected void doAsync(RunAsyncCallback callback) {
- GWT.runAsync(callback);
- }
-
- @Override
- protected Activity createInstance() {
- if (place instanceof ComposePlace)
- return
composeActivityProvider.get().with((ComposePlace) place);
- return composeActivityProvider.get();
- }
- };
+ if (!(place instanceof ComposePlace))
+ return null;
+ return composeActivityProvider.get().with((ComposePlace)place);
+// return new ActivityAsyncProxy() {
+// @Override
+// protected void doAsync(RunAsyncCallback callback) {
+// GWT.runAsync(callback);
+// }
+//
+// @Override
+// protected Activity createInstance() {
+// ComposePlace composePlace = (ComposePlace)
place;
+// if (composePlace.getParameters() == null) {
+// placeController.goTo(new
MailFolderPlace(""));
+// }
+// return
composeActivityProvider.get().with(composePlace);
+// }
+// };
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]