2016-08-17 4 views
3

У меня есть устаревшее приложение gwt и grails, которое я обновляю и изменяю. Его календарь бронирования в основном с разными «взглядами» .. проблема, с которой я сталкиваюсь, - это я хочу пользователь может выбрать представление по умолчанию для себя при входе в систему. Я делал это с помощью приложения grails only, но gwt сильно отличается. Могу ли я передать что-то из config.groovy в часть gwt, которая выбирает которые видят, чтобы показать ... и это представление не является видом, похожим на вид grails..от него, как в ресторанах .. и пользователь может только хотеть видеть оговорки для конкретного ресторана, а не по умолчанию всех ресторановusing config.groovy в gwt для предпочтений пользователя

ответ

3

Возможно, не прямой ответ на ваш вопрос, но вы можете просто сделать обычную удаленную службу GWT UserPreferencesService, которая будет хранить предпочтения пользователя

public interface UserPreferencesService extends RemoteService { 
    List<Restaurant> getRestaurants(Account user); 
    void setRestaurants(Account user, List<Restaurant> restaurants); 
} 

В вашей точке входа вы можете принять решение о том, какой точки зрения вы будете показывать пользователю

public final class Application implements EntryPoint { 
    private AuthServiceAsync authService = 
     GWT.create(AuthService.class); 
    private UserPreferencesAsync preferencesService = 
     GWT.create(UserPreferencesService.class); 

    @Override 
    public void onModuleLoad() { 
     // handle login 
     authService.getAccount(new Callback<Account>() { 
      @Override 
      public void onSuccess(final Account account) { 
       // check if user have a preferred restourants 
       preferencesService.getRestaurants(account, 
        new Callback<Account>() { 
         @Override 
         public void onSuccess(final List<Restaurant> restaurants) { 
          // user did not select any restaurants yet. 
          // Show a selection widget 
          if (restaurants.isEmpty) { 
           RestaurantSelectorWidget widget = 
            new RestaurantSelectorWidget(); 

           // your custom handler here 
           widget.addHandler(new Handler() { 
            @Override 
            public void onSelected(/*...*/) { 
             // save user preferences 
             // and switch to normal view 
            } 
           }) 
           RootPanel.get("container") 
             .add(widget); 
          } else { 
           // show normal view 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

Также вы можете принять смотреть this плагин, который является добавляет поддержку GWT граалям.

 Смежные вопросы

  • Нет связанных вопросов^_^