Skip to content

Commit 43db13f

Browse files
committed
Cleanups and fix tests
1 parent 4976961 commit 43db13f

10 files changed

+27
-24
lines changed

src/Components/Components/src/Binding/CascadingModelBinder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class CascadingModelBinder : IComponent
2323
/// <summary>
2424
/// The binding context name.
2525
/// </summary>
26-
[Parameter] public string BindingId { get; set; } = default!;
26+
[Parameter] public string BindingContextId { get; set; } = default!;
2727

2828
/// <summary>
2929
/// Specifies the content to be rendered inside this <see cref="CascadingModelBinder"/>.
@@ -49,7 +49,7 @@ Task IComponent.SetParametersAsync(ParameterView parameters)
4949
}
5050

5151
var name = string.IsNullOrEmpty(ParentContext?.Name) ? Name : $"{ParentContext.Name}.{Name}";
52-
var bindingId = !string.IsNullOrEmpty(name) ? null : BindingId;
52+
var bindingId = !string.IsNullOrEmpty(name) ? null : BindingContextId;
5353
_bindingContext = new ModelBindingContext(name, bindingId);
5454

5555
_handle.Render(builder =>

src/Components/Components/src/Binding/ModelBindingContext.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class ModelBindingContext
2323
// Nested named binder
2424
// Name = <<parent>>.<<handler>>
2525
// FormAction = ?handler=<<parent>>.<<handler>>
26-
public ModelBindingContext(string name, string? bindingId = null)
26+
internal ModelBindingContext(string name, string? bindingId = null)
2727
{
2828
// We are initializing the root context, that can be a "named" root context, or the default context.
2929
// A named root context only provides a name, and that acts as the BindingId
@@ -35,7 +35,7 @@ public ModelBindingContext(string name, string? bindingId = null)
3535
}
3636

3737
Name = name;
38-
BindingId = bindingId ?? name;
38+
BindingContextId = bindingId ?? name;
3939
}
4040

4141
/// <summary>
@@ -46,5 +46,5 @@ public ModelBindingContext(string name, string? bindingId = null)
4646
/// <summary>
4747
/// The computed identifier used to determine what parts of the app can bind data.
4848
/// </summary>
49-
public string BindingId { get; }
49+
public string BindingContextId { get; }
5050
}

src/Components/Components/src/PublicAPI.Unshipped.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
#nullable enable
22
Microsoft.AspNetCore.Components.Binding.ModelBindingContext
3-
Microsoft.AspNetCore.Components.Binding.ModelBindingContext.ModelBindingContext(string! name) -> void
3+
Microsoft.AspNetCore.Components.Binding.ModelBindingContext.BindingContextId.get -> string!
44
Microsoft.AspNetCore.Components.Binding.ModelBindingContext.Name.get -> string!
55
Microsoft.AspNetCore.Components.CascadingModelBinder
6+
Microsoft.AspNetCore.Components.CascadingModelBinder.BindingContextId.get -> string!
7+
Microsoft.AspNetCore.Components.CascadingModelBinder.BindingContextId.set -> void
68
Microsoft.AspNetCore.Components.CascadingModelBinder.CascadingModelBinder() -> void
7-
Microsoft.AspNetCore.Components.CascadingModelBinder.ChildContent.get -> Microsoft.AspNetCore.Components.RenderFragment!
9+
Microsoft.AspNetCore.Components.CascadingModelBinder.ChildContent.get -> Microsoft.AspNetCore.Components.RenderFragment<Microsoft.AspNetCore.Components.Binding.ModelBindingContext!>!
810
Microsoft.AspNetCore.Components.CascadingModelBinder.ChildContent.set -> void
911
Microsoft.AspNetCore.Components.CascadingModelBinder.Name.get -> string!
1012
Microsoft.AspNetCore.Components.CascadingModelBinder.Name.set -> void
@@ -13,7 +15,6 @@ Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.
1315
Microsoft.AspNetCore.Components.RenderHandle.DispatchExceptionAsync(System.Exception! exception) -> System.Threading.Tasks.Task!
1416
*REMOVED*Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string! relativeUri) -> System.Uri!
1517
Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string? relativeUri) -> System.Uri!
16-
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentParameter(int sequence, string! name, Microsoft.AspNetCore.Components.RenderFragment? value) -> void
1718
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.SetEventHandlerName(string! eventHandlerName) -> void
1819
Microsoft.AspNetCore.Components.Routing.IScrollToLocationHash
1920
Microsoft.AspNetCore.Components.Routing.IScrollToLocationHash.RefreshScrollPositionForHash(string! locationAbsolute) -> System.Threading.Tasks.Task!

src/Components/Components/src/RouteView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private void RenderPageWithParameters(RenderTreeBuilder builder)
8888

8989
builder.OpenComponent<CascadingModelBinder>(0);
9090
builder.AddComponentParameter(1, nameof(CascadingModelBinder.Name), "");
91-
builder.AddComponentParameter(2, nameof(CascadingModelBinder.BindingId), bindingId);
91+
builder.AddComponentParameter(2, nameof(CascadingModelBinder.BindingContextId), bindingId);
9292
builder.AddComponentParameter(3, nameof(CascadingModelBinder.ChildContent), (RenderFragment<ModelBindingContext>)RenderPageWithContext);
9393
builder.CloseComponent();
9494

