Consolidate shared components
This commit is contained in:
parent
bfaf27c04e
commit
020437531d
23 changed files with 74 additions and 114 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -366,3 +366,4 @@ LANCommander.Server/Launcher
|
|||
LANCommander.Server/Settings.yml
|
||||
LANCommander.Server/LANCommander.db*
|
||||
LANCommander.Launcher/package-lock.json
|
||||
package-lock.json
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="webpack.config.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="ScriptLoader.razor" />
|
||||
<None Include="StylesheetLoader.razor" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<SupportedPlatform Include="browser" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.7" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
using LANCommander.SDK.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace LANCommander.Launcher.Data.Models
|
||||
{
|
||||
public abstract class BaseModel
|
||||
public abstract class BaseModel : IKeyedModel
|
||||
{
|
||||
[Key]
|
||||
public Guid Id { get; set; }
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AntDesign" Version="0.20.0.1" />
|
||||
<PackageReference Include="BootstrapBlazor.PdfReader" Version="8.0.4" />
|
||||
<PackageReference Include="ByteSize" Version="2.1.2" />
|
||||
<PackageReference Include="CommandLineParser" Version="2.9.1" />
|
||||
<PackageReference Include="Emzi0767.NtfsDataStreams" Version="1.0.0" />
|
||||
|
|
@ -27,7 +25,6 @@
|
|||
<PackageReference Include="Photino.Blazor" Version="3.0.11" />
|
||||
<PackageReference Include="Photino.NET" Version="3.0.14" />
|
||||
<PackageReference Include="rix0rrr.BeaconLib" Version="1.0.2" />
|
||||
<PackageReference Include="XtermBlazor" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
@ -35,6 +32,7 @@
|
|||
<ProjectReference Include="..\LANCommander.Launcher.Models\LANCommander.Launcher.Models.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.Launcher.Services\LANCommander.Launcher.Services.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.SDK\LANCommander.SDK.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.UI\LANCommander.UI.csproj" />
|
||||
<ProjectReference Include="..\Photino.Blazor.CustomWindow\Photino.Blazor.CustomWindow\Photino.Blazor.CustomWindow.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.Extensions.Logging
|
||||
@using Microsoft.JSInterop
|
||||
@using LANCommander.UI.Components
|
||||
@using LANCommander.Launcher
|
||||
@using LANCommander.Launcher.Extensions
|
||||
@using LANCommander.Launcher.UI.Components
|
||||
13
LANCommander.SDK/Models/IKeyedModel.cs
Normal file
13
LANCommander.SDK/Models/IKeyedModel.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace LANCommander.SDK.Models
|
||||
{
|
||||
public interface IKeyedModel
|
||||
{
|
||||
Guid Id { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace LANCommander.SDK.Models
|
||||
{
|
||||
public abstract class KeyedModel
|
||||
public abstract class KeyedModel : IKeyedModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,11 +29,8 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AntDesign" Version="0.20.0.2" />
|
||||
<PackageReference Include="AntDesign.Charts" Version="0.5.5" />
|
||||
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
|
||||
<PackageReference Include="BlazorMonaco" Version="3.2.0" />
|
||||
<PackageReference Include="BootstrapBlazor.PdfReader" Version="8.0.4" />
|
||||
<PackageReference Include="ByteSize" Version="2.1.2" />
|
||||
<PackageReference Include="CoreRCON" Version="5.0.5" />
|
||||
<PackageReference Include="craftersmine.SteamGridDB.Net" Version="1.1.6" />
|
||||
|
|
@ -71,7 +68,6 @@
|
|||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.0" />
|
||||
<PackageReference Include="Syncfusion.PdfToImageConverter.Net" Version="26.2.8" />
|
||||
<PackageReference Include="System.Diagnostics.PerformanceCounter" Version="8.0.0" />
|
||||
<PackageReference Include="XtermBlazor" Version="2.1.1" />
|
||||
<PackageReference Include="YamlDotNet" Version="16.0.0" />
|
||||
<PackageReference Include="ZiggyCreatures.FusionCache" Version="1.3.0" />
|
||||
</ItemGroup>
|
||||
|
|
@ -84,10 +80,10 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LANCommander.Components\LANCommander.Components.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.PCGamingWiki\LANCommander.PCGamingWiki.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.SDK\LANCommander.SDK.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.Steam\LANCommander.Steam.csproj" />
|
||||
<ProjectReference Include="..\LANCommander.UI\LANCommander.UI.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<div class="pane @Class" data-size="@Size">
|
||||
@ChildContent
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[CascadingParameter] public SplitPane Parent { get; set; }
|
||||
[Parameter] public RenderFragment ChildContent { get; set; }
|
||||
[Parameter] public string Class { get; set; } = "";
|
||||
[Parameter] public string Size { get; set; } = "50%";
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
@inject IJSRuntime JS
|
||||
|
||||
<CascadingValue Value="this" IsFixed="@true">
|
||||
<div id="split-pane-@(PaneId.ToString())" class="split-pane">
|
||||
@ChildContent
|
||||
</div>
|
||||
</CascadingValue>
|
||||
|
||||
@code {
|
||||
[Parameter] public RenderFragment ChildContent { get; set; }
|
||||
[Parameter] public string Class { get; set; } = "";
|
||||
|
||||
private IList<LANCommander.Server.UI.Components.Pane> Panes = new List<LANCommander.Server.UI.Components.Pane>();
|
||||
|
||||
private Guid PaneId = Guid.NewGuid();
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
await JS.InvokeVoidAsync("SplitPane.Init", PaneId);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
@typeparam TItem where TItem : BaseModel
|
||||
|
||||
<Select
|
||||
@ref="@Select"
|
||||
Mode="tags"
|
||||
DataSource="Entities"
|
||||
ValueProperty="e => e.Id"
|
||||
LabelProperty="OptionLabelSelector"
|
||||
@bind-Values="@SelectedValues"
|
||||
EnableSearch>
|
||||
</Select>
|
||||
|
||||
@code {
|
||||
[Parameter] public Func<TItem, string> OptionLabelSelector { get; set; }
|
||||
[Parameter] public IEnumerable<TItem> Entities { get; set; }
|
||||
|
||||
[Parameter] public ICollection<TItem> Values { get; set; }
|
||||
[Parameter] public EventCallback<ICollection<TItem>> ValuesChanged { get; set; }
|
||||
|
||||
Select<Guid, TItem> Select;
|
||||
|
||||
private IEnumerable<Guid> SelectedValues
|
||||
{
|
||||
get
|
||||
{
|
||||
return Values?.Select(e => e.Id);
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value != null)
|
||||
{
|
||||
Values = Entities.Where(e => value.Contains(e.Id)).ToList();
|
||||
|
||||
if (ValuesChanged.HasDelegate)
|
||||
ValuesChanged.InvokeAsync(Values);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
@using AntDesign
|
||||
@using BlazorMonaco
|
||||
@using BlazorMonaco.Editor
|
||||
@using LANCommander.Components
|
||||
@using LANCommander.UI.Components
|
||||
@using LANCommander.Server.UI.Components
|
||||
@using LANCommander.Server.UI.Components.FileManagerComponents
|
||||
@using LANCommander.Server.UI.Shared
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
@inject IJSRuntime JS
|
||||
@using Microsoft.JSInterop
|
||||
@inject IJSRuntime JS
|
||||
|
||||
<CascadingValue Value="this" IsFixed="@true">
|
||||
<div id="split-pane-@(PaneId.ToString())" class="split-pane @Class">
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
@using LANCommander.Launcher.Data.Models
|
||||
@typeparam TItem where TItem : BaseModel
|
||||
@using LANCommander.SDK.Models
|
||||
@typeparam TItem where TItem : IKeyedModel
|
||||
|
||||
<Select
|
||||
@ref="@Select"
|
||||
40
LANCommander.UI/LANCommander.UI.csproj
Normal file
40
LANCommander.UI/LANCommander.UI.csproj
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="webpack.config.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="Components\ScriptLoader.razor" />
|
||||
<None Include="Components\StylesheetLoader.razor" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<SupportedPlatform Include="browser" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AntDesign" Version="0.20.1" />
|
||||
<PackageReference Include="BlazorMonaco" Version="3.2.0" />
|
||||
<PackageReference Include="BootstrapBlazor.PdfReader" Version="8.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.8" />
|
||||
<PackageReference Include="PSC.Blazor.Components.MarkdownEditor" Version="8.0.4" />
|
||||
<PackageReference Include="XtermBlazor" Version="2.1.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="wwwroot\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LANCommander.SDK\LANCommander.SDK.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using AntDesign
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using PSC.Blazor.Components.MarkdownEditor
|
||||
@using PSC.Blazor.Components.MarkdownEditor.EventsArgs
|
||||
|
|
@ -29,6 +29,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LANCommander.Launcher.Model
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LANCommander.Launcher.CLI", "LANCommander.Launcher.CLI\LANCommander.Launcher.CLI.csproj", "{7453725F-00C9-4FBD-A395-E8BF1D945E44}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LANCommander.UI", "LANCommander.UI\LANCommander.UI.csproj", "{D69FF032-2013-4C4A-8719-44B79E48F898}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
@ -87,6 +89,10 @@ Global
|
|||
{7453725F-00C9-4FBD-A395-E8BF1D945E44}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7453725F-00C9-4FBD-A395-E8BF1D945E44}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7453725F-00C9-4FBD-A395-E8BF1D945E44}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D69FF032-2013-4C4A-8719-44B79E48F898}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D69FF032-2013-4C4A-8719-44B79E48F898}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D69FF032-2013-4C4A-8719-44B79E48F898}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D69FF032-2013-4C4A-8719-44B79E48F898}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue