mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Fixing cursor position for filtered linked section.
Summary: In a selector table, when a selected row is filtered out of view, linked widgets should update based on the newly selected row. There were a few bugs that contributed to this wrong behavior: - Gridview wasn't subscribing to the current row id, and the row with id 'new' was being converted to the first row - Cursor was keeping track of the currently selected row id, it was hiding a problem behind the proper rowIndex - Undo/redo somehow leveraged the wrong rowId from the cursor during the position restore. The `No data` text was also changed to be more meaningful. Test Plan: Added and updated. Reviewers: georgegevoian Reviewed By: georgegevoian Differential Revision: https://phab.getgrist.com/D3937
This commit is contained in:
@@ -1233,9 +1233,11 @@ GridView.prototype.buildDom = function() {
|
||||
kd.style("width", ROW_NUMBER_WIDTH + 'px'),
|
||||
dom('div.gridview_data_row_info',
|
||||
kd.toggleClass('linked_dst', () => {
|
||||
const myRowId = row.id();
|
||||
const linkedRowId = self.linkedRowId();
|
||||
// Must ensure that linkedRowId is not null to avoid drawing on rows whose
|
||||
// row ids are null.
|
||||
return self.linkedRowId() && self.linkedRowId() === row.getRowId();
|
||||
return linkedRowId && linkedRowId === myRowId;
|
||||
})
|
||||
),
|
||||
kd.text(function() { return row._index() + 1; }),
|
||||
|
||||
Reference in New Issue
Block a user