updateKeybindings method
void
updateKeybindings()
Update keybindings based on state.
Implementation
void updateKeybindings() {
switch (_filterState) {
case FilterState.filtering:
keyMap.cursorUp.disable();
keyMap.cursorDown.disable();
keyMap.nextPage.disable();
keyMap.prevPage.disable();
keyMap.goToStart.disable();
keyMap.goToEnd.disable();
keyMap.filter.disable();
keyMap.clearFilter.disable();
keyMap.cancelWhileFiltering.enable();
keyMap.acceptWhileFiltering.enabled = filterInput.value.isNotEmpty;
keyMap.quit.disable();
keyMap.showFullHelp.disable();
keyMap.closeFullHelp.disable();
break;
default:
final hasItems = _items.isNotEmpty;
keyMap.cursorUp.enabled = hasItems;
keyMap.cursorDown.enabled = hasItems;
final hasPages = paginator.totalPages > 1;
keyMap.nextPage.enabled = hasPages;
keyMap.prevPage.enabled = hasPages;
keyMap.goToStart.enabled = hasItems;
keyMap.goToEnd.enabled = hasItems;
keyMap.filter.enabled = filteringEnabled && hasItems;
keyMap.clearFilter.enabled = _filterState == FilterState.filterApplied;
keyMap.cancelWhileFiltering.disable();
keyMap.acceptWhileFiltering.disable();
keyMap.quit.enabled = !_disableQuitKeybindings;
keyMap.showFullHelp.enable();
keyMap.closeFullHelp.enable();
break;
}
}