in script.js [877:920]
function selectManagementGroup(id) {
// Clear previous selection
const prevSelected = document.querySelector('.tree-item.selected');
if (prevSelected) {
prevSelected.classList.remove('selected');
}
// Set new selection
selectedMgId = id;
// Highlight selected item
const selectedItem = document.querySelector(`.tree-item[data-id="${id}"]`);
if (selectedItem) {
selectedItem.classList.add('selected');
}
// Find the management group data
const mg = currentData.management_groups.find(mg => mg.id === id);
if (mg) {
// Set flag to prevent event triggers during form population
isUpdating = true;
// Populate the form
// Don't update ID field if it's currently focused to avoid interrupting typing
if (document.activeElement !== mgIdInput) {
mgIdInput.value = mg.id;
}
mgDisplayNameInput.value = mg.display_name;
mgParentIdSelect.value = mg.parent_id === null ? 'null' : mg.parent_id;
// Clear archetype input and render tags instead
mgArchetypesInput.value = '';
renderArchetypeTags(mg.archetypes);
mgExistsCheckbox.checked = mg.exists;
// Clear flag
isUpdating = false;
// Show the form
noSelection.style.display = 'none';
editForm.style.display = 'block';
}
}