|
1073 | 1073 | return; |
1074 | 1074 | } |
1075 | 1075 |
|
1076 | | - var originalContent = null; // stash for restoring nested view |
| 1076 | + var originalNodes = null; // stash for restoring nested view |
1077 | 1077 |
|
1078 | 1078 | function collectFlatFiles(nodes, parentPath) { |
1079 | 1079 | var results = []; |
|
1205 | 1205 | function switchToFlat() { |
1206 | 1206 | if (!window.GCOVR_TREE_DATA) return; |
1207 | 1207 |
|
1208 | | - // Stash original content |
1209 | | - if (originalContent === null) { |
1210 | | - originalContent = fileList.innerHTML; |
| 1208 | + // Stash original DOM nodes |
| 1209 | + if (originalNodes === null) { |
| 1210 | + originalNodes = document.createDocumentFragment(); |
| 1211 | + while (fileList.firstChild) { |
| 1212 | + originalNodes.appendChild(fileList.firstChild); |
| 1213 | + } |
1211 | 1214 | } |
1212 | 1215 |
|
1213 | 1216 | var flatFiles = collectFlatFiles(window.GCOVR_TREE_DATA, ''); |
|
1219 | 1222 | return aVal - bVal; |
1220 | 1223 | }); |
1221 | 1224 |
|
1222 | | - fileList.innerHTML = ''; |
| 1225 | + while (fileList.firstChild) { |
| 1226 | + fileList.removeChild(fileList.firstChild); |
| 1227 | + } |
1223 | 1228 | for (var i = 0; i < flatFiles.length; i++) { |
1224 | 1229 | fileList.appendChild(buildFlatRow(flatFiles[i])); |
1225 | 1230 | } |
|
1230 | 1235 | } |
1231 | 1236 |
|
1232 | 1237 | function switchToNested() { |
1233 | | - if (originalContent !== null) { |
1234 | | - fileList.innerHTML = originalContent; |
| 1238 | + if (originalNodes !== null) { |
| 1239 | + while (fileList.firstChild) { |
| 1240 | + fileList.removeChild(fileList.firstChild); |
| 1241 | + } |
| 1242 | + fileList.appendChild(originalNodes); |
| 1243 | + originalNodes = null; |
1235 | 1244 | } |
1236 | 1245 | if (appContainer) appContainer.classList.remove('flat-mode'); |
1237 | 1246 | document.documentElement.classList.remove('early-flat-mode'); |
|
0 commit comments