internal async Task ExpandItem(RadzenTreeItem item) { var args = new TreeExpandEventArgs() { Text = item?.Text, Value = item?.Value, Children = new TreeItemSettings() }; await Expand.InvokeAsync(args); if (args.Children.Data != null) { var childContent = new RenderFragment(builder => { Func <object, string> text = null; var children = args.Children; foreach (var data in children.Data) { if (text == null) { text = children.Text ?? Getter <string>(data, children.TextProperty); } RenderTreeItem(builder, data, children.Template, text, children.HasChildren, children.Expanded, children.Selected); builder.CloseComponent(); } }); item.RenderChildContent(childContent); if (AllowCheckBoxes && AllowCheckChildren && args.Children.Data != null) { if (CheckedValues != null && CheckedValues.Contains(item.Value)) { await SetCheckedValues(CheckedValues.Union(args.Children.Data.Cast <object>().Except(UncheckedValues))); } else { await SetCheckedValues(CheckedValues.Except(args.Children.Data.Cast <object>())); } } } else if (item.Data != null) { if (AllowCheckBoxes && AllowCheckChildren && item.Data != null) { if (CheckedValues != null && CheckedValues.Contains(item.Value)) { await SetCheckedValues(CheckedValues.Union(item.Data.Cast <object>().Except(UncheckedValues))); } else { await SetCheckedValues(CheckedValues); } } } }
async System.Threading.Tasks.Task Toggle(MouseEventArgs args) { collapsed = !collapsed; contentStyle = collapsed ? "display: none;" : "display: block;"; summaryContentStyle = !collapsed ? "display: none" : "display: block"; if (collapsed) { await Collapse.InvokeAsync(args); } else { await Expand.InvokeAsync(args); } StateHasChanged(); }
internal async Task ExpandExec(MouseEventArgs args, int paneIndex, string paneId) { var pane = Panes[paneIndex]; var paneNext = pane.Next(); if (paneNext != null && paneNext.Collapsible && paneNext.IsLast && !pane.Collapsed) { if (Collapse.HasDelegate) { var arg = new RadzenSplitterEventArgs { PaneIndex = paneNext.Index, Pane = paneNext }; await Collapse.InvokeAsync(arg); if (arg.Cancel) { return; } } paneNext.Collapsed = true; } else { if (Expand.HasDelegate) { var arg = new RadzenSplitterEventArgs { PaneIndex = pane.Index, Pane = pane }; await Expand.InvokeAsync(arg); if (arg.Cancel) { return; } } pane.Collapsed = false; } await InvokeAsync(StateHasChanged); }
internal async System.Threading.Tasks.Task SelectItem(RadzenAccordionItem item) { await CollapseAll(item); var itemIndex = items.IndexOf(item); if (!expandedIdexes.Contains(itemIndex)) { expandedIdexes.Add(itemIndex); await Expand.InvokeAsync(itemIndex); } else { expandedIdexes.Remove(itemIndex); await Collapse.InvokeAsync(itemIndex); } if (!Multiple) { SelectedIndex = itemIndex; } StateHasChanged(); }