Steve Sanderson
c50f089269
Update BasicTestApp
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
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
Florian Dohrendorf
ef1b670b8b
fix #216
2018-03-13 01:03:26 +01:00
Steve Sanderson
48ae58196d
Add unit test to show JsonUtil handling IList<T> types
2018-03-12 10:52:59 +01: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
Steve Sanderson
649159e31d
Use real BCL System.Net.Http.HttpClient. Implements #159
2018-02-28 17:37:42 +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
3e5381c17e
Rename .DevHost project to .Cli, and make it work as a DotNetCliTool
2018-02-27 12:17:35 +00:00
Steve Sanderson
6995b974e9
Support @bind for textboxes and checkboxes
2018-02-26 14:39:56 +00:00
Steve Sanderson
02a0be5c2b
Add JsonUtil unit tests plus E2E tests for new StandaloneApp pages
2018-02-26 13:01:11 +00:00
Steve Sanderson
c0bf73234c
Tweak (to force rebuild, since Travis just tried to build a branch that was already deleted)
2018-02-23 22:42:10 +00:00
Steve Sanderson
8590f6e7a5
Remainder of initial HttpClient features plus E2E tests
2018-02-23 22:31:26 +00:00
Steve Sanderson
88cc2caf45
Infrastructure for E2E tests where the app makes requests to an API server
2018-02-23 13:28:58 +00:00
Steve Sanderson
ea6b6bcd19
Add an example API server project that can be used in E2E tests
2018-02-23 13:07:49 +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
82bcf9172a
Convert the static UriHelper into a service, IUriHelper, and inject where needed
2018-02-23 10:35:28 +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
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
Steve Sanderson
d388cb6510
Add E2E test covering nav menu and NavLink usage in StandaloneApp
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
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
Steve Sanderson
0665d30e19
In RazorCompiler, reject malformed documents with mismatching tags
2018-02-22 11:07:03 +00:00
Steve Sanderson
95023c0300
In RazorCompiler, support components with children
2018-02-22 11:07:03 +00:00
Steve Sanderson
fc9cb1af65
Add E2E tests for BrowserRouter, plus implement querystring/hash support
2018-02-21 10:22:03 +00:00
Steve Sanderson
8bc7c92683
Support hosting at non-root URL. Prove it by updating BasicTestApp to serve from non-root location.
2018-02-21 10:22:03 +00:00
Steve Sanderson
7073429cd5
Clean up and include routing unit tests
2018-02-21 10:22:03 +00:00
Steve Sanderson
87fc15cc23
Add test to demonstrate current component attribute parsing inconsistencies
2018-02-21 10:22:03 +00:00
Steve Sanderson
78a19c07e9
In RazorCompiler, allow HTML comments
2018-02-21 10:22:03 +00:00
Steve Sanderson
58af3e1638
Allow blazor-boot script to be served from apps not hosted at domain root
2018-02-21 10:22:03 +00:00
Steve Sanderson
608da4c78b
Specifying entrypoint: Add tests and other stylistic tweaks
2018-02-19 14:22:03 +00:00
Eugene Bekker
1653e56b98
Adding ability to qualify the entry point of the main assembly
2018-02-19 14:11:25 +00:00
Steve Sanderson
1e0836167d
Make temporary "layout" and "implements" syntax work with _ViewImports hierarchies
2018-02-19 12:48:08 +00:00
Steve Sanderson
f649de2976
Support _ViewImports.cshtml files hierarchically
2018-02-18 23:57:20 +00:00
Steve Sanderson
be1400663b
Unit test to show the Razor compiler passes through any C# compilation errors
2018-02-18 23:54:12 +00:00
Steve Sanderson
782ca0137d
Support "@inherits ..." directive
2018-02-18 22:03:15 +00:00
Steve Sanderson
6e7c4ec6c0
Tests for LayoutDisplay component
2018-02-16 17:23:12 +00:00
Steve Sanderson
df825de86d
Reorganise some test helpers in shared locations
2018-02-16 17:23:04 +00:00
Steve Sanderson
f6d6714251
Serve static content from wwwroot
2018-02-16 15:56:22 +00:00