Skip to content

Commit bdc5e66

Browse files
committed
Hide empty sections
1 parent e555411 commit bdc5e66

File tree

2 files changed

+57
-18
lines changed

2 files changed

+57
-18
lines changed

app.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ const removed_functions = document.getElementById('removed_functions');
99
const changed_types = document.getElementById('changed_types');
1010
const changed_functions = document.getElementById('changed_functions');
1111

12+
const added_div = document.getElementById('added_div');
13+
const removed_div = document.getElementById('removed_div');
14+
const changed_div = document.getElementById('changed_div');
15+
const added_types_div = document.getElementById('added_types_div');
16+
const added_functions_div = document.getElementById('added_functions_div');
17+
const removed_types_div = document.getElementById('removed_types_div');
18+
const removed_functions_div = document.getElementById('removed_functions_div');
19+
const changed_types_div = document.getElementById('changed_types_div');
20+
const changed_functions_div = document.getElementById('changed_functions_div');
21+
1222
const collapsed_diff = [];
1323
for (const layer of DIFF) {
1424
const cdl = collapsed_diff.length;
@@ -292,6 +302,18 @@ function update_changed(from, to, kind) {
292302
}
293303
}
294304

305+
function set_visible_ty_fn(main, ty, fn, where) {
306+
const ty_count = Object.keys(where.types).length;
307+
const fn_count = Object.keys(where.functions).length;
308+
if (ty_count === 0 && fn_count === 0) {
309+
main.style.display = 'none';
310+
} else {
311+
main.style.display = '';
312+
ty.style.display = ty_count === 0 ? 'none' : '';
313+
fn.style.display = fn_count === 0 ? 'none' : '';
314+
}
315+
}
316+
295317
function load_diff() {
296318
div_diff.style.display = 'none';
297319
let from_idx = Number(select_from.value);
@@ -336,6 +358,11 @@ function load_diff() {
336358
extend_change_list(changed_types, diff.changed.types);
337359
extend_change_list(changed_functions, diff.changed.functions);
338360

361+
// default to showing everything, hide as needed
362+
set_visible_ty_fn(added_div, added_types_div, added_functions_div, diff.added);
363+
set_visible_ty_fn(removed_div, removed_types_div, removed_functions_div, diff.removed);
364+
set_visible_ty_fn(changed_div, changed_types_div, changed_functions_div, diff.changed);
365+
339366
div_diff.style.display = '';
340367
}
341368

index.html

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,38 @@ <h1>Type Language Differ</h1>
8686
for="merge-layers">Show only the most recent version for a layer (?)</label>
8787
</div>
8888
<div id="div_diff" class="diff">
89-
<div class="added">
90-
<h2>Added <button onclick="toggle_expand(event)">Expand/collapse all</button></h2>
91-
<h3>Types</h3>
92-
<ul id="added_types"></ul>
93-
<h3>Functions</h3>
94-
<ul id="added_functions"></ul>
89+
<div id="added_div" class="added">
90+
<h2>Added</h2>
91+
<div id="added_types_div">
92+
<h3>Types <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
93+
<ul id="added_types"></ul>
94+
</div>
95+
<div id="added_functions_div">
96+
<h3>Functions <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
97+
<ul id="added_functions"></ul>
98+
</div>
9599
</div>
96-
<div class="removed">
97-
<h2>Removed <button onclick="toggle_expand(event)">Expand/collapse all</button></h2>
98-
<h3>Types</h3>
99-
<ul id="removed_types"></ul>
100-
<h3>Functions</h3>
101-
<ul id="removed_functions"></ul>
100+
<div id="removed_div" class="removed">
101+
<h2>Removed</h2>
102+
<div id="removed_types_div">
103+
<h3>Types <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
104+
<ul id="removed_types"></ul>
105+
</div>
106+
<div id="removed_functions_div">
107+
<h3>Functions <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
108+
<ul id="removed_functions"></ul>
109+
</div>
102110
</div>
103-
<div class="changed">
104-
<h2>Changed <button onclick="toggle_expand(event)">Expand/collapse all</button></h2>
105-
<h3>Types</h3>
106-
<ul id="changed_types"></ul>
107-
<h3>Functions</h3>
108-
<ul id="changed_functions"></ul>
111+
<div id="changed_div" class="changed">
112+
<h2>Changed</h2>
113+
<div id="changed_types_div">
114+
<h3>Types <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
115+
<ul id="changed_types"></ul>
116+
</div>
117+
<div id="changed_functions_div">
118+
<h3>Functions <button onclick="toggle_expand(event)">Expand/collapse all</button></h3>
119+
<ul id="changed_functions"></ul>
120+
</div>
109121
</div>
110122
</div>
111123
</main>

0 commit comments

Comments
 (0)