(row, which, checked)
| 527 | } |
| 528 | |
| 529 | function setFromViewChange(row, which, checked) { |
| 530 | if (!checked && (which === 'view' || which === 'viewOwn')) { |
| 531 | qsa(row, 'input[type="checkbox"]').forEach(cb => cb.checked = false); |
| 532 | } |
| 533 | const cbView = qs(row, 'input[data-cap="view"]'); |
| 534 | const cbVO = qs(row, 'input[data-cap="viewOwn"]'); |
| 535 | if (cbView && cbVO) { |
| 536 | if (cbView.checked) { |
| 537 | cbVO.checked = false; |
| 538 | cbVO.disabled = true; |
| 539 | cbVO.title = tf('full_view_supersedes_own', 'Full view supersedes own-only'); |
| 540 | } else { |
| 541 | cbVO.disabled = false; |
| 542 | cbVO.removeAttribute('title'); |
| 543 | } |
| 544 | } |
| 545 | enforceShareFolderRule(row); |
| 546 | } |
| 547 | |
| 548 | function wireRow(row) { |
| 549 | const isAdminRow = row.dataset.admin === '1'; |
no test coverage detected