85 lines
3.5 KiB
Plaintext
85 lines
3.5 KiB
Plaintext
@*
|
|
SearchDetailsSection.razor - Search metadata input section.
|
|
|
|
Provides inputs for search name and type selection.
|
|
Integrates with FilterVisibilityManager to show/hide filter panels based on search type.
|
|
*@
|
|
@namespace JdeScoping.Client.Components.Search
|
|
|
|
<RadzenCard class="rz-mb-4">
|
|
<div class="search-details-header">
|
|
<strong>Search Details</strong>
|
|
</div>
|
|
|
|
<RadzenRow Gap="1rem">
|
|
<RadzenColumn Size="12">
|
|
<label class="field-label">Search Type</label>
|
|
<RadzenDropDown @bind-Value="SelectedSearchType" Data="@ValidCombinations" TextProperty="Name" ValueProperty="Id"
|
|
Placeholder="Select type" Disabled="@Search.IsReadOnly" Change="@OnSearchTypeChangedHandler" Style="width: 100%;" />
|
|
</RadzenColumn>
|
|
</RadzenRow>
|
|
|
|
<RadzenRow Gap="1rem" class="rz-mt-3">
|
|
<RadzenColumn Size="12">
|
|
<label class="field-label">Name</label>
|
|
<RadzenTextBox @bind-Value="Search.Name" Disabled="@Search.IsReadOnly" Style="width: 100%;" />
|
|
<ValidationMessage For="@(() => Search.Name)" class="validation-message text-danger" />
|
|
</RadzenColumn>
|
|
</RadzenRow>
|
|
|
|
<RadzenRow Gap="1rem" class="rz-mt-3">
|
|
<RadzenColumn Size="4">
|
|
<label class="field-label">Submitted At</label>
|
|
<RadzenTextBox Value="@(Search.SubmitDt?.ToString("MM/dd/yyyy hh:mm:ss tt") ?? "")" ReadOnly="true" class="readonly-input" Style="width: 100%;" />
|
|
</RadzenColumn>
|
|
<RadzenColumn Size="4">
|
|
<label class="field-label">Started At</label>
|
|
<RadzenTextBox Value="@(Search.StartDt?.ToString("MM/dd/yyyy hh:mm:ss tt") ?? "")" ReadOnly="true" class="readonly-input" Style="width: 100%;" />
|
|
</RadzenColumn>
|
|
<RadzenColumn Size="4">
|
|
<label class="field-label">Completed At</label>
|
|
<RadzenTextBox Value="@(Search.EndDt?.ToString("MM/dd/yyyy hh:mm:ss tt") ?? "")" ReadOnly="true" class="readonly-input" Style="width: 100%;" />
|
|
</RadzenColumn>
|
|
</RadzenRow>
|
|
|
|
<RadzenRow Gap="1rem" class="rz-mt-3">
|
|
<RadzenColumn Size="4">
|
|
<label class="field-label">User</label>
|
|
<RadzenTextBox Value="@Search.UserName" ReadOnly="true" class="readonly-input" Style="width: 100%;" />
|
|
</RadzenColumn>
|
|
<RadzenColumn Size="4">
|
|
<label class="field-label">Status</label>
|
|
<RadzenTextBox Value="@Search.Status" ReadOnly="true" Style="@($"width: 100%; background-color: {Search.StatusColor};")" />
|
|
</RadzenColumn>
|
|
<RadzenColumn Size="4">
|
|
@if (Search.HasResults)
|
|
{
|
|
<label class="field-label"> </label>
|
|
<RadzenButton Text="Download Results" Icon="download" ButtonStyle="ButtonStyle.Success" Click="@OnDownloadResults" Style="width: 100%;" />
|
|
}
|
|
</RadzenColumn>
|
|
</RadzenRow>
|
|
</RadzenCard>
|
|
|
|
@code {
|
|
[Parameter]
|
|
public ClientSearchViewModel Search { get; set; } = new();
|
|
|
|
[Parameter]
|
|
public int? SelectedSearchType { get; set; }
|
|
|
|
[Parameter]
|
|
public EventCallback<int?> SelectedSearchTypeChanged { get; set; }
|
|
|
|
[Parameter]
|
|
public IReadOnlyList<ValidCombination> ValidCombinations { get; set; } = ValidCombination.GetAll();
|
|
|
|
[Parameter]
|
|
public EventCallback OnDownloadResults { get; set; }
|
|
|
|
private async Task OnSearchTypeChangedHandler()
|
|
{
|
|
await SelectedSearchTypeChanged.InvokeAsync(SelectedSearchType);
|
|
}
|
|
}
|