mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 02:17:20 +02:00
feat: tanks data grid scale added
This commit is contained in:
1 parent
8b2c0daa27
commit
3093b5ce38
3 files changed
+53
-10
No files matched your search
@@ -1,7 +1,14 @@
|
||||
namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
using System;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
{
|
||||
public static class ScaleHelper
|
||||
{
|
||||
public static string ScaleColor(this decimal winRate)
|
||||
{
|
||||
var intWinRate = Convert.ToInt32(winRate);
|
||||
return intWinRate.ScaleColor();
|
||||
}
|
||||
public static string ScaleColor(this int winRate)
|
||||
{
|
||||
return winRate switch
|
||||
@@ -17,5 +24,23 @@
|
||||
_ => Constants.ScaleSuperUnicumColor
|
||||
};
|
||||
}
|
||||
|
||||
public static string Wn7ScaleColor(this double wn7)
|
||||
{
|
||||
return wn7 switch
|
||||
{
|
||||
( > 0 ) and ( < 500) => Constants.ScaleVeryBadColor,
|
||||
( >= 500) and ( < 700) => Constants.ScaleBadColor,
|
||||
( >= 700) and ( < 900) => Constants.ScaleBelowAverageColor,
|
||||
( >= 900) and ( < 1100) => Constants.ScaleAverageColor,
|
||||
( >= 1100) and ( < 1350) => Constants.ScaleGoodColor,
|
||||
( >= 1350) and ( < 1550) => Constants.ScaleVeryGoodColor,
|
||||
( >= 1550) and ( < 1850) => Constants.ScaleGreatColor,
|
||||
( >= 1850) and ( < 2050) => Constants.ScaleUnicumColor,
|
||||
_ => Constants.ScaleSuperUnicumColor
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -13,22 +13,22 @@
|
||||
ColumnWidth="300px"
|
||||
LogicalFilterOperator="LogicalFilterOperator.Or">
|
||||
<Columns>
|
||||
<RadzenDataGridColumn TItem="ITank" Filterable="false" Sortable="false" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<RadzenDataGridColumn TItem="ITank" Property="Tier" Filterable="false" Sortable="true" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<Template Context="data">
|
||||
<b>@data.Tier.RomanNumber()</b>
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="ITank" Filterable="false" Sortable="false" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<RadzenDataGridColumn TItem="ITank" Property="TankTypeId" Filterable="false" Sortable="true" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<Template Context="data">
|
||||
<RadzenImage Path="@data.TankTypeId.TankTypeAsset(data.IsPremium)" MouseEnter="@(args => ShowTooltip(args, data.TankType) )" style="width: 24px; height: 24px;" />
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="ITank" Filterable="false" Sortable="false" Title="" Frozen="true" Width="50px" TextAlign="TextAlign.Center">
|
||||
<RadzenDataGridColumn TItem="ITank" Property="TankNationId" Filterable="false" Sortable="true" Title="" Frozen="true" Width="50px" TextAlign="TextAlign.Center">
|
||||
<Template Context="data">
|
||||
<RadzenImage Path="@data.TankNationId.NationAsset()" MouseEnter="@(args => ShowTooltip(args, data.TankNation) )" style="width: 35px; height: 23px; border-radius: 4px;" />
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="ITank" Filterable="false" Sortable="false" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<RadzenDataGridColumn TItem="ITank" Property="MarkOfMastery" Filterable="false" Sortable="true" Title="" Frozen="true" Width="34px" TextAlign="TextAlign.Center">
|
||||
<Template Context="data">
|
||||
<RadzenImage Path="@data.MarkOfMastery.IconAsset()" style="width: 24px; height: 24px;" />
|
||||
</Template>
|
||||
@@ -46,8 +46,12 @@
|
||||
Title="🏳"
|
||||
Frozen="false"
|
||||
Width="50px"
|
||||
TextAlign="TextAlign.Center"
|
||||
FormatString="{0:N0}%"/>
|
||||
TextAlign="TextAlign.Center">
|
||||
<Template Context="data">
|
||||
@data.WinRate.ToString("N0")%
|
||||
<div style="background-color: @data.WinRate.ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="ITank" Property="Wn7"
|
||||
Filterable="false"
|
||||
Sortable="true"
|
||||
@@ -55,7 +59,12 @@
|
||||
Frozen="false"
|
||||
Width="80px"
|
||||
TextAlign="TextAlign.Center"
|
||||
FormatString="{0:N0}"/>
|
||||
>
|
||||
<Template Context="data">
|
||||
@data.Wn7.ToString("N0")
|
||||
<div style="background-color: @data.Wn7.Wn7ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="ITank" Property="AvgDamage"
|
||||
Filterable="false"
|
||||
Sortable="true"
|
||||
@@ -95,7 +104,8 @@
|
||||
Frozen="false"
|
||||
Width="100px"
|
||||
TextAlign="TextAlign.Center"
|
||||
FormatString="{0:d}"/>
|
||||
FormatString="{0:d}"
|
||||
SortOrder="SortOrder.Descending"/>
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
|
||||
@@ -104,4 +114,12 @@
|
||||
public IEnumerable<ITank> TanksList { get; set; }
|
||||
|
||||
void ShowTooltip(ElementReference elementReference, string message, TooltipOptions options = null) => TooltipService.Open(elementReference, message, options);
|
||||
|
||||
void OnChange()
|
||||
{
|
||||
// Filter - dropdown with multiselect
|
||||
// https://blazor.radzen.com/datagrid-filter-template
|
||||
// TanksList = TanksList.Where(e => currentTOC >= 0 ? e.TitleOfCourtesy == currentTOC : true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -118,7 +118,7 @@ namespace WotBlitzStatisticsPro.Blazor.Services.Mock
|
||||
faker.Name.LastName(),
|
||||
nation.nation,
|
||||
nation.nationName,
|
||||
faker.Random.Number(10),
|
||||
faker.Random.Number(1, 10),
|
||||
vehicleType.vehicleType,
|
||||
vehicleType.vehicleTypeName,
|
||||
faker.Random.Bool(),
|
||||
|
||||
Reference in new issue
Block a user