/** * Creates a breadcrumb associated with a perspective * a Place Request and a target panel. * @param associatedPerspective perspective associated with the breadcrumb * @param breadCrumbLabel label of the breadcrumb * @param associatedPlaceRequest place request associated with the breadcrumb * @param command command to be executed after the associated place request is accessed * @param removeDeepLevelBreadcrumbsAfterActivation defines if the deep level breadcrumbs should be removed after the breadcrumb is activated */ public void addBreadCrumb(final String associatedPerspective, final String breadCrumbLabel, final PlaceRequest associatedPlaceRequest, final Command command, final boolean removeDeepLevelBreadcrumbsAfterActivation) { final DefaultBreadcrumbsPresenter breadCrumb = breadcrumbsPresenters.get(); breadCrumb.setup(breadCrumbLabel, removeDeepLevelBreadcrumbsAfterActivation, generateBreadCrumbSelectCommand(associatedPerspective, breadCrumb, associatedPlaceRequest, command)); addBreadCrumb(associatedPerspective, breadCrumb); }
/** * Creates a breadcrumb associated with a perspective * a Place Request and a target panel. * @param associatedPerspective perspective associated with the breadcrumb * @param breadCrumbLabel label of the breadcrumb * @param associatedPlaceRequest place request associated with the breadcrumb * @param command command to be executed after the associated place request is accessed * @param removeDeepLevelBreadcrumbsAfterActivation defines if the deep level breadcrumbs should be removed after the breadcrumb is activated */ public void addBreadCrumb(final String associatedPerspective, final String breadCrumbLabel, final PlaceRequest associatedPlaceRequest, final Command command, final boolean removeDeepLevelBreadcrumbsAfterActivation) { final DefaultBreadcrumbsPresenter breadCrumb = breadcrumbsPresenters.get(); breadCrumb.setup(breadCrumbLabel, removeDeepLevelBreadcrumbsAfterActivation, generateBreadCrumbSelectCommand(associatedPerspective, breadCrumb, associatedPlaceRequest, command)); addBreadCrumb(associatedPerspective, breadCrumb); }
@Test public void generateBreadCrumbSelectCommandTest() { DefaultPlaceRequest placeRequest = new DefaultPlaceRequest("screen"); final Command command = mock(Command.class); uberfireBreadcrumbs.addBreadCrumb("myperspective", "label", placeRequest); List<BreadcrumbPresenter> breadcrumbs = uberfireBreadcrumbs.breadcrumbsPerPerspective.get("myperspective"); DefaultBreadcrumbsPresenter breadcrumb = (DefaultBreadcrumbsPresenter) breadcrumbs.get(0); uberfireBreadcrumbs.generateBreadCrumbSelectCommand("myperspective", breadcrumb, placeRequest, command).execute(); verify(placeManager).goTo(placeRequest); verify(placeManager, never()).goTo(eq(placeRequest), any(HasWidgets.class)); verify(command).execute(); }