23 lines
630 B
C#
23 lines
630 B
C#
namespace ln.templates.html;
|
|
|
|
public partial class TemplateElement
|
|
{
|
|
private class SlotElement : TemplateElement
|
|
{
|
|
public SlotElement(string tagName)
|
|
:base(tagName){}
|
|
|
|
public string Name => GetAttribute("name", "");
|
|
public override void RenderElement(Context renderContext)
|
|
{
|
|
if (renderContext.TryGetSlot(Name, out Element slot))
|
|
{
|
|
RenderElements(new Context(renderContext), new []{ slot });
|
|
}
|
|
else
|
|
{
|
|
RenderElements(new Context(renderContext), Children);
|
|
}
|
|
}
|
|
}
|
|
} |