Modified behavior for checkedValue changes in DotVVM checkboxes #3
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.
I changed the behavior of the checkedValue binding for checkboxes in DotVVM (those with the checkedArrayContainsObservables binding).
When the checkbox is checked, and its checkedValue is updated, Knockout has updated the value in the checkedItems collection to keep the checkbox checked.
This doesn't work well when we use checkboxes in foreach bindings, for example, in combination with paging. When the user switches to another page, and memoization is used (the checkboxes will stay on the page, just getting the new checkedValue), we want to keep the checkedItems collection as it was, and have the checkboxes reflecting its state.
If someone needs the default Knockout behavior, they will need to replace the values in the checkedItems collection on their own (when changing the checkedValue).