Commit Graph

125 Commits

Author SHA1 Message Date
Steve Sanderson 0a5e27fdcf Support diffing attributes. This required tracking 'sequence' values on attributes too. 2018-01-21 20:57:11 +00:00
Steve Sanderson 7a1abbaca3 In tree diffing, better handle scenario where both old and new sequences loop back but to different locations 2018-01-21 19:37:34 +00:00
Steve Sanderson 6b37494e7c Begin on RenderTree diffing. Doesn't yet recurse into elements to handle attributes/children. 2018-01-21 18:53:09 +00:00
Steve Sanderson a0b354e0eb Add concept of 'sequence' to RenderTreeNode. This is in preparation for diffing. 2018-01-21 11:51:26 +00:00
Steve Sanderson b038117961 Force VS to treat all Blazor cshtml components as inheriting from BlazorComponent so that helpers like @onclick appear in intellisense 2018-01-18 10:05:07 +00:00
Steve Sanderson 374d19c1a4 Move child component instantiation into a post-render phase to bring it closer to how it will work with rendertree diffing
This is also needed to make it possible to have a helper to insert
Component nodes from Razor without doing anything messy to pass the
RenderTreeBuilder into that heper.
2018-01-18 00:29:00 +00:00
Steve Sanderson 3deab026c8 Stop spurious VS "cannot override ExecuteAsync" errors even if you don't specify a base class 2018-01-18 00:07:54 +00:00
Steve Sanderson d1f96153d3 Implement basics of @onclick()-type shorthand syntax 2018-01-16 18:01:06 +00:00
Steve Sanderson 946e25462e In RazorCompiler, support @using statements 2018-01-16 17:17:22 +00:00
Steve Sanderson 7cd5228b7f In RazorCompiler, support attributes whose values are C# code blocks (treated as event handlers) 2018-01-16 16:58:47 +00:00
Steve Sanderson 5949045319 In RazorCompiler, support expressions with non-string or null values 2018-01-16 16:30:29 +00:00
Steve Sanderson 8c2a32b87c Remove a .csproj.user file that shouldn't be tracked in source control 2018-01-16 16:16:48 +00:00
Steve Sanderson 7bbb2b6660 In RazorCompiler, support attribute values of type UIEventHandler 2018-01-16 16:15:46 +00:00
Steve Sanderson 3a7b6b2178 In Razor compiler, support attributes with interpolated expressions 2018-01-16 15:24:34 +00:00
Steve Sanderson b690aeee28 In RazorCompiler, support attributes with C# expression values 2018-01-16 13:15:13 +00:00
Steve Sanderson 5aa6ccaff7 Convert TextOnlyComponent to Razor format 2018-01-16 12:36:10 +00:00
Steve Sanderson 80b371c647 In RazorCompiler, support string-valued attributes 2018-01-16 12:23:12 +00:00
Steve Sanderson 1c1fd69bf2 In RazorCompiler, support self-closing and void elements 2018-01-16 11:50:40 +00:00
Steve Sanderson a64ece0319 In RazorCompiler, support HTML elements 2018-01-16 11:36:55 +00:00
Steve Sanderson 75b083911c Add AngleSharp with temporary InternalsVisibleTo 2018-01-16 11:11:49 +00:00
Steve Sanderson 604aa14518 Use Razor component in StandaloneApp sample 2018-01-15 23:11:54 +00:00
Steve Sanderson 7e40427ffe Razor compilation: Support text literals and C# code 2018-01-15 23:11:48 +00:00
Steve Sanderson 3ccdc1d16f Begin integrating with real Razor compiler 2018-01-14 16:37:01 +00:00
Steve Sanderson a03cb48c7a When compiling Razor components, take base namespace from host project 2018-01-14 14:40:57 +00:00
Steve Sanderson a32b857d96 When compiling Razor files, generate namespace based on directory path 2018-01-14 14:35:13 +00:00
Steve Sanderson 654c16fb44 Begin unit tests for RazorCompiler 2018-01-12 15:08:10 +00:00
Steve Sanderson f8cbed2326 Update unit tests to reflect updated Mono BCL. Much of this will disappear once we start optimizing the BCL. 2018-01-12 14:16:41 +00:00
Steve Sanderson 42a79ba8e6 Fix tests affected by recent refactoring 2018-01-12 13:07:16 +00:00
Steve Sanderson 5b3f05bdc1 Begin emitting C# classes for Razor components 2018-01-11 11:51:27 +00:00
Steve Sanderson 3f522ab216 Begin ability to have .cshtml files in Blazor apps 2018-01-11 11:11:47 +00:00
Steve Sanderson 8d4491d4b8 Begin Razor build command 2018-01-11 10:31:49 +00:00
Steve Sanderson 863826ab9d Begin on compilation infrastructure for Razor components 2018-01-10 16:34:37 +00:00
Steve Sanderson 247015fabb Move interop-related TS code into its own directory 2018-01-10 12:36:37 +00:00
Steve Sanderson 111e83c976 Clean up usage of RenderComponentArgs in TS by explicitly defining accessors 2018-01-10 12:31:25 +00:00
Steve Sanderson 950250d1f7 Improve naming for direct memory access APIs in Platform interface 2018-01-10 12:15:26 +00:00
Steve Sanderson 0187384638 Clean up how JS functions are registered and located for invocation from .NET 2018-01-10 11:55:52 +00:00
Steve Sanderson 7bbf2b54aa Enable TypeScript strict mode 2018-01-10 10:42:08 +00:00
Steve Sanderson 34d3eb5b72 Unit tests for Renderer 2018-01-09 17:21:50 +00:00
Steve Sanderson a729a8d5c5 Improve XML docs on BrowserRenderer 2018-01-09 15:23:27 +00:00
Steve Sanderson 07e31c6318 Unit tests relating to Renderer GC behavior 2018-01-09 15:08:27 +00:00
Steve Sanderson c95747af3e Remove some implementation code that isn't strictly needed (so far, at least) 2018-01-09 13:52:56 +00:00
Steve Sanderson 04f9c476a8 Update StandaloneApp to render a component. Remove some redundant code. 2018-01-09 13:45:15 +00:00
Steve Sanderson 6585667ce6 Refactor most of the rendering logic into Microsoft.Blazor, keeping only browser-specific parts in Microsoft.Blazor.Browser 2018-01-09 13:33:49 +00:00
Steve Sanderson 674024ed61 Rename UITree -> RenderTree, UIEventInfo -> UIEventArgs 2018-01-09 09:55:14 +00:00
Steve Sanderson 5793bf700a Add ability to render child components 2018-01-08 14:21:48 +00:00
Steve Sanderson 04c582647a Add support for passing parameters to UI event handlers (e.g., which key was pressed) 2018-01-08 11:31:10 +00:00
Steve Sanderson 23f7120b75 Basic parameterless events support (e.g., button click) 2018-01-05 22:16:29 +00:00
Steve Sanderson f7cb54121b Add DOM rendering capability for attributes 2018-01-05 17:50:03 +00:00
Steve Sanderson 0db6f5cc5d Add concept of "attributes" to UITree. So far the values are only allowed to be strings, but this will have to change later. 2018-01-05 17:28:26 +00:00
Steve Sanderson f0a78d13bf Begin tracking association between components and DOM elements so that components can be refresh their own display 2018-01-05 14:31:06 +00:00