/** * Page manager constructor. * * @param eventBus application event bus. */ @Inject public PageManager(final EventBus eventBus) { this.eventBus = eventBus; pages = new HashMap<String, Pair<Page, Boolean>>(); presenters = new HashMap<Page, Presenter.PagePresenter<?>>(); // Register ourselves with the History API. History.addValueChangeHandler(this); // Listen for manual place change events. eventBus.addHandler(PageChangedEvent.getType(), this); }
/** {@inheritDoc} */ @Override public void onPageChange(final PageChangedEvent event) { final PageRequest pageRequest = event.getRequest(); final Page page = pageRequest.getPage(); // Tracks current page. trackPage(page); if (page != null && isPopupView(page)) { currentPopupPageRequest = pageRequest; } else { currentPageRequest = pageRequest; } newPlace(pageRequest); updateZones(pageRequest); }