onItemTapped method
Handles item tap (selection/expansion)
Implementation
void onItemTapped(TSelectItem<V> item) {
// Handle hierarchical expansion
if (item.hasChildren) {
item.expanded = !item.expanded;
_syncItemStates(item);
displayItemsNotifier.value = List.from(_displayItems);
notifyListeners();
return;
}
// Handle selection
if (isMultiple) {
item.selected = !item.selected;
} else {
_clearAllSelections(_internalItems);
_clearAllSelections(_displayItems);
item.selected = true;
}
_syncItemStates(item);
displayItemsNotifier.value = List.from(_displayItems);
notifyListeners();
}