protected void ProcessItemNew(IModelNavigationItem item, ChoiceActionItemCollection choiceActionItems) { ChoiceActionItem item2; if (item.View != null) { var viewShortcut = new ViewShortcut(item.View.Id, item.ObjectKey); var lvcni = item as IListViewCriteriaNavigationItem; if (lvcni != null) { viewShortcut.Add("Criteria", lvcni.Criteria + ""); } item2 = new ChoiceActionItem(item, viewShortcut); item2.Active["HasRights"] = this.HasRights(item2, item.Application.Views); } else { item2 = new ChoiceActionItem(item) { ActiveItemsBehavior = ActiveItemsBehavior.RequireActiveItems }; } item2.Active["Visible"] = item.Visible; choiceActionItems.Add(item2); foreach (IModelNavigationItem item3 in item.Items) { this.ProcessItemNew(item3, item2.Items); } this.OnNavigationItemCreated(item, item2); }
public static void AddNavigationItem(IModelNavigationItem parent, string caption, string id, string criteria) { var order = parent.Items.AddNode<IModelNavigationItem>(id + caption); order.View = parent.View; order.Caption = caption; var criteriaNav = order as IListViewCriteriaNavigationItem; criteriaNav.Criteria = criteria; order.Index = parent.Items.Count; }
/// <summary> /// Sets the xenial static badge properties. /// </summary> /// <param name="modelNavigationItem">The model navigation item.</param> /// <param name="options">The options.</param> /// <returns>IModelNavigationItem.</returns> /// <exception cref="ArgumentNullException">modelNavigationItem</exception> /// <exception cref="ArgumentNullException">options</exception> /// <autogeneratedoc /> public static IModelNavigationItem SetXenialStaticBadgeProperties(this IModelNavigationItem modelNavigationItem, Action <IXenialModelBadgeStaticTextItem> options) { _ = modelNavigationItem ?? throw new ArgumentNullException(nameof(modelNavigationItem)); _ = options ?? throw new ArgumentNullException(nameof(options)); if (modelNavigationItem is IXenialModelBadgeStaticTextItem modelBadgeStaticTextItem) { options(modelBadgeStaticTextItem); } return(modelNavigationItem); }
private void EnableBeginGroup(ChoiceActionItemCollection items, IModelNavigationItems itemsModel) { foreach (ChoiceActionItem item in items) { IModelNavigationItem itemModel = itemsModel != null?itemsModel.GetNode(item.Id) as IModelNavigationItem : null; item.BeginGroup = itemModel != null ? ((IModelNavigationItemSeparator)itemModel).BeginGroup : false; EnableBeginGroup(item.Items, itemModel != null ? itemModel.GetNode("Items") as IModelNavigationItems : null); } }
public static void AddNavigationItem(IModelNavigationItem parent, string caption, string id, string criteria) { var order = parent.Items.AddNode <IModelNavigationItem>(id + caption); order.View = parent.View; order.Caption = caption; var criteriaNav = order as IListViewCriteriaNavigationItem; criteriaNav.Criteria = criteria; order.Index = parent.Items.Count; }
public static IModelNavigationItem CreateModelItem(ModelApplicationCreator applicationCreator, string itemId, string viewId) { IModelNavigationItem modelItem = (IModelNavigationItem)applicationCreator.CreateNode(itemId, typeof(IModelNavigationItem)); modelItem.AddNode <IModelNavigationItems>("Items"); if (!string.IsNullOrEmpty(viewId)) { modelItem.View = (IModelListView)applicationCreator.CreateNode(viewId, typeof(IModelListView)); } return(modelItem); }
static void UpdateNode(IModelNavigationItem item) { if (item.View is IModelObjectView modelObjectView && item.View is IModelListView) { if (modelObjectView.ModelClass.TypeInfo.IsAttributeDefined <SingletonAttribute>(true)) { item.View = modelObjectView.ModelClass.DefaultDetailView; } } foreach (var nestedNode in item.Items) { UpdateNode(nestedNode); } }
private void FillNavigationItemModel(NavigationItem item, IModelNavigationItem modelNavigaionItem) { modelNavigaionItem.Caption = item.Name; modelNavigaionItem.Index = item.Index; if (item.ChildItemsDisplayStyle == DemoNavigationChildItemsDisplayStyle.Default) { modelNavigaionItem.ChildItemsDisplayStyle = item.NavigationObject.DefaultChildItemsDisplayStyle; } else { modelNavigaionItem.ChildItemsDisplayStyle = item.ChildItemsDisplayStyle == DemoNavigationChildItemsDisplayStyle.List ? ItemsDisplayStyle.List : ItemsDisplayStyle.LargeIcons; } modelNavigaionItem.ImageName = item.ImageName; }
private void ProcessItem(NavigationItem item, ChoiceActionItemCollection choiceActionItemCollection, ModelNode parentModel) { object objectKey = Session.GetKeyValue(item); IModelNavigationItem modelNavigaionItem = parentModel.AddNode <IModelNavigationItem>(objectKey.ToString()); FillNavigationItemModel(item, modelNavigaionItem); ChoiceActionItem choiceActionItem = new ChoiceActionItem(modelNavigaionItem, item); choiceActionItem.ImageName = item.ImageName; choiceActionItemCollection.Add(choiceActionItem); SortItems(item.Items); foreach (NavigationItem childItem in item.Items) { ProcessItem(childItem, choiceActionItem.Items, (ModelNode)modelNavigaionItem); } }
void AddNodes(IModelNavigationItems navigationItems, List <string> strings, string viewId, string objectKey) { if (strings.Count == 0) { var modelView = navigationItems.Application.Views.Where(view => view.Id == viewId).FirstOrDefault(); if (modelView == null) { throw new NullReferenceException(viewId); } ((IModelNavigationItem)navigationItems.Parent).View = modelView; return; } var id = strings[0]; IModelNavigationItem navigationItem = GetNavigationItem(navigationItems, id, objectKey); strings.RemoveAt(0); AddNodes(navigationItem.Items, strings, viewId, objectKey); }
void AddNodes(IModelNavigationItems navigationItems, List <string> strings, string[] viewIds, string objectKey, int index) { if (strings.Count == 0) { var modelView = navigationItems.Application.Views[viewIds[0]]; if (modelView == null) { modelView = navigationItems.Application.Views[viewIds[1]]; if (modelView == null) { throw new NullReferenceException(string.Join("/", viewIds) + " not found in Application.Views"); } } ((IModelNavigationItem)navigationItems.Parent).View = modelView; return; } var id = strings[0]; IModelNavigationItem navigationItem = GetNavigationItem(navigationItems, id, objectKey, strings.Count == 1 ? index : -1); strings.RemoveAt(0); AddNodes(navigationItem.Items, strings, viewIds, objectKey, index); }
bool CannotConvertCriteriaValueToObjectKeyType(IModelNavigationItem modelNavigationItem) { return(!string.IsNullOrEmpty(modelNavigationItem.ObjectKey) && (((modelNavigationItem.View != null && modelNavigationItem.View.AsObjectView != null && !modelNavigationItem.ObjectKey.CanChange( modelNavigationItem.View.AsObjectView.ModelClass.TypeInfo.KeyMember.MemberType))) && !modelNavigationItem.ObjectKey.StartsWith("@"))); }
public ModelNavigation(IModelNavigationItem item) { _item = item; }
public NavigationItem(IModelNavigationItem modelItem) { this.ModelItem = modelItem; }
bool CannotConvertCriteriaValueToObjectKeyType(IModelNavigationItem modelNavigationItem) { return !string.IsNullOrEmpty(modelNavigationItem.ObjectKey) && (((modelNavigationItem.View != null && modelNavigationItem.View.AsObjectView != null && !modelNavigationItem.ObjectKey.CanChange( modelNavigationItem.View.AsObjectView.ModelClass.TypeInfo.KeyMember.MemberType)))&&!modelNavigationItem.ObjectKey.StartsWith("@")); }