Skip to content

Commit 23dad86

Browse files
committed
fix collapse
1 parent 85f8289 commit 23dad86

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

SharedProject/Core/ReportGenerator/ReportGeneratorUtil.cs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,7 @@ public string ProcessUnifiedHtml(string htmlForProcessing, string reportOutputFo
928928
var outerHtml = doc.DocumentNode.OuterHtml;
929929
var htmlSb = new StringBuilder(outerHtml);
930930
FixGroupingMax(htmlSb);
931+
FixCollapse(htmlSb);
931932
932933
var assembliesSearch = "var assemblies = [";
933934
var startIndex = outerHtml.IndexOf(assembliesSearch) + assembliesSearch.Length - 1;
@@ -1555,6 +1556,53 @@ private void PreventBrowserHistory(StringBuilder documentStringBuilder)
15551556
@"{key:""onDonBeforeUnlodad"",value: function(){}},");
15561557
}
15571558

1559+
private void FixCollapse(StringBuilder documentStringBuilder)
1560+
{
1561+
documentStringBuilder.Replace(
1562+
@"{key:""saveCollapseState"",value:function(){var e=this;this.settings.collapseStates=[],function t(n){for(var r=0;r<n.length;r++)e.settings.collapseStates.push(n[r].collapsed),t(n[r].subElements)}(this.codeElements)}},{key:""restoreCollapseState"",value:function(){var e=this,t=0;!function n(r){for(var i=0;i<r.length;i++)e.settings.collapseStates.length>t&&(r[i].collapsed=e.settings.collapseStates[t]),t++,n(r[i].subElements)}(this.codeElements)}}",
1563+
@"{
1564+
key:""saveCollapseState"",
1565+
value:function(){
1566+
var e=this;
1567+
this.settings.collapseStates=[];
1568+
function t(level,n){
1569+
for(var r=0;r<n.length;r++){
1570+
console.log(n[r].name);
1571+
1572+
e.settings.collapseStates.push(n[r].name + ':' + level.toString() + ':' + n[r].collapsed.toString())
1573+
t(level+1,n[r].subElements)
1574+
}
1575+
}
1576+
t(0,this.codeElements);
1577+
}
1578+
},{
1579+
key:""restoreCollapseState"",
1580+
value:function(){
1581+
var e=this;
1582+
var collapsedStates = e.settings.collapseStates;
1583+
function n(level,r){
1584+
for(var i=0;i<r.length;i++){
1585+
var codeElement = r[i];
1586+
for(var j=0;j<collapsedStates.length;j++){
1587+
var collapsedState = collapsedStates[j];
1588+
var parts = collapsedState.split(':');
1589+
var name = parts[0];
1590+
var stateLevel = parts[1];
1591+
var isCollapsed = (parts[2] === 'true');
1592+
if(name == codeElement.name && stateLevel == level.toString()){
1593+
codeElement.collapsed = isCollapsed;
1594+
break;
1595+
}
1596+
}
1597+
n(level + 1, r[i].subElements);// conditional on collapsed ?
1598+
1599+
}
1600+
}
1601+
n(0,this.codeElements);
1602+
}
1603+
}");
1604+
}
1605+
15581606
private void FixGroupingMax(StringBuilder documentStringBuilder)
15591607
{
15601608
documentStringBuilder.Replace(

0 commit comments

Comments
 (0)