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

121 lines
5.4 KiB
Plaintext

<ActionForm Request="Request" WorkItemComponent="WorkItemComponent" Title="@Title">
<div class="form-group form-row">
<label for="SourcePath" class="col-sm-6 col-form-label">Source Path</label>
<InputText class="form-control" id="SourcePath" placeholder="Enter Source Path" @bind-Value="Request.SourcePath" />
</div>
<DynamicName InputLabel="@("Source File")"
Name="@Request.SourceFile"
HintLabel=" (To include a file extension enter in Source Extension field)"
DynamicNameSetting="Request.FileNameSetting"
NameChanged="UpdateFileName"
NameSettingChanged="UpdateFileNameSettings">
</DynamicName>
<div class="form-group form-row">
<label for="SourceExtension" class="col-sm-6 col-form-label">Source Extension</label>
<InputText class="form-control" id="SourceExtension" placeholder="Enter Source Extension" Value="@Request.SourceExtension" ValueExpression="() => Request.SourceExtension" ValueChanged="UpdateExtension" />
</div>
<div class="form-group form-row">
<label for="PrependText" class="col-sm-6 col-form-label">Prepend Text</label>
<InputText class="form-control" id="PrependText" placeholder="Enter Prepend Text" Value="@Request.PrependText" ValueExpression="() => Request.PrependText" ValueChanged="UpdatePrependText" />
</div>
<div class="form-group form-row">
<label for="AppendText" class="col-sm-6 col-form-label">Append Text</label>
<InputText class="form-control" id="AppendText" placeholder="Enter Append Text" Value="@Request.AppendText" ValueExpression="() => Request.AppendText" ValueChanged="UpdateAppendText" />
</div>
<div class="form-group form-row">
<label for="NewExtension" class="col-sm-6 col-form-label">New Extension</label>
<InputText class="form-control" id="New Extension" placeholder="Enter New Extension" Value="@Request.NewExtension" ValueExpression="() => Request.NewExtension" ValueChanged="UpdateNewExtension" />
</div>
<div class="form-group form-row">
<label for="MaxAmountOfFiles" class="col-sm-6 col-form-label">Max Amount of Files</label>
<InputNumber class="form-control" id="MaxAmountOfFiles" placeholder="Enter Max Amount of Files" @bind-Value="@Request.MaxAmountOfFiles" />
</div>
<div class="form-group form-row">
<label for="SourcePreview" class="col-sm-6 col-form-label">Source File Preview</label>
<input type="text" disabled="disabled" class="form-control" id="SourcePreview" Value="@SourceFilePreview" />
</div>
<div class="form-group form-row">
<label for="SucceedOnError" class="col-sm-11 col-form-label">Succeed On Error</label>
<div class="col-md-2">
<div class="btn-group" role="group" aria-label="Overwrite">
<button type="button" class="btn @(Request.SucceedOnError ? "btn-secondary" : "btn-dark")" @onclick="(() => ChangeSucceedOnError())">No</button>
<button type="button" class="btn @(Request.SucceedOnError ? "btn-danger" : "btn-secondary")" @onclick="(() => ChangeSucceedOnError())">Yes</button>
</div>
</div>
</div>
</ActionForm>
@code {
[Parameter]
public WorkItemComponent WorkItemComponent { get; set; }
public ModifyFileRequest Request { get; set; }
private string Title = "Modify File";
public string SourceFilePreview { get; set; }
protected override void OnParametersSet()
{
Request = (ModifyFileRequest)WorkItemComponent.Item;
Request.FileNameSetting = Request.FileNameSetting ?? new DynamicNameSetting();
Request.FileNameSetting.DateFormatSettings = Request.FileNameSetting.DateFormatSettings ?? new List<DateFormatSetting>();
Request.FileNameSetting.RegexSettings = Request.FileNameSetting.RegexSettings ?? new List<RegexSetting>();
BuildSourcePreview();
}
private void UpdateSourceFile(string fileName)
{
Request.SourceFile = fileName;
}
private void ChangeSucceedOnError()
{
Request.SucceedOnError = !Request.SucceedOnError;
StateHasChanged();
}
private void UpdateFileName(string fileName)
{
Request.SourceFile = fileName;
BuildSourcePreview();
}
private void UpdateExtension(string extension)
{
Request.SourceExtension = extension;
BuildSourcePreview();
}
private void UpdateNewExtension(string extension)
{
Request.NewExtension = extension;
BuildSourcePreview();
}
private void UpdatePrependText(string prependText)
{
Request.PrependText = prependText;
BuildSourcePreview();
}
private void UpdateAppendText(string appendText)
{
Request.AppendText = appendText;
BuildSourcePreview();
}
private void UpdateFileNameSettings(DynamicNameSetting fileNameSetting)
{
Request.FileNameSetting = fileNameSetting;
}
public void BuildSourcePreview()
{
string stringPreview = string.Empty;
var extensionIndicator = !string.IsNullOrEmpty(Request.SourceExtension) ? "." : null;
var extension = string.IsNullOrWhiteSpace(Request.NewExtension) ? Request.SourceExtension : Request.NewExtension;
SourceFilePreview = $"{Request.PrependText}{Request.SourceFile}{Request.AppendText}{extensionIndicator}{extension}";
}
}