@@ -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