Recently I found one issue related to on click collapse function on Actions tables.
If we look at code in plugins/CoreHome/datatable.js for collapse function:
// we add an attribute parent that contains the ID of all the parent categories
// this ID is used when collapsing a parent row, it searches for all children rows
// which 'parent' attribute's value contains the collapsed row ID
return self.parentAttributeParent + ' ' + self.parentId;
For example, parent row id=166 and one of the children rows of this parent row id =66.
When we click on row with id=66 to collapse all its children, as its siblings parent id contains 66 (actually it is 166), so it is collapsing its siblings as well along with its children. This was happened in my case only, by debugging js code, I came to know that below piece of code making the issue:
if(parents.indexOf(idSubTable) >= 0
|| parents.indexOf('subDataTable_'+idSubTable) >= 0)
Collapse this element
Thank you for taking a look at this long standing bug!
(In ) Fixes #2724, split parent ID list and use Array.indexOf instead of String.indexOf when collapsing datatable tree node so collapsing row w/ id '66' does not result in closing row w/ id '166'. Thanks to nsony for very descriptive bug report!