Skip to content

Commit b5b24c6

Browse files
committed
html/template.html: use details element for registers
1 parent 7ad4f50 commit b5b24c6

File tree

1 file changed

+24
-32
lines changed

1 file changed

+24
-32
lines changed

src/html/template.html

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
border: solid 1px #eee;
1313
margin-bottom: 5px;
1414
}
15-
.registers {
16-
display: none;
17-
}
1815
.bitfield td, .bitfield th {
1916
text-align: center;
2017
}
@@ -118,7 +115,6 @@ <h3>
118115
{{ peripheral.fields_documented }}/{{peripheral.fields_total }}
119116
fields covered.
120117
</em>
121-
<a class="toggle-registers" href="#">Toggle Registers</a>
122118
</p>
123119
<details class="register-map" id="{{ pname }}-register-map">
124120
<summary>Toggle register map</summary>
@@ -152,7 +148,8 @@ <h3>
152148
{% endfor %}
153149
</tbody></table>
154150
</details>
155-
<div class="container registers" id="{{ pname }}-registers">
151+
<details class="registers" id="{{ pname }}-registers">
152+
<summary>Toggle registers</summary>
156153
{% for register in peripheral.registers %}
157154
<div class="row">
158155
<div class="col-sm-11 register">
@@ -242,7 +239,7 @@ <h4>
242239
</div>
243240
</div>
244241
{% endfor %}
245-
</div>
242+
</details>
246243
</div>
247244
</div>
248245
{% endfor %}
@@ -252,39 +249,34 @@ <h4>
252249
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
253250

254251
<script>
255-
$('.toggle-registers').click(function(e) {
256-
$(this).parent().siblings(".registers").toggle();
257-
e.preventDefault();
258-
});
259-
$('#show-all-registers').click(function(e) {
260-
$('.registers').show();
261-
e.preventDefault();
262-
});
263-
$('#hide-all-registers').click(function(e) {
264-
$('.registers').hide();
265-
e.preventDefault();
266-
});
252+
document.getElementById('show-all-registers').addEventListener('click', e => {
253+
document.querySelectorAll('.registers').forEach(el => el.open = true)
254+
e.preventDefault()
255+
})
256+
document.getElementById('hide-all-registers').addEventListener('click', e => {
257+
document.querySelectorAll('.registers').forEach(el => el.open = false)
258+
e.preventDefault()
259+
})
267260
$('.fieldlink').click(function(e) {
268261
$(this).parents(".container").first().siblings(".fields").show();
269262
});
270263
$('.toggle-fields').click(function(e) {
271264
$(this).parents(".container").first().siblings(".fields").toggle();
272265
e.preventDefault();
273266
});
274-
if(window.location.hash && window.location.hash.includes(":")) {
275-
var hash = window.location.hash;
276-
var parts = hash.substr(1).split(":");
277-
var peripheral = parts[0];
278-
var register = parts[1];
279-
$('#' + peripheral + '-registers').show(0, function() {
280-
if(parts.length == 3) {
281-
$('#' + peripheral + '-' + register + '-fields').show(0, function() {
282-
window.location.hash = hash;
283-
});
284-
} else {
285-
window.location.hash = hash;
286-
}
287-
});
267+
if (window.location.hash?.includes(":")) {
268+
const hash = window.location.hash;
269+
const [peripheral, register, field] = hash.substr(1).split(":", 3)
270+
if (document.getElementById(`${peripheral}-registers`)) {
271+
document.getElementById(`${peripheral}-registers`).open = true
272+
}
273+
if(field) {
274+
$('#' + peripheral + '-' + register + '-fields').show(0, function() {
275+
window.location.hash = hash
276+
})
277+
} else {
278+
window.location.hash = hash
279+
}
288280
}
289281
$(function () {
290282
$('[data-toggle="popover"]').popover()

0 commit comments

Comments
 (0)