Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Tagad ir
- @Singleton
- public class ShowPersonPlace implements Place {
- private final EventBus eventBus;
- private final PresenterProvider<PeoplePresenter> peoplePresenter;
- private final PresenterProvider<ShowPresenter> showPresenter;
- @Inject
- public ShowPersonPlace(EventBus eventBus, Provider<PeoplePresenter> peoplePresenter, Provider<ShowPresenter> showPresenter) {
- this.eventBus = eventBus;
- this.peoplePresenter = create(PeoplePresenter.class, peoplePresenter);
- this.showPresenter = create(ShowPresenter.class, showPresenter);
- bind();
- }
- private void bind() {
- eventBus.addHandler(ListClickEvent.getType(), new ListClickHandler() {
- public void onListClick(ListClickEvent event) {
- add(event.getKey());
- }
- });
- eventBus.addHandler(ShowPersonEvent.getType(), new ShowPersonHandler() {
- public void onShowPerson(ShowPersonEvent event) {
- add(event.getKey());
- }
- });
- }
- private void add(String key) {
- History.newItem("/person/show/" + key);
- }
- public boolean manages(String token) {
- return token.startsWith("/person/show/");
- }
- public void fire(GwtEvent<?> event) {
- eventBus.fireEvent(event);
- }
- public void run(String token) {
- final String key = token.substring("/person/show/".length());
- fire(new WorkspaceSetContentEvent(peoplePresenter, new Command() {
- public void execute() {
- fire(new MenuSetActiveEvent("people"));
- fire(new PeopleSetContentEvent(showPresenter, new Command() {
- public void execute() {
- fire(new ListSetActiveEvent(key));
- fire(new PersonShowEvent(key));
- }
- }));
- }
- }));
- }
- }
- ## Kaut kas tāds varētu būt
- @Singleton
- public class ShowPersonPlace extends BasePlace {
- private final PresenterProvider<PeoplePresenter> peoplePresenter;
- private final PresenterProvider<ShowPresenter> showPresenter;
- @Inject
- public ShowPersonPlace(EventBus eventBus, Provider<PeoplePresenter> peoplePresenter, Provider<ShowPresenter> showPresenter) {
- super(eventBus);
- this.peoplePresenter = create(PeoplePresenter.class, peoplePresenter);
- this.showPresenter = create(ShowPresenter.class, showPresenter);
- }
- @Override
- public String getRoute() {
- return "/person/show/{key}";
- }
- @Override
- public void onBind() {
- handle(ListClickEvent.getType(), new ListClickHandler() {
- public void onListClick(ListClickEvent event) {
- navigateToPerson(event.getKey());
- }
- });
- handle(ShowPersonEvent.getType(), new ShowPersonHandler() {
- public void onShowPerson(ShowPersonEvent event) {
- navigateToPerson(event.getKey());
- }
- });
- }
- private void navigateToPerson(String key) {
- state().set("key", key).invoke();
- }
- @Override
- public void handle(RouteHandlerContext ctx) {
- final String key = ctx.get("key");
- fire(new WorkspaceSetContentEvent(peoplePresenter, new Command() {
- public void execute() {
- fire(new MenuSetActiveEvent("people"));
- fire(new PeopleSetContentEvent(showPresenter, new Command() {
- public void execute() {
- fire(new ListSetActiveEvent(key));
- fire(new PersonShowEvent(key));
- }
- }));
- }
- }));
- }
- }
Add Comment
Please, Sign In to add comment