70 lines
2.0 KiB
Plaintext
70 lines
2.0 KiB
Plaintext
@inject ISnackbar snackbar
|
|
|
|
<MudDialog>
|
|
<DialogContent>
|
|
<MudPaper Class="m-2 p-2">
|
|
<MudForm @bind-Errors="@errors">
|
|
<MudTextField T="string"
|
|
Label="Comments"
|
|
Required="true"
|
|
RequiredError="You must provide a comment"
|
|
@bind-Value="@comments"
|
|
@bind-Text="@comments"
|
|
Immediate="true"
|
|
AutoGrow
|
|
AutoFocus/>
|
|
</MudForm>
|
|
</MudPaper>
|
|
</DialogContent>
|
|
<DialogActions>
|
|
<MudButton Variant="Variant.Filled"
|
|
Color="Color.Tertiary"
|
|
Class="m1-auto"
|
|
OnClick=SubmitComments>
|
|
@if (processing) {
|
|
<MudProgressCircular Class="m-1" Size="Size.Small" Indeterminate="true" />
|
|
<MudText>Processing</MudText>
|
|
} else {
|
|
<MudText>Ok</MudText>
|
|
}
|
|
</MudButton>
|
|
<MudButton Variant="Variant.Filled"
|
|
Class="grey text-black m1-auto"
|
|
OnClick=Cancel>
|
|
Cancel
|
|
</MudButton>
|
|
</DialogActions>
|
|
</MudDialog>
|
|
|
|
@code {
|
|
[CascadingParameter] MudDialogInstance MudDialog { get; set; }
|
|
|
|
[Parameter]
|
|
public string comments { get; set; } = "";
|
|
|
|
private string[] errors = { };
|
|
|
|
private bool processing = false;
|
|
|
|
protected override void OnParametersSet() {
|
|
comments = string.Empty;
|
|
}
|
|
|
|
private void SubmitComments() {
|
|
processing = true;
|
|
try {
|
|
if (string.IsNullOrWhiteSpace(comments) || comments.Length < 5)
|
|
throw new Exception("Comments must be at least five characters long");
|
|
|
|
MudDialog.Close(DialogResult.Ok(comments));
|
|
} catch (Exception ex) {
|
|
snackbar.Add(ex.Message, Severity.Error);
|
|
}
|
|
processing = false;
|
|
}
|
|
|
|
private void Cancel() {
|
|
MudDialog.Close(DialogResult.Cancel());
|
|
}
|
|
}
|