Files
agent-framework/dotnet/samples/AGUIDojo/AGUIDojoClient/Components/AI/Messages/MessageTemplateBase.cs
T
Javier Calvarro Nelson 0340531f3a Add AG-UI Blazor sample
2025-12-10 16:46:50 +01:00

31 lines
850 B
C#

// Copyright (c) Microsoft. All rights reserved.
using Microsoft.Extensions.AI;
namespace Microsoft.AspNetCore.Components.AI;
public abstract class MessageTemplateBase : IComponent
{
[CascadingParameter] internal MessageListContext Context { get; set; } = default!;
public abstract bool When(MessageContext context);
[Parameter] public RenderFragment<MessageContext> ChildContent { get; set; } = (message) => builder => { };
public void Attach(RenderHandle renderHandle)
{
}
public Task SetParametersAsync(ParameterView parameters)
{
parameters.SetParameterProperties(this);
this.Context.RegisterTemplate(this);
return Task.CompletedTask;
}
internal RenderFragment? GetContentTemplate(AIContent content)
{
return this.Context.GetContentTemplate(content);
}
}