src/Components/Components/test/RenderTreeDiffBuilderTest.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ public void RecognizesComponentTypeChangesAtSameSequenceNumber()
816816
using var batchBuilder = new RenderBatchBuilder();
817817

818818
// Act
819-
var diff = RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, newTree.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
819+
var diff = RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), newTree.GetFrames(), newTree.GetNamedEvents());
820820

821821
// Assert: We're going to dispose the old component and render the new one
822822
Assert.Equal(new[] { 0 }, batchBuilder.ComponentDisposalQueue);
@@ -1627,7 +1627,7 @@ public void RetainsChildComponentsForExistingFrames()
16271627

16281628
using var batchBuilder = new RenderBatchBuilder();
16291629
using var renderTreeBuilder = new RenderTreeBuilder();
1630-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), renderTreeBuilder.GetFrames(), renderTreeBuilder.GetNamedEvents());
1630+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTreeBuilder.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
16311631
var originalFakeComponentInstance = oldTree.GetFrames().Array[2].Component;
16321632
var originalFakeComponent2Instance = oldTree.GetFrames().Array[3].Component;
16331633

@@ -1713,7 +1713,7 @@ public void SetsUpdatedParametersOnChildComponents()
17131713

17141714
using var batchBuilder = new RenderBatchBuilder();
17151715
using var renderTree = new RenderTreeBuilder();
1716-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), renderTree.GetFrames(), renderTree.GetNamedEvents());
1716+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTree.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
17171717
var originalComponentInstance = (FakeComponent)oldTree.GetFrames().Array[0].Component;
17181718

17191719
// Act
@@ -1763,7 +1763,7 @@ public void SkipsUpdatingParametersOnChildComponentsIfAllAreDefinitelyImmutableA
17631763

17641764
using var batchBuilder = new RenderBatchBuilder();
17651765
using var renderTreeBuilder = new RenderTreeBuilder();
1766-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), renderTreeBuilder.GetFrames(), renderTreeBuilder.GetNamedEvents());
1766+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTreeBuilder.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
17671767
var originalComponentInstance = (CaptureSetParametersComponent)oldTree.GetFrames().Array[0].Component;
17681768
Assert.Equal(1, originalComponentInstance.SetParametersCallCount);
17691769

@@ -1793,7 +1793,7 @@ public void AlwaysRegardsRenderFragmentAsPossiblyChanged()
17931793

17941794
using var batchBuilder = new RenderBatchBuilder();
17951795
using var renderTreeBuilder = new RenderTreeBuilder();
1796-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTreeBuilder.GetFrames(), oldTree.GetFrames(), renderTreeBuilder.GetNamedEvents());
1796+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTreeBuilder.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
17971797
var componentInstance = (CaptureSetParametersComponent)oldTree.GetFrames().Array[0].Component;
17981798
Assert.Equal(1, componentInstance.SetParametersCallCount);
17991799

@@ -1819,13 +1819,13 @@ public void QueuesRemovedChildComponentsForDisposal()
18191819

18201820
using var batchBuilder = new RenderBatchBuilder();
18211821
using var renderTree = new RenderTreeBuilder();
1822-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), renderTree.GetFrames(), renderTree.GetNamedEvents());
1822+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, renderTree.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
18231823

18241824
// Act/Assert
18251825
// Note that we track NonDisposableComponent was disposed even though it's not IDisposable,
18261826
// because it's up to the upstream renderer to decide what "disposing" a component means
18271827
Assert.Empty(batchBuilder.ComponentDisposalQueue);
1828-
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, newTree.GetFrames(), oldTree.GetFrames(), oldTree.GetNamedEvents());
1828+
RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, oldTree.GetFrames(), newTree.GetFrames(), newTree.GetNamedEvents());
18291829
Assert.Equal(new[] { 0, 1 }, batchBuilder.ComponentDisposalQueue);
18301830
}
18311831

@@ -2238,14 +2238,14 @@ private RenderBatch GetRenderedBatch(RenderTreeBuilder from, RenderTreeBuilder t
22382238
var emptyFrames = renderTreeBuilder.GetFrames();
22392239
var oldFrames = from.GetFrames();
22402240

2241-
RenderTreeDiffBuilder.ComputeDiff(renderer, initializeBatchBuilder, 0, oldFrames, emptyFrames, null);
2241+
RenderTreeDiffBuilder.ComputeDiff(renderer, initializeBatchBuilder, 0, emptyFrames, oldFrames, from.GetNamedEvents());
22422242
}
22432243

22442244
batchBuilder?.Dispose();
22452245
// This gets disposed as part of the test type's Dispose
22462246
batchBuilder = new RenderBatchBuilder();
22472247

2248-
var diff = RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, to.GetFrames(), from.GetFrames(), from.GetNamedEvents());
2248+
var diff = RenderTreeDiffBuilder.ComputeDiff(renderer, batchBuilder, 0, from.GetFrames(), to.GetFrames(), to.GetNamedEvents());
22492249
batchBuilder.UpdatedComponentDiffs.Append(diff);
22502250
return batchBuilder.ToBatch();
22512251
}

src/Components/Components/test/RouteViewTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void RendersPageInsideLayoutView()
7979
frame => AssertFrame.Region(frame, subtreeLength: 5),
8080
frame => AssertFrame.Component<CascadingModelBinder>(frame, sequence: 0, subtreeLength: 4),
8181
frame => AssertFrame.Attribute(frame, nameof(CascadingModelBinder.Name), "", sequence: 1),
82-
frame => AssertFrame.Attribute(frame, nameof(CascadingModelBinder.BindingId), "jan", sequence: 2),
82+
frame => AssertFrame.Attribute(frame, nameof(CascadingModelBinder.BindingContextId), "jan", sequence: 2),
8383
frame => AssertFrame.Attribute(frame, nameof(CascadingModelBinder.ChildContent), typeof(RenderFragment<ModelBindingContext>), sequence: 3),
8484
frame => AssertFrame.Text(frame, "Layout ends here", sequence: 2));
8585

src/Components/Endpoints/src/RazorComponentEndpointHost.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ private void BuildRenderTree(RenderTreeBuilder builder)
3939

4040
builder.OpenComponent<LayoutView>(0);
4141
builder.AddComponentParameter(1, nameof(LayoutView.Layout), pageLayoutType);
42-
builder.AddComponentParameter(2, nameof(LayoutView.ChildContent), RenderPageWithParameters);
42+
builder.AddComponentParameter(2, nameof(LayoutView.ChildContent), (RenderFragment)RenderPageWithParameters);
4343
builder.CloseComponent();
4444
}
4545

src/Components/Web/src/Forms/EditForm.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public EditContext? EditContext
9090
/// The <c>name</c> attribute on the <c>form</c> element will default to
9191
/// the <see cref="FormHandlerName"/> unless an explicit name is provided.
9292
/// </remarks>
93-
[Parameter] public string FormHandlerName { get; set; }
93+
[Parameter] public string? FormHandlerName { get; set; }
9494

9595
/// <inheritdoc />
9696
protected override void OnParametersSet()
@@ -165,7 +165,7 @@ void RenderFormContents(RenderTreeBuilder builder, ModelBindingContext? bindingC
165165
builder.AddAttribute(4, "onsubmit", _handleSubmitDelegate);
166166
if (bindingContext != null)
167167
{
168-
builder.SetEventHandlerName(bindingContext.BindingId);
168+
builder.SetEventHandlerName(bindingContext.BindingContextId);
169169
}
170170
builder.OpenComponent<CascadingValue<EditContext>>(5);
171171
builder.AddComponentParameter(6, "IsFixed", true);

src/Components/Web/src/PublicAPI.Unshipped.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
*REMOVED*override Microsoft.AspNetCore.Components.Forms.InputFile.OnInitialized() -> void
33
Microsoft.AspNetCore.Components.Forms.EditForm.BindingContext.get -> Microsoft.AspNetCore.Components.Binding.ModelBindingContext?
44
Microsoft.AspNetCore.Components.Forms.EditForm.BindingContext.set -> void
5+
Microsoft.AspNetCore.Components.Forms.EditForm.FormHandlerName.get -> string?
6+
Microsoft.AspNetCore.Components.Forms.EditForm.FormHandlerName.set -> void
57
Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.StaticHtmlRenderer
68
Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.StaticHtmlRenderer.BeginRenderingComponent(System.Type! componentType, Microsoft.AspNetCore.Components.ParameterView initialParameters) -> Microsoft.AspNetCore.Components.Web.HtmlRendering.HtmlRootComponent
79
Microsoft.AspNetCore.Components.HtmlRendering.Infrastructure.StaticHtmlRenderer.StaticHtmlRenderer(System.IServiceProvider! serviceProvider, Microsoft.Extensions.Logging.ILoggerFactory! loggerFactory) -> void

src/Components/Web/test/Forms/EditFormTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,8 +398,8 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
398398
{
399399
builder.OpenComponent<CascadingModelBinder>(0);
400400
builder.AddComponentParameter(1, nameof(CascadingModelBinder.Name), BindingContext.Name);
401-
builder.AddComponentParameter(2, nameof(CascadingModelBinder.BindingId), BindingContext.BindingId);
402-
builder.AddComponentParameter<ModelBindingContext>(3, nameof(CascadingModelBinder.ChildContent), (_) => RenderForm);
401+
builder.AddComponentParameter(2, nameof(CascadingModelBinder.BindingContextId), BindingContext.BindingContextId);
402+
builder.AddComponentParameter(3, nameof(CascadingModelBinder.ChildContent), (RenderFragment<ModelBindingContext>)((_) => RenderForm));
403403
builder.CloseComponent();
404404
}
405405
else

0 commit comments

Comments
 (0)