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,22 +162,25 @@
|
|||||||
}
|
}
|
||||||
</RowTemplate>
|
</RowTemplate>
|
||||||
<FooterContent>
|
<FooterContent>
|
||||||
<MudTd><b>Value1 sum</b></MudTd>
|
@if (showSummary)
|
||||||
@foreach (var column in displayedColumns)
|
|
||||||
{
|
{
|
||||||
@if (column == "Value1")
|
<MudTd><b>@totalSum.ToString("N2")</b></MudTd>
|
||||||
|
@foreach (var column in displayedColumns)
|
||||||
{
|
{
|
||||||
<MudTd><b>@valueSum.ToString("N2")</b></MudTd>
|
@if (column.StartsWith("Value") && columnSums.ContainsKey(column))
|
||||||
|
{
|
||||||
|
<MudTd><b>@columnSums[column].ToString("N2")</b></MudTd>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<MudTd></MudTd>
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
@if (isEditable)
|
||||||
{
|
{
|
||||||
<MudTd></MudTd>
|
<MudTd></MudTd>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@if (isEditable)
|
|
||||||
{
|
|
||||||
<MudTd></MudTd>
|
|
||||||
}
|
|
||||||
</FooterContent>
|
</FooterContent>
|
||||||
</MudTable>
|
</MudTable>
|
||||||
|
|
||||||
@@ -230,7 +233,9 @@
|
|||||||
}
|
}
|
||||||
</MudTabPanel>
|
</MudTabPanel>
|
||||||
|
|
||||||
<MudTabPanel Text="History" Icon="@Icons.Material.Filled.History">
|
@if (showHistoryTab)
|
||||||
|
{
|
||||||
|
<MudTabPanel Text="History" Icon="@Icons.Material.Filled.History">
|
||||||
@if (isLoadingHistory)
|
@if (isLoadingHistory)
|
||||||
{
|
{
|
||||||
<MudProgressLinear Color="Color.Primary" Indeterminate="true" />
|
<MudProgressLinear Color="Color.Primary" Indeterminate="true" />
|
||||||
@@ -354,6 +359,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</MudTabPanel>
|
</MudTabPanel>
|
||||||
|
}
|
||||||
</MudTabs>
|
</MudTabs>
|
||||||
}
|
}
|
||||||
</MudCardContent>
|
</MudCardContent>
|
||||||
|
|||||||
@@ -30,12 +30,16 @@ public partial class Details : ComponentBase
|
|||||||
private List<RecordDto> records = new();
|
private List<RecordDto> records = new();
|
||||||
private List<string> displayedColumns = new();
|
private List<string> displayedColumns = new();
|
||||||
private double valueSum = 0;
|
private double valueSum = 0;
|
||||||
|
private Dictionary<string, double> columnSums = new();
|
||||||
|
private double totalSum = 0;
|
||||||
private bool isLoading = false;
|
private bool isLoading = false;
|
||||||
private Guid? editingRecordId = null;
|
private Guid? editingRecordId = null;
|
||||||
private RecordDto? editingRecord = null;
|
private RecordDto? editingRecord = null;
|
||||||
private bool isAddingNew = false;
|
private bool isAddingNew = false;
|
||||||
private RecordDto newRecord = new();
|
private RecordDto newRecord = new();
|
||||||
private bool isEditable => layer?.Type == LayerType.Dictionary || layer?.Type == LayerType.Administration;
|
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
|
// History tab state
|
||||||
private bool isLoadingHistory = false;
|
private bool isLoadingHistory = false;
|
||||||
@@ -79,7 +83,7 @@ public partial class Details : ComponentBase
|
|||||||
{
|
{
|
||||||
records = layer.Records.OrderBy(r => r.Code).ToList();
|
records = layer.Records.OrderBy(r => r.Code).ToList();
|
||||||
CalculateDisplayedColumns();
|
CalculateDisplayedColumns();
|
||||||
CalculateValueSum();
|
CalculateColumnSums();
|
||||||
BuildUserCache();
|
BuildUserCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,11 +122,25 @@ public partial class Details : ComponentBase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CalculateValueSum()
|
private void CalculateColumnSums()
|
||||||
{
|
{
|
||||||
valueSum = records
|
columnSums.Clear();
|
||||||
.Where(r => r.Value1.HasValue)
|
totalSum = 0;
|
||||||
.Sum(r => r.Value1!.Value);
|
|
||||||
|
// 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)
|
private string GetRecordValue(RecordDto record, string columnName)
|
||||||
@@ -246,7 +264,7 @@ public partial class Details : ComponentBase
|
|||||||
{
|
{
|
||||||
records.Remove(record);
|
records.Remove(record);
|
||||||
CalculateDisplayedColumns();
|
CalculateDisplayedColumns();
|
||||||
CalculateValueSum();
|
CalculateColumnSums();
|
||||||
Snackbar.Add("Record deleted successfully", Severity.Success);
|
Snackbar.Add("Record deleted successfully", Severity.Success);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -297,7 +315,7 @@ public partial class Details : ComponentBase
|
|||||||
{
|
{
|
||||||
records.Add(created);
|
records.Add(created);
|
||||||
CalculateDisplayedColumns();
|
CalculateDisplayedColumns();
|
||||||
CalculateValueSum();
|
CalculateColumnSums();
|
||||||
isAddingNew = false;
|
isAddingNew = false;
|
||||||
newRecord = new();
|
newRecord = new();
|
||||||
Snackbar.Add("Record added successfully", Severity.Success);
|
Snackbar.Add("Record added successfully", Severity.Success);
|
||||||
|
|||||||
Reference in New Issue
Block a user