Commit Graph

26 Commits

Author SHA1 Message Date
Mackinnon Buck a729c4230e
InputRadio component with form support (#23415)
* Started on InputRadio forms component.

* Added E2E test for InputRadio.

* Added docstring for InputRadio.

* Changed value to be serialized using BindConverter.

* Added InputChoice for choice-based inputs.

InputChoice contains checks for valid choice types that used to exist in InputSelect. Both InputSelect and InputRadio now derive from InputChoice and thus also contain those checks.

* Added InputRadioGroup.

* Small fix.

* Removed InputChoice, cleaned up.

* Added internal access modifier to InputExtensions.

* Small improvements.

* Updated an outdated exception message.

* Updated test to reflect updated exception message.

* Improved API to enforce InputRadioGroup.

* Added support for InputSelect int and Guid bindings.

* Changed validation CSS classes to influence InputRadio components.
2020-07-02 11:48:34 -07:00
Mackinnon Buck 36c6c2c2a6
ElementReference FocusAsync API (#23316)
* Added working focus extension method.

* Added return value documentation for FocusAsync().

* Removed IJSRuntime argument from FocusAsync().

* Removed ElementReference.JSRuntime in favor of IServiceProvider.

* Updated Web.JS release binaries.

* Implemented ElementReferenceContext.

* Made ElementReferenceContext a non-abstract property in Renderer.

* Made ElementReference.Context explicitly nullable.

* Removed useless IServiceProvider dependency in RemoteJSRuntime.

* Updated Microsoft.AspNetCore.Components reference assemblies.

* Improved documentation and limited public API.
2020-06-26 09:19:50 -07:00
Pranav K c42d1a3858
Annotate Components.Forms \ Components.Web \ Component.Server with nullable attributes (#23204)
* Annotate Components.Forms \ Components.Web with nullable attributes
Contributes to https://github.com/dotnet/aspnetcore/issues/5680

* Fixup

* Fixup rebase

* Undo nullable

* Fixup
2020-06-25 17:36:24 +00:00
Wayne Adams 75c779773f
Add missing OffsetX and OffsetY events to MouseEventArgs. (#20478)
* Add missing OffsetX and OffsetY events to MouseEventArgs.
* Update public interfaces
* Generate Reference Assemblies
2020-04-14 10:00:32 -07:00
Brennan fece4705ee
[master] Update Arcade dependency (#16716) 2019-10-31 17:18:24 -07:00
N. Taylor Mullen 5f3037df3f Add support for `EnableStopPropagation` and `EnablePreventDefault`.
- For our current world Blazor both of these properties are always `true`. However, for other non-web Blazor scenarios the `EventHandler` attributes at that layer will turn off these features because they're specific to web.

#14517
2019-10-18 14:45:43 -07:00
Pranav K c298c94fe1
Validation fixes for Blazor (#14972)
* Validation fixes for Blazor

* Ensure validation result that are not associated with a member are recorded. Fixes https://github.com/aspnet/AspNetCore/issues/10643
* Add support for showing model-specific errors to ValidationSummary
* Add support for nested validation and a more suitable CompareAttribute. Fixes https://github.com/aspnet/AspNetCore/issues/10526
2019-10-18 11:26:17 -07:00
Steve Sanderson d3f1f5a6ea Make InputBase respond to validation state notifications (#14818)
* InputBase subscribes to OnValidationStateChanged. Fixes #11914

* E2E test
2019-10-16 11:35:34 -07:00
Javier Calvarro Nelson cca42d9624 [Blazor][Fixes #13357] input type=time reseting value (#14379)
* [Blazor] input type=time reseting value
* Normalizes values on the client and sends proper dates and times to
  the server.
* Normalizes values applied from the server to the client.
* Introduces @bind and @bind-value support for inputs of types
  datetime-local, month, time.

Fixes #13357

* Update JS
2019-10-02 15:21:00 -07:00
Steve Sanderson 2fc604145a Update ref assembly 2019-10-01 14:49:59 -07:00
Ryan Nowak aafb0813e6 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.
2019-08-16 14:34:34 -07:00
Ryan Nowak 7f054152db Move public rendering types to .RenderTree
Fixes: #12552

We're not documenting these types for public use in this release. We
already have an analyzer implemented to chase you away from taking a
dependency.
2019-08-15 20:14:59 -07:00
Pranav K dda84bc7fc
Use TValue as the generic type parameter (#12953)
* Use TValue as the generic type parameter

Fixes https://github.com/aspnet/AspNetCore/issues/12926
2019-08-09 10:19:33 -07:00
Steve Sanderson d716ca9d62
Remove .Web IVTs and refactor. Fixes #12713 (#12967)
* Remove IVTs from Microsoft.AspNetCore.Components.Web to .Blazor/.Server

* Eliminate RendererRegistry from .Web, as it's not needed for server-side Blazor

* Reintroduce RendererRegistry as a WebAssembly-specific concept. Refactor event data parsing.

* Remove redundant guard

* Corresponding test updates

* Update ref sources

* CR: Remove renderer ID fully from server-side Blazor code

* CR: Make WebEventData internal and shared-source

* Hub test updates

* Clean whitespace

* Update binaries

* Regenerate binaries AGAIN

* Update Jest test

* CR: Replace constructor with static parse

* Yet again attempt to refresh the .js binaries

* Fix ref assembly

* Fix test
2019-08-09 00:03:40 +01:00
dotnet-maestro[bot] 594916344d [release/3.0] Update dependencies from 4 repositories (#12854)
* Update dependencies from https://github.com/dotnet/arcade build 20190804.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19404.1
- Microsoft.DotNet.GenAPI - 1.0.0-beta.19404.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19404.1

* React to RenderTreeBuilder namespace change

* Correct builds and tests needing additonal feeds
- use `$(RestoreAdditionalProjectSources)` properties instead of generated NuGet.config files
  - this is closer to the previous approach but avoids `$(RestoreSources)` for the common feeds
  - also remove few remaining `$(RestoreSources)` mentions from SiteExtension.targets
- no need to copy NuGet.config or add feeds in dotnet-watch tests
  - test projects restore within the repo (not in `$env:Temp`) and need no additional feeds

nits:
- $(NuGetConfigFile) hack in eng\Workarounds.props was getting in the way of previous approach and wasn't necessary

* Update dependencies from https://github.com/aspnet/Blazor build 20190805.1
- Microsoft.AspNetCore.Blazor.Mono - 3.0.0-preview9.19405.1

* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20190805.6
- Microsoft.NET.Sdk.Razor - 3.0.0-preview9.19405.6
- Microsoft.CodeAnalysis.Razor - 3.0.0-preview9.19405.6
- Microsoft.AspNetCore.Razor.Language - 3.0.0-preview9.19405.6
- Microsoft.AspNetCore.Mvc.Razor.Extensions - 3.0.0-preview9.19405.6

* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20190805.13
- Microsoft.EntityFrameworkCore.Tools - 3.0.0-preview9.19405.13
- Microsoft.EntityFrameworkCore.SqlServer - 3.0.0-preview9.19405.13
- dotnet-ef - 3.0.0-preview9.19405.13
- Microsoft.EntityFrameworkCore - 3.0.0-preview9.19405.13
- Microsoft.EntityFrameworkCore.InMemory - 3.0.0-preview9.19405.13
- Microsoft.EntityFrameworkCore.Relational - 3.0.0-preview9.19405.13
- Microsoft.EntityFrameworkCore.Sqlite - 3.0.0-preview9.19405.13

Dependency coherency updates
- Microsoft.AspNetCore.Analyzer.Testing - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.BenchmarkRunner.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ActivatorUtilities.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.Memory - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.SqlServer - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Caching.StackExchangeRedis - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.CommandLineUtils.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.AzureKeyVault - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Binder - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.CommandLine - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.EnvironmentVariables - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.FileExtensions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Ini - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Json - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.KeyPerFile - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.UserSecrets - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration.Xml - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Configuration - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DependencyInjection - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.DiagnosticAdapter - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Diagnostics.HealthChecks - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Composite - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Embedded - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileProviders.Physical - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.FileSystemGlobbing - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HashCodeCombiner.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Hosting - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.HostFactoryResolver.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Http - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Localization - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Abstractions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.AzureAppServices - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Configuration - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Console - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Debug - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventSource - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.EventLog - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.TraceSource - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging.Testing - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ObjectPool - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.ConfigurationExtensions - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options.DataAnnotations - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Options - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ParameterDefaultValue.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Primitives - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.TypeNameHelper.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.ValueStopwatch.Sources - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.WebEncoders - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Internal.Extensions.Refs - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.JSInterop - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Mono.WebAssembly.Interop - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.Extensions.Logging - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Internal.AspNetCore.Analyzers - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)
- Microsoft.AspNetCore.Testing - 3.0.0-preview9.19405.2 (parent: Microsoft.EntityFrameworkCore)

* !fixup! close tag properly
2019-08-06 11:05:09 -07:00
Ryan Nowak bef01f3e9a Blazor API Review: UIEventArgs types
Fixes: #12550

Removes UIEventArgs in favor of EventArgs as the base class.

Moving Type into all of our event args types - this is important because
many of the events types are used for multiple events.

The only think about this that isn't perfect is that we have keep
special casing change because of how binding works. I renamed the type
to drop the `UI` prefix. It's not possible to define a subclass in the
Web project because of the way covariance works (or doesn't work) in
.NET.
2019-07-29 22:40:28 -07:00
Ryan Nowak 3919dd55c6 Fix globalization for `@bind-value`
Fixes: #12631

These mappings were missing and adding them restores the correct
behaviour. Mixing up the usage of `@bind` vs `@bind-value` so we have
more coverage of this.
2019-07-29 22:39:56 -07:00
Ryan Nowak 82478eac6b Blazor API Review: Forms
Fixes: #12549
2019-07-29 22:37:12 -07:00
Ryan Nowak bfd4305fd8
Blazor API Review: Parameters (#12547)
* Blazor API Review: Parameters

Part of #11610
2019-07-26 09:46:47 -07:00
Ryan Nowak 3e2f88497d Remove manual ref-assembly generation for Components 2019-07-23 14:39:14 -07:00
Ryan Nowak 6421c41d30 Update refs 2019-07-21 14:28:41 -07:00
Ryan Nowak f00a6e9c50 Move UIEventArgs types 2019-07-21 14:28:41 -07:00
Ryan Nowak 53c76c70fe Move NavLink to Web
Also undid the use of ref assemblies in our tests. This is kinda wierd
and breaks dev inner-loop.
2019-07-21 14:28:41 -07:00
Ryan Nowak 2aa9933e54 Move Forms to Web 2019-07-21 14:28:41 -07:00
Steve Sanderson 4e04b81415
Store event handler IDs as longs. Fixes #12058 (#12305)
* Change event handler IDs to be longs

* Update unit tests

* Enable detailed errors for test app

* CR: Explicitly check if we exceed Number.MAX_SAFE_INTEGER

* Update ref assemblies
2019-07-18 17:53:07 +01:00
Ryan Nowak 291ad25f5d Rename .Components.Browser -> Components.Web
This is part of API review for Blazor. We're renaming these projects to
reflect the fact that they are for Blazor using web technologies (html
+css).

The old naming of .Browser of whether it meant client-side (in the
browser).
2019-07-01 15:36:35 -07:00