Dispatch patches with converted items on push/unshift/splice #73
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.
Before this PR, patches events were being dispatched with the data being added into the array pre-conversion. So if the observable array has
static get items()defined, it will correctly push converted items into the array, but dispatch a patch with the original objects instead.Because can-view-live uses the data in patches to keep list items in sync, this was causing issues with live binding.
This PR converts items to be added into the array in the mutation method shim, a pull up from the handlers for each individual array method, and now at the same level where the patches dispatch is being ordered. This ensures that any patch listener has the same data as the array itself.