TListControllerExpansion<T, K> extension

Extension providing expansion functionality for hierarchical lists.

Enables single and multiple item expansion with methods to:

  • Expand/collapse individual items
  • Expand/collapse all items
  • Toggle expansion states
  • Expand while setting additional state atomically
  • Query expansion status

Example:

// Expand an item
controller.expandItem(category);

// Expand an item and set additional state atomically
controller.expandItemAndSetAdditionalState(category, 'active_tab', 'details');

// Expand multiple items
controller.expandItems([category1, category2]);

// Check expansion
if (controller.hasExpansion) {
  print('Expanded: ${controller.expandedCount}');
}

// Collapse all
controller.collapseAll();
on

Properties

expandable bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Whether expansion is enabled.
no setter
expandedCount int

Available on TListController<T, K>, provided by the TListControllerExpansion extension

The number of expanded items.
no setter
expandedItems List<T>

Available on TListController<T, K>, provided by the TListControllerExpansion extension

The list of expanded items.
no setter
expandedKeys LinkedHashSet<K>

Available on TListController<T, K>, provided by the TListControllerExpansion extension

The set of expanded item keys.
no setter
expansionInfo String

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Human-readable expansion information.
no setter
hasExpansion bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Whether any items are expanded.
no setter
hasMultipleExpansion bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Whether multiple items are expanded.
no setter
isAllExpanded bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Whether all items are expanded.
no setter
isSomeExpanded bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Whether some (but not all) items are expanded.
no setter

Methods

collapseAll({Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

collapseItem(T item, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

collapseItemKey(K key, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

expandAll({Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

expandAndSetAdditionalState(T item, String additionalKey, dynamic additionalValue) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Alias for expandItemAndSetAdditionalState.
expandItem(T item, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

expandItemAndSetAdditionalState(T item, String additionalKey, dynamic additionalValue) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Expands an item and sets a key-value pair in additional state atomically.
expandItemKey(K key, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

expandItemKeyAndSetAdditionalState(K key, String additionalKey, dynamic additionalValue) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

Expands an item by key and sets a key-value pair in additional state atomically.
expandItemKeys(Iterable<K> keys, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

expandItems(Iterable<T> items, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

isItemExpanded(T item) bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

isItemKeyExpanded(K key) bool

Available on TListController<T, K>, provided by the TListControllerExpansion extension

toggleExpandAll({Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

toggleExpansion(T item, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

toggleExpansionByKey(K key, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension

updateExpansionState(LinkedHashSet<K> expandedKeys, {Map<String, dynamic>? additional}) → void

Available on TListController<T, K>, provided by the TListControllerExpansion extension