Add properties to the body node that it needs
Removes a usage of TagRenderingContext
This commit is contained in:
parent
ddef61485b
commit
35889cba81
|
|
@ -205,11 +205,7 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
|
||||
public override void VisitTagHelper(TagHelperIntermediateNode node)
|
||||
{
|
||||
var tagHelperRenderingContext = new TagHelperRenderingContext()
|
||||
{
|
||||
TagName = node.TagName,
|
||||
TagMode = node.TagMode
|
||||
};
|
||||
var tagHelperRenderingContext = new TagHelperRenderingContext();
|
||||
|
||||
using (Context.Push(tagHelperRenderingContext))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,10 +11,6 @@ namespace Microsoft.AspNetCore.Razor.Language.CodeGeneration
|
|||
private Dictionary<string, string> _renderedBoundAttributes;
|
||||
private HashSet<string> _verifiedPropertyDictionaries;
|
||||
|
||||
public string TagName { get; set; }
|
||||
|
||||
public TagMode TagMode { get; set; }
|
||||
|
||||
public Dictionary<string, string> RenderedBoundAttributes
|
||||
{
|
||||
get
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
{
|
||||
public sealed class DefaultTagHelperBodyIntermediateNode : ExtensionIntermediateNode
|
||||
{
|
||||
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
|
||||
|
||||
public DefaultTagHelperBodyIntermediateNode()
|
||||
{
|
||||
}
|
||||
|
|
@ -35,6 +33,12 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
}
|
||||
}
|
||||
|
||||
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
|
||||
|
||||
public TagMode TagMode { get; set; }
|
||||
|
||||
public string TagName { get; set; }
|
||||
|
||||
public override void Accept(IntermediateNodeVisitor visitor)
|
||||
{
|
||||
if (visitor == null)
|
||||
|
|
|
|||
|
|
@ -88,7 +88,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
if (node.Children[i] is TagHelperBodyIntermediateNode bodyNode)
|
||||
{
|
||||
// We only expect one body node.
|
||||
node.Children[i] = new DefaultTagHelperBodyIntermediateNode(bodyNode);
|
||||
node.Children[i] = new DefaultTagHelperBodyIntermediateNode(bodyNode)
|
||||
{
|
||||
TagMode = node.TagMode,
|
||||
TagName = node.TagName,
|
||||
};
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,11 +97,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
uniqueId = Guid.NewGuid().ToString("N");
|
||||
}
|
||||
|
||||
context.CodeWriter.WriteStringLiteral(context.TagHelperRenderingContext.TagName)
|
||||
context.CodeWriter.WriteStringLiteral(node.TagName)
|
||||
.WriteParameterSeparator()
|
||||
.Write(TagModeTypeName)
|
||||
.Write(".")
|
||||
.Write(context.TagHelperRenderingContext.TagMode.ToString())
|
||||
.Write(node.TagMode.ToString())
|
||||
.WriteParameterSeparator()
|
||||
.WriteStringLiteral(uniqueId)
|
||||
.WriteParameterSeparator();
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override IntermediateNodeCollection Children { get; } = new DefaultIntermediateNodeCollection();
|
||||
|
||||
public TagMode TagMode { get; set; }
|
||||
|
||||
public string TagName { get; set; }
|
||||
|
||||
public TagMode TagMode { get; set; }
|
||||
|
||||
public ICollection<TagHelperDescriptor> TagHelpers { get; } = new List<TagHelperDescriptor>();
|
||||
|
||||
public TagHelperBodyIntermediateNode Body => Children.OfType<TagHelperBodyIntermediateNode>().SingleOrDefault();
|
||||
|
|
|
|||
|
|
@ -92,10 +92,11 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
var extension = new DefaultTagHelperTargetExtension();
|
||||
var context = GetRuntimeCodeRenderingContext();
|
||||
|
||||
context.TagHelperRenderingContext.TagMode = TagMode.SelfClosing;
|
||||
context.TagHelperRenderingContext.TagName = "p";
|
||||
|
||||
var node = new DefaultTagHelperBodyIntermediateNode();
|
||||
var node = new DefaultTagHelperBodyIntermediateNode()
|
||||
{
|
||||
TagMode = TagMode.SelfClosing,
|
||||
TagName = "p",
|
||||
};
|
||||
|
||||
// Act
|
||||
extension.WriteTagHelperBody(context, node);
|
||||
|
|
|
|||
Loading…
Reference in New Issue