Add tabbed DataTables with new Production, Vitality, and Movement tables

This commit is contained in:
Jonathan
2025-04-27 22:07:52 -04:00
parent e28f74b354
commit d320476084
7 changed files with 90 additions and 15 deletions
+16 -1
View File
@@ -7,7 +7,22 @@
<LayoutMediumContentComponent> <LayoutMediumContentComponent>
<WebsiteTitleComponent>Data Tables</WebsiteTitleComponent> <WebsiteTitleComponent>Data Tables</WebsiteTitleComponent>
<WeaponTable/>
<MudTabs Elevation="2" >
<MudTabPanel Text="Attacks">
<WeaponTable/>
</MudTabPanel>
<MudTabPanel Text="Production">
<ProductionTable/>
</MudTabPanel>
<MudTabPanel Text="Health">
<VitalityTable/>
</MudTabPanel>
<MudTabPanel Text="Movement">
<MovementTable/>
</MudTabPanel>
</MudTabs>
<ContentDividerComponent></ContentDividerComponent> <ContentDividerComponent></ContentDividerComponent>
@@ -0,0 +1,19 @@
<MudDataGrid T="EntityMovementModel" Items="@_data"
SortMode="SortMode.Multiple"
Filterable="true"
Hideable="true">
<Columns>
<PropertyColumn Property="x => x.Parent.GetName()" Title="Entity"/>
<PropertyColumn Property="x => x.Movement"/>
<PropertyColumn Property="x => x.Speed" />
<PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/>
<PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/>
</Columns>
</MudDataGrid>
@code {
IEnumerable<EntityMovementModel> _data = DATA.Get()
.SelectMany(e => e.Value.EntityParts)
.OfType<EntityMovementModel>()
.ToList();
}
@@ -0,0 +1,21 @@
<MudDataGrid T="EntityProductionModel" Items="@data"
SortMode="SortMode.Multiple"
Filterable="true"
Hideable="true">
<Columns>
<PropertyColumn Property="x => x.Parent.GetName()" Title="Entity"/>
<PropertyColumn Property="x => x.Alloy"/>
<PropertyColumn Property="x => x.BuildTime"/>
<PropertyColumn Property="x => x.Ether"/>
<PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/>
<PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/>
</Columns>
</MudDataGrid>
@code {
readonly IEnumerable<EntityProductionModel> data = DATA.Get()
.SelectMany(e => e.Value.EntityParts)
.OfType<EntityProductionModel>()
.ToList();
}
@@ -1,5 +0,0 @@
<h3>UnitTable</h3>
@code {
}
@@ -0,0 +1,23 @@
<MudDataGrid T="EntityVitalityModel" Items="@_data"
SortMode="SortMode.Multiple"
Filterable="true"
Hideable="true">
<Columns>
<PropertyColumn Property="x => x.Parent.GetName()" Title="Entity"/>
<PropertyColumn Property="x => x.Health"/>
<PropertyColumn Property="x => x.Armor" />
<PropertyColumn Property="x => x.Defense" />
<PropertyColumn Property="x => x.DefenseLayer" />
<PropertyColumn Property="x => x.IsStructure" />
<PropertyColumn Property="x => x.IsEtheric" />
<PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/>
<PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/>
</Columns>
</MudDataGrid>
@code {
IEnumerable<EntityVitalityModel> _data = DATA.Get()
.SelectMany(e => e.Value.EntityParts)
.OfType<EntityVitalityModel>()
.ToList();
}
+3 -9
View File
@@ -1,11 +1,9 @@
<h3>WeaponTable</h3> <MudDataGrid T="EntityWeaponModel" Items="@_data"
<MudDataGrid T="EntityWeaponModel" Items="@_entityWeapons"
SortMode="SortMode.Multiple" SortMode="SortMode.Multiple"
Filterable="true" Filterable="true"
Hideable="true"> Hideable="true">
<Columns> <Columns>
<PropertyColumn Property="x => x.Parent.GetName()" Title="Entity"/>
<PropertyColumn Property="x => x.Range" Title="Range"/> <PropertyColumn Property="x => x.Range" Title="Range"/>
<PropertyColumn Property="x => x.Damage" Title="Damage"/> <PropertyColumn Property="x => x.Damage" Title="Damage"/>
<PropertyColumn Property="x => x.AttacksPerSecond" Title="Attacks Per Second"/> <PropertyColumn Property="x => x.AttacksPerSecond" Title="Attacks Per Second"/>
@@ -13,17 +11,13 @@
<PropertyColumn Property="x => x.DamagePerSecondLight()" Title="DPS (Light)"/> <PropertyColumn Property="x => x.DamagePerSecondLight()" Title="DPS (Light)"/>
<PropertyColumn Property="x => x.DamagePerSecondMedium()" Title="DPS (Medium)"/> <PropertyColumn Property="x => x.DamagePerSecondMedium()" Title="DPS (Medium)"/>
<PropertyColumn Property="x => x.DamagePerSecondHeavy()" Title="DPS (Heavy)"/> <PropertyColumn Property="x => x.DamagePerSecondHeavy()" Title="DPS (Heavy)"/>
<PropertyColumn Property="x => x.Parent.GetName()" Title="Owner Name"/>
<PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/> <PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/>
<PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/> <PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/>
</Columns> </Columns>
<PagerContent>
<MudDataGridPager T="EntityWeaponModel" />
</PagerContent>
</MudDataGrid> </MudDataGrid>
@code { @code {
IEnumerable<EntityWeaponModel> _entityWeapons = DATA.Get() IEnumerable<EntityWeaponModel> _data = DATA.Get()
.SelectMany(e => e.Value.EntityParts) .SelectMany(e => e.Value.EntityParts)
.OfType<EntityWeaponModel>() .OfType<EntityWeaponModel>()
.ToList(); .ToList();
+8
View File
@@ -1,6 +1,7 @@
using System.Globalization; using System.Globalization;
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using Blazor.Analytics;
using Blazored.LocalStorage; using Blazored.LocalStorage;
using IGP; using IGP;
using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.Web;
@@ -38,6 +39,12 @@ builder.Services.AddBlazoredLocalStorageAsSingleton(config =>
config.JsonSerializerOptions.WriteIndented = false; config.JsonSerializerOptions.WriteIndented = false;
}); });
#if DEBUG
builder.Services.AddGoogleAnalytics("G-S96LW7TVFY");
#else
builder.Services.AddGoogleAnalytics(builder.Configuration["GATag"]);
#endif
builder.Services.AddScoped<INavigationService, NavigationService>(); builder.Services.AddScoped<INavigationService, NavigationService>();
builder.Services.AddScoped<IKeyService, KeyService>(); builder.Services.AddScoped<IKeyService, KeyService>();
builder.Services.AddScoped<IImmortalSelectionService, ImmortalSelectionService>(); builder.Services.AddScoped<IImmortalSelectionService, ImmortalSelectionService>();
@@ -73,6 +80,7 @@ builder.Services.AddScoped(sp => new HttpClient
builder.Services.AddMudServices(); builder.Services.AddMudServices();
await builder.Build().RunAsync(); await builder.Build().RunAsync();