GWT MVP - Как спроектировать приложение - PullRequest
0 голосов
/ 28 марта 2012

Я пытаюсь получить следующий интерфейс. Я смотрю на использование GWT MVP (деятельность и места). Я следую простому примеру, предоставленному с документацией. До сих пор я достиг базовой панели вкладок, используя GWT MVP (действия и места). URL-адрес изменяется в зависимости от того, на какой вкладке вы находитесь. Как получить верхний колонтитул (данные для входа) и нижний колонтитул? Я также хочу сделать вторую вкладку доступной, только если пользователь вошел в систему. GWTP лучше подходит для такого пользовательского интерфейса?

Page UI

Ответы [ 3 ]

0 голосов
/ 28 марта 2012

По моему мнению, вы должны создать другую область для верхнего и нижнего колонтитула.

Я предполагаю, что при рендеринге панели вкладок вы проверяете, вошел ли пользователь в систему.В этом случае вы можете организовать разговор между двумя регионами с помощью шины событий.

Также вы должны создать одно «домашнее» место, когда оно было запущено в начале, в соответствующих действиях, которые вы реализуете содержимоерегионов (панель входа в систему в заголовке и панель вкладок в другом регионе).

Если некоторые из них появятся здесь, я рекомендую взглянуть на: http://blog.ltgt.net/gwt-21-activities-nesting-yagni/

0 голосов
/ 29 марта 2012

GWTP есть все, что вам нужно. Используйте вложенных презентаторов для вашего интерфейса с разными регионами. Используйте Gatekeeper для ограничения доступа к какой-либо части вашего приложения.

0 голосов
/ 28 марта 2012

Нижний колонтитул может быть легко добавлен на вашей HTML-странице в качестве статического содержимого. Для виджетов с информацией для входа в систему на странице хоста вы можете правильно расположить элемент DIV, а затем добавить любой контент, который вам нужен:

RootPanel.get("yourDivIdentifier").add(widgetsWithLoginInfo);

MVP - отличный шаблон для приложений GWT, и он, безусловно, будет работать для вашей страницы. Вторым дополнением вкладки можно управлять следующим образом в Presenter:

//This is the callback method invoked after login
if (isUserLogged){
    display.addSecondTab(...);
}

И в вашем классе Display добавьте соответствующие виджеты в ваш View.

...