Commit Graph

21 Commits

Author SHA1 Message Date
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 861154764c Introduce IComponent.SetParameters, moving parameter-setting and rerendering logic into component base class 2018-02-13 15:00:53 +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 e37e22aa27 Further renderer refactoring 2018-02-10 10:55:44 +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 b8ed7bc2c5 Track event handlers via explicit IDs rather than by index into frames
array
2018-02-08 15:31:45 +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 93f17219ea Rename OpenComponentElement -> OpenComponent for consistency 2018-02-05 00:19:44 +00:00
Steve Sanderson 1fda744770 Make RenderTreeFrame properly readonly to allow more pass-by-ref cases 2018-02-05 00:16:08 +00:00
Steve Sanderson f1332919bc Rename RenderTreeNode -> RenderTreeFrame (and correspondingly, "node" ->
"frame" everywhere)
2018-02-04 22:21:29 +00:00
Steve Sanderson 50a5baa872 Dispose components on removal 2018-01-30 10:00:30 +00:00
Steve Sanderson 55592f583b Update RendererTests to be more explicit about batch expectations 2018-01-29 20:28:38 +00:00
Steve Sanderson 080e6395cb Move to batched rendering 2018-01-29 20:16:42 +00:00
Steve Sanderson 27d0ce4da9 Begin differentiating between rendering as a new batch on in an existing batch (even though batches don't exist yet) 2018-01-29 16:47:52 +00:00
Steve Sanderson 882096755b Rerender child components when their parameters change 2018-01-26 14:25:26 -08:00
Steve Sanderson 94ad26a479 Update properties on retained child components 2018-01-26 11:58:43 -08:00
Steve Sanderson 1b4fa4781a Give attribute nodes a single object-valued value so they can be used for component properties too. 2018-01-26 09:40:48 -08:00
Steve Sanderson 0aa164073d Rename Microsoft.Blazor.* -> Microsoft.AspNetCore.Blazor.* everywhere 2018-01-24 15:48:38 -08:00