@namespace DnsmasqWebUI.Components.Dnsmasq.EffectiveConfig
@if (ShowSearchBox) { }
@if (IsEditMode) { @if (PendingChangesCount > 0) { @PendingChangesCount change(s) } } else { }
@code { [Parameter] public bool ShowSearchBox { get; set; } = true; [Parameter] public string SearchTerm { get; set; } = ""; [Parameter] public EventCallback SearchTermChanged { get; set; } [Parameter] public bool IsEditMode { get; set; } [Parameter] public int PendingChangesCount { get; set; } [Parameter] public bool AllSectionsExpanded { get; set; } [Parameter] public EventCallback OnExpandAll { get; set; } [Parameter] public EventCallback OnCollapseAll { get; set; } private async Task OnToggleExpandCollapse() { if (AllSectionsExpanded) await OnCollapseAll.InvokeAsync(); else await OnExpandAll.InvokeAsync(); } [Parameter] public EventCallback OnEnterEditMode { get; set; } [Parameter] public EventCallback OnExitEditModeWithConfirm { get; set; } [Parameter] public EventCallback OnOpenSaveModal { get; set; } private async Task OnSearchInput(ChangeEventArgs e) { await SearchTermChanged.InvokeAsync(e.Value?.ToString() ?? ""); } }