2024-12-31 18:21:41 -06:00
|
|
|
<AntDesign.Input Type="InputType.Text" @bind-Value="Path" OnBlur="() => OnChanged()">
|
2023-03-27 01:18:12 -05:00
|
|
|
<AddOnBefore>
|
|
|
|
|
<SimpleSelect @bind-Value="Hive" Style="width: auto;" OnSelectedItemsChanged="() => OnChanged()">
|
|
|
|
|
<SelectOptions>
|
2023-03-30 18:38:57 -05:00
|
|
|
@foreach (var hive in AvailableHives)
|
|
|
|
|
{
|
|
|
|
|
<SimpleSelectOption Value="@hive" Label="@hive"></SimpleSelectOption>
|
|
|
|
|
}
|
2023-03-27 01:18:12 -05:00
|
|
|
</SelectOptions>
|
|
|
|
|
</SimpleSelect>
|
|
|
|
|
</AddOnBefore>
|
|
|
|
|
</AntDesign.Input>
|
|
|
|
|
|
|
|
|
|
@code {
|
|
|
|
|
[Parameter] public string Value { get; set; } = "";
|
|
|
|
|
[Parameter] public EventCallback<string> ValueChanged { get; set; }
|
|
|
|
|
|
|
|
|
|
string Hive = "HKCU:\\";
|
|
|
|
|
string Path = "SOFTWARE";
|
|
|
|
|
|
2023-03-30 18:38:57 -05:00
|
|
|
string[] AvailableHives = new string[]
|
|
|
|
|
{
|
|
|
|
|
"HKCR:\\",
|
|
|
|
|
"HKCU:\\",
|
|
|
|
|
"HKLM:\\",
|
|
|
|
|
"HKU:\\",
|
|
|
|
|
"HKCC:\\"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
|
|
|
{
|
2023-08-02 18:36:53 -05:00
|
|
|
if (Hive == null)
|
|
|
|
|
Hive = "HKCU:\\";
|
|
|
|
|
|
|
|
|
|
if (Value == null)
|
|
|
|
|
Value = Hive;
|
|
|
|
|
|
|
|
|
|
if (!String.IsNullOrWhiteSpace(Value))
|
|
|
|
|
Hive = AvailableHives.FirstOrDefault(h => Value != null && Value.StartsWith(h));
|
|
|
|
|
|
2023-03-30 18:38:57 -05:00
|
|
|
Path = Value.Substring(Hive.Length);
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-27 01:18:12 -05:00
|
|
|
private async void OnChanged()
|
|
|
|
|
{
|
|
|
|
|
Value = Hive + Path;
|
|
|
|
|
|
|
|
|
|
if (ValueChanged.HasDelegate)
|
|
|
|
|
await ValueChanged.InvokeAsync(Value);
|
|
|
|
|
|
|
|
|
|
StateHasChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|