@Override public void revealPlace(final PlaceRequest request, final boolean updateBrowserUrl) { if (locked) { defferedNavigation = () -> revealPlace(request, updateBrowserUrl); return; } if (!getLock()) { return; } placeHierarchy.clear(); placeHierarchy.add(request); doRevealPlace(request, updateBrowserUrl); }
@Override public void revealRelativePlace(final PlaceRequest request, final int level) { if (locked) { defferedNavigation = () -> revealRelativePlace(request, level); return; } if (!getLock()) { return; } placeHierarchy = truncatePlaceHierarchy(level); placeHierarchy.add(request); doRevealPlace(request, true); }
@Override protected void doRevealPlace(final PlaceRequest prequest, final boolean pupdateBrowserUrl) { super.doRevealPlace(prequest, pupdateBrowserUrl); getEventBus().fireEvent(new ChangePlaceEvent(prequest)); } }
@Override protected void doRevealPlace(final PlaceRequest prequest, final boolean pupdateBrowserUrl) { super.doRevealPlace(prequest, pupdateBrowserUrl); getEventBus().fireEvent(new ChangePlaceEvent(prequest)); } }
@Override public void revealRelativePlace(final int level) { if (locked) { defferedNavigation = () -> revealRelativePlace(level); return; } if (!getLock()) { return; } placeHierarchy = truncatePlaceHierarchy(level); int hierarchySize = placeHierarchy.size(); if (hierarchySize == 0) { unlock(); revealDefaultPlace(); } else { PlaceRequest request = placeHierarchy.get(hierarchySize - 1); doRevealPlace(request, true); } }
@Override public void revealPlaceHierarchy( final List<PlaceRequest> placeRequestHierarchy) { if (locked) { defferedNavigation = () -> revealPlaceHierarchy(placeRequestHierarchy); return; } if (!getLock()) { return; } if (placeRequestHierarchy.size() == 0) { unlock(); revealDefaultPlace(); } else { placeHierarchy = placeRequestHierarchy; doRevealPlace(getCurrentPlaceRequest(), true); } }
private void handleTokenChange(final String historyToken) { if (locked) { defferedNavigation = () -> handleTokenChange(historyToken); return; } if (!getLock()) { return; } try { if (historyToken.trim().isEmpty()) { unlock(); revealDefaultPlace(); } else { placeHierarchy = tokenFormatter.toPlaceRequestHierarchy(historyToken); doRevealPlace(getCurrentPlaceRequest(), true); } } catch (TokenFormatException e) { unlock(); error(historyToken); NavigationEvent.fire(this, null); } }