Example #1
0
        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;
 }
Example #3
0
 /// <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;
        }
Example #6
0
        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);
        }
Example #7
0
 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);
     }
 }
Example #8
0
 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;
 }
Example #9
0
        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);
            }
        }
Example #10
0
        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);
        }
Example #12
0
 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("@")));
 }
Example #13
0
 public ModelNavigation(IModelNavigationItem item)
 {
     _item = item;
 }
Example #14
0
 public NavigationItem(IModelNavigationItem modelItem)
 {
     this.ModelItem = modelItem;
 }
Example #15
0
 public ModelNavigation(IModelNavigationItem item)
 {
     _item = item;
 }
Example #16
0
 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("@"));
 }
Example #17
0
 public NavigationItem(IModelNavigationItem modelItem)
 {
     this.ModelItem = modelItem;
 }
 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);
 }