Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upEditing filtered DataTable cell impacts wrong row #8040
Comments
This comment has been minimized.
This comment has been minimized.
The issue arises when CellEditorView.applyValue passes item[DTINDEX_NAME] (index in the original source) as offset to DataProvider.setField. DataProvider.setField expects a view index and translates it to source index using this.index[offset]. Our choice is to
What do you recommend? |
This comment has been minimized.
This comment has been minimized.
I can only recommend that you wait for the fix in an upcoming release, or downgrade to a version that is unaffected. There is a cluster of issues with DataTable / CDSView / Selection indices that are all inter-related (in fact I may close this issue as a dupe). I intend to address them all soon, including much better test coverage for DataTable overall, but the release is about two months away at best guess. |
This comment has been minimized.
This comment has been minimized.
As you probably noticed, we're heavy DataTable users over here and are happy to contribute if helpful. Feel free to share your plan and we can see if a piece can be logically carved out. |
bryevdv
added
type: bug
tag: component: bokehjs
tag: widgets
labels
Jul 9, 2018
bryevdv
added this to the 1.0 milestone
Jul 9, 2018
This comment has been minimized.
This comment has been minimized.
@jburgy apologies I did not see your generous offer of help earlier. It's simply getting very hard to keep up with the volume of GH, SO, mailing list, gitter, ... inputs coming my way. If you are still interested in submitting a PR with either of your suggested solutions, I would be happy to review/test it this week, including helping write an integration test using a newly updated selenium/integration test machinery. |
This comment has been minimized.
This comment has been minimized.
@jburgy I did just now try your first suggestion above, but it did not seem to resolve the issue (unless I have misunderstood the change to be made which is quite possible). The second seems like it can't be workable out of hand, since it would seem to break sorting use cases. If you have a concrete diff that solves the issue for you I'd be keen to evaluate it. |
This comment has been minimized.
This comment has been minimized.
Actually I think the first solution does solve the issue, not sure what was going on before. WIll be adding integration tests to the linked PR tomorrow. |
jburgy commentedJun 29, 2018
ALL software version info (bokeh, python, notebook, OS, browser, any other relevant packages)
bokeh 0.13.0, python 3.6.5, macOS High Sierra 10.13.4
Description of expected behavior and the observed behavior
Editing filtered DataTable cell impacts wrong row. Impacted cell is below targeted one when rows above it are filtered (DTINDEX_NAME/index_position confusion).
Complete, minimal, self-contained example code that reproduces the issue
Increase value of a cell where index_position > current row, hit enter, and observe your new value appearing below the cell you edited.
Stack traceback and/or browser JavaScript console output
No error or warning in console.