onModuleLoad().
+ */
+public class GWTReactApp implements EntryPoint {
+ /**
+ * The message displayed to the user when the server cannot be reached or
+ * returns an error.
+ */
+ private static final String SERVER_ERROR = "An error occurred while "
+ + "attempting to contact the server. Please check your network " + "connection and try again.";
+
+
+ /**
+ * Inject gwt-react library script
+ */
+ /*public interface JsClientBundle extends ClientBundle {
+ final JsClientBundle INSTANCE = GWT.create(JsClientBundle.class);
+
+ @Source("resources/gwt-react-bundle.min.js")
+ TextResource gwtreactbundlejs();
+ @Source("resources/gwt-react-router-bundle.min.js")
+ TextResource gwtreactrouterbundlejs();
+ }
+ */
+
+ /**
+ * Create a remote service proxy to talk to the server-side Login service.
+ */
+ private final LoginServiceAsync loginService = GWT.create(LoginService.class);
+
+ final TextBox userNameField = new TextBox();
+ final TextBox passwordField = new PasswordTextBox();
+ final Button loginButton = new Button("LOGIN");
+ final Button goToReactButton = new Button("GO TO REACT APP");
+ final Label loggedUserInfo = new Label();
+
+ private void setLoginFormVisibility(boolean displayLoginForm){
+ RootPanel.get("loginFormDiv").setVisible(displayLoginForm);
+ RootPanel.get("loggedInDiv").setVisible(!displayLoginForm);
+ }
+
+ private void setReactComponentVisibility(boolean displayReactComponent){
+ RootPanel.get("gwtAppDiv").setVisible(!displayReactComponent);
+ RootPanel.get("reactAppDiv").setVisible(displayReactComponent);
+ }
+
+ private void setLoggedInUserInfo(String username){
+ loggedUserInfo.setText("Current logged in user: " + username);
+ }
+
+ private void displayLoginWindow(boolean displayLogin){
+ // Hide info and React button
+ if(displayLogin)
+ loggedUserInfo.setText("");
+
+ goToReactButton.setVisible(!displayLogin);
+ RootPanel.get("userNameFieldLabel").setVisible(displayLogin);
+ RootPanel.get("passwordFieldLabel").setVisible(displayLogin);
+ userNameField.setVisible(displayLogin);
+ passwordField.setVisible(displayLogin);
+ loginButton.setVisible(displayLogin);
+ }
+
+ private void checkWithServerIfSessionIdIsStillLegal(String sessionID, boolean goToReactApp)
+ {
+ loginService.loginFromSessionServer(new AsyncCallback| Username: | +|
| + | |
| Password: | +|
| + | |
| + | |
| + | |
| + | |