(row, disabled)
| 417 | }; |
| 418 | |
| 419 | function setRowDisabled(row, disabled) { |
| 420 | if (row.dataset.admin === '1') return; // admin rows stay locked |
| 421 | qsa(row, 'input[type="checkbox"]').forEach(cb => { |
| 422 | cb.disabled = disabled || cb.hasAttribute('data-hard-disabled'); |
| 423 | }); |
| 424 | row.classList.toggle('inherited-row', !!disabled); |
| 425 | const tag = row.querySelector('.inherited-tag'); |
| 426 | if (tag) tag.style.display = disabled ? 'inline-block' : 'none'; |
| 427 | } |
| 428 | |
| 429 | function resetRowIfInheritedOnly(row) { |
| 430 | if (row.dataset.admin === '1') return; |
no test coverage detected