LayerDetail improvement
All checks were successful
Build Docker Images / test (map[name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m27s
Build Docker Images / test (map[name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m29s
Build Docker Images / build-and-push (map[image_suffix:morska name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m39s
Build Docker Images / build-and-push (map[image_suffix:pedrollopl name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m37s
All checks were successful
Build Docker Images / test (map[name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m27s
Build Docker Images / test (map[name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m29s
Build Docker Images / build-and-push (map[image_suffix:morska name:Morska plugin_project:DiunaBI.Plugins.Morska]) (push) Successful in 1m39s
Build Docker Images / build-and-push (map[image_suffix:pedrollopl name:PedrolloPL plugin_project:DiunaBI.Plugins.PedrolloPL]) (push) Successful in 1m37s
This commit is contained in:
@@ -162,12 +162,14 @@
|
||||
}
|
||||
</RowTemplate>
|
||||
<FooterContent>
|
||||
<MudTd><b>Value1 sum</b></MudTd>
|
||||
@if (showSummary)
|
||||
{
|
||||
<MudTd><b>@totalSum.ToString("N2")</b></MudTd>
|
||||
@foreach (var column in displayedColumns)
|
||||
{
|
||||
@if (column == "Value1")
|
||||
@if (column.StartsWith("Value") && columnSums.ContainsKey(column))
|
||||
{
|
||||
<MudTd><b>@valueSum.ToString("N2")</b></MudTd>
|
||||
<MudTd><b>@columnSums[column].ToString("N2")</b></MudTd>
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -178,6 +180,7 @@
|
||||
{
|
||||
<MudTd></MudTd>
|
||||
}
|
||||
}
|
||||
</FooterContent>
|
||||
</MudTable>
|
||||
|
||||
@@ -230,6 +233,8 @@
|
||||
}
|
||||
</MudTabPanel>
|
||||
|
||||
@if (showHistoryTab)
|
||||
{
|
||||
<MudTabPanel Text="History" Icon="@Icons.Material.Filled.History">
|
||||
@if (isLoadingHistory)
|
||||
{
|
||||
@@ -354,6 +359,7 @@
|
||||
}
|
||||
}
|
||||
</MudTabPanel>
|
||||
}
|
||||
</MudTabs>
|
||||
}
|
||||
</MudCardContent>
|
||||
|
||||
@@ -30,12 +30,16 @@ public partial class Details : ComponentBase
|
||||
private List<RecordDto> records = new();
|
||||
private List<string> displayedColumns = new();
|
||||
private double valueSum = 0;
|
||||
private Dictionary<string, double> columnSums = new();
|
||||
private double totalSum = 0;
|
||||
private bool isLoading = false;
|
||||
private Guid? editingRecordId = null;
|
||||
private RecordDto? editingRecord = null;
|
||||
private bool isAddingNew = false;
|
||||
private RecordDto newRecord = new();
|
||||
private bool isEditable => layer?.Type == LayerType.Dictionary || layer?.Type == LayerType.Administration;
|
||||
private bool showHistoryTab => layer?.Type == LayerType.Administration || layer?.Type == LayerType.Dictionary;
|
||||
private bool showSummary => layer?.Type == LayerType.Import || layer?.Type == LayerType.Processed;
|
||||
|
||||
// History tab state
|
||||
private bool isLoadingHistory = false;
|
||||
@@ -79,7 +83,7 @@ public partial class Details : ComponentBase
|
||||
{
|
||||
records = layer.Records.OrderBy(r => r.Code).ToList();
|
||||
CalculateDisplayedColumns();
|
||||
CalculateValueSum();
|
||||
CalculateColumnSums();
|
||||
BuildUserCache();
|
||||
}
|
||||
}
|
||||
@@ -118,11 +122,25 @@ public partial class Details : ComponentBase
|
||||
}
|
||||
}
|
||||
|
||||
private void CalculateValueSum()
|
||||
private void CalculateColumnSums()
|
||||
{
|
||||
valueSum = records
|
||||
.Where(r => r.Value1.HasValue)
|
||||
.Sum(r => r.Value1!.Value);
|
||||
columnSums.Clear();
|
||||
totalSum = 0;
|
||||
|
||||
// Calculate sum for each displayed value column
|
||||
foreach (var columnName in displayedColumns.Where(c => c.StartsWith("Value")))
|
||||
{
|
||||
var sum = records
|
||||
.Select(r => GetRecordValueByName(r, columnName))
|
||||
.Where(v => v.HasValue)
|
||||
.Sum(v => v!.Value);
|
||||
|
||||
columnSums[columnName] = sum;
|
||||
totalSum += sum;
|
||||
}
|
||||
|
||||
// Keep valueSum for backward compatibility (Value1 sum)
|
||||
valueSum = columnSums.ContainsKey("Value1") ? columnSums["Value1"] : 0;
|
||||
}
|
||||
|
||||
private string GetRecordValue(RecordDto record, string columnName)
|
||||
@@ -246,7 +264,7 @@ public partial class Details : ComponentBase
|
||||
{
|
||||
records.Remove(record);
|
||||
CalculateDisplayedColumns();
|
||||
CalculateValueSum();
|
||||
CalculateColumnSums();
|
||||
Snackbar.Add("Record deleted successfully", Severity.Success);
|
||||
}
|
||||
else
|
||||
@@ -297,7 +315,7 @@ public partial class Details : ComponentBase
|
||||
{
|
||||
records.Add(created);
|
||||
CalculateDisplayedColumns();
|
||||
CalculateValueSum();
|
||||
CalculateColumnSums();
|
||||
isAddingNew = false;
|
||||
newRecord = new();
|
||||
Snackbar.Add("Record added successfully", Severity.Success);
|
||||
|
||||
Reference in New Issue
Block a user