// These controls only amend the policy draft. Normal publication/review remains authoritative. let evidencePolicyEditable=false; function updateEvidencePolicyControls(){ $('evidence-policy-enabled').disabled=!evidencePolicyEditable; $('evidence-policy-downloads').disabled=!evidencePolicyEditable||!$('evidence-policy-enabled').checked; $('evidence-policy-interactions').disabled=!evidencePolicyEditable||!$('evidence-policy-enabled').checked; } function fillEvidencePolicy(p){ $('evidence-policy-enabled').checked=p.evidence?.enabled===true; $('evidence-policy-downloads').checked=p.evidence?.captureDownloads===true; $('evidence-policy-interactions').checked=p.evidence?.captureInteractions===true; updateEvidencePolicyControls(); } const fillBeforeEvidencePolicy=fill;fill=function(p){fillBeforeEvidencePolicy(p);fillEvidencePolicy(p);}; const draftBeforeEvidencePolicy=draft;draft=function(){const p=draftBeforeEvidencePolicy();p.evidence={enabled:$('evidence-policy-enabled').checked,captureDownloads:$('evidence-policy-downloads').checked,captureInteractions:$('evidence-policy-interactions').checked};return p;}; const permissionsBeforeEvidencePolicy=applyOperatorPermissions;applyOperatorPermissions=function(principal){permissionsBeforeEvidencePolicy(principal);evidencePolicyEditable=!!principal?.permissions?.includes(independentApprovalRequired?'policy.prepare':'policy.write');updateEvidencePolicyControls();}; for(const id of ['evidence-policy-enabled','evidence-policy-downloads','evidence-policy-interactions'])$(id).addEventListener('change',()=>{updateEvidencePolicyControls();updateDraftStatus();}); if(policy)fillEvidencePolicy(policy);if(currentPrincipal)applyOperatorPermissions(currentPrincipal);