Hey there,
I've started implementing Differ in our app to drive changes to our TableView.
As our app needs to support 10.15+, we cannot use the native DiffableSource implementation.
So using extendingDiff and patch, I realized that the current AppKit extension that applies the patch to the NSTableView is not using the reloadData(forRowIndexes: IndexSet, columnIndexes: IndexSet) when changes are applicable to a single row.
Here's our patch description:
EmailList DiffPatch [D(4), I(4,<Ocean.EmailListSource: 0x600002d323c0>)]
Why is this important?
By using Delete and Insert, if the selected row was 4, then it is automatically deselected.
This behavior, instead of using reloadDate(forRow...) makes for a pretty bad UX in our case.
Any suggestions on how to circumvent that? Thanks
Hey there,
I've started implementing Differ in our app to drive changes to our TableView.
As our app needs to support 10.15+, we cannot use the native DiffableSource implementation.
So using extendingDiff and patch, I realized that the current AppKit extension that applies the patch to the
NSTableViewis not using thereloadData(forRowIndexes: IndexSet, columnIndexes: IndexSet)when changes are applicable to a single row.Here's our patch description:
Why is this important?
By using
DeleteandInsert, if the selected row was 4, then it is automatically deselected.This behavior, instead of using
reloadDate(forRow...) makes for a pretty bad UX in our case.Any suggestions on how to circumvent that? Thanks