51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
@page "/inventory/negative-adjustment"
|
|
@using Indotalent.Features.Inventory.NegativeAdjustment.Cqrs
|
|
@using Indotalent.Features.Inventory.NegativeAdjustment.Components
|
|
@using MudBlazor
|
|
|
|
@if (_currentView == ViewMode.Create)
|
|
{
|
|
<_NegativeAdjustmentCreateForm OnCancel="BackToTable" OnSuccess="HandleSuccess" />
|
|
}
|
|
else if (_currentView == ViewMode.Update || _currentView == ViewMode.View)
|
|
{
|
|
<_NegativeAdjustmentUpdateForm Data="_selectedData!"
|
|
ReadOnly="@(_currentView == ViewMode.View)"
|
|
OnCancel="BackToTable"
|
|
OnSuccess="HandleSuccess" />
|
|
}
|
|
else
|
|
{
|
|
<_NegativeAdjustmentDataTable 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 UpdateNegativeAdjustmentRequest? _selectedData;
|
|
|
|
private void ShowCreate()
|
|
{
|
|
_currentView = ViewMode.Create;
|
|
}
|
|
|
|
private void ShowUpdate(UpdateNegativeAdjustmentRequest 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;
|
|
}
|
|
} |