- @if (showStockForm)
- {
- @RenderStockFromInventoryForm()
- }
- else if (showCustomStockForm)
- {
- @RenderCustomStockForm()
- }
-
@if (job.Stock.Count == 0)
{
@@ -776,122 +893,6 @@ else
};
- private RenderFragment RenderStockFromInventoryForm() => __builder =>
- {
-
-
@(editingStock == null ? "Add Stock from Inventory" : "Edit Stock Selection")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -1 = unlimited
-
-
-
-
-
-
- Lower = used first
-
-
- @if (!string.IsNullOrEmpty(stockErrorMessage))
- {
-
@stockErrorMessage
- }
-
-
-
-
-
- };
-
- private RenderFragment RenderCustomStockForm() => __builder =>
- {
-
-
@(editingStock == null ? "Add Custom Stock Length" : "Edit Custom Stock")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Use -1 for unlimited
-
-
-
-
-
-
- Lower = used first
-
-
- @if (!string.IsNullOrEmpty(stockErrorMessage))
- {
-
@stockErrorMessage
- }
-
-
-
-
-
- };
private RenderFragment RenderStockTable() => __builder =>
{
@@ -1227,21 +1228,32 @@ else
await JS.InvokeVoidAsync("printWithTitle", filename);
}
- private void ShowAddCustomStock()
+ private async Task ShowAddStockModal()
{
editingStock = null;
- newStock = new JobStock { JobId = Id!.Value, Quantity = -1, Priority = 10, IsCustomLength = true };
+ newStock = new JobStock { JobId = Id!.Value, Quantity = -1, Priority = 10 };
stockSelectedShape = null;
- showStockForm = false;
- showCustomStockForm = true;
+ stockSelectedMaterialId = 0;
+ availableStockItems.Clear();
stockErrorMessage = null;
+ importErrorMessage = null;
+ importCandidates.Clear();
+ stockModalTab = job.Parts.Count > 0 ? StockModalTab.Inventory : StockModalTab.Custom;
+ showStockModal = true;
+
+ if (job.Parts.Count > 0)
+ {
+ await LoadImportCandidatesAsync();
+ }
}
- private void CancelStockForm()
+ private void CloseStockModal()
{
- showStockForm = false;
- showCustomStockForm = false;
+ showStockModal = false;
editingStock = null;
+ importCandidates.Clear();
+ stockErrorMessage = null;
+ importErrorMessage = null;
}
private async Task OnStockShapeChanged()
@@ -1284,16 +1296,11 @@ else
stockSelectedShape = stock.Material?.Shape;
stockSelectedMaterialId = stock.MaterialId;
stockErrorMessage = null;
+ stockModalTab = stock.IsCustomLength ? StockModalTab.Custom : StockModalTab.Inventory;
+ showStockModal = true;
- if (stock.IsCustomLength)
+ if (!stock.IsCustomLength)
{
- showStockForm = false;
- showCustomStockForm = true;
- }
- else
- {
- showStockForm = true;
- showCustomStockForm = false;
_ = OnStockMaterialChanged();
}
}
@@ -1347,7 +1354,7 @@ else
}
job = (await JobService.GetByIdAsync(Id!.Value))!;
- showStockForm = false;
+ showStockModal = false;
editingStock = null;
packResult = null;
summary = null;
@@ -1394,7 +1401,7 @@ else
}
job = (await JobService.GetByIdAsync(Id!.Value))!;
- showCustomStockForm = false;
+ showStockModal = false;
editingStock = null;
packResult = null;
summary = null;
@@ -1408,13 +1415,12 @@ else
summary = null;
}
- // Import modal methods
- private async Task ShowImportModal()
+ // Loads inventory stock candidates for the modal's "From Inventory" tab
+ private async Task LoadImportCandidatesAsync()
{
importErrorMessage = null;
importCandidates.Clear();
loadingImport = true;
- showImportModal = true;
try
{
@@ -1449,13 +1455,6 @@ else
}
}
- private void CloseImportModal()
- {
- showImportModal = false;
- importCandidates.Clear();
- importErrorMessage = null;
- }
-
private void ToggleAllImportCandidates(bool selected)
{
foreach (var c in importCandidates)
@@ -1490,7 +1489,7 @@ else
}
job = (await JobService.GetByIdAsync(Id!.Value))!;
- showImportModal = false;
+ showStockModal = false;
importCandidates.Clear();
packResult = null;
summary = null;