private void ObservableCollectionAllItems_CollectionChanged(object?sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     Items.Clear();
     OverflowItems.Clear();
     foreach (IRibbonItem?item in allItems)
     {
         Items.Add(item);
     }
 }
 public double HighestPriorityInOverflowItems()
 {
     if (OverflowItems.Count() > 0)
     {
         return(OverflowItems.Max(item => item.Priority));
     }
     else
     {
         return(-1);
     }
 }
Beispiel #3
0
        protected override Task OnParametersSetAsync()
        {
            _currentData = new CommandBarData()
            {
                PrimaryItems         = new List <ICommandBarItem>(Items != null ? Items : new List <ICommandBarItem>()),
                OverflowItems        = new List <ICommandBarItem>(OverflowItems != null ? OverflowItems : new List <ICommandBarItem>()),
                FarItems             = new List <ICommandBarItem>(FarItems != null ? FarItems : new List <ICommandBarItem>()),
                MinimumOverflowItems = OverflowItems != null?OverflowItems.Count() : 0,
                                           CacheKey = ""
            };

            return(base.OnParametersSetAsync());
        }
Beispiel #4
0
        private void ProcessUri(string uri)
        {
            if (uri.StartsWith(NavigationManager.BaseUri))
            {
                uri = uri.Substring(NavigationManager.BaseUri.Length, uri.Length - NavigationManager.BaseUri.Length);
            }

            string processedUriRelative       = null;
            string processedUriAnchorIncluded = null;
            string processUriAnchorOnly       = null;

            processedUriRelative = uri.Split('?', '#')[0];

            var split = uri.Split('?');

            processedUriAnchorIncluded = split[0];
            if (split.Length > 1)
            {
                var anchorSplit = split[1].Split('#');
                if (anchorSplit.Length > 1)
                {
                    processedUriAnchorIncluded += "#" + anchorSplit[1];
                }
            }
            else
            {
                var anchorSplit = split[0].Split('#');
                if (anchorSplit.Length > 1)
                {
                    processedUriAnchorIncluded += "#" + anchorSplit[1];
                }
            }

            var split2 = uri.Split('#');

            if (split2.Length > 1)
            {
                processUriAnchorOnly = split2[1];
            }
            else
            {
                processUriAnchorOnly = "";
            }

            var allItems = Items.Concat(Items.Where(x => x.Items != null).SelectMany(x => GetChild(x.Items)).Cast <IBFUNavBarItem>())
                           .Concat(OverflowItems.Concat(OverflowItems.Where(x => x.Items != null).SelectMany(x => GetChild(x.Items)).Cast <IBFUNavBarItem>()));

            foreach (var item in allItems)
            {
                switch (item.NavMatchType)
                {
                case NavMatchType.RelativeLinkOnly:
                    if (processedUriRelative.Equals(item.Id) && !item.Checked)
                    {
                        item.Checked = true;
                    }
                    else if (!processedUriRelative.Equals(item.Id) && item.Checked)
                    {
                        item.Checked = false;
                    }
                    break;

                case NavMatchType.AnchorIncluded:
                    if (processedUriAnchorIncluded.Equals(item.Id) && !item.Checked)
                    {
                        item.Checked = true;
                    }
                    else if (!processedUriAnchorIncluded.Equals(item.Id) && item.Checked)
                    {
                        item.Checked = false;
                    }
                    break;

                case NavMatchType.AnchorOnly:
                    if (processUriAnchorOnly.Equals(item.Id) && !item.Checked)
                    {
                        item.Checked = true;
                    }
                    else if (!processUriAnchorOnly.Equals(item.Id) && item.Checked)
                    {
                        item.Checked = false;
                    }
                    break;
                }
            }
            StateHasChanged();
        }