Browse Source

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

main
Jonathan 1 year ago
parent
commit
d320476084
  1. 15
      IGP/Pages/DataTables/DataTablesPage.razor
  2. 19
      IGP/Pages/DataTables/Parts/MovementTable.razor
  3. 21
      IGP/Pages/DataTables/Parts/ProductionTable.razor
  4. 5
      IGP/Pages/DataTables/Parts/UnitTable.razor
  5. 23
      IGP/Pages/DataTables/Parts/VitalityTable.razor
  6. 12
      IGP/Pages/DataTables/Parts/WeaponTable.razor
  7. 8
      IGP/Program.cs

15
IGP/Pages/DataTables/DataTablesPage.razor

@ -7,7 +7,22 @@
<LayoutMediumContentComponent> <LayoutMediumContentComponent>
<WebsiteTitleComponent>Data Tables</WebsiteTitleComponent> <WebsiteTitleComponent>Data Tables</WebsiteTitleComponent>
<MudTabs Elevation="2" >
<MudTabPanel Text="Attacks">
<WeaponTable/> <WeaponTable/>
</MudTabPanel>
<MudTabPanel Text="Production">
<ProductionTable/>
</MudTabPanel>
<MudTabPanel Text="Health">
<VitalityTable/>
</MudTabPanel>
<MudTabPanel Text="Movement">
<MovementTable/>
</MudTabPanel>
</MudTabs>
<ContentDividerComponent></ContentDividerComponent> <ContentDividerComponent></ContentDividerComponent>

19
IGP/Pages/DataTables/Parts/MovementTable.razor

@ -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();
}

21
IGP/Pages/DataTables/Parts/ProductionTable.razor

@ -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();
}

5
IGP/Pages/DataTables/Parts/UnitTable.razor

@ -1,5 +0,0 @@
<h3>UnitTable</h3>
@code {
}

23
IGP/Pages/DataTables/Parts/VitalityTable.razor

@ -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();
}

12
IGP/Pages/DataTables/Parts/WeaponTable.razor

@ -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
IGP/Program.cs

@ -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();

Loading…
Cancel
Save