use of org.uberfire.workbench.model.menu.MenuFactory.Builder in project kie-wb-common by kiegroup.
the class DefaultWorkbenchFeaturesMenusHelper method buildMenuItemsFromNavGroup.
public List<MenuItem> buildMenuItemsFromNavGroup(NavGroup navGroup) {
List<MenuItem> result = new ArrayList<>();
for (NavItem navItem : navGroup.getChildren()) {
// Skip dividers
if (navItem instanceof NavDivider) {
continue;
}
// Append its children
MenuBuilder<Builder> builder = MenuFactory.newSimpleItem(navItem.getName());
if (navItem instanceof NavGroup) {
List<MenuItem> childItems = buildMenuItemsFromNavGroup((NavGroup) navItem);
builder.withItems(childItems);
}
// Append the place request
NavWorkbenchCtx navCtx = NavWorkbenchCtx.get(navItem);
if (navCtx.getResourceId() != null && ActivityResourceType.PERSPECTIVE.equals(navCtx.getResourceType())) {
PlaceRequest placeRequest = resolvePlaceRequest(navCtx.getResourceId());
builder.place(placeRequest);
}
// Build the menu item & continue with the next one
MenuItem menuItem = builder.endMenu().build().getItems().get(0);
result.add(menuItem);
}
return result;
}
Aggregations