Any way to force a hierarchical detail (such as Project structure) to be expanded always?
Is there any way to have a hierarchical detail such as the Project Structure to be expanded always? Or a way to programmatically expand all nodes or collapse all nodes?
Like
Hello Ryan,
That is not possible to do with our out of the box functionality, but you can try implementing the following code:
prepareResponseCollection: function(collection) {
var expandedHierarchyLevels = [];
this.callParent(arguments);
collection.each(function(item) {
item.id = item.get(item.primaryColumnName);
expandedHierarchyLevels.push(item.get("Id"));
});
this.set("ExpandedLevelsByDefault", expandedHierarchyLevels);
this.expandDefaultHierarchyLevels();
},
onRender: function() {
this.callParent(arguments);
this.expandDefaultHierarchyLevelsAfterRender();
},
// Needed to expand the elements in the Separate Mode
expandDefaultHierarchyLevelsAfterRender: function() {
var grid = this.getCurrentGrid();
if (Ext.isEmpty(grid)) {
return;
}
var expandedHierarchyLevels = this.get("ExpandedLevelsByDefault");
expandedHierarchyLevels.forEach(function(item) {
grid.toggleHierarchyFolding(item);
});
},
// Needed to expand the elements in the Combined Mode when selecting a new record
expandDefaultHierarchyLevels: function() {
var grid = this.getCurrentGrid();
if (Ext.isEmpty(grid)) {
return;
}
var expandedHierarchyLevels = this.get("ExpandedLevelsByDefault");
expandedHierarchyLevels.forEach(function(item) {
grid.addExpandHierarchyLevel(item);
});
},
Best regards,
Dariy