From 9bbc1fd074a0c4d4f8e33c3ec120947672d15a3f Mon Sep 17 00:00:00 2001 From: Boris Date: Sun, 16 Nov 2025 13:32:50 +0100 Subject: [PATCH 1/3] Refactor solution, add blazor server demo --- SimpleBlazorMultiselect.sln | 104 +++++++++++++++--- build/Build.cs | 9 +- .../App.razor | 16 +++ .../Pages/_Host.cshtml | 32 ++++++ .../Program.cs | 24 ++++ .../Properties/launchSettings.json | 35 ++++++ ...SimpleBlazorMultiselect.Demo.Server.csproj | 18 +++ .../_Imports.razor | 5 + .../appsettings.Development.json | 9 ++ .../appsettings.json | 9 ++ .../Globals.cs | 4 +- .../Layout/MainLayout.razor | 0 .../Layout/MainLayout.razor.css | 36 +++--- .../Layout/NavMenu.razor | 3 +- .../Layout/NavMenu.razor.css | 0 .../Pages/BasicDropdown.razor | 0 .../Pages/BigListNoVirtualize.razor | 0 .../Pages/BigListVirtualize.razor | 0 .../Pages/CustomStyling.razor | 0 .../Pages/CustomStyling.razor.css | 0 .../Pages/CustomTemplate.razor | 32 +++--- .../Pages/DisabledDropdown.razor | 0 .../Pages/FilteredDropdown.razor | 0 .../Pages/Home.razor | 2 +- .../Pages/MultipleDropdowns.razor | 0 .../Pages/ObjectBinding.razor | 0 .../Pages/SingleSelect.razor | 0 ...SimpleBlazorMultiselect.Demo.Shared.csproj | 23 ++++ .../_Imports.razor | 2 + .../wwwroot}/app.css | 0 .../wwwroot/background.png | Bin 0 -> 378 bytes .../.gitattributes | 0 .../App.razor | 6 +- .../Program.cs | 3 - .../Properties/launchSettings.json | 0 .../SimpleBlazorMultiselect.Demo.Wasm.csproj | 11 +- .../SimpleBlazorMultiselect.Demo.csproj.user | 0 .../_Imports.razor | 2 - .../wwwroot/favicon.png | Bin .../wwwroot/icon-192.png | Bin .../wwwroot/index.html | 2 +- .../wwwroot/sample-data/weather.json | 27 ----- .../DisabledTests.cs | 0 .../EqualityTests.cs | 0 .../Helper/BaseTest.cs | 0 .../Helper/TestReferenceItem.cs | 0 .../Helper/TestValueItem.cs | 0 .../SimpleBlazorMultiselect.Tests.csproj | 2 +- .../SimpleMultiselectTests.cs | 0 .../StylingTests.cs | 0 50 files changed, 312 insertions(+), 104 deletions(-) create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/App.razor create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/Pages/_Host.cshtml create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/Program.cs create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/Properties/launchSettings.json create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/SimpleBlazorMultiselect.Demo.Server.csproj create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/_Imports.razor create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/appsettings.Development.json create mode 100644 demo/SimpleBlazorMultiselect.Demo.Server/appsettings.json rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Globals.cs (92%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Layout/MainLayout.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Layout/MainLayout.razor.css (72%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Layout/NavMenu.razor (97%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Layout/NavMenu.razor.css (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/BasicDropdown.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/BigListNoVirtualize.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/BigListVirtualize.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/CustomStyling.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/CustomStyling.razor.css (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/CustomTemplate.razor (69%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/DisabledDropdown.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/FilteredDropdown.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/Home.razor (52%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/MultipleDropdowns.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/ObjectBinding.razor (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Shared}/Pages/SingleSelect.razor (100%) create mode 100644 demo/SimpleBlazorMultiselect.Demo.Shared/SimpleBlazorMultiselect.Demo.Shared.csproj create mode 100644 demo/SimpleBlazorMultiselect.Demo.Shared/_Imports.razor rename {src/SimpleBlazorMultiselect.Demo/wwwroot/css => demo/SimpleBlazorMultiselect.Demo.Shared/wwwroot}/app.css (100%) create mode 100644 demo/SimpleBlazorMultiselect.Demo.Shared/wwwroot/background.png rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/.gitattributes (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/App.razor (63%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/Program.cs (83%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/Properties/launchSettings.json (100%) rename src/SimpleBlazorMultiselect.Demo/SimpleBlazorMultiselect.Demo.csproj => demo/SimpleBlazorMultiselect.Demo.Wasm/SimpleBlazorMultiselect.Demo.Wasm.csproj (63%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/SimpleBlazorMultiselect.Demo.csproj.user (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/_Imports.razor (80%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/wwwroot/favicon.png (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/wwwroot/icon-192.png (100%) rename {src/SimpleBlazorMultiselect.Demo => demo/SimpleBlazorMultiselect.Demo.Wasm}/wwwroot/index.html (91%) delete mode 100644 src/SimpleBlazorMultiselect.Demo/wwwroot/sample-data/weather.json rename {src => tests}/SimpleBlazorMultiselect.Tests/DisabledTests.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/EqualityTests.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/Helper/BaseTest.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/Helper/TestReferenceItem.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/Helper/TestValueItem.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/SimpleBlazorMultiselect.Tests.csproj (92%) rename {src => tests}/SimpleBlazorMultiselect.Tests/SimpleMultiselectTests.cs (100%) rename {src => tests}/SimpleBlazorMultiselect.Tests/StylingTests.cs (100%) diff --git a/SimpleBlazorMultiselect.sln b/SimpleBlazorMultiselect.sln index bcfdd65..d0c60d6 100644 --- a/SimpleBlazorMultiselect.sln +++ b/SimpleBlazorMultiselect.sln @@ -1,37 +1,105 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.9.34728.123 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.csproj", "{49DA0B6E-92AE-41C0-8763-16D0303F2015}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleBlazorMultiselect", "src\SimpleBlazorMultiselect\SimpleBlazorMultiselect.csproj", "{1F3DCC28-1FD5-4F3C-B43D-564A44DBE398}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleBlazorMultiselect.Demo", "src\SimpleBlazorMultiselect.Demo\SimpleBlazorMultiselect.Demo.csproj", "{025632E8-CB51-4E49-B47C-B9C75D35A874}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect", "src\SimpleBlazorMultiselect\SimpleBlazorMultiselect.csproj", "{223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect.Tests", "src\SimpleBlazorMultiselect.Tests\SimpleBlazorMultiselect.Tests.csproj", "{753C970D-2A63-4ABB-8BE0-A524DF8C2BDB}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect.Tests", "tests\SimpleBlazorMultiselect.Tests\SimpleBlazorMultiselect.Tests.csproj", "{D69FB0BD-6BA3-4789-9278-E01AC2A49919}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "demo", "demo", "{A39C23D2-F2C0-258D-165A-CF1E7FEE6E7B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect.Demo.Wasm", "demo\SimpleBlazorMultiselect.Demo.Wasm\SimpleBlazorMultiselect.Demo.Wasm.csproj", "{8505F798-2740-4D5C-A94C-B75E79980E0B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect.Demo.Server", "demo\SimpleBlazorMultiselect.Demo.Server\SimpleBlazorMultiselect.Demo.Server.csproj", "{71E4E57A-A40F-459B-BB41-A26EB10D2841}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleBlazorMultiselect.Demo.Shared", "demo\SimpleBlazorMultiselect.Demo.Shared\SimpleBlazorMultiselect.Demo.Shared.csproj", "{35CEC199-EE74-4A2E-8E18-0F695B667D46}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {49DA0B6E-92AE-41C0-8763-16D0303F2015}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {49DA0B6E-92AE-41C0-8763-16D0303F2015}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1F3DCC28-1FD5-4F3C-B43D-564A44DBE398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1F3DCC28-1FD5-4F3C-B43D-564A44DBE398}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1F3DCC28-1FD5-4F3C-B43D-564A44DBE398}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1F3DCC28-1FD5-4F3C-B43D-564A44DBE398}.Release|Any CPU.Build.0 = Release|Any CPU - {025632E8-CB51-4E49-B47C-B9C75D35A874}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {025632E8-CB51-4E49-B47C-B9C75D35A874}.Debug|Any CPU.Build.0 = Debug|Any CPU - {025632E8-CB51-4E49-B47C-B9C75D35A874}.Release|Any CPU.ActiveCfg = Release|Any CPU - {025632E8-CB51-4E49-B47C-B9C75D35A874}.Release|Any CPU.Build.0 = Release|Any CPU - {753C970D-2A63-4ABB-8BE0-A524DF8C2BDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {753C970D-2A63-4ABB-8BE0-A524DF8C2BDB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {753C970D-2A63-4ABB-8BE0-A524DF8C2BDB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {753C970D-2A63-4ABB-8BE0-A524DF8C2BDB}.Release|Any CPU.Build.0 = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|x64.ActiveCfg = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|x64.Build.0 = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|x86.ActiveCfg = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Debug|x86.Build.0 = Debug|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|Any CPU.Build.0 = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|x64.ActiveCfg = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|x64.Build.0 = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|x86.ActiveCfg = Release|Any CPU + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF}.Release|x86.Build.0 = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|x64.ActiveCfg = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|x64.Build.0 = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|x86.ActiveCfg = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Debug|x86.Build.0 = Debug|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|Any CPU.Build.0 = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|x64.ActiveCfg = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|x64.Build.0 = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|x86.ActiveCfg = Release|Any CPU + {D69FB0BD-6BA3-4789-9278-E01AC2A49919}.Release|x86.Build.0 = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|x64.ActiveCfg = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|x64.Build.0 = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|x86.ActiveCfg = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Debug|x86.Build.0 = Debug|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|Any CPU.Build.0 = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|x64.ActiveCfg = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|x64.Build.0 = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|x86.ActiveCfg = Release|Any CPU + {8505F798-2740-4D5C-A94C-B75E79980E0B}.Release|x86.Build.0 = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|Any CPU.Build.0 = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|x64.ActiveCfg = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|x64.Build.0 = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|x86.ActiveCfg = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Debug|x86.Build.0 = Debug|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|Any CPU.ActiveCfg = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|Any CPU.Build.0 = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|x64.ActiveCfg = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|x64.Build.0 = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|x86.ActiveCfg = Release|Any CPU + {71E4E57A-A40F-459B-BB41-A26EB10D2841}.Release|x86.Build.0 = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|x64.ActiveCfg = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|x64.Build.0 = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|x86.ActiveCfg = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Debug|x86.Build.0 = Debug|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|Any CPU.Build.0 = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|x64.ActiveCfg = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|x64.Build.0 = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|x86.ActiveCfg = Release|Any CPU + {35CEC199-EE74-4A2E-8E18-0F695B667D46}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {223C122B-FEFB-4AB0-8EF8-ED2BB94378CF} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + {D69FB0BD-6BA3-4789-9278-E01AC2A49919} = {0AB3BF05-4346-4AA6-1389-037BE0695223} + {8505F798-2740-4D5C-A94C-B75E79980E0B} = {A39C23D2-F2C0-258D-165A-CF1E7FEE6E7B} + {71E4E57A-A40F-459B-BB41-A26EB10D2841} = {A39C23D2-F2C0-258D-165A-CF1E7FEE6E7B} + {35CEC199-EE74-4A2E-8E18-0F695B667D46} = {A39C23D2-F2C0-258D-165A-CF1E7FEE6E7B} + EndGlobalSection EndGlobal diff --git a/build/Build.cs b/build/Build.cs index e94cbaa..86432c0 100644 --- a/build/Build.cs +++ b/build/Build.cs @@ -51,14 +51,13 @@ class Build : NukeBuild [Solution] readonly Solution Solution; - AbsolutePath SourceDirectory => RootDirectory / "src"; AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts"; AbsolutePath TempDirectory => RootDirectory / "temp"; AbsolutePath DemoDirectory => TempDirectory / "demo"; - Project LibProject => Solution.GetProject("SimpleBlazorMultiselect"); - Project DemoProject => Solution.GetProject("SimpleBlazorMultiselect.Demo"); - Project TestsProject => Solution.GetProject("SimpleBlazorMultiselect.Tests"); + Project LibProject => Solution.GetAllProjects("*").Single(x => x.Name == "SimpleBlazorMultiselect"); + Project DemoProject => Solution.GetAllProjects("*").Single(x => x.Name == "SimpleBlazorMultiselect.Demo.Wasm"); + Project TestsProject => Solution.GetAllProjects("*").Single(x => x.Name == "SimpleBlazorMultiselect.Tests"); Target Clean => _ => _ .Before(Restore) @@ -66,7 +65,7 @@ class Build : NukeBuild { TempDirectory.CreateOrCleanDirectory(); DemoDirectory.CreateOrCleanDirectory(); - SourceDirectory.GlobDirectories("**/bin", "**/obj") + RootDirectory.GlobDirectories("**/bin", "**/obj") .ForEach(path => { Console.WriteLine($"Removing '{path}'"); diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/App.razor b/demo/SimpleBlazorMultiselect.Demo.Server/App.razor new file mode 100644 index 0000000..61ecd87 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/App.razor @@ -0,0 +1,16 @@ +@using SimpleBlazorMultiselect.Demo.Shared +@using SimpleBlazorMultiselect.Demo.Shared.Layout + + + + + + + + Not found + +

Sorry, there's nothing at this address.

+
+
+
+
\ No newline at end of file diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/Pages/_Host.cshtml b/demo/SimpleBlazorMultiselect.Demo.Server/Pages/_Host.cshtml new file mode 100644 index 0000000..c5181a6 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/Pages/_Host.cshtml @@ -0,0 +1,32 @@ +@page "/" +@using Microsoft.AspNetCore.Components.Web +@namespace SimpleBlazorMultiselect.Demo.Server.Pages +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers + + + + + + + + + + + + + + +
+ + An error has occurred. This application may no longer respond until reloaded. + + + An unhandled exception has occurred. See browser dev tools for details. + + Reload + 🗙 +
+ + + + diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/Program.cs b/demo/SimpleBlazorMultiselect.Demo.Server/Program.cs new file mode 100644 index 0000000..c44696d --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/Program.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Web; + +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddRazorPages(); +builder.Services.AddServerSideBlazor(); + +var app = builder.Build(); + +if (!app.Environment.IsDevelopment()) +{ + app.UseHsts(); +} + +app.UseHttpsRedirection(); + +app.UseStaticFiles(); + +app.UseRouting(); + +app.MapBlazorHub(); +app.MapFallbackToPage("/_Host"); + +app.Run(); diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/Properties/launchSettings.json b/demo/SimpleBlazorMultiselect.Demo.Server/Properties/launchSettings.json new file mode 100644 index 0000000..5b5ccea --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/Properties/launchSettings.json @@ -0,0 +1,35 @@ +{ + "iisSettings": { + "iisExpress": { + "applicationUrl": "http://localhost:36159", + "sslPort": 44369 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5108", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7130;http://localhost:5108", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/SimpleBlazorMultiselect.Demo.Server.csproj b/demo/SimpleBlazorMultiselect.Demo.Server/SimpleBlazorMultiselect.Demo.Server.csproj new file mode 100644 index 0000000..7512354 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/SimpleBlazorMultiselect.Demo.Server.csproj @@ -0,0 +1,18 @@ + + + + net8.0 + enable + enable + + + + + + + + <_ContentIncludedByDefault Remove="Layout\MainLayout.razor" /> + <_ContentIncludedByDefault Remove="Layout\NavMenu.razor" /> + <_ContentIncludedByDefault Remove="wwwroot\css\site.css" /> + + diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/_Imports.razor b/demo/SimpleBlazorMultiselect.Demo.Server/_Imports.razor new file mode 100644 index 0000000..cdd1a92 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/_Imports.razor @@ -0,0 +1,5 @@ +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.JSInterop +@using SimpleBlazorMultiselect.Demo.Server +@using SimpleBlazorMultiselect \ No newline at end of file diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.Development.json b/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.Development.json new file mode 100644 index 0000000..770d3e9 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "DetailedErrors": true, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.json b/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/demo/SimpleBlazorMultiselect.Demo.Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/src/SimpleBlazorMultiselect.Demo/Globals.cs b/demo/SimpleBlazorMultiselect.Demo.Shared/Globals.cs similarity index 92% rename from src/SimpleBlazorMultiselect.Demo/Globals.cs rename to demo/SimpleBlazorMultiselect.Demo.Shared/Globals.cs index aa71868..5a29210 100644 --- a/src/SimpleBlazorMultiselect.Demo/Globals.cs +++ b/demo/SimpleBlazorMultiselect.Demo.Shared/Globals.cs @@ -1,6 +1,4 @@ -using System.Collections.Generic; - -namespace SimpleBlazorMultiselect.Demo; +namespace SimpleBlazorMultiselect.Demo.Shared; public static class Globals { diff --git a/src/SimpleBlazorMultiselect.Demo/Layout/MainLayout.razor b/demo/SimpleBlazorMultiselect.Demo.Shared/Layout/MainLayout.razor similarity index 100% rename from src/SimpleBlazorMultiselect.Demo/Layout/MainLayout.razor rename to demo/SimpleBlazorMultiselect.Demo.Shared/Layout/MainLayout.razor diff --git a/src/SimpleBlazorMultiselect.Demo/Layout/MainLayout.razor.css b/demo/SimpleBlazorMultiselect.Demo.Shared/Layout/MainLayout.razor.css similarity index 72% rename from src/SimpleBlazorMultiselect.Demo/Layout/MainLayout.razor.css rename to demo/SimpleBlazorMultiselect.Demo.Shared/Layout/MainLayout.razor.css index 038baf1..d49e4b7 100644 --- a/src/SimpleBlazorMultiselect.Demo/Layout/MainLayout.razor.css +++ b/demo/SimpleBlazorMultiselect.Demo.Shared/Layout/MainLayout.razor.css @@ -21,20 +21,20 @@ main { align-items: center; } - .top-row ::deep a, .top-row ::deep .btn-link { - white-space: nowrap; - margin-left: 1.5rem; - text-decoration: none; - } +.top-row ::deep a, .top-row ::deep .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + text-decoration: none; +} - .top-row ::deep a:hover, .top-row ::deep .btn-link:hover { - text-decoration: underline; - } +.top-row ::deep a:hover, .top-row ::deep .btn-link:hover { + text-decoration: underline; +} - .top-row ::deep a:first-child { - overflow: hidden; - text-overflow: ellipsis; - } +.top-row ::deep a:first-child { + overflow: hidden; + text-overflow: ellipsis; +} @media (max-width: 640.98px) { .top-row { @@ -88,9 +88,9 @@ main { z-index: 1000; } - #blazor-error-ui .dismiss { - cursor: pointer; - position: absolute; - right: 0.75rem; - top: 0.5rem; - } +#blazor-error-ui .dismiss { + cursor: pointer; + position: absolute; + right: 0.75rem; + top: 0.5rem; +} diff --git a/src/SimpleBlazorMultiselect.Demo/Layout/NavMenu.razor b/demo/SimpleBlazorMultiselect.Demo.Shared/Layout/NavMenu.razor similarity index 97% rename from src/SimpleBlazorMultiselect.Demo/Layout/NavMenu.razor rename to demo/SimpleBlazorMultiselect.Demo.Shared/Layout/NavMenu.razor index eec6927..7f50b8a 100644 --- a/src/SimpleBlazorMultiselect.Demo/Layout/NavMenu.razor +++ b/demo/SimpleBlazorMultiselect.Demo.Shared/Layout/NavMenu.razor @@ -1,4 +1,5 @@ -