@inject MetadataService MetadataService @code { [Parameter] public Guid GameId { get; set; } [Parameter] public EventCallback OnImported { get; set; } [Parameter] public string ButtonText { get; set; } = "Lookup"; [Parameter] public bool AutoFocus { get; set; } [Parameter] public string Value { get; set; } [Parameter] public EventCallback ValueChanged { get; set; } bool _modalVisible; bool _hasProviders; protected override void OnInitialized() { _hasProviders = MetadataService.GetProviderNames().Any(); } private async Task SearchFieldOnKeyDown(KeyboardEventArgs e) { if ((e.Code == "Enter" || e.Code == "NumpadEnter") && !String.IsNullOrWhiteSpace(Value)) OpenLookup(); } private void OpenLookup() { _modalVisible = true; } private void Close() { _modalVisible = false; } private async Task OnPanelImported(Guid gameId) { _modalVisible = false; await OnImported.InvokeAsync(gameId); } }