-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Key support. Implements #8232 #9850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
a22100b
Store component/element keys on RenderTreeFrame
SteveSandersonMS f876894
Add StackObjectPool, which will be useful momentarily
SteveSandersonMS 31264b9
Support keyed insertions/deletions
SteveSandersonMS 4d7d9ac
Refactor AppendDiffEntriesForRange to prepare for adding "move" logic
SteveSandersonMS f9e27c8
Handle keyed moves by writing a post-edit permutation list
SteveSandersonMS b5d1cf0
Shrink KeyedItemInfo struct
SteveSandersonMS 1d2b0d5
Apply permutations on the JS side
SteveSandersonMS f53c7ce
Include sourcemaps when building client-side Blazor apps with Referen…
SteveSandersonMS 9791ab4
Update struct length of edit frames now it's explicit layout
SteveSandersonMS 426c5b4
Tolerate clashing keys (i.e., produce a valid diff, even if suboptimal)
SteveSandersonMS 02e6829
Tolerate keys being added/removed incorrectly
SteveSandersonMS 8265369
E2E test harness for 'key'
SteveSandersonMS b004076
Some more unit test cases
SteveSandersonMS bd4782a
Invert diffing logic to prefer matching by key over sequence
SteveSandersonMS 9b74707
Make unit test cases more adversarial
SteveSandersonMS 72bc532
First actual E2E test
SteveSandersonMS a1b2327
In E2E test, verify correct preservation of components
SteveSandersonMS de7dbe3
E2E tests for simple insert/delete cases (with and without keys)
SteveSandersonMS 0a0afd8
E2E test for reordering. Also extend other tests to verify simultaneo…
SteveSandersonMS 06c6a9b
E2E test for many simultaneous changes
SteveSandersonMS d937401
Update reference sources
SteveSandersonMS 5c3efe6
CR: Avoid x = y = z
SteveSandersonMS eef7828
CR: Only use 'finally' for actual cleanup
SteveSandersonMS 09201d3
CR: Clean up RenderTreeFrame assignment
SteveSandersonMS e125109
CR: Include 'key' in RenderTreeFrame.ToString()
SteveSandersonMS c9813f1
CR: Avoid "new T()" in StackObjectPool
SteveSandersonMS 964b764
CR: Make KeyedItemInfo readonly
SteveSandersonMS 66a5615
CR: Handle change of frame type with matching keys (and sequence)
SteveSandersonMS 80f954d
CR: Add E2E test showing form + key scenarios
SteveSandersonMS 3fa9345
Preserve focus across edits
SteveSandersonMS 19239a9
Tweak E2E test case
SteveSandersonMS 9c4d46c
In client-side Blazor, prevent recursive event handler invocations
SteveSandersonMS a045b8f
Actual E2E tests for moving form elements
SteveSandersonMS File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
106 changes: 99 additions & 7 deletions
106
src/Components/Browser.JS/dist/Debug/blazor.webassembly.js
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.