private void register(PageId pageId, Provider<? extends Page> provider) { navigationHandler.registerPageLoader(pageId, this); pageProviders.put(pageId, provider); }
@Before public void setUp() { expect(outerFrameSet.getPageId()).andReturn(outerFrameSetId).anyTimes(); expect(firstPage.getPageId()).andReturn(firstPageId).anyTimes(); pageManager = new NavigationHandler(eventBus, rootFrameSet); }
@Inject public AppLoader(NavigationHandler pageManager, PageStateSerializer placeSerializer, Provider<UserProfilePage> userProfilePageProvider) { this.userProfilePageProvider = userProfilePageProvider; pageManager.registerPageLoader(UserProfilePage.PAGE_ID, this); placeSerializer.registerParser(UserProfilePage.PAGE_ID, new UserProfilePage.StateParser()); }
@Inject public DashboardLoader(NavigationHandler pageManager, PageStateSerializer placeSerializer, Provider<DashboardPage> welcomeProvider) { this.welcomeProvider = welcomeProvider; pageManager.registerPageLoader(DashboardPage.PAGE_ID, this); placeSerializer.registerStatelessPlace(DashboardPage.PAGE_ID, new DashboardPlace()); }
@Inject public DataEntryLoader(NavigationHandler pageManager, PageStateSerializer placeSerializer, Provider<DataEntryPage> dataEntryPageProvider) { this.dataEntryPageProvider = dataEntryPageProvider; pageManager.registerPageLoader(DataEntryPage.PAGE_ID, this); placeSerializer.registerParser(DataEntryPage.PAGE_ID, new DataEntryPlaceParser()); }
@Inject public ReportLoader(Dispatcher service, NavigationHandler pageManager, PageStateSerializer placeSerializer, Provider<ReportsPage> reportsPage, Provider<ReportDesignPage> reportDesignPage) { this.reportsPage = reportsPage; this.reportDesignPage = reportDesignPage; pageManager.registerPageLoader(ReportsPage.PAGE_ID, this); placeSerializer.registerStatelessPlace(ReportsPage.PAGE_ID, new ReportsPlace()); pageManager.registerPageLoader(ReportDesignPage.PAGE_ID, this); placeSerializer.registerParser(ReportDesignPage.PAGE_ID, new ReportDesignPageState.Parser()); }
@Inject public FormPageLoader(NavigationHandler pageManager, PageStateSerializer placeSerializer, ResourceLocator resourceLocator, EventBus eventBus, StateProvider stateProvider ) { this.resourceLocator = resourceLocator; this.pageManager = pageManager; this.eventBus = eventBus; this.stateProvider = stateProvider; pageManager.registerPageLoader(ResourcePage.DESIGN_PAGE_ID, this); placeSerializer.registerParser(ResourcePage.DESIGN_PAGE_ID, new ResourcePlace.Parser(ResourcePage.DESIGN_PAGE_ID)); pageManager.registerPageLoader(ResourcePage.TABLE_PAGE_ID, this); placeSerializer.registerParser(ResourcePage.TABLE_PAGE_ID, new ResourcePlace.Parser(ResourcePage.TABLE_PAGE_ID)); }
@Test public void userCanNavigateToDifferentPageWhilePreviousRequestIsLoading() { thereIsNoActivePageIn(rootFrameSet); expectLoadingPlaceHolderToBeShownTwiceIn(rootFrameSet); expectAndCaptureLoadRequestFor(firstPageId); expectAndCaptureLoadRequestFor(secondPageId); expectPageToBeSetTo(rootFrameSet, secondPage); replayAll(); pageManager.registerPageLoader(firstPageId, pageLoader); pageManager.registerPageLoader(secondPageId, pageLoader); requestNavigationTo(firstPlace); requestNavigationTo(secondPlace); pageLoadFinishes(secondPageId, secondPage); pageLoadFinishes(firstPageId, firstPage); verify(rootFrameSet, pageLoader); }
@Test public void duplicateNavigationRequestsAreIgnored() { thereIsNoActivePageIn(rootFrameSet); expectLoadingPlaceHolderToBeShown(rootFrameSet); expectAndCaptureLoadRequestFor(firstPageId); expectPageToBeSetTo(rootFrameSet, firstPage); replayAll(); pageManager.registerPageLoader(firstPageId, pageLoader); requestNavigationTo(firstPlace); requestNavigationTo(firstPlace); pageLoadFinishes(firstPageId, firstPage); verify(rootFrameSet, pageLoader, firstPage); }
@Test public void verifyThatAPageWithOneOuterContainerIsCorrectlyLoaded() { thereIsNoActivePageIn(rootFrameSet); expectLoadingPlaceHolderToBeShown(rootFrameSet); expectAndCaptureLoadRequestFor(outerFrameSetId); expectPageToBeSetTo(rootFrameSet, outerFrameSet); thereIsNoActivePageIn(outerFrameSet); expectLoadingPlaceHolderToBeShown(outerFrameSet); expectAndCaptureLoadRequestFor(firstPageId); expectPageToBeSetTo(outerFrameSet, firstPage); replayAll(); pageManager.registerPageLoader(outerFrameSetId, pageLoader); pageManager.registerPageLoader(firstPageId, pageLoader); requestNavigationTo(innerPlaceWithOuterFrame); pageLoadFinishes(outerFrameSetId, outerFrameSet); pageLoadFinishes(firstPageId, firstPage); verify(rootFrameSet, outerFrameSet, firstPage, pageLoader); }
@Test public void navigationProceedsUponApprovalOfInnerPage() { theRootPageIs(outerFrameSet); theOuterFrameSetIsShowing(firstPage); expectAndAgreeToNavigationRequestionOn(firstPage); expectNavigate(outerFrameSet); expectLoadingPlaceHolderToBeShown(outerFrameSet); expectAndCaptureLoadRequestFor(secondPageId); expectShutdownCallTo(firstPage); expectPageToBeSetTo(outerFrameSet, secondPage); replayAll(); pageManager.registerPageLoader(secondPageId, pageLoader); requestNavigationTo(secondInnerPlaceWithSameOuterFrame); pageLoadFinishes(secondPageId, secondPage); verify(outerFrameSet, firstPage, pageLoader); Assert.assertEquals(1, eventBus.getEventCount(NavigationHandler.NAVIGATION_AGREED)); }