Commit Graph

779 Commits

Author SHA1 Message Date
Steve Sanderson 6e7ea6a5c9 Code migration phase 3 - Move Mono binaries to their own package (#1718)
* Rename "mono" project to Microsoft.AspNetCore.Blazor.Mono

* Include binary content in Microsoft.AspNetCore.Blazor.Mono

* Reference Mono binaries in Blazor.Mono project instead of Components.Build
2018-11-23 13:31:43 +00:00
Steve Sanderson c4486e2912 Update TemplateBlazorPackageVersion 2018-11-23 10:50:42 +01:00
Steve Sanderson ae2095e89c Re-add templates to .sln 2018-11-22 16:42:43 +01:00
Steve Sanderson 362160ade6 Fix Razor tooling following package rename 2018-11-22 15:52:42 +01:00
Steve Sanderson e15ea86ae8 Code migration part 2: Renames (#1708) 2018-11-22 13:19:11 +01:00
Steve Sanderson 0da8150794 Code migration, step 1 (#1706)
* Rename Microsoft.AspNetCore.Blazor dir to .Components

* Rename Microsoft.AspNetCore.Blazor.Browser dir to .Components.Browser

* Rename Microsoft.AspNetCore.Blazor.Browser.JS dir to .Components.Browser.JS

* Rename Microsoft.AspNetCore.Blazor.TagHelperWorkaround dir to .Components.TagHelperWorkaround

* Unbreak signing

* Rename Microsoft.AspNetCore.Blazor.Analyzers dir to .Components.Analyzers

* Rename Microsoft.AspNetCore.Blazor.Server dir to .Components.Server

* Rename Microsoft.AspNetCore.Blazor.Razor.Extensions dir to .Components.Razor.Extensions

* Rename Microsoft.AspNetCore.Blazor.Build dir to .Components.Build

* Rename Microsoft.AspNetCore.Blazor.Test dir to .Components.test

* Rename Microsoft.AspNetCore.Blazor.Server.Test dir to .Components.Server.Test

* Rename Microsoft.AspNetCore.Blazor.Razor.Extensions.Test dir to .Components.Razor.Extensions.Test

* Rename Microsoft.AspNetCore.Blazor.Analyzers.Test dir to .Components.Analyzers.Test

* Rename Microsoft.AspNetCore.Blazor.Browser.Test dir to .Components.Browser.Test

* Rename Microsoft.AspNetCore.Blazor.Build.Test dir to .Components.Build.Test

* Rename Microsoft.AspNetCore.Blazor.E2ETest dir to .Components.E2ETest

* Fix typo

* Unbreak VSIX build

* Fix .Build unit tests

* Move Blazor benchmarks into blazor subdir

* Rename .Blazor.Performance dir to .Components.Performance

* Move some samples within .sln

* Move StandaloneApp sample to blazor subdir

* Move MonoSanity sample to blazor subdir

* Move HostedInAspNet sample to blazor subdir

* Update paths to samples

* Move .BuildTools and .Cli sources to blazor subdir

* Move tooling to blazor subdir

* Move templates to blazor subdir

* Restore Directory.Build.props behaviors in blazor\src

* Move mono to blazor subdir

* Update folder structure in .sln

* Fix VSIX

* Empty commit to reawaken CI

* Fix manual standalone app startup
2018-11-21 16:17:33 +01:00
Daniel Roth 71cddc3563 Update survey link for 0.7.0 2018-11-15 09:46:08 +00:00
Steve Sanderson cf8baead4c Bump version to 0.8.0-preview1-* 2018-11-13 14:41:55 +00:00
Steve Sanderson dd72c7c38a Marshal oninput events as UIChangeEventArgs (#1673)
* Marshal oninput events as UIChangeEventArgs

- Blazor does handle the oninput event, but it is marshalled as a regular UIEventArgs
- This means that we cannot access the new value of the input element from inside our oninput handler

Addresses #821
2018-11-13 13:40:13 +00:00
Steve Sanderson a48260a5c9 Serialize server-side renders. Fixes #1573 (#1672)
* Add failing test to show the issue

* Make RemoteRenderer serialize render calls on sync context
2018-11-13 13:04:55 +00:00
Steve Sanderson e71db85149 Handle overlapping events (#1655)
* Add failing unit test to demonstrate overlapping events bug

* Handle overlapping events

* Make RemoteRenderer.UpdateDisplay's return task not complete until client sends explict ACK

* CR: Rename UpdateDisplay to UpdateDisplayAsync

* CR: Fix namespace

* CR: Catch synchronous SendAsync exceptions (if they can happen)
2018-11-13 12:08:08 +00:00
Steve Sanderson 811ef19f57 In E2E tests, allow for slower execution on Travis/AppVeyor 2018-11-13 12:00:24 +00:00
Steve Sanderson dc1ad1943d Capture RenderBatch bytes synchronously. Fixes #1223 2018-11-13 11:34:02 +00:00
Adrian Wright 5e0aa0c0fa Fix typos 2018-11-09 10:17:10 -08:00
Jeremy Hutchinson 1661d38971 Return completed task rather than null for empty virtual async methods. 2018-11-09 10:06:20 -08:00
Suchiman 5c13452d96 Add repository in nuspec files 2018-11-09 10:03:51 -08:00
Steve Sanderson 8e4691170a Update README.md to remove outdated asm.js references 2018-11-09 09:22:38 +00:00
Steve Sanderson 5a836ef0a6 Update to ws-proxy code matching Mono repo 5e318afd 2018-11-07 12:01:50 +00:00
Steve Sanderson edff13f25a Add new System.Buffers.dll BCL assembly to SignToolData.json exclusion list 2018-11-07 12:01:50 +00:00
Steve Sanderson 080399da3d Update MonoPlatform startup code to match newer Mono 2018-11-07 12:01:50 +00:00
Steve Sanderson 0857483a42 Use prebuilt Mono binaries. Remove asm.js fallback (Mono doesn't distribute asm.js builds). 2018-11-07 12:01:50 +00:00
Steve Sanderson 54f78ca34d Fix build when repo path contains space. Fixes #1541 2018-11-07 11:54:24 +00:00
Steve Sanderson f0638877fa Rename "Fixed" to "IsFixed" 2018-10-18 09:57:41 +01:00
Steve Sanderson 7530ad9a26 E2E tests for cascading parameters generally 2018-10-18 09:57:41 +01:00
Steve Sanderson 18df30568c Support "Fixed" mode for <CascadingValue> 2018-10-18 09:57:41 +01:00
Steve Sanderson 4a6f471d12 Add Cascading flag to Parameter (#1564)
... so that components that pass through an arbitrary set of parameters can choose to filter out cascading ones if they want.
2018-10-18 09:37:46 +01:00
Meir Blachman dd807a6d70 using Microsoft.Extensions.CommandLineUtils for blazor-cli 2018-10-17 22:33:03 -07:00
Lukas Bickel fb6427a46a escape quotes in event handler attribute content 2018-10-17 14:18:22 -07:00
Steve Sanderson efbf2c5678 When tracing dependencies *without* linking, don't fail the build if there are unresolved dependencies
There are legitimate use cases for referencing BCL assemblies that *aren't* in the Mono WebAssembly BCL, particularly for Blazor-on-the-server which runs on CoreCLR (and hence supports a broader BCL) anyway.
2018-10-16 23:57:40 +01:00
Zou Wei 7918fe2c39 Update README.md
Add links to the docs.
2018-10-15 13:12:56 +01:00
Steve Sanderson 211ad636fd Cascading parameters (#1545)
* Add Provider component

* Implement discovery and matching rules for tree parameters

* Remove artificial component hierarchy unit tests now they are redundant

* Refactor: Have RenderTreeFrame point to the ComponentState instead of IComponent

... so we can more quickly find associated tree param state without having to do lookups based on the componentId.

Also rename AssignComponentId to AttachAndInitComponent to be more descriptive.

* Refactor: Add shared code path for updating parameters so there's only one place to attach tree parameters

Now framework code should no longer call IComponent.SetParameters directly, except if it knows it's definitely dealing with a root component.

* Refactor: Simplify Parameter by making it hold the name/value directly

This will be necessary for tree parameters, which don't correspond to any RenderTreeFrame

* Refactor: Wrap ParameterEnumerator logic in extra level of iterator so we can also add one for iterating tree params

* Extend ParameterEnumerator to list tree parameters too

* Include tree parameters in SetParameters calls

* Refactor: Move parameter change detection logic into separate utility class

... so we include https://github.com/dotnet/jsinterop/pull/3

* Refactor: Move tree parameter tests from RendererTest.cs their own file

* Have Provider re-render consumers when value changes. Unit tests in next
commit.

* Components that accept tree parameters need to snapshot their direct params for later replay

* Empty commit to reawaken CI

* CR: Make name matching case-insensitive

* Refactor: Rename Provider/TreeParameter to
CascadingValue/CascadingParameter

* Add dedicated [CascadingParameter] attribute. Remove FromTree flag.

* CR: CascadingParameterState cleanups

* CR: Extra unit test

* CR: arguments/parameters

* CR: Enumerator improvements

* Fix test
2018-10-15 11:11:46 +01:00
Steve Sanderson fa2b61773a In ComponentState, track parent ComponentState. Be explicit that Renderer only lets you attach root components. 2018-10-12 09:49:28 +01:00
Steve Sanderson c05b98f9cb Update to latest JSInterop
... so we include https://github.com/dotnet/jsinterop/pull/3
2018-10-10 09:54:27 +01:00
Steve Sanderson 7012ea9d03 Avoid OnAfterRender allocating to capture 'this' 2018-10-08 09:39:18 +01:00
alenros d414ed107f updated MSRC link 2018-10-05 14:46:52 +01:00
simpman4 88cd4573a6 Added a "." to the end of ln. 41 2018-10-05 14:45:48 +01:00
Daniel Roth 04b87ef066 Update Microsoft.AspNetCore.Blazor.Templates.nuspec 2018-10-02 16:59:47 +01:00
Ryan Nowak 737a6003f5 Add required fields to build nuspec 2018-10-02 10:39:21 +01:00
Nate McMaster f6b64e5d26 Upgrade KoreBuild (#1498)
* remove sources.props and use NuGet.config. Source.props is only necessary for products that bulid in ProdCon, which Blazor does not
* Remove code signing glue code. This is part of KoreBuild now
* Update SDK to 2.1.400
* Update certificate names used for code-signing to use SHA2
2018-10-01 11:13:09 -07:00
Steve Sanderson 234f089a0a Always use forward-slashes in template primaryOutputs. Fixes #1497. 2018-10-01 13:17:11 +01:00
Steve Sanderson 0ca361a78a Make HttpClientHandler wiping more conservative. Fixes #1484 2018-10-01 12:44:05 +01:00
Nate McMaster 074f2a423d Switch queue name for dnceng and rename yaml files directory (#1481)
Update queue names to to work on https://dev.azure.com/dnceng. Also, react to VSTS => Azure DevOps rebranding.
2018-09-25 17:24:04 -07:00
Ryan Nowak 31b5119c64 fix build of VSIX 2018-09-25 13:52:25 -07:00
Steve Sanderson 824e0097f5 Bump version to 0.7.0-preview1-* 2018-09-25 16:24:23 +01:00
Ryan Nowak 959b45f4e6 Fix #1478 - Razor.Design not getting replaced in templates (#1479)
* Fix #1478 - Razor.Design not getting replaced in templates
2018-09-25 09:27:28 +01:00
Ryan Nowak 6f383a0f0f Adds support for 'Context' parameters on components (#1470)
Adds support for 'Context' parameters on components

This change allows you to set the parameter name of a parameterized child content by using the `Context` attribute on the component. The `Context` attribute will be defined (and shown by completion) when the component has one or more declared parameterized (`RenderFragment<>`) child content parameters.

This is nice for cases where you are using implicit child content:

```
<ol>
  <Repeater Items="People" Context="person">
    <li>@person.FirstName</li>
  </Repeater>
</ol>
```

 or, when you have multiple child content elements and want them all to have the same parameter name:

 ```
<MyComponent Items="People" Context="person">
    <ChildContent1><div>@person.FirstName</div></ChildContent1>
    <ChildContent2><div>@person.LastName</div></ChildContent2>
</Repeater>
```

The parameter name can be overridden by using the `Context` parameter on the child content element:

 ```
<MyComponent Items="People" Context="person">
    <ChildContent1 Context="item"><div>@item.FirstName</div></ChildContent1>
    <ChildContent2><div>@person.LastName</div></ChildContent2>
</Repeater>
```

If the component defines a `Context` parameter already then we won't synthesize one - your component's parameter will work exactly as it did before this feature.
2018-09-24 12:22:16 -07:00
Ryan Nowak 984fabb89f Correct template package reference 2018-09-24 10:42:59 -07:00
KristianJakubik 067d245f94 Fix negative route params. Fixes #1437 2018-09-24 17:55:21 +01:00
Steve Sanderson 0942b5aa0d Switch Hosted template to UseBlazor<Startup> for consistency with server-side template. Fixes #1473 2018-09-24 17:54:46 +01:00
Ryan Nowak 86b532cd47 Undo hardcoded Razor.Design in templates 2018-09-22 16:39:27 -07:00