Files
2026-03-24 09:57:03 -05:00

107 lines
4.7 KiB
Plaintext

@using LCU.Library.Internal.FileOperationsModels.Models.Requests
<ActionForm Request="Request" WorkItemComponent="WorkItemComponent" Title="@Title">
<DynamicName InputLabel="@("Source Path")"
Name="@Request.FileSourceRequest.SourcePath"
DynamicNameSetting="Request.FileSourceRequest.SourcePathSettings"
NameChanged="UpdateSourcePath"
NameSettingChanged="UpdateSourcePathSettings">
</DynamicName>
<DynamicName InputLabel="@("Source File")"
Name="@Request.FileSourceRequest.SourceFile"
DynamicNameSetting="Request.FileSourceRequest.SourceFileSettings"
NameChanged="UpdateFileName"
NameSettingChanged="UpdateFileNameSettings">
</DynamicName>
<div class="form-group form-row">
<label for="SucceedOnError" class="col-sm-11 col-form-label">Should File Exist?</label>
<div class="col-md-2">
<div class="btn-group" role="group" aria-label="Overwrite">
<button type="button" class="btn @(Request.FileDoesExist ? "btn-secondary" : "btn-dark")" @onclick="(() => ChangeFileValidationToggle())">No</button>
<button type="button" class="btn @(Request.FileDoesExist ? "btn-danger" : "btn-secondary")" @onclick="(() => ChangeFileValidationToggle())">Yes</button>
</div>
</div>
</div>
<CardDisplay CenterCard="true" ShowCardShadow="false">
<div class="form-group form-row">
<label class="col-8 col-form-label">Check File Count?</label>
<LCUToggle Toggle="@Request.CheckFileCount"
OnChange="UseCheckFileCount" />
</div>
<div class="form-group form-row">
@if (Request.CheckFileCount)
{
<div class="col-12">
<label for="FileCount" class="col-form-label">File Count Condition</label>
<InputNumber class="form-control my-2" id="FileCount" placeholder="File Count" @bind-Value="Request.FileCount" />
</div>
<div class="col-12">
<div class="form-group form-row">
<label for="body">Select Operator Type: </label>
<InputSelect class="form-control" @bind-Value="@Request.OperatorType">
@foreach (var operatorTypes in Enum.GetValues(typeof(OperatorTypes)))
{
<option value="@operatorTypes">@operatorTypes</option>
}
</InputSelect>
</div>
</div>
}
</div>
</CardDisplay>
</ActionForm>
@code {
[Parameter]
public WorkItemComponent WorkItemComponent { get; set; }
public ValidateFileRequest Request { get; set; }
private string Title = "Validate File";
protected override void OnParametersSet()
{
Request = (ValidateFileRequest)WorkItemComponent.Item;
Request.FileSourceRequest.SourceFileSettings = Request.FileSourceRequest.SourceFileSettings ?? new DynamicNameSetting();
Request.FileSourceRequest.SourceFileSettings.DateFormatSettings = Request.FileSourceRequest.SourceFileSettings.DateFormatSettings ?? new List<DateFormatSetting>();
Request.FileSourceRequest.SourceFileSettings.RegexSettings = Request.FileSourceRequest.SourceFileSettings.RegexSettings ?? new List<RegexSetting>();
Request.FileSourceRequest.SourcePathSettings = Request.FileSourceRequest.SourcePathSettings ?? new DynamicNameSetting();
Request.FileSourceRequest.SourcePathSettings.DateFormatSettings = Request.FileSourceRequest.SourcePathSettings.DateFormatSettings ?? new List<DateFormatSetting>();
}
private void UpdateFileName(string fileName)
{
Request.FileSourceRequest.SourceFile = fileName;
}
private void UpdateSourcePath(string sourcePath)
{
Request.FileSourceRequest.SourcePath = sourcePath;
}
private void ChangeFileValidationToggle()
{
Request.FileDoesExist = !Request.FileDoesExist;
StateHasChanged();
}
private void UpdateFileNameSettings(DynamicNameSetting fileNameSetting)
{
Request.FileSourceRequest.SourceFileSettings = fileNameSetting;
}
private void UpdateSourcePathSettings(DynamicNameSetting sourcePathSetting)
{
Request.FileSourceRequest.SourcePathSettings = sourcePathSetting;
}
private void UseCheckFileCount(bool value)
{
Request.CheckFileCount = value;
if (Request.CheckFileCount)
{
Request.FileCount = 0;
Request.OperatorType = 0;
}
}
}