8202c3278b
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m17s
Phase 8: Complete WebAssembly 렌더 모드 전환 (정공법) Migration Summary: - ALL Admin components → TaxBaik.Web.Client - Routes.razor, Pages/*, Layout/*, Shared/*, Forms/* - App.razor → TaxBaik.WasmClient (호스트 컴포넌트) - Shared utilities → TaxBaik.Application.Utils Architecture: ✅ App.razor: TaxBaik.WasmClient (WebAssembly, 호스트) ✅ Routes + Pages: TaxBaik.WasmClient (WebAssembly) ✅ Layout + Shared + Forms: TaxBaik.WasmClient (WebAssembly) ✅ Services: TaxBaik.Web (API-First) Key Changes: - Namespaces: TaxBaik.Web.Components.Admin → TaxBaik.WasmClient.Components.Admin - Shared utilities: TaxBaik.Application.Utils (single source of truth) - Program.cs: MapRazorComponents<TaxBaik.WasmClient.Components.Admin.App>() - _Imports.razor: Components/Admin 폴더에 재구성 Build Status: ✅ 0 errors, 0 warnings Benefits: - Stateless server (no Circuit memory) - Client-side rendering (WebAssembly) - Unlimited concurrent users (horizontal scaling) - ERP-ready architecture Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
57 lines
2.0 KiB
Plaintext
57 lines
2.0 KiB
Plaintext
@using TaxBaik.Domain.Entities
|
|
@using TaxBaik.Web.Services.AdminClients
|
|
@inject ICommonCodeBrowserClient CommonCodeClient
|
|
|
|
<MudSelect T="string"
|
|
Value="Value"
|
|
ValueChanged="ValueChanged"
|
|
Label="@Label"
|
|
Variant="@Variant"
|
|
FullWidth="@FullWidth"
|
|
Class="@Class"
|
|
Required="@Required"
|
|
Clearable="@Clearable"
|
|
Disabled="@Disabled">
|
|
@if (!string.IsNullOrWhiteSpace(Placeholder))
|
|
{
|
|
<MudSelectItem Value="@string.Empty">@Placeholder</MudSelectItem>
|
|
}
|
|
@foreach (var item in items)
|
|
{
|
|
<MudSelectItem Value="@item.CodeValue">@item.CodeName</MudSelectItem>
|
|
}
|
|
</MudSelect>
|
|
|
|
@code {
|
|
[Parameter] public string? Value { get; set; }
|
|
[Parameter] public EventCallback<string?> ValueChanged { get; set; }
|
|
[Parameter] public string Group { get; set; } = string.Empty;
|
|
[Parameter] public string Label { get; set; } = string.Empty;
|
|
[Parameter] public Variant Variant { get; set; } = Variant.Outlined;
|
|
[Parameter] public bool FullWidth { get; set; } = true;
|
|
[Parameter] public string? Class { get; set; }
|
|
[Parameter] public bool Required { get; set; }
|
|
[Parameter] public bool Clearable { get; set; }
|
|
[Parameter] public bool Disabled { get; set; }
|
|
[Parameter] public string? Placeholder { get; set; }
|
|
|
|
private List<CommonCode> items = [];
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
var normalizedGroup = Group?.Trim() ?? string.Empty;
|
|
if (!string.Equals(normalizedGroup, _loadedGroup, StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
_loadedGroup = normalizedGroup;
|
|
items = string.IsNullOrWhiteSpace(normalizedGroup)
|
|
? []
|
|
: (await CommonCodeClient.GetByGroupAsync(normalizedGroup))
|
|
.OrderBy(x => x.SortOrder)
|
|
.ThenBy(x => x.CodeName)
|
|
.ToList();
|
|
}
|
|
}
|
|
|
|
private string? _loadedGroup;
|
|
}
|