Problem
fillRange → detectAndFill and pasteFromClipboard → applyCellPaste only write pending cell values (setPendingValue). Neither path ever calls onEditCommit, so a grid whose data lives in external state (Redux/zustand/server) gets nothing: the fill/paste appears to work visually via pending values but the real rows never change, and getAllPendingChanges() retains the values indefinitely.
Repro
enableFillHandle: true, enableClipboard: true, onEditCommit routing to an external store. Fill a range or paste a block → onEditCommit never fires.
Workaround
Listen to state:change, defer one render (pending state is React-controlled and reads stale synchronously — see separate issue), then call commitAllPending() manually, guarded against active single-cell edits.
Suggested fix
Fill and paste should commit through the same pipeline as Enter on a cell editor — one onEditCommit batch per gesture.
Versions: yable-react 0.10.4 / yable-core 0.9.0.
Problem
fillRange→detectAndFillandpasteFromClipboard→applyCellPasteonly write pending cell values (setPendingValue). Neither path ever callsonEditCommit, so a grid whose data lives in external state (Redux/zustand/server) gets nothing: the fill/paste appears to work visually via pending values but the real rows never change, andgetAllPendingChanges()retains the values indefinitely.Repro
enableFillHandle: true,enableClipboard: true,onEditCommitrouting to an external store. Fill a range or paste a block →onEditCommitnever fires.Workaround
Listen to
state:change, defer one render (pending state is React-controlled and reads stale synchronously — see separate issue), then callcommitAllPending()manually, guarded against active single-cell edits.Suggested fix
Fill and paste should commit through the same pipeline as Enter on a cell editor — one
onEditCommitbatch per gesture.Versions: yable-react 0.10.4 / yable-core 0.9.0.