fix #490: align vpd policy apply hierarchy

This commit is contained in:
devmrko
2026-06-26 10:26:09 +09:00
parent f39cc49021
commit 9f63adeca5
6 changed files with 170 additions and 31 deletions

View File

@@ -34,6 +34,7 @@ function syncPolicyTemplate(select) {
return;
}
const option = select.options[select.selectedIndex];
const hasTemplate = Boolean(option?.dataset.policyName);
const policyName = form.querySelector('[data-policy-template-field="policyName"]');
const functionKey = form.querySelector('[data-policy-template-field="functionKey"]');
const enabled = form.querySelector('[data-policy-template-field="enabled"]');
@@ -45,18 +46,31 @@ function syncPolicyTemplate(select) {
functionKey.value = option?.dataset.functionKey || '';
}
if (enabled) {
enabled.checked = option?.dataset.enabled === 'true';
enabled.checked = hasTemplate ? option?.dataset.enabled === 'true' : true;
}
if (updateCheck) {
updateCheck.checked = option?.dataset.updateCheck === 'true';
updateCheck.checked = hasTemplate ? option?.dataset.updateCheck === 'true' : false;
}
const selectedStatements = (option?.dataset.statementTypes || '')
const selectedStatements = (hasTemplate ? option?.dataset.statementTypes || '' : 'SELECT')
.split(',')
.map((value) => value.trim())
.filter(Boolean);
form.querySelectorAll('[data-policy-template-statement]').forEach((checkbox) => {
checkbox.checked = selectedStatements.includes(checkbox.value);
});
const preview = (name, value) => {
const target = form.querySelector(`[data-policy-template-preview="${name}"]`);
if (target) {
target.textContent = value;
}
};
preview('policyName', option?.dataset.policyName || '선택 전');
preview('functionKey', option?.dataset.functionKey || '선택 전');
preview('statementTypes', selectedStatements.join(', ') || 'SELECT');
preview(
'options',
`Enabled: ${enabled?.checked ? 'YES' : 'NO'} / Check: ${updateCheck?.checked ? 'YES' : 'NO'}`
);
}
function closeMenuGroup(group) {