@Override public void requestToNavigateAway(PageState place, NavigationCallback callback) { if (activePage == null) { callback.onDecided(true); } else { activePage.requestToNavigateAway(place, callback); } }
private void shutDownCurrentPageIfThereIsOne() { if (!thereIsNoCurrentPage()) { currentPage.shutdown(); } }
protected void changePage() { /* * First see if this view is already the active view, in wehich case * we can just descend in the path */ if (!thereIsNoCurrentPage() && targetPageIsAlreadyActive() && currentPage.navigate(place)) { changeChildPageIfNecessary(); } else { shutDownCurrentPageIfThereIsOne(); showPlaceHolder(); schedulePageLoadAfterEventProcessing(); } }
private void onNavigationRequested(NavigationEvent be) { if (activeNavigation == null || !activeNavigation.getPlace().equals(be.getPlace())) { previousActiveNavigation = activeNavigation; activeNavigation = new NavigationAttempt(be.getPlace()); activeNavigation.go(); } }
private void proceedWithNavigation() { if (isStillActive()) { fireAgreedEvent(); startAtRoot(); changePage(); } }
private void changeChildPageIfNecessary() { if (hasChildPage()) { descend(); changePage(); } }
@Override public void onFailure(Throwable caught) { // handled by monitor if (callback != null) { callback.onDecided(false); } }
private void startAtRoot() { assertViewPathIsNotEmpty(); pageHierarchyIt = place.getEnclosingFrames().iterator(); currentPage = root; descend(); }
private void descend() { assertPageIsFrame(currentPage); frame = (Frame) currentPage; targetPage = pageHierarchyIt.next(); currentPage = frame.getActivePage(); }
@Override public void handleEvent(NavigationEvent be) { onNavigated(be.getPlace()); } };
/** * Sets the destination to the given PageState */ private Builder to(PageState pageState) { link.pageState = pageState; link.key = pageState.getPageId() + "/" + pageState.serializeAsHistoryToken(); return this; }
public void go() { startAtRoot(); confirmPageChange(); }
@Override public void navigate(NavigationCallback callback) { if (savedGuard != null) { savedGuard.navigate(callback); } }
@Override public void cancel() { callback.onDecided(false); } });
@Override public void handleEvent(NavigationEvent be) { onNavigationCompleted(be.getPlace()); } });
@Override public String toString() { return place.getPageId() + "/" + place.serializeAsHistoryToken(); }
@Override public void requestToNavigateAway(PageState place, NavigationCallback callback) { callback.onDecided(true); }
@Override public void requestToNavigateAway(PageState place, NavigationCallback callback) { callback.onDecided(true); }