Files
blazor-cms/Features/Purchase/PaymentDisburse/Components/PaymentDisbursePage.razor
T
2026-07-21 13:52:43 +07:00

51 lines
1.5 KiB
Plaintext

@page "/purchase/payment-disburse"
@using Indotalent.Features.Purchase.PaymentDisburse.Cqrs
@using Indotalent.Features.Purchase.PaymentDisburse.Components
@using MudBlazor
@if (_currentView == ViewMode.Create)
{
<_PaymentDisburseCreateForm OnCancel="BackToTable" OnSuccess="HandleSuccess" />
}
else if (_currentView == ViewMode.Update || _currentView == ViewMode.View)
{
<_PaymentDisburseUpdateForm Data="_selectedData!"
ReadOnly="@(_currentView == ViewMode.View)"
OnCancel="BackToTable"
OnSuccess="HandleSuccess" />
}
else
{
<_PaymentDisburseDataTable OnAdd="() => ShowCreate()"
OnEdit="(item) => ShowUpdate(item, false)"
OnView="(item) => ShowUpdate(item, true)" />
}
@code {
private enum ViewMode { Table, Create, Update, View }
private ViewMode _currentView = ViewMode.Table;
private UpdatePaymentDisburseRequest? _selectedData;
private void ShowCreate()
{
_currentView = ViewMode.Create;
}
private void ShowUpdate(UpdatePaymentDisburseRequest data, bool isReadOnly)
{
_selectedData = data;
_currentView = isReadOnly ? ViewMode.View : ViewMode.Update;
}
private void BackToTable()
{
_currentView = ViewMode.Table;
_selectedData = null;
}
private void HandleSuccess()
{
_currentView = ViewMode.Table;
_selectedData = null;
}
}