Updated to latest moonlight and mooncore version. Done refactoring to async scheme and other changes. Recreated database migrations and cleaned models
This commit is contained in:
@@ -4,47 +4,57 @@
|
||||
|
||||
@inherits MoonCore.Blazor.FlyonUi.Modals.Components.BaseModal
|
||||
|
||||
<h1 class="mb-5 font-semibold text-xl">Add a new parse configuration</h1>
|
||||
|
||||
<HandleForm @ref="HandleForm" Model="Form" OnValidSubmit="OnValidSubmit">
|
||||
<div class="grid grid-cols-2 gap-x-2 gap-y-4">
|
||||
<div class="col-span-1">
|
||||
<label class="block text-sm font-medium leading-6 text-base-content">File</label>
|
||||
<input @bind="Form.File" type="text" class="input w-full"/>
|
||||
<div class="p-5">
|
||||
<div class="flex items-center gap-4">
|
||||
<div class="avatar avatar-placeholder max-sm:hidden">
|
||||
<div class="border-base-content/20 rounded-box w-13 border-1">
|
||||
<span class="icon-braces text-xl"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-span-1">
|
||||
<label class="block text-sm font-medium leading-6 text-base-content">Type</label>
|
||||
<select @bind="Form.Parser" class="select w-full">
|
||||
@foreach (var val in Enum.GetValues<FileParsers>())
|
||||
{
|
||||
<option value="@val">@val</option>
|
||||
}
|
||||
</select>
|
||||
<div class="space-y-1">
|
||||
<h3 class="text-base-content text-2xl font-semibold">Add a parse configuration</h3>
|
||||
<p class="text-base-content/80">Add a new parse configuration to the star</p>
|
||||
</div>
|
||||
|
||||
<div class="col-span-2">
|
||||
<button type="button" @onclick="AddEntry" class="btn btn-primary w-full">Add entry</button>
|
||||
</div>
|
||||
|
||||
@foreach (var entry in Form.Entries)
|
||||
{
|
||||
<div class="col-span-2">
|
||||
<div class="flex flex-row">
|
||||
</div>
|
||||
<div class="mt-5">
|
||||
<HandleForm @ref="HandleForm" Model="Form" OnValidSubmit="OnValidSubmit">
|
||||
<div class="mt-2">
|
||||
<label class="label-text">File</label>
|
||||
<input class="input" @bind="Form.File" type="text"/>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<label class="label-text">Parser</label>
|
||||
<select @bind="Form.Parser" class="select w-full">
|
||||
@foreach (var val in Enum.GetValues<FileParsers>())
|
||||
{
|
||||
<option value="@val">@val</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<button type="button" @onclick="AddEntryAsync" class="btn btn-primary w-full">Add entry</button>
|
||||
</div>
|
||||
|
||||
@foreach (var entry in Form.Entries)
|
||||
{
|
||||
<div class="flex flex-row mt-2">
|
||||
<input @bind="entry.Key" placeholder="Key" class="input placeholder-base-content/50 grow rounded-r-none"/>
|
||||
<input @bind="entry.Value" placeholder="Value" class="input placeholder-base-content/50 grow rounded-none"/>
|
||||
<button type="button" @onclick="() => RemoveEntry(entry)" class="btn btn-error grow-0 rounded-l-none">
|
||||
<button type="button" @onclick="() => RemoveEntryAsync(entry)" class="btn btn-error grow-0 rounded-l-none">
|
||||
<i class="icon-x"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</HandleForm>
|
||||
</div>
|
||||
<div class="mt-5 flex justify-end">
|
||||
<button @onclick="HideAsync" type="button" class="btn btn-secondary me-2">
|
||||
Cancel
|
||||
</button>
|
||||
<WButton OnClick="SubmitAsync">
|
||||
Create
|
||||
</WButton>
|
||||
</div>
|
||||
</HandleForm>
|
||||
|
||||
<div class="mt-5 flex space-x-2">
|
||||
<WButton OnClick="_ => Hide()" CssClasses="btn btn-secondary grow">Cancel</WButton>
|
||||
<WButton OnClick="_ => Submit()" CssClasses="btn btn-primary grow">Create</WButton>
|
||||
</div>
|
||||
|
||||
@code
|
||||
@@ -57,20 +67,20 @@
|
||||
private async Task OnValidSubmit()
|
||||
{
|
||||
await OnSubmit.Invoke(Form);
|
||||
await Hide();
|
||||
await HideAsync();
|
||||
}
|
||||
|
||||
private Task Submit() => HandleForm.Submit();
|
||||
private Task SubmitAsync() => HandleForm.SubmitAsync();
|
||||
|
||||
private async Task AddEntry()
|
||||
private async Task AddEntryAsync()
|
||||
{
|
||||
Form.Entries.Add(new());
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
private async Task RemoveEntry(ParseConfiguration.ParseConfigurationEntry entry)
|
||||
private async Task RemoveEntryAsync(ParseConfiguration.ParseConfigurationEntry entry)
|
||||
{
|
||||
Form.Entries.Remove(entry);
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user