searchableList static method
KeyBindings
searchableList({
- required void onUp(),
- required void onDown(),
- required void onSearchToggle(),
- required TextInputBuffer searchBuffer,
- required bool isSearchEnabled(),
- void onSearchInput()?,
- void onToggle()?,
- bool hasMultiSelect = false,
- KeyActionResult onConfirm()?,
- void onCancel()?,
Creates searchable list bindings: navigation + search toggle + conditional text input + prompt.
Implementation
static KeyBindings searchableList({
required void Function() onUp,
required void Function() onDown,
required void Function() onSearchToggle,
required TextInputBuffer searchBuffer,
required bool Function() isSearchEnabled,
void Function()? onSearchInput,
void Function()? onToggle,
bool hasMultiSelect = false,
KeyActionResult Function()? onConfirm,
void Function()? onCancel,
}) {
var bindings = verticalNavigation(onUp: onUp, onDown: onDown) +
searchToggle(onToggle: onSearchToggle) +
conditionalTextInput(
buffer: searchBuffer,
isEnabled: isSearchEnabled,
onInput: onSearchInput,
);
if (hasMultiSelect && onToggle != null) {
bindings = bindings +
conditionalToggle(
isEnabled: () => true,
onToggle: onToggle,
);
}
return bindings +
confirm(onConfirm: onConfirm) +
cancel(onCancel: onCancel);
}