/// <summary> /// Removes the item. /// </summary> /// <param name="item">The item.</param> public void RemoveItem(RadzenTabsItem item) { if (tabs.Contains(item)) { tabs.Remove(item); if (!disposed) { try { InvokeAsync(StateHasChanged); } catch { } } } }
internal async Task SelectTab(RadzenTabsItem tab, bool raiseChange = false) { selectedIndex = IndexOf(tab); if (raiseChange) { await Change.InvokeAsync(selectedIndex); await SelectedIndexChanged.InvokeAsync(selectedIndex); } StateHasChanged(); }
internal async System.Threading.Tasks.Task SelectTabOnClient(RadzenTabsItem tab) { var index = IndexOf(tab); if (index != selectedIndex) { selectedIndex = index; await JSRuntime.InvokeVoidAsync("Radzen.selectTab", $"{GetId()}-tabpanel-{selectedIndex}", selectedIndex); shouldRender = false; await Change.InvokeAsync(selectedIndex); await SelectedIndexChanged.InvokeAsync(selectedIndex); shouldRender = true; } }
/// <summary> /// Adds the tab. /// </summary> /// <param name="tab">The tab.</param> public async Task AddTab(RadzenTabsItem tab) { if (!tabs.Contains(tab)) { tabs.Add(tab); if (tab.Selected) { selectedIndex = IndexOf(tab); } if (IsSelected(tab)) { await SelectTab(tab); } else if (selectedIndex < 0) { await SelectTab(tab); // Select the first tab by default } } }
internal int IndexOf(RadzenTabsItem tab) { return(tabs.IndexOf(tab)); }
internal bool IsSelected(RadzenTabsItem tab) { return(IndexOf(tab) == selectedIndex); }