invalidateItemsNodes method
void
invalidateItemsNodes({
- required Map<
Key, FocusNode> newItems, - required TvNavigationMenuSelectionEntry onSelectedItemRemoved(),
Implementation
void invalidateItemsNodes({
required Map<Key, FocusNode> newItems,
required TvNavigationMenuSelectionEntry Function() onSelectedItemRemoved,
}) {
final selectedKey = selectedEntry.key;
itemsNodes.removeWhere((key, node) {
final isRemoved = !newItems.containsKey(key);
if (isRemoved) {
node.dispose();
if (key == selectedKey) {
select(onSelectedItemRemoved());
}
}
return isRemoved;
});
newItems.forEach((key, node) => itemsNodes.putIfAbsent(key, () => node));
}