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
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
d67bf63864
Update to SpaServices.Extensions 2.0.0
2018-02-22 11:07:03 +00:00
Steve Sanderson
6f25663a32
In UriHelper, cache current absolute URL
2018-02-21 10:22:03 +00:00
Steve Sanderson
b764029ce0
Fix comment
2018-02-21 10:22: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
78a19c07e9
In RazorCompiler, allow HTML comments
2018-02-21 10:22:03 +00:00
Steve Sanderson
7370d748c6
Initial, minimal BrowserRouter implementation. No config besides subclassing yet.
2018-02-21 10:22:03 +00:00
Steve Sanderson
0b5294a8f5
Enable SPA fallback routing on server
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
796d915526
Make spelling one step closer to correctness
2018-02-20 09:47:19 +00:00
Eugene Bekker
ea2019ac39
Update a reference to the new API style
2018-02-20 09:40:09 +00:00
Eugene Bekker
79a4016b13
Refactoring middleware configuration API
2018-02-20 09:40:09 +00:00
Steve Sanderson
a4c74234b4
Introduce deliberate misspelling
2018-02-19 15:14:08 +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
782ca0137d
Support "@inherits ..." directive
2018-02-18 22:03:15 +00:00
Steve Sanderson
f6d6714251
Serve static content from wwwroot
2018-02-16 15:56:22 +00:00
Steve Sanderson
69498f68f9
Add LayoutDisplay component and use it in StandaloneApp
2018-02-16 15:04:57 +00:00
Steve Sanderson
f54df27c21
Define ILayoutComponent so there's compile-time validation that layouts are defined correctly
2018-02-16 15:04:51 +00:00
Steve Sanderson
7139cb70c5
Support temporary @(Implements<MyInterfaceType>()) syntax
2018-02-16 12:39:38 +00:00
Steve Sanderson
9e333e31c5
Support temporary @(Layout<MyLayoutType>()) syntax
2018-02-16 12:10:44 +00:00
Steve Sanderson
f91d1d4803
Better handling of render-after-disposed scenarios
2018-02-16 12:10:44 +00:00
Steve Sanderson
7ad88a9406
Fix ArrayBuilder capacity expansion bug
2018-02-16 10:10:13 +00:00
Steve Sanderson
ad2c63ca37
Make OpenRegion/CloseRegion not public because they are only to support AddContent(seq, fragment)
2018-02-16 10:10:12 +00:00
Steve Sanderson
41aae0b7e6
Add ability to append RenderFragment into a RenderTreeBuilder
2018-02-16 10:10:11 +00:00
Steve Sanderson
29a6175ac1
Define RenderFragment concept
2018-02-16 10:10:10 +00:00
Steve Sanderson
1ac5ee25c1
Rename RenderTreeBuilder's AddText to AddContent, since it will be used for other types too
2018-02-16 10:10:08 +00:00
Steve Sanderson
acc5b9461b
Add ability to add component frame using runtime type object instead of generic param
2018-02-16 10:10:07 +00:00
Steve Sanderson
535b601d55
Multitargeted generate AngleSharp twice, so minimise the chance of either seeing the other in an incomplete state during build
2018-02-15 17:26:07 +00:00
Steve Sanderson
b529f2b913
Avoid confusion with client apps not rebuilding after changing Blazor library code
2018-02-15 16:45:30 +00:00
Steve Sanderson
af0085f550
Add *.cshtml for UpToDateCheckInput for VS
2018-02-15 16:14:48 +00:00
Steve Sanderson
dcbd7a27eb
Workaround file locked issue during build
2018-02-15 15:59:00 +00:00
Steve Sanderson
2ebfddc237
Switch client apps to netstandard2.0 to fix type load errors
...
Do a "git clean -xdf" on your local copy if you get runtime errors after
updating to this.
2018-02-15 10:20:31 +00:00
Steve Sanderson
e046dfca6d
Build net461 Razor extensions target on Windows only
2018-02-15 10:20:51 +00:00
Steve Sanderson
2da17602ed
Support "Region" frames in JS-side code
...
They only appear in a prepended subtree, because the .NET-side diffing
code resolves them out if they are top-level to any given edit
2018-02-14 23:41:25 +00:00
Steve Sanderson
848f24536a
Support "Region" frames in diffing
2018-02-14 23:41:24 +00:00
Steve Sanderson
a9822216f1
Add the concept of a "Region" render tree frame
2018-02-14 23:41:24 +00:00
Ryan Nowak
043e623d5b
Split Razor extensibility into its own assembly
...
This functionality will need to cross-compile to desktop framework
(net461) so that we can use it in VS. VS doesn't yet have netstandard2.0
support.
2018-02-14 14:08:14 -08:00
Steve Sanderson
af98672b17
Remove redundant WeakValueDictionary
2018-02-13 19:52:44 +00:00
Steve Sanderson
0eb0555303
Eliminate IComponent.BuildRenderTree to guarantee that components are only rendered by themselves
2018-02-13 19:47:37 +00:00
Steve Sanderson
70a3ee3d98
Remove externally-callable Renderer.RenderInNewBatch() now that rendering is triggered by components themselves
2018-02-13 17:06:00 +00:00
Steve Sanderson
804ab2d89f
Add IHandleEvent concept so components can define their own lifecycle around events
2018-02-13 16:42:21 +00:00
Steve Sanderson
a889cd3152
Beginning lifecycle methods on BlazorComponent
2018-02-13 15:55:37 +00:00
Steve Sanderson
d98a6153f7
In RazorCompiler, have BuildRenderTree overrides call base implementation
2018-02-13 15:53:59 +00:00
Steve Sanderson
861154764c
Introduce IComponent.SetParameters, moving parameter-setting and rerendering logic into component base class
2018-02-13 15:00:53 +00:00
Steve Sanderson
37217db73a
Implement ParameterCollection
2018-02-13 13:14:55 +00:00
Steve Sanderson
695ddc0fd6
Add Init/RenderHandle concepts so components can rerender themselves arbitrarily (e.g., after internal state change)
2018-02-13 11:49:33 +00:00
Steve Sanderson
7bb4bbbe5c
In IndexHtmlFileProvider, preserve original source formatting
2018-02-12 23:05:47 +00:00
Eugene Bekker
b38718d77f
Require <script type="blazor-boot"> to define script injection location
2018-02-12 21:49:27 +00:00
Steve Sanderson
e37e22aa27
Further renderer refactoring
2018-02-10 10:55:44 +00:00
Steve Sanderson
5a9c41af0e
Make AngleSharp not strong-named. Change assembly name to Microsoft.AspNetCore.Blazor.AngleSharp to ensure no conflicts with other usages.
2018-02-09 17:37:21 +00:00
Steve Sanderson
15ddcd03b0
Major refactor of responsibilities in rendering code. Not quite done
...
with this yet either.
2018-02-09 14:50:07 +00:00
Steve Sanderson
91314ee8c8
Rename RenderTreeDiffComputer -> RenderTreeDiffBuilder
2018-02-08 15:50:14 +00:00
Steve Sanderson
b8ed7bc2c5
Track event handlers via explicit IDs rather than by index into frames
...
array
2018-02-08 15:31:45 +00:00
Mark Gaze
89796cae2c
Fixed BlazorBuildToolsExe path to remove backslash in path, (missed in PR #43 )
2018-02-07 16:30:26 +00:00
Mark Gaze
5a4bc2e6d6
Added quotes to paths in build that cause the build to fail when directory has a space in the path #44
2018-02-07 16:30:26 +00:00
Brian Allred
5da3c172b5
Make build target path platform agnostic
2018-02-07 10:27:33 +00:00
Steve Sanderson
48627db47f
ArrayRange and RenderTreeDiff are readonly structs, so use fields directly
2018-02-07 10:27:32 +00:00
Steve Sanderson
83fa72bc7e
Have RenderTreeDiff build its own array of referenced frames rather than pointing to the latest render tree
...
This is in preparation for supporting multiple diffs for the same
component in a single batch (which means we can't rely on there being at
most only new render tree per component)
2018-02-07 10:27:32 +00:00
Steve Sanderson
33932f41fc
Replace "DescendantsEndIndex" concept with "SubtreeLength"
...
In other words, use relative addressing so that frame data is
independent of its position in the array
2018-02-07 10:27:32 +00:00
Steve Sanderson
b59e68a84d
Clarify why ArrayBuilder<T> exists
2018-02-05 17:20:34 +00:00