Files
FoodsharingOnboarding/FoodsharingSiegen.Server/Dialogs/AddProspectModal.razor
Andre Beging dfb8040866 Edit prospect
2022-04-11 17:21:55 +02:00

67 lines
1.9 KiB
Plaintext

@using FoodsharingSiegen.Contracts.Entity
@code {
private Modal ModalReference { get; set; } = null!;
private Prospect Prospect { get; set; } = new();
private string Header { get; set; }
private string SaveButtonText { get; set; }
private bool IsUpdateMode { get; set; }
[Parameter] public EventCallback<Prospect> OnAdd { get; set; }
[Parameter] public EventCallback<Prospect> OnUpdate { get; set; }
public async Task Show()
{
Prospect = new();
Header = "Neuling hinzufügen";
SaveButtonText = "Hinzufügen";
await ModalReference.Show();
}
public async Task Show(Prospect prospect)
{
Prospect = prospect;
IsUpdateMode = true;
Header = $"{Prospect.Name} bearbeiten";
SaveButtonText = "Speichern";
await ModalReference.Show();
}
private async Task SaveClick()
{
if (IsUpdateMode)
await OnUpdate.InvokeAsync(Prospect);
else
await OnAdd.InvokeAsync(Prospect);
await ModalReference.Hide();
}
}
<Modal @ref="@ModalReference">
<ModalContent Centered Size="ModalSize.Small">
<ModalHeader>
<ModalTitle>@Header</ModalTitle>
<CloseButton />
</ModalHeader>
<ModalBody>
<Field>
<FieldLabel>Name</FieldLabel>
<TextEdit @bind-Text="Prospect.Name" />
</Field>
<Field>
<FieldLabel>Foodsharing-ID</FieldLabel>
<NumericEdit TValue="int" @bind-Value="Prospect.FsId"></NumericEdit>
</Field>
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="ModalReference.Hide">Abbrechen</Button>
<Button Color="Color.Primary" Clicked="@SaveClick">@SaveButtonText</Button>
</ModalFooter>
</ModalContent>
</Modal>