feat: display all schemas on load and empty search

This commit is contained in:
estrogen elf
2025-06-16 23:41:32 -05:00
parent 3802a6f8fa
commit 748a620bff

View File

@@ -39,16 +39,19 @@ namespace Needlework.Net.ViewModels.Pages.Schemas
{ {
_debounceDispatcher.Debounce(() => _debounceDispatcher.Debounce(() =>
{ {
if (string.IsNullOrEmpty(value))
{
SchemaItems = [];
return;
}
Task.Run(async () => Task.Run(async () =>
{ {
var lcuSchemaDocument = await _documentService.GetLcuSchemaDocumentAsync(); var lcuSchemaDocument = await _documentService.GetLcuSchemaDocumentAsync();
var lolClientDocument = await _documentService.GetLolClientDocumentAsync(); var lolClientDocument = await _documentService.GetLolClientDocumentAsync();
if (string.IsNullOrEmpty(value))
{
Dispatcher.UIThread.Invoke(() =>
{
SchemaItems = _schemas.Select((schema) => ToSchemaItemViewModel(schema, lcuSchemaDocument, lolClientDocument))
.ToList();
});
return;
}
var items = _schemas.Where(schema => schema.Key.Contains(value, StringComparison.OrdinalIgnoreCase)) var items = _schemas.Where(schema => schema.Key.Contains(value, StringComparison.OrdinalIgnoreCase))
.Select((schema) => ToSchemaItemViewModel(schema, lcuSchemaDocument, lolClientDocument)) .Select((schema) => ToSchemaItemViewModel(schema, lcuSchemaDocument, lolClientDocument))
.ToList(); .ToList();
@@ -76,10 +79,14 @@ namespace Needlework.Net.ViewModels.Pages.Schemas
var lolClientDocument = await _documentService.GetLolClientDocumentAsync(); var lolClientDocument = await _documentService.GetLolClientDocumentAsync();
Dispatcher.UIThread.Invoke(() => Dispatcher.UIThread.Invoke(() =>
{ {
_schemas = Enumerable.Concat( var schemas = Enumerable.Concat(
lcuSchemaDocument.OpenApiDocument.Components.Schemas.Keys.Select(key => new SchemaTab(key, Tab.LCU)), lcuSchemaDocument.OpenApiDocument.Components.Schemas.Keys.Select(key => new SchemaTab(key, Tab.LCU)),
lolClientDocument.OpenApiDocument.Components.Schemas.Keys.Select(key => new SchemaTab(key, Tab.GameClient)) lolClientDocument.OpenApiDocument.Components.Schemas.Keys.Select(key => new SchemaTab(key, Tab.GameClient))
).ToList(); ).ToList();
_schemas = schemas;
SchemaItems = schemas
.Select((schema) => ToSchemaItemViewModel(schema, lcuSchemaDocument, lolClientDocument))
.ToList();
IsBusy = false; IsBusy = false;
}); });
} }