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: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org