function selectManagementGroup()

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';
    }
  }