Commit Graph

453 Commits

Author SHA1 Message Date
Olivier Lefebvre 1626b3b8c8 Support arbitrary 'fetch' arguments 2018-04-04 10:12:42 +01:00
Ryan Nowak 0c942ccc76 Fix for #453
This fix adds missing line mappings for the Blazor runtime code
generation. We had the correct line mappings for design time code, but
they were missing in this case for runtime code - where they are used
for error messages and debugging (not yet supported).

Once this fix is is in the error window and output log will report the
file/line/column of the original source in .cshtml.

It looks like jumping to the code from the error window is currently not
working correctly in VS. It works from the output window.

I'm going to follow up on the VS issue in the Razor repo, since the fix
won't come from the Blazor side.
2018-04-03 15:34:41 -07:00
Ryan Nowak d097190824 Add support for conditional attributes
Adds conditional attributes for HTML elements.

This means that an attribute with a 'false' .NET bool value or a null
.NET value of another type will not be rendered in the HTML.
2018-04-03 14:06:48 -07:00
Steve Sanderson 2c268a4eca Live reloading (currently enabled only for command-line builds - will
add VS support next)
2018-04-02 15:33:00 +01:00
Steve Sanderson 1fe90e2c0f Avoid unnecessary assembly/type lookups when retrieving cached method handles 2018-04-02 13:14:48 +01:00
Grahame Horner 590a47f6c7 Mono Platform Method Caching 2018-04-02 13:11:12 +01:00
flash2048 e696325b76 Corrects spelling of some comments 2018-04-02 12:34:08 +01:00
Steve Sanderson 38cdb870f8 Update templates to Blazor 0.2.0-preview1-10152 2018-03-30 12:22:58 +01:00
Steve Sanderson b596d0d9f8 Reorder package-lock.json to make NPM happy 2018-03-30 12:22:58 +01:00
Steve Sanderson b52912a460 Handle ternary expressions inside interpolated attributes. Fixes #446 2018-03-30 11:38:10 +01:00
Luke Latham 2a8d06b539 Double-quote attribute values? 2018-03-30 10:12:35 +01:00
Ryouko Konpaku ef3db51bbf Text Area Bind Fix for issue #434 (#439)
* Text Area Bind Fix for issue #434

* Correct Typo/Mispelling on test method name.
2018-03-30 10:10:23 +01:00
Stephen Roe cda3692d0b Added SVG support (#366) (#435)
* Added SVG support (#366)

* Added E2E tests for SVG
2018-03-30 10:07:10 +01:00
Ryan Nowak 5b658c80a1 Replace @bind with bind-...
This change introduces a 'tag helper' that replaces @bind with custom
code generation that accomplishes roughly the same thing.

This feature lights up by dynamically generating tag helpers that are
visible to tooling and affect the code generation based on:
- pattern recognition of component properties
- attributes that create definitions for elements
- a 'fallback' case for elements

'bind' also supports format strings (currently only for DateTime) via
a separate attribute.

This change introduces the basic framework for bind and tooling support.
We know that we'll have to do more work to define the set of default
'bind' cases for the DOM and to flesh out the conversion/formatting
infrastructure.

This change gets us far enough to replace all of the cases we currently
have tests for :) with the new features. The old @bind technique still
works for now.

Examples:

@* bind an input element to an expression *@
<input bind="@SelectedDate" format="mm/dd/yyyy" />
@functions {
    public DateTime SelectedDate { get; set; }
}

@* bind an arbitrary expression to an arbitrary set of attributes *@
<div bind-myvalue-myevent="@SomeExpression">...</div>

@* write a component that supports bind *@

@* in Counter.cshtml *@
<div>...html omitted for brevity...</div>
@functions {
    public int Value { get; set; } = 1;
    public Action<int> ValueChanged { get; set; }
}

@* in another file *@
<Counter bind-Value="@CurrentValue" />
@functions {
    public int CurrentValue { get; set; }
}
2018-03-29 22:04:24 -07:00
flash2048 b53d39e16f Corrects spelling of some comments, method name and remove an excess flag 2018-03-29 14:20:04 +01:00
Steve Sanderson f15c995a2a Ensure JSON deserializer only uses Activator.CreateInstance implicitly for structs 2018-03-29 10:41:07 +01:00
Matthew Lazarow 25cf73ed80 Json to struct error 388 2018-03-29 10:41:07 +01:00
Benjamin 64d7091b2b fix #396 - added TimeSpan serialization and deserialization 2018-03-29 10:07:00 +01:00
Miha Markič 9a01ec5743 Corrects spelling of some comments and method names (#398)
* Corrects spelling of some comments and method names

* Correctly renames one more instance of wrongly spelled enableNavigationInteception
2018-03-28 08:15:27 -07:00
Ryan Nowak f6479a75cb Remove workaround for old Razor tooling
This isn't needed anymore to support the Blazor design-time experience.

Now that it's gone, it will no longer cause conflicts with MVC's types
so we can remove the other workaround (privateassets).
2018-03-27 19:24:10 -07:00
Ryan Nowak d7d0c617ce Add a Blazor project capability 2018-03-27 19:21:48 -07:00
Javier Calvarro Nelson a1ba0ab8ea [Fixes #355] Generated index.html not regenerating when source Index.html changes (#375) 2018-03-25 18:36:27 -07:00
Steve Sanderson 29a7d4e5bc In Hosted template, exclude .sln when generating from VS (to avoid duplication) 2018-03-22 19:39:12 +00:00
Steve Sanderson b3619f3e10 Fix serving of woff/woff2 files for standalone-published apps on IIS/Azure 2018-03-22 10:15:55 +00:00
Ryan Nowak 808f741cdd Fix for #314 - streamline lambda component args
This change removes the magic 'auto-lambda' feature that has some
unconvincing UX.

Also working around a razor bug where explicit expressions are lowered
incorrectly. This should make it possible to write code like:

<Foo Bar="@(e => { OnChanged(e); })" />
2018-03-21 13:59:35 -07:00
Steve Sanderson 3b5ce7f4a7 In templates, move survey content out into a separate component 2018-03-21 16:22:32 +00:00
Steve Sanderson fb3beab270 Link on build by default for all configurations, not only Release 2018-03-21 15:58:49 +00:00
Steve Sanderson 992c873019 For standalone publishing, add configure MIME type for .json
As per
https://blogs.msdn.microsoft.com/africaapps/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website/
2018-03-21 12:33:59 +00:00
Steve Sanderson 4d7670a979 Update templates to Blazor 0.1.0-rc1-10117 2018-03-20 22:37:30 +00:00
Steve Sanderson cf237707f9 Log info message if IL linking is disabled. Fixes #302 2018-03-20 22:28:43 +00:00
Steve Sanderson 3e4ba1a35f Add survey links to templates. Fixes #221 2018-03-20 22:27:29 +00:00
Steve Sanderson 678721cbad In hosted template, enable response compression for .wasm 2018-03-20 20:07:25 +00:00
Steve Sanderson 4eb78b3a8f Add global.json files to templates. Implements #300. 2018-03-20 19:45:43 +00:00
Steve Sanderson 4a8dc5c4a6 Add missing quotes to illink command. Fixes #301. 2018-03-20 19:42:25 +00:00
Steve Sanderson f703732e98 In templates, update _ViewImports/NavMenu to match updated APIs 2018-03-20 13:59:20 +00:00
Steve Sanderson aa43496d00 Update templates to Blazor 0.1.0-preview1-10112 2018-03-20 13:29:53 +00:00
Steve Sanderson 1760688d24 In BlazorComponent, add OnParametersSetAsync and make SetParameters overridable 2018-03-20 13:15:40 +00:00
Steve Sanderson 5bf0b891e9 In NavLink, support matching either complete URLs or just URL prefixes (both are necessary for typical nav menus) 2018-03-20 13:15:37 +00:00
Steve Sanderson d921705881 Add ParameterCollection.GetValueOrDefault methods 2018-03-20 12:18:44 +00:00
Steve Sanderson a88ab0db49 Support route constraints of the form ":type" (e.g, ":int", ":guid", etc.) 2018-03-20 10:17:00 +00:00
Steve Sanderson c58df0b739 Temporary workaround for #219 ("data-" attributes don't compile) 2018-03-19 18:09:53 +00:00
Steve Sanderson 58cc946a88 Update templates to use new @page routing feature 2018-03-19 13:18:42 +00:00
Steve Sanderson 139601894a Update templates to Blazor 0.1.0-preview1-10107 2018-03-19 13:13:07 +00:00
Javier Calvarro Nelson 70c4501497 [Fixes #220] Support `@page` with custom route template on components
* Updates the router component to scan for components within assemblies.
* Parses the templates on `[Route]` in component instances and builds a
  route table that maps paths to components.
* Uses the route table to map paths to components.
2018-03-16 19:15:00 -07:00
Steve Sanderson 2150820efe Implement Blazor.navigateTo for triggering navigation from JS code, and use it in E2E tests 2018-03-16 16:55:46 +00:00
Steve Sanderson 0cfb25e2ad Enable Razor build server by default 2018-03-16 12:49:59 +00:00
Steve Sanderson d0731c337d Add IUriHelper.NavigateTo 2018-03-16 11:19:09 +00:00
Steve Sanderson a02ac60c8c Fix selection on <select> box. Fixes #157 2018-03-16 10:27:26 +00:00
Steve Sanderson 03ac95f086 A better fix for the VS publishing hosted projects issue (#274) 2018-03-16 09:13:48 +00:00
Steve Sanderson 4202a6c9e1 In JsonUtil, support DateTimeOffset. Fixes #218. 2018-03-15 17:25:50 +00:00
Steve Sanderson e0481e1276 Update templates to Blazor 0.1.0-preview1-10098 2018-03-15 17:06:09 +00:00
Steve Sanderson eb727c0464 In standalone template, generate a launchSettings.json that doesn't have
IISExpress. Fixes #235
2018-03-15 17:03:54 +00:00
Steve Sanderson 1d31a80b50 Apply equivalent change to BlazorHosted.CSharp.Client 2018-03-15 13:38:55 +00:00
Pranav K b0d4e43a75 Make things build with preview1 SDK without warnings 2018-03-15 13:28:02 +00:00
Steve Sanderson eb0a0a8154 Due to #267, revert "In templates, specify blazor-dev feed in csproj instead of NuGet.config. Fixes #255"
This reverts commit d75e518ed0b9c22f80955261e98ad368d8e5ac65.
2018-03-15 13:04:33 +00:00
Steve Sanderson 2176aa8c87 Stop IL linker from stripping System.Threading.WasmRuntime. Fixes #239 2018-03-15 09:26:53 +00:00
Steve Sanderson fa54b0ab6e Update templates to Blazor 0.1.0-preview1-10092 2018-03-14 14:32:41 +00:00
Steve Sanderson 75958845d2 Temporary workaround for #261. Still need a proper fix. 2018-03-14 13:36:32 +00:00
Steve Sanderson 1d4ed4c0d6 In templates, specify blazor-dev feed in csproj instead of NuGet.config. Fixes #255 2018-03-14 12:13:16 +00:00
Steve Sanderson 5fce1edc99 Update templates to Blazor 0.1.0-preview1-10090 2018-03-14 12:09:54 +00:00
Steve Sanderson f7830e7b77 Publishing support 2018-03-14 11:23:43 +00:00
Javier Calvarro Nelson 04df5491c2 [Fixes #254] Microsoft.AspNetCore.Blazor.Build fails to build when referenced as a package. 2018-03-14 11:23:43 +00:00
Javier Calvarro Nelson 07d00442b1 Fix incremental builds 2018-03-14 11:23:43 +00:00
Steve Sanderson 0e9d52fe11 Support components and static content in external NuGet packages (#247)
* On build, drop <BlazorPackageContentFiles> items into dist\_content\(PackageName)\

* Add <script> and <link> tags to generated index.html

* Add testapp coverage of external content package. Still need to add E2E tests that uses it.

* Add missing unit test update

* Add example of packaging an entire Blazor component including CSS and images

* Add E2E test for component from NuGet package
2018-03-14 11:23:43 +00:00
Ryan Nowak 9549dccc54 Add @page directive
Adds the @page directive and support for specifying routes in components
at compile time.

For now the route is required and must begin with a leading /.
2018-03-14 11:23:43 +00:00
Javier Calvarro Nelson 700c2203c6 [Fixes #66] Adds linking support to the build
* Switch the tasks used to generate the blazor output to be MSBuild based.
* Package the optimized mono runtime and the BCL inside a nuget package.
* Add opt-in support for linking the application on build.
* Make the whole build process incremental.
2018-03-14 11:23:43 +00:00
Ryan Nowak ffadeecb45 Remove old <c:Foo> syntax 2018-03-14 11:23:42 +00:00
Ryan Nowak d175b4d38a Konvert to KoreBuild 2018-03-14 11:23:42 +00:00
Ryan Nowak 0c162e8c5a Allow non-property attributes to be set
This removes a limitation that prevented callers from passing
attributes to a component that aren't backed by properties.

The majority of the complication here is required to deal with the more
sophisticated way that HTML attributes are represented in the Razor IR.
2018-03-14 11:23:42 +00:00
Ryan Nowak c05657c7f2 Add support general delegate types
This builds upon existing support for UIEventHandler-typed component
properties and applies the same principle to any delegate type.

We try to help by generating the LSH of the lambda `=>` allowing you to
write `OnClick="Foo()"` rather than `OnClick="(e) => Foo()"`. You can of
course use @ as an escape.

The only rough edge here is that if the parameter names aren't memorable
for the delgate type, it's not super helpful.
2018-03-14 11:23:42 +00:00
Steve Sanderson d1cfe0191a Update templates to Blazor 0.1.0-preview1-10071 again, now the CI builds
are running again
2018-03-14 11:23:42 +00:00
Steve Sanderson 9027f82928 Revert "Update templates to Blazor 0.1.0-preview1-10071"
This reverts commit b448a5d096a27de5c8e700e43a264673de16b632.

This is because CI is currently unable to complete the signing process
so we can't upload that particular build.
2018-03-14 11:23:42 +00:00
Steve Sanderson 13719a60ea Update templates to Blazor 0.1.0-preview1-10071 2018-03-14 11:23:41 +00:00
Steve Sanderson 0c736300d5 Update BlazorHosted template content to new APIs 2018-03-14 11:23:41 +00:00
Steve Sanderson 9f34048633 Update BlazorStandalone template content to new APIs 2018-03-14 11:23:41 +00:00
Steve Sanderson 2d2b1d335e Update templates to Blazor 0.1.0-preview1-10069 2018-03-14 11:23:41 +00:00
Ryan Nowak 601e7914f7 Implement components as tag helpers
Implements Component code generation and tooling support end to end
udditionally adds some default `@addTagHelper` directives to make
programming in Blazor a little nicer.

Components are discovered as Tag Helpers using Razor's extensibility
during the build/IDE process. This drives the code generation during
build and lights up a bunch of editor features.

Add
2018-03-14 11:23:41 +00:00
Ryan Nowak b47e3095ee Add Razor SDK and packages to templates 2018-03-14 11:23:41 +00:00
Ryan Nowak adf4674955 Fix clean builds
This got out of date with my other changes
2018-03-14 11:23:40 +00:00
Ryan Nowak 211561a6a6 Implement 2-phase compilation
This is a working (all tests passing) implementation of the two-phase
compilation system we will need for component discovery.

This builds on top of work we've doing in Razor, including the Razor
SDK, MSBuild tasks, and CLI/server.

This currently *does* discovery components during the build process, but
it doesn't use that data for anything yet.

It works like this:
1. Generate class declarations (structure only, no method bodies)
2. Compile a 'temp' assembly using the .cs files and output of 1.
3. Do component discovery using the 'temp' assembly
4. Generate class definitions (including method bodies)
5. Compile the 'real' assembly using the .cs files and output of 4.
2018-03-14 11:23:40 +00:00
Ryan Nowak 6182e8448d Get rid of RazorCompiler
Adds a little more use of Razor extensibility.

Razor is a plugin model, so we can't be the 'first mover' for initiating
compilation in the build tools and IDE.

Reorganizes tests and fills out more reusable test infrastructure for
Razor-driven testing.

Adds tests for declaration-only configuration.
2018-03-14 11:23:40 +00:00
Ryan Nowak daf6a404f9 Implement basic Component discovery
This is the basics of component discovery along with some tests.

The next set of changes will integrate it into the compilation process.
2018-03-14 11:23:40 +00:00
Ryan Nowak a053155ab4 Implement layout and implements with directives
- Remove haxxxx
- Add proper directives with tooling support
2018-03-14 11:23:40 +00:00
Ryan Nowak 57a04fb178 Adopt more of Razor Exensibility
Removes some workarounds and uses Razor extensibility in a few more
places.

_ViewImports now works in VS
2018-03-14 11:23:40 +00:00
Steve Sanderson a386444b64 Make GetPropertiesIncludingInherited private to its consuming class
Just because it's not being used anywhere else currently
2018-03-13 11:54:50 +00:00
Florian Dohrendorf ef1b670b8b fix #216 2018-03-13 01:03:26 +01:00
forest93 53ab54d7b1 Fix #225. 2018-03-09 20:24:23 +08:00
Daniel Roth 969b8b86a6 Make templates show up in the One ASP.NET dialog (#208)
* Add templates parameter

* Fix primary outputs

* Reorder primary outputs

* Update hosted template name

* Fix whitespace
2018-03-05 23:56:11 +00:00
Steve Sanderson 493992ad04 Update templates to Blazor 0.0.5-preview1-10054 and use new GetJsonAsync<T> API 2018-03-05 14:38:21 -08:00
Steve Sanderson a74124efbf Add extension methods for HTTP JSON requests/responses 2018-03-05 02:02:26 +00:00
Steve Sanderson 0301250c4b In SimpleJson, support enum values serialized as numbers.
Note: still doesn't support nullable enum types.
2018-03-05 02:02:26 +00:00
Steve Sanderson 61e07eb615 Support @bind for enum and DateTime values (with optional format string) 2018-03-05 02:02:26 +00:00
Steve Sanderson 3ef78dcb7b Stop treating RenderFragment as immutable, because its output isn't 2018-03-05 02:02:26 +00:00
Alex Gavrilov 7afdccc53b Changing target framework to netstandard20 (not net461 on the CI machine) 2018-03-02 12:39:29 -08:00
Alex Gavrilov 1c15be550f VSIX Changes to have Blazor templates included into VSIX and show up in One ASP.NET Dialog 2018-03-01 20:08:34 -08:00
Steve Sanderson dc1b494df0 Update templates to Blazor 0.0.5-preview1-10041 2018-02-28 17:42:02 +00:00
Steve Sanderson 649159e31d Use real BCL System.Net.Http.HttpClient. Implements #159 2018-02-28 17:37:42 +00:00
Steve Sanderson dd831b4552 In "fetch", don't pass a "body" value if there isn't one 2018-02-28 17:37:42 +00:00
Steve Sanderson 1d07783522 Use "application/wasm" media type for .wasm files to enable streaming compilation 2018-02-28 17:37:42 +00:00
Steve Sanderson e3b995b933 Recompile Mono, updating MonoPlatform.ts to work with the newer version 2018-02-28 17:37:42 +00:00
Steve Sanderson f3b10bfa4c Template updates (#185)
* Remove unnecessary <OutputType>Exe</OutputType> from templates

* Rename BlazorHosted.* projects to BlazorHosted.CSharp.(Client|Server)

* Add empty BlazorHosted.CSharp.Shared, referenced from the two other BlazorHosted.CSharp.* projects

* Have BlazorHosted.CSharp.Client fetch data from BlazorHosted.CSharp.Server

* Update templates to Blazor 0.0.5-preview1-10037

* Make date handling consistent across the templates

* Enable response compression in "hosted" template

* Enable response compression in dev server

* Simplify template app code using new namespace arrangement

* Fix project name in hosted template
2018-02-28 12:02:35 +00:00
Steve Sanderson 4bd3cd98d6 Simplify apps by moving some commonly used types into Microsoft.AspNetCore.Blazor namespace 2018-02-28 11:29:14 +00:00
Steve Sanderson 1d5dfc2fbd In SimpleJson, support parsing Json.NET-serialized DateTimes 2018-02-28 10:28:57 +00:00
Steve Sanderson 04a69ed618 For "hosted" template, run "dotnet restore" on solution after project creation 2018-02-27 22:39:48 +00:00
Steve Sanderson f14c72bd9d Stop transitive dependency on Microsoft.AspNetCore.Blazor causing regular MVC view compilation error. Fixes #180 2018-02-27 22:23:48 +00:00
Steve Sanderson b96b78410c Minor improvements to "hosted" project template (e.g., "dotnet restore" post-action) 2018-02-27 21:57:03 +00:00
Steve Sanderson d0a05ff5db Update templates to Blazor 0.0.5-preview1-10031 2018-02-27 21:40:24 +00:00
Steve Sanderson 89ebeda38c Add multi-project template "BlazorHosted" 2018-02-27 21:40:24 +00:00
Steve Sanderson 39153955d6 Add "dotnet new" template BlazorStandalone.CSharp 2018-02-27 21:40:24 +00:00
Steve Sanderson 9a17a343cc Ensure Microsoft.AspNetCore.Blazor.Build is packed in a post-publish form so it's cross-plat compatible 2018-02-27 20:22:19 +00:00
Steve Sanderson de2bfe5162 Fix regression in app startup when running in E2E tests 2018-02-27 16:57:07 +00:00
Steve Sanderson ff5b6a7f30 Fix to "hosted in ASP.NET" startup logic when consuming via package references not project references 2018-02-27 16:38:15 +00:00
Steve Sanderson 2fc2a23d41 Include *.html in UpToDateCheckInput 2018-02-27 14:28:20 +00:00
Steve Sanderson 3e5381c17e Rename .DevHost project to .Cli, and make it work as a DotNetCliTool 2018-02-27 12:17:35 +00:00
Steve Sanderson 9d21eda9c4 Include "serve" command in dotnet-blazor tool 2018-02-26 17:37:00 +00:00
Steve Sanderson c255e77ab5 Remove redundant entry in NuSpec file 2018-02-26 17:05:45 +00:00
Steve Sanderson 44a2603720 Have the Build package include all its own dependencies (otherwise the DotNetCliTool won't work) 2018-02-26 16:34:57 +00:00
Steve Sanderson 2f9515785e Fixes for Microsoft.AspNetCore.Blazor.Build package layout 2018-02-26 16:22:06 +00:00
Steve Sanderson a5b5b3fa27 Set IsPackable=false on certain projects 2018-02-26 15:27:57 +00:00
Steve Sanderson 6995b974e9 Support @bind for textboxes and checkboxes 2018-02-26 14:39:56 +00:00
Steve Sanderson 1c5acfbdcc Temporarily rename 'Json' to 'JsonUtil' to avoid name clash 2018-02-26 12:06:28 +00:00
Steve Sanderson 1b0b5c61fe Add proper JSON-fetching example to StandaloneApp 2018-02-26 11:57:39 +00:00
Steve Sanderson 314b5c339c Add public JSON APIs to Microsoft.AspNetCore.Blazor. Swap implementation from MiniJSON to SimpleJson
MiniJSON is very small but doesn't deal with strongly-typed
deserialization by default (we can add it, but that's less
battle-tested). Also it has to allocate extra IDictionary versions of
everything before we map it to specific .NET types.

Also tried LitJSON, but has some correctness issues, e.g.,
https://github.com/LitJSON/litjson/issues/43

Also tried Json.NET but it's > 600KB
2018-02-26 11:35:27 +00:00
Steve Sanderson 8590f6e7a5 Remainder of initial HttpClient features plus E2E tests 2018-02-23 22:31:26 +00:00
Steve Sanderson ea3a18af25 Add basic support for onchange 2018-02-23 14:02:55 +00:00
Steve Sanderson 423ad85a04 Implement OnInit/OnInitAsync and use it in sample HTTP request 2018-02-23 12:47:02 +00:00
Steve Sanderson 891f2a14d0 Basic implementation of temporary HttpClient. Currently only supports GET requests and doesn't return HTTP headers. 2018-02-23 12:29:53 +00:00
Steve Sanderson 8e57261167 In BrowserUriHelper, change URI caching logic to be more defensive in case OnLocationChanged isn't being used 2018-02-23 11:05:29 +00:00
Steve Sanderson f684203721 Rename DefaultBrowserServiceProvider->BrowserServiceProvider for consistency 2018-02-23 10:50:35 +00:00
Steve Sanderson 0bb32ad628 Move BrowserRouter -> Router in Microsoft.AspNetCore.Blazor now it has no browser-specific aspects 2018-02-23 10:49:03 +00:00
Steve Sanderson eab10dcf83 Move NavLink component into Microsoft.AspNetCore.Blazor 2018-02-23 10:43:16 +00:00
Steve Sanderson 82bcf9172a Convert the static UriHelper into a service, IUriHelper, and inject where needed 2018-02-23 10:35:28 +00:00
Steve Sanderson 68f6ede3a7 Simplify UriHelper by making EnableNavigationInteception automatic 2018-02-23 09:59:56 +00:00
Steve Sanderson e1aab02228 Add name/description values for InjectDirective 2018-02-23 09:32:26 +00:00
Steve Sanderson 8ff4cee323 Make ComponentFactory thread-safe 2018-02-23 09:32:26 +00:00
Steve Sanderson c408045e31 In RazorCompiler, support @inject directive 2018-02-23 09:32:26 +00:00
Steve Sanderson 3f9d358004 Make ComponentFactory throw if you try to use [Inject] with a property that has no setter (otherwise it could be confusing) 2018-02-23 09:32:26 +00:00
Steve Sanderson b4a3c852c5 Implement DefaultBrowserServiceProvider using Microsoft.Extensions.DependencyInjection.ServiceCollection 2018-02-23 09:32:26 +00:00
Steve Sanderson e524994734 Make ComponentFactory do all the reflection up-front and cache the resulting delegates 2018-02-23 09:32:26 +00:00
Steve Sanderson ceacd489aa Simplistic implementation of property injection 2018-02-23 09:32:26 +00:00
Steve Sanderson ce10e6fa19 In preparation for DI, give every Renderer an IServiceProvider 2018-02-23 09:32:26 +00:00
Ryan Nowak dfe576f4fa Add new Razor bits
- Adds the aspnetcore-dev feed as a package source
- Updates Razor to a relatively new build
- Fixes a few issues encountered with new bits
2018-02-22 08:48:32 -08:00
Steve Sanderson f4e0d663fa Tiny simplification to NavLink 2018-02-22 15:03:49 +00:00
Steve Sanderson b705ac2c0a Switch to slightly higher-level implementation of NavLink (sacrificing some perf for better representation of current idioms) 2018-02-22 15:03:49 +00:00
Steve Sanderson 58ae5dea9a Additional methods on ParameterCollection to simplify usage 2018-02-22 15:03:49 +00:00
Steve Sanderson 3e30655ea4 Low-level NavLink implementation 2018-02-22 15:03:49 +00:00
Steve Sanderson 25b76bc6dc Skip rerendering child components if their params are definitely unchanged 2018-02-22 13:23:52 +00:00
Steve Sanderson 08d7b77d38 Avoid component syntax confusion by making it a compile-time error. Fixes #145 2018-02-22 11:07:03 +00:00
Steve Sanderson 1a31634b70 Capture component child content as a RenderFragment parameter. 2018-02-22 11:07:03 +00:00
Steve Sanderson bd455453d6 Report line/column when reporting mismatching tags 2018-02-22 11:07:03 +00:00