From aafb0813e6175dc1af1e3beeca1747201f9c5a0c Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Wed, 14 Aug 2019 13:08:15 -0700 Subject: [PATCH] Rename DOM types and change namespace Fixes: #12553 This change renames all of our browser/DOM specific types from `UIFooEventArgs` to `FooEventArgs` and puts the in the `.Web` namespace. In addition to this, we're moving `EventHandlers` and `BindAttributes` to the same. This has the impact of scoping the mappings those classes provide based on the `.Web` namespace. This means that we now expect `.Web` to be present as a using in basically all contexts for a browser-based Blazor app. Updated templates, samples and tests. I'll also need to update about a million tests in the compiler codebase. I've logged https://github.com/aspnet/AspNetCore.Docs/issues/13832 to track the docs and release notes part of this work. --- .../Build/test/BindRazorIntegrationTest.cs | 5 + .../ComponentRenderingRazorIntegrationTest.cs | 12 +- .../test/RenderingRazorIntegrationTest.cs | 81 +-- .../BlazorWasm-CSharp/Client/_Imports.razor | 1 + .../HostedInAspNet.Client/_Imports.razor | 1 + .../_Imports.razor | 1 + .../testassets/StandaloneApp/_Imports.razor | 3 +- ...oft.AspNetCore.Components.netcoreapp3.0.cs | 16 + ...ft.AspNetCore.Components.netstandard2.0.cs | 16 + .../src/BindElementAttribute.cs | 0 .../src/EventHandlerAttribute.cs | 0 src/Components/Shared/src/WebEventData.cs | 20 +- ...AspNetCore.Components.Web.netcoreapp3.0.cs | 519 +++++++++--------- ...spNetCore.Components.Web.netstandard2.0.cs | 519 +++++++++--------- src/Components/Web/src/EventHandlers.cs | 128 ----- .../Web/src/{ => Web}/BindAttributes.cs | 2 +- .../ClipboardEventArgs.cs} | 4 +- .../Web/src/{ => Web}/DataTransfer.cs | 8 +- .../DataTransferItem.cs} | 8 +- .../DragEventArgs.cs} | 4 +- .../ErrorEventArgs.cs} | 4 +- src/Components/Web/src/Web/EventHandlers.cs | 128 +++++ .../FocusEventArgs.cs} | 4 +- .../KeyboardEventArgs.cs} | 12 +- .../MouseEventArgs.cs} | 4 +- .../PointerEventArgs.cs} | 4 +- .../ProgressEventArgs.cs} | 6 +- .../TouchEventArgs.cs} | 14 +- .../{UITouchPoint.cs => Web/TouchPoint.cs} | 4 +- ...ventCallbackFactoryEventArgsExtensions.cs} | 84 +-- .../WheelEventArgs.cs} | 6 +- .../ComponentHubReliabilityTest.cs | 2 +- .../InteropReliabilityTests.cs | 2 +- .../AsyncEventHandlerComponent.razor | 4 +- .../EventCallbackTest/ButtonComponent.razor | 2 +- .../StronglyTypedButton.razor | 2 +- .../BasicTestApp/FocusEventComponent.razor | 8 +- .../BasicTestApp/KeyPressEventComponent.razor | 2 +- .../BasicTestApp/MouseEventComponent.razor | 18 +- .../BasicTestApp/TouchEventComponent.razor | 2 +- .../testassets/BasicTestApp/_Imports.razor | 1 + .../ComponentsApp.App/_Imports.razor | 1 + .../test/testassets/Ignitor/ElementNode.cs | 2 +- .../TestContentPackage/_Imports.razor | 1 + .../MvcSandbox/Components/_Imports.razor | 1 + .../WebSites/BasicWebSite/BasicWebSite.csproj | 1 + .../RazorComponents/_Imports.razor | 1 + .../BlazorServerWeb-CSharp/_Imports.razor | 1 + .../.template.config/template.json | 1 + .../RazorClassLibrary-CSharp/_Imports.razor | 1 + .../test/template-baselines.json | 1 + 51 files changed, 855 insertions(+), 817 deletions(-) create mode 100644 src/Components/Blazor/testassets/HostedInAspNet.Client/_Imports.razor rename src/Components/{Web => Components}/src/BindElementAttribute.cs (100%) rename src/Components/{Web => Components}/src/EventHandlerAttribute.cs (100%) delete mode 100644 src/Components/Web/src/EventHandlers.cs rename src/Components/Web/src/{ => Web}/BindAttributes.cs (97%) rename src/Components/Web/src/{UIClipboardEventArgs.cs => Web/ClipboardEventArgs.cs} (82%) rename src/Components/Web/src/{ => Web}/DataTransfer.cs (83%) rename src/Components/Web/src/{UIDataTransferItem.cs => Web/DataTransferItem.cs} (72%) rename src/Components/Web/src/{UIDragEventArgs.cs => Web/DragEventArgs.cs} (84%) rename src/Components/Web/src/{UIErrorEventArgs.cs => Web/ErrorEventArgs.cs} (92%) create mode 100644 src/Components/Web/src/Web/EventHandlers.cs rename src/Components/Web/src/{UIFocusEventArgs.cs => Web/FocusEventArgs.cs} (87%) rename src/Components/Web/src/{UIKeyboardEventArgs.cs => Web/KeyboardEventArgs.cs} (89%) rename src/Components/Web/src/{UIMouseEventArgs.cs => Web/MouseEventArgs.cs} (97%) rename src/Components/Web/src/{UIPointerEventArgs.cs => Web/PointerEventArgs.cs} (95%) rename src/Components/Web/src/{UIProgressEventArgs.cs => Web/ProgressEventArgs.cs} (87%) rename src/Components/Web/src/{UITouchEventArgs.cs => Web/TouchEventArgs.cs} (78%) rename src/Components/Web/src/{UITouchPoint.cs => Web/TouchPoint.cs} (96%) rename src/Components/Web/src/{WebEventCallbackFactoryUIEventArgsExtensions.cs => Web/WebEventCallbackFactoryEventArgsExtensions.cs} (73%) rename src/Components/Web/src/{UIWheelEventArgs.cs => Web/WheelEventArgs.cs} (83%) create mode 100644 src/Components/test/testassets/BasicTestApp/_Imports.razor create mode 100644 src/Components/test/testassets/TestContentPackage/_Imports.razor create mode 100644 src/Mvc/samples/MvcSandbox/Components/_Imports.razor create mode 100644 src/Mvc/test/WebSites/BasicWebSite/RazorComponents/_Imports.razor create mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/RazorClassLibrary-CSharp/_Imports.razor diff --git a/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs index bc63a4b0df..1fafb9e81d 100644 --- a/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs +++ b/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs @@ -271,6 +271,7 @@ namespace Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web @code { public int ParentValue { get; set; } = 42; @@ -292,6 +293,7 @@ namespace Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web @code { public DateTime CurrentDate { get; set; } = new DateTime(2018, 1, 1); @@ -314,6 +316,7 @@ namespace Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web @code { public DateTime CurrentDate { get; set; } = new DateTime(2018, 1, 1); @@ -338,6 +341,7 @@ namespace Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web @code { public int ParentValue { get; set; } = 42; @@ -360,6 +364,7 @@ namespace Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web @code { public bool Enabled { get; set; } diff --git a/src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs index 6513224c05..d15cf4f584 100644 --- a/src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs +++ b/src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs @@ -6,6 +6,7 @@ using System.Linq; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.RenderTree; using Microsoft.AspNetCore.Components.Test.Helpers; +using Microsoft.AspNetCore.Components.Web; using Xunit; using Xunit.Abstractions; @@ -202,23 +203,25 @@ namespace Test AdditionalSyntaxTrees.Add(Parse(@" using System; using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Web; namespace Test { public class MyComponent : ComponentBase { [Parameter] - public Action OnClick { get; set; } + public Action OnClick { get; set; } } } ")); var component = CompileToComponent($@" +@using Microsoft.AspNetCore.Components.Web @code {{ private int counter; - private void Increment(UIMouseEventArgs e) {{ + private void Increment(MouseEventArgs e) {{ counter++; }} }}"); @@ -235,7 +238,7 @@ namespace Test AssertFrame.Attribute(frame, "OnClick", 1); // The handler will have been assigned to a lambda - var handler = Assert.IsType>(frame.AttributeValue); + var handler = Assert.IsType>(frame.AttributeValue); Assert.Equal("Test.TestComponent", handler.Target.GetType().FullName); }); } @@ -445,11 +448,12 @@ namespace Test // Act var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web

@code { public string ParentBgColor { get; set; } = ""#FFFFFF""; - public void OnComponentHover(UIMouseEventArgs e) + public void OnComponentHover(MouseEventArgs e) { } } diff --git a/src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs index 990ec1db18..3f380cbc79 100644 --- a/src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs +++ b/src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.RenderTree; using Microsoft.AspNetCore.Components.Test.Helpers; +using Microsoft.AspNetCore.Components.Web; using Xunit; using Xunit.Abstractions; @@ -308,11 +309,12 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test public async Task SupportsTwoWayBindingForTextboxes() { // Arrange/Act - var component = CompileToComponent( - @" - @code { - public string MyValue { get; set; } = ""Initial value""; - }"); + var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web + +@code { + public string MyValue { get; set; } = ""Initial value""; +}"); var myValueProperty = component.GetType().GetProperty("MyValue"); var renderer = new TestRenderer(); @@ -343,11 +345,12 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test public async Task SupportsTwoWayBindingForTextareas() { // Arrange/Act - var component = CompileToComponent( - @" - @code { - public string MyValue { get; set; } = ""Initial value""; - }"); + var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web + +@code { + public string MyValue { get; set; } = ""Initial value""; +}"); var myValueProperty = component.GetType().GetProperty("MyValue"); var renderer = new TestRenderer(); @@ -378,11 +381,12 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test public async Task SupportsTwoWayBindingForDateValues() { // Arrange/Act - var component = CompileToComponent( - @" - @code { - public DateTime MyDate { get; set; } = new DateTime(2018, 3, 4, 1, 2, 3); - }"); + var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web + +@code { + public DateTime MyDate { get; set; } = new DateTime(2018, 3, 4, 1, 2, 3); +}"); var myDateProperty = component.GetType().GetProperty("MyDate"); var renderer = new TestRenderer(); @@ -416,11 +420,12 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test { // Arrange/Act var testDateFormat = "ddd yyyy-MM-dd"; - var component = CompileToComponent( - $@" - @code {{ - public DateTime MyDate {{ get; set; }} = new DateTime(2018, 3, 4); - }}"); + var component = CompileToComponent($@" +@using Microsoft.AspNetCore.Components.Web + +@code {{ + public DateTime MyDate {{ get; set; }} = new DateTime(2018, 3, 4); +}}"); var myDateProperty = component.GetType().GetProperty("MyDate"); var renderer = new TestRenderer(); @@ -467,6 +472,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test { // Arrange var component = CompileToComponent(@" +@using Microsoft.AspNetCore.Components.Web