You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello !
We worked with Dgrid-0.3 plus an integration layer for several years and I am currently preparing the upgrade to the lastest Dgrid.
I have the case of an OnDemandGrid that results from declare([MyOnDemanGrid, ColumnHider, ColumnResizer, CompoundColumns, ColumnSet, Keyboard, Editor, DijitRegistry], {...})
where MyOnDemanGrid results from declare([OnDemandGrid, Selector, MouseOverEvents, ProgressDialog], {...}).
This grid instance holds 2 sets of columns. In boths sets, columns may be sortable or not.
When the header of a sortable column is clicked, the sort arrow must update.
In our case, the retrieval of the sort arrow node relies on CompoundColumns_findSortArrowParent(field) because the "this._sortNode" is null.
The issue I encounter :
When I click the header label from the second column set, such a node is not found. Debugging CompoundColumns_findSortArrowParent(field),
I noted that the node search is constrained by spacerRow.contains(parent) where spacerRow is the 1st '.dgrid-spacer-row' element. But our case fails because 'parent' belongs to the 2nd spacerRow. PROBLEM.
The way I solved this issue temporary:
lang.extend(CompoundColumns, {
_findSortArrowParent: function(field) {
// dgrid/CompoundColumns searches for 'parent' in the first '.dgrid-spacer-row' element only
// while it exists as many '.dgrid-spacer-row' elements as compound column sets
var parent = this.inherited("_findSortArrowParent", arguments); // Grid
if (parent) {
var allSpacerRows = query('.dgrid-spacer-row', this.headerNode);
var someSpacerRowContainsParent = allSpacerRows.some(function(row) {
return row.contains(parent);
});
if(someSpacerRowContainsParent) {
var columnId = parent.columnId;
var nodes = query('.dgrid-column-' + columnId, this.headerNode);
return nodes[nodes.length - 1];
}
}
}
});
One more issue (I did not try to correct it) : The presence of a given data column should not be required to be unique in a grid. Sorting any column instance should be reflected on the sort icon of each of its "clones".
Thanks for your attention.
Claude
The text was updated successfully, but these errors were encountered:
Hello !
We worked with Dgrid-0.3 plus an integration layer for several years and I am currently preparing the upgrade to the lastest Dgrid.
I have the case of an OnDemandGrid that results from declare([MyOnDemanGrid, ColumnHider, ColumnResizer, CompoundColumns, ColumnSet, Keyboard, Editor, DijitRegistry], {...})
where MyOnDemanGrid results from declare([OnDemandGrid, Selector, MouseOverEvents, ProgressDialog], {...}).
This grid instance holds 2 sets of columns. In boths sets, columns may be sortable or not.
When the header of a sortable column is clicked, the sort arrow must update.
In our case, the retrieval of the sort arrow node relies on CompoundColumns_findSortArrowParent(field) because the "this._sortNode" is null.
The issue I encounter :
When I click the header label from the second column set, such a node is not found. Debugging CompoundColumns_findSortArrowParent(field),
I noted that the node search is constrained by spacerRow.contains(parent) where spacerRow is the 1st '.dgrid-spacer-row' element. But our case fails because 'parent' belongs to the 2nd spacerRow. PROBLEM.
The way I solved this issue temporary:
One more issue (I did not try to correct it) : The presence of a given data column should not be required to be unique in a grid. Sorting any column instance should be reflected on the sort icon of each of its "clones".
Thanks for your attention.
Claude
The text was updated successfully, but these errors were encountered: