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); } }
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()); }
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(); }