Open martindufort opened 2 years ago
Hi Martin :wave: We should really coalesce that delete then insert of the same row into a reload. There's no workaround, but I'd warmly accept a PR 😄
I've not had much time to work on this library lately, so I won't make promises about when I might get to fixing this.
Hey Tony,
I was able to quickly patch the Diff+AppKit.swift
file to look for our use case and issue a reload
.
However that patch is far away from being usable in the real world. I would need to further understand the internal mechanics of a Patch
structure to provide a usable PR for you to review.
It's on my task list however, and like you 😃, it will take sometime to surface. Let's keep this issue open until I come up with something.
Sounds good?
Of course! I'd be happy for any contribution/help, whenever it can be given. Thanks for thinking about the problem.
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 thereloadData(forRowIndexes: IndexSet, columnIndexes: IndexSet)
when changes are applicable to a single row.Here's our patch description:
Why is this important?
By using
Delete
andInsert
, if the selected row was 4, then it is automatically deselected. This behavior, instead of usingreloadDate(forRow...
) makes for a pretty bad UX in our case.Any suggestions on how to circumvent that? Thanks