< Summary

Information
Class: UIBlazor.Components.Settings.ExtraHeaderPicker
Assembly: UIBlazor
File(s): /home/runner/work/InvAit/InvAit/UIBlazor/Components/Settings/ExtraHeaderPicker.razor
Tag: 71_26091983037
Line coverage
0%
Covered lines: 0
Uncovered lines: 28
Coverable lines: 28
Total lines: 77
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_ProfileManager()100%210%
get_Headers()100%210%
OnInitialized()100%210%
AddHeader()100%210%
RemoveHeader(...)100%210%
HandleProfileChanged()100%210%
Dispose()100%210%

File(s)

/home/runner/work/InvAit/InvAit/UIBlazor/Components/Settings/ExtraHeaderPicker.razor

#LineLine coverage
 1@implements IDisposable
 2
 3<RadzenStack Gap="0.2rem">
 04    <RadzenText TextStyle="TextStyle.Subtitle1">@SharedResource.ExtraHeaders</RadzenText>
 05    <RadzenDataGrid @ref="_extraHeadersGrid" TItem="HeaderModel" Data="@Headers" AllowColumnResize="true" AllowSorting="
 06        <EmptyTemplate>
 07            @if (!string.IsNullOrEmpty(ProfileManager.ActiveProfile.ApiKey))
 08            {
 09                <RadzenLabel Text="@SharedResource.ExtraHeadersIsEmpty"/>
 010            }
 11        </EmptyTemplate>
 12        <Columns>
 13            <RadzenDataGridColumn Property="Name" MinWidth="80px" Width="110px" Title="@SharedResource.Header" TextAlign
 14                <Template Context="header">
 15                    <RadzenTextBox @bind-Value="header.Name"
 016                                   Change="@(() => ProfileManager.CallSaveTrigger())"
 17                                   Placeholder="@SharedResource.Empty" />
 18                </Template>
 19            </RadzenDataGridColumn>
 20
 21            <RadzenDataGridColumn Property="Value" MinWidth="100px" Title="@SharedResource.Value" TextAlign="TextAlign.C
 22                <Template Context="header">
 23                    <RadzenTextBox @bind-Value="header.Value"
 024                                   Change="@(() => ProfileManager.CallSaveTrigger())"
 25                                   Placeholder="@SharedResource.Empty" />
 26                </Template>
 27            </RadzenDataGridColumn>
 28
 29            <RadzenDataGridColumn Width="60px" Sortable="false" TextAlign="TextAlign.Center" Resizable="false">
 30                <HeaderTemplate>
 31                    <RadzenButton Icon="add" ButtonStyle="ButtonStyle.Success" Size="ButtonSize.Small" Click="AddHeader"
 32                </HeaderTemplate>
 33                <Template Context="header">
 034                    <RadzenButton Icon="delete" ButtonStyle="ButtonStyle.Danger" Size="ButtonSize.Small" Click="@(() => 
 35                </Template>
 36            </RadzenDataGridColumn>
 37        </Columns>
 38    </RadzenDataGrid>
 39</RadzenStack>
 40
 41@code {
 042    [Inject] IProfileManager ProfileManager { get; set; } = null!;
 43
 44    private RadzenDataGrid<HeaderModel> _extraHeadersGrid = null!;
 045    private List<HeaderModel> Headers => ProfileManager.ActiveProfile.ExtraHeaders;
 46
 47    protected override void OnInitialized()
 48    {
 049        base.OnInitialized();
 050        ProfileManager.OnSaved += HandleProfileChanged;
 051    }
 52
 53    private void AddHeader()
 54    {
 055        Headers.Add(new HeaderModel());
 056        _extraHeadersGrid.Reload();
 057        ProfileManager.CallSaveTrigger();
 058    }
 59
 60    private void RemoveHeader(HeaderModel item)
 61    {
 062        Headers.Remove(item);
 063        _extraHeadersGrid.Reload();
 064        ProfileManager.CallSaveTrigger();
 065    }
 66
 67    private void HandleProfileChanged()
 68    {
 069        _extraHeadersGrid.Reload();
 070        InvokeAsync(StateHasChanged);
 071    }
 72
 73    public void Dispose()
 74    {
 075        ProfileManager.OnSaved -= HandleProfileChanged;
 076    }
 77}