mirror of
https://github.com/chylex/Minecraft-Phantom-Panel.git
synced 2025-05-05 03:34:05 +02:00
Refactor web form validation and yielding after submitting
This commit is contained in:
parent
1c5940dd23
commit
fd0097214b
Server
Phantom.Server.Web.Components/Forms
Phantom.Server.Web
@ -22,7 +22,9 @@
|
||||
|
||||
private async Task Submit(EditContext obj) {
|
||||
BeforeSubmit?.Invoke(this, EventArgs.Empty);
|
||||
await OnSubmit.InvokeAsync(obj);
|
||||
if (obj.Validate()) {
|
||||
await OnSubmit.InvokeAsync(obj);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
|
@ -44,9 +44,10 @@ public sealed class FormButtonSubmit : ComponentBase {
|
||||
public bool IsSubmitting { get; private set; }
|
||||
public string? SubmitError { get; private set; }
|
||||
|
||||
public void StartSubmitting() {
|
||||
public async Task StartSubmitting() {
|
||||
IsSubmitting = true;
|
||||
SubmitError = null;
|
||||
await Task.Yield();
|
||||
}
|
||||
|
||||
public void StopSubmitting(string? error = null) {
|
||||
|
@ -279,17 +279,12 @@
|
||||
}
|
||||
|
||||
private async Task Submit(EditContext context) {
|
||||
if (!context.Validate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
var selectedAgent = form.SelectedAgent;
|
||||
if (selectedAgent == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.SubmitModel.StartSubmitting();
|
||||
await Task.Yield();
|
||||
await form.SubmitModel.StartSubmitting();
|
||||
|
||||
var serverPort = (ushort) form.ServerPort;
|
||||
var rconPort = (ushort) form.RconPort;
|
||||
|
@ -47,11 +47,7 @@
|
||||
}
|
||||
|
||||
private async Task DoLogin(EditContext context) {
|
||||
if (!context.Validate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.SubmitModel.StartSubmitting();
|
||||
await form.SubmitModel.StartSubmitting();
|
||||
|
||||
string? returnUrl = Navigation.GetQueryParameter("return", out var url) ? url : null;
|
||||
var result = await LoginManager.SignIn(form.Username, form.Password, returnUrl);
|
||||
|
@ -56,11 +56,7 @@
|
||||
}
|
||||
|
||||
private async Task DoLogin(EditContext context) {
|
||||
if (!context.Validate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.SubmitModel.StartSubmitting();
|
||||
await form.SubmitModel.StartSubmitting();
|
||||
|
||||
if (!IsAdministratorTokenValid()) {
|
||||
form.SubmitModel.StopSubmitting("Invalid administrator token.");
|
||||
|
@ -55,13 +55,8 @@
|
||||
}
|
||||
|
||||
private async Task StopInstance(EditContext context) {
|
||||
if (!context.Validate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.SubmitModel.StartSubmitting();
|
||||
await Task.Yield();
|
||||
|
||||
await form.SubmitModel.StartSubmitting();
|
||||
|
||||
var result = await InstanceManager.StopInstance(InstanceGuid, new MinecraftStopStrategy(form.StopInSeconds));
|
||||
if (result == StopInstanceResult.StopInitiated) {
|
||||
await AuditLog.AddInstanceStoppedEvent(InstanceGuid, form.StopInSeconds);
|
||||
@ -72,4 +67,5 @@
|
||||
form.SubmitModel.StopSubmitting(result.ToSentence());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -49,11 +49,7 @@
|
||||
}
|
||||
|
||||
private async Task AddUser(EditContext context) {
|
||||
if (!context.Validate()) {
|
||||
return;
|
||||
}
|
||||
|
||||
form.SubmitModel.StartSubmitting();
|
||||
await form.SubmitModel.StartSubmitting();
|
||||
|
||||
var user = new IdentityUser(form.Username);
|
||||
var result = await UserManager.CreateAsync(user, form.Password);
|
||||
|
@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
private async Task DeleteUser() {
|
||||
submitModel.StartSubmitting();
|
||||
await submitModel.StartSubmitting();
|
||||
|
||||
if (userToDelete == null) {
|
||||
submitModel.StopSubmitting("Invalid user.");
|
||||
|
Loading…
Reference in New Issue
Block a user