Commit Graph

74 Commits

Author SHA1 Message Date
Steve Sanderson b049c7f574 Fix diffing for consecutive text nodes 2018-01-23 09:43:14 -08:00
Steve Sanderson df321b9b8d Make RenderTreeEdit specify which sibling node it acts on, so we can eliminate the Continue concept and no longer track indices on JS side 2018-01-22 20:17:32 -08:00
Steve Sanderson 5435582c0e Update rendering APIs to supply the diff as well as the final state 2018-01-22 08:54:03 -08:00
Steve Sanderson bea15241f2 Various renames of diff-related types, plus XML docs for newly-public types. 2018-01-22 08:31:07 -08:00
Steve Sanderson 7c30d51be9 In tree diffs, omit trailing Continue entries and skip over unmodified subtrees 2018-01-22 01:55:10 +00:00
Steve Sanderson b021e19598 In diffing, support elements with descendants 2018-01-21 21:30:01 +00:00
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 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 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 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 34d3eb5b72 Unit tests for Renderer 2018-01-09 17:21:50 +00:00
Steve Sanderson 07e31c6318 Unit tests relating to Renderer GC behavior 2018-01-09 15:08:27 +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
Steve Sanderson dfd6c4a1c2 Begin E2E testing for BasicTestApp and component rendering in browser 2018-01-04 17:35:58 +00:00
Steve Sanderson ce04fde7bd Begin adding BasicTestApp for more E2E tests 2018-01-04 15:37:32 +00:00
Steve Sanderson 5e25ab16a2 Add unit tests for UITreeBuilder 2018-01-04 15:25:14 +00:00
Steve Sanderson 04064f983c Add test to more explicitly cover both 'params array' and 'generics'-style interop APIs 2017-12-15 19:41:20 +00:00
Steve Sanderson 09eccb52c5 Remove old marshalled-interop API and update MonoSanity sample to use newer API 2017-12-15 19:16:15 +00:00
Steve Sanderson fe6105a902 Support JS invocations that return undefined 2017-12-15 11:40:43 +00:00
Steve Sanderson 67f7559950 On exception when calling JS from .NET, return JS stack trace to .NET invoker 2017-12-15 11:05:28 +00:00
Steve Sanderson 6eede7b109 Low-level MonoSanity tests for invoking JS from .NET code 2017-12-15 10:57:44 +00:00
Steve Sanderson c72f9a1977 Simplify in-memory file provider usage by initializing with byte[], not Stream 2017-12-14 15:48:01 +00:00