protected MenuItem findItem(String id, MenuItem item) { if (id.equals(item.getId())) return item; else if (!item.getChildren().isEmpty()) { for (MenuItem child : item.getChildren()) { MenuItem menuItem = findItem(id, child); if (menuItem != null) return menuItem; } } return null; }
protected List<MenuItem> collectPermittedScreens(List<MenuItem> menuItems) { List<MenuItem> collectedItems = new ArrayList<>(); for (MenuItem item : menuItems) { if (!item.isPermitted(userSession)) continue; if (StringUtils.isNotEmpty(item.getScreen())) { collectedItems.add(item); } if (CollectionUtils.isNotEmpty(item.getChildren())) { collectedItems.addAll(collectPermittedScreens(item.getChildren())); } } return collectedItems; }
protected Consumer<SideMenu.MenuItem> createMenuBarCommand(final MenuItem item) { if (!item.getChildren().isEmpty() || item.isMenu()) //check item is menu return null; return createMenuCommandExecutor(item); }
protected Consumer<AppMenu.MenuItem> createMenuBarCommand(final MenuItem item) { if (CollectionUtils.isNotEmpty(item.getChildren()) || item.isMenu()) //check item is menu { return null; } return createMenuCommandExecutor(item); }
private void walkMenu(MenuItem info, Node<BasicPermissionTarget> node) { String id = info.getId(); String caption = menuConfig.getItemCaption(id) .replaceAll("<.+?>", "") .replaceAll(">", ""); caption = StringEscapeUtils.unescapeHtml4(caption); if (info.getChildren() != null && !info.getChildren().isEmpty()) { Node<BasicPermissionTarget> n = new Node<>(new BasicPermissionTarget("category:" + id, caption, id)); node.addChild(n); for (MenuItem item : info.getChildren()) { walkMenu(item, n); } } else { if (!info.isSeparator()) { Node<BasicPermissionTarget> n = new Node<>(new BasicPermissionTarget("item:" + id, caption, id)); node.addChild(n); } } }
addItem(currentParentItem.getChildren(), menuItem, nextToItem, before); } else { addItem(rootItems, menuItem, nextToItem, before);
protected void createSubMenu(Window webWindow, SideMenu menu, SideMenu.MenuItem vItem, MenuItem parentItem, UserSession session) { if (parentItem.isPermitted(session)) { for (MenuItem child : parentItem.getChildren()) { if (child.isSeparator()) { continue; } if (child.isPermitted(session)) { SideMenu.MenuItem menuItem = menu.createMenuItem(child.getId(), menuConfig.getItemCaption(child.getId())); assignDescription(menuItem, child); assignIcon(menuItem, child); assignStyleName(menuItem, child); if (child.getChildren().isEmpty()) { menuItem.setCommand(createMenuBarCommand(child)); assignShortcut(webWindow, menuItem, child); vItem.addChildItem(menuItem); } else { createSubMenu(webWindow, menu, menuItem, child, session); assignExpanded(menuItem, child); if (!isMenuItemEmpty(menuItem)) { vItem.addChildItem(menuItem); } } } } } }
protected void createSubMenu(Window webWindow, AppMenu.MenuItem vItem, MenuItem item, UserSession session) { if (item.isPermitted(session) && !item.getChildren().isEmpty()) { for (MenuItem child : item.getChildren()) { if (child.getChildren().isEmpty()) { if (child.isPermitted(session)) { if (child.isSeparator()) {