Commit Graph

184 Commits

Author SHA1 Message Date
Daniel Roth 4a9d75e2b5 Add third party notices file 2018-02-07 02:32:35 -08:00
Brian Allred 5da3c172b5 Make build target path platform agnostic 2018-02-07 10:27:33 +00:00
Lachlan B d9ad8eca81 update contributing.md
changed "your" to "you're"
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
Eilon Lipton c4412c9739 Add Gitter badge 2018-02-06 09:57:00 -08:00
Steve Sanderson b59e68a84d Clarify why ArrayBuilder<T> exists 2018-02-05 17:20:34 +00:00
Steve Sanderson fdd0c124a1 Convert RenderTreeEdit to a readonly struct of fields 2018-02-05 00:50:02 +00:00
Steve Sanderson 848b7dc5df Now that RenderTreeFrame is properly readonly (and because the usage is so low-level) can use fields directly 2018-02-05 00:37:03 +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 aae72c8136 In RenderTreeFrame, use explicit [FieldOffset] to shrink the struct from 40 bytes to 28 bytes (in 32-bit mode) or 32 bytes (in 64-bit mode) 2018-02-04 23:23:34 +00:00
Steve Sanderson f1332919bc Rename RenderTreeNode -> RenderTreeFrame (and correspondingly, "node" ->
"frame" everywhere)
2018-02-04 22:21:29 +00:00
Daniel Roth 4526c8c1f0 Add missing newline 2018-02-02 15:29:27 -08:00
Daniel Roth 1c7950b20a Add build and test instructions 2018-02-02 15:29:27 -08:00
Steve Sanderson 76dafa819f Mechanism for components running logic when parents change their properties 2018-01-31 16:19:01 +00:00
Steve Sanderson 1c9c74c801 In RazorCompiler, fix bug about attribute nodes having wrong sequence
numbers. Make tests explicit about sequence numbers.
2018-01-31 10:23:56 +00:00
Steve Sanderson cc053ddbbf Better validation of C# class names in RazorCompiler 2018-01-31 10:23:49 +00:00
Daniel Roth f88dd6c822 Add README.md 2018-01-30 11:03:51 -08:00
Daniel Roth 1932d6ecc2 Add contributing guide and code of conduct 2018-01-30 11:00:40 -08:00
Steve Sanderson 50a5baa872 Dispose components on removal 2018-01-30 10:00:30 +00:00
Steve Sanderson 8839a6c558 In TypeScript, regard System_Array type as generic, even though the type param refers to the entry pointer type, not the element type 2018-01-29 22:07:16 +00:00
Steve Sanderson 855d93ce67 Improve TS annotations when calling readObjectField/readStructField 2018-01-29 21:47:55 +00:00
Steve Sanderson c81d537ea3 Pass entire RenderBatch to JS side in one call 2018-01-29 21:43:49 +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 7799c36d50 Add E2E test to show adding and removing child components dynamically 2018-01-29 12:56:42 +00:00
Steve Sanderson 97d575f599 Refactor BrowserRenderer.ts to avoid tracking unnecessary child index stack 2018-01-29 12:56:41 +00:00
Steve Sanderson 7e76490844 Refactor RenderTreeDiffComputer to use more "ref local" for less array dereferencing 2018-01-29 12:56:41 +00:00
Steve Sanderson 772e3a1a44 Clean up E2E tests now elements are retained via diffing 2018-01-29 12:56:41 +00:00
Steve Sanderson 4f496f649a Add E2E test showing we can pass properties to child components and auto re-render them on change 2018-01-29 12:56:40 +00:00
Daniel Roth 5981002a40 Add LICENSE.txt 2018-01-26 16:16:25 -08: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 9f7dab3096 Better error handling when setting properties on child components 2018-01-26 10:10:06 -08:00
Steve Sanderson 3940ca8b60 For components, allow attribute values to be arbitrary objects 2018-01-26 09:54:35 -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 9dcb1c4fc4 Begin on setting properties on child components 2018-01-26 08:47:53 -08:00
Steve Sanderson 0aa164073d Rename Microsoft.Blazor.* -> Microsoft.AspNetCore.Blazor.* everywhere 2018-01-24 15:48:38 -08:00
Steve Sanderson 9e90ff3689 Rename AddComponentElement->OpenComponentElement for clarity (you have to close it too) 2018-01-24 15:26:27 -08:00
Steve Sanderson 2469558410 Preserve child component instances across renders. Move instantiation into the diffing phase. 2018-01-24 14:29:46 -08:00
Steve Sanderson 23c2816bcd Change ParentChildComponent test to use Razor. Add E2E tests showing events on child components work. 2018-01-24 11:04:30 -08:00
Steve Sanderson 2107a1927f In RazorCompiler, support temporary <c:MyComponent /> syntax 2018-01-24 10:43:23 -08:00
Steve Sanderson 04fa5f4b71 Since ArrayRange is now what the tree builder APIs expose, ArrayBuilder can be internal 2018-01-24 08:58:16 -08:00
Steve Sanderson 9da3260eb7 Avoid some struct copying during array building 2018-01-23 23:50:21 -08:00
Steve Sanderson 6e4d0dbca4 Move common resizable-array logic into shared ArrayBuilder. Replace ArraySegment with ArrayRange since Offset is never used. 2018-01-23 23:30:48 -08:00
Steve Sanderson cc2d097c99 More comments on thinking around child components and wrapper elements 2018-01-23 20:38:01 -08:00
Steve Sanderson 5d5931d3c5 Clarify comments about components needing wrapper elements 2018-01-23 17:21:45 -08:00