GWT MVP обновляет маркер истории, не изменяя активность - PullRequest
3 голосов
/ 14 марта 2012

Моя проблема заключается в следующем: у меня есть приложение MVP GWT с таблицей, в которой отображаются наборы данных. Существует несколько сотен наборов данных, поэтому я решил разбить таблицу на страницы по 20 результатов на каждой. Я загружаю каждую страницу с сервера через GWT-RPC Service, который получает номер pagen в качестве аргумента.

Теперь я хочу сделать следующее: я хочу сохранить страницу таблицы, которую пользователь видит в History-Token (поэтому токен будет что-то вроде TablePlace: page = 5), но я не хочу создавать новое действие, потому что тогда состояние других элементов (например, TreeView), которым управляет действие, будет потеряно. В моем случае все элементы TreeView закрываются, а я этого не хочу.

Если я не запускаю новые Места, пользователь не может использовать кнопку назад браузера, чтобы вернуться на страницу, которую он посещал ранее.

Заранее спасибо за помощь.

1 Ответ

4 голосов
/ 14 марта 2012

Вы бы выдавали normal PlaceController goTo, чтобы перейти в другое место, но в вашем ActivityMapper вы бы вернули тот же самый экземпляр Activity, что и раньше. В этом конкретном случае ActivityManager не останавливает / не запускает действие, а вместо этого позволяет ему запускать свою собственную жизнь (даже не сигнализируя, что место изменилось; если вы этого хотите, то попросите ActivityMapper сообщить вашему Activity перед возвратом).

Вы также можете найти FilteredActivityMapper и CachingActivityMapper полезными для возврата одного и того же действия для немного разных мест, не помещая бремя в свой собственный картограф.

...