* Toggle all bytecode panels at once
()
| 680 | * Toggle all bytecode panels at once |
| 681 | */ |
| 682 | function toggleAllBytecode() { |
| 683 | const buttons = document.querySelectorAll('.bytecode-toggle'); |
| 684 | if (buttons.length === 0) return; |
| 685 | |
| 686 | const someExpanded = Array.from(buttons).some(b => b.classList.contains('expanded')); |
| 687 | const expandAllBtn = document.getElementById('toggle-all-bytecode'); |
| 688 | |
| 689 | buttons.forEach(button => { |
| 690 | const isExpanded = button.classList.contains('expanded'); |
| 691 | if (someExpanded ? isExpanded : !isExpanded) { |
| 692 | toggleBytecode(button); |
| 693 | } |
| 694 | }); |
| 695 | |
| 696 | // Update the expand-all button state |
| 697 | if (expandAllBtn) { |
| 698 | expandAllBtn.classList.toggle('expanded', !someExpanded); |
| 699 | } |
| 700 | } |
| 701 | |
| 702 | // Keyboard shortcut: 'b' toggles all bytecode panels, Enter/Space activates toggle switches |
| 703 | document.addEventListener('keydown', function(e) { |
no test coverage detected
searching dependent graphs…