public DasMenuItem findOneByUid(DasMenuItem HaystackItem, string uid) { DasMenuItem Item = null; if (HaystackItem.getUid().Equals(uid)) { Item = HaystackItem; } else if (HaystackItem.hasChilds()) { for (int i = 0; i < HaystackItem.getChilds().Count; i++) { Item = findOneByUid(HaystackItem.getChilds()[i], uid); if (Item != null) { break; } } } return(Item); }
public DasMenuItem getItemOrDefault(DasMenuItem Item, DasMenuItem RootItem) { DasMenuItem Result = Item; if (Result == null) { if (RootItem.hasChilds()) { Result = RootItem.getChilds()[0]; } } return(Result); }
public DasMenuItem getReturn(DasMenuItem RootItem, string currentSelection) { DasMenuItemRepository ItemRepository = new DasMenuItemRepository(); DasMenuItem CurrentItem = ItemRepository.getItemOrDefault(ItemRepository.findOneByUid(RootItem, currentSelection), RootItem); if (CurrentItem.hasChilds()) { CurrentItem = CurrentItem.getChilds()[0]; } else if (CurrentItem is DasMenuActionItem) { ApplyAction(CurrentItem as DasMenuActionItem); } return(CurrentItem); }
private StringBuilder getContentChilds(DasMenuItem RootItem, DasMenuConfig Config, DasMenuItem Selected) { List <DasMenuItem> Items = RootItem.getChilds(); StringBuilder content = new StringBuilder(); for (int i_Items = 0; i_Items < Items.Count; i_Items++) { DasMenuItem Item = Items[i_Items]; content.AppendLine(renderLine(Item, Config, Selected)); if (Item.hasChilds()) { content.Append(getContentChilds(Item, Config, Selected).ToString()); } } return(content); }