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