mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using Microsoft.AspNetCore.Components.Rendering;
|
|
|
|
namespace Microsoft.AspNetCore.Components.AI;
|
|
|
|
#pragma warning disable CA1812 // Internal class is apparently never instantiated
|
|
internal sealed class ContentBlock : IComponent
|
|
#pragma warning restore CA1812 // Internal class is apparently never instantiated
|
|
{
|
|
private RenderHandle _renderHandle;
|
|
|
|
[Parameter] public RenderFragment ChildContent { get; set; } = default!;
|
|
|
|
public void Attach(RenderHandle renderHandle)
|
|
{
|
|
this._renderHandle = renderHandle;
|
|
}
|
|
|
|
public Task SetParametersAsync(ParameterView parameters)
|
|
{
|
|
parameters.SetParameterProperties(this);
|
|
// Always render when parameters are set - the parent component (MessageList)
|
|
// only triggers renders when there are actual updates to show.
|
|
this._renderHandle.Render(this.Render);
|
|
return Task.CompletedTask;
|
|
}
|
|
|
|
private void Render(RenderTreeBuilder builder)
|
|
{
|
|
builder.AddContent(0, this.ChildContent);
|
|
}
|
|
}
|