diff --git a/LANCommander/UI/Components/FilePicker.razor b/LANCommander/UI/Components/FilePicker.razor
index dd98756c..e576ff74 100644
--- a/LANCommander/UI/Components/FilePicker.razor
+++ b/LANCommander/UI/Components/FilePicker.razor
@@ -5,21 +5,21 @@
-
+
+ EntryVisible="@EntryVisible"
+ OnSelected="OnFileSelected" />
@@ -35,4 +35,35 @@
[Parameter] public string Root { get; set; }
[Parameter] public Func EntrySelectable { get; set; } = _ => true;
[Parameter] public Func EntryVisible { get; set; } = _ => true;
+
+ string InputValue { get; set; }
+
+ protected override async Task OnInitializedAsync()
+ {
+ InputValue = Value;
+ }
+
+ async Task OnInput(ChangeEventArgs args)
+ {
+ var inputString = args?.Value.ToString();
+
+ Value = inputString;
+
+ if (ValueChanged.HasDelegate)
+ await ValueChanged.InvokeAsync(inputString);
+ }
+
+ async Task OnFileSelected(string selectedFile)
+ {
+ Value = selectedFile;
+ InputValue = selectedFile;
+
+ if (ValueChanged.HasDelegate)
+ await ValueChanged.InvokeAsync(selectedFile);
+
+ if (OnSelected.HasDelegate)
+ await OnSelected.InvokeAsync(selectedFile);
+
+ await InvokeAsync(StateHasChanged);
+ }
}
\ No newline at end of file