showAsyncOptionsDialog<T extends SelectOption> function

Future<List<T>?> showAsyncOptionsDialog<T extends SelectOption>(
  1. BuildContext context, {
  2. required Future<List<T>> getOptions(),
  3. List<String> initialSelection = const [],
  4. bool allowMultipleSelection = false,
  5. bool searchInput = false,
  6. String? title,
  7. String? acceptText,
  8. String? cancelText,
  9. bool useMaxHeight = false,
})

Implementation

Future<List<T>?> showAsyncOptionsDialog<T extends SelectOption>(
  BuildContext context, {
  required Future<List<T>> Function() getOptions,
  List<String> initialSelection = const [],
  bool allowMultipleSelection = false,
  bool searchInput = false,
  String? title,
  String? acceptText,
  String? cancelText,
  bool useMaxHeight = false,
}) async {
  acceptText ??= strings.acceptButtonText;
  cancelText ??= strings.cancelButtonText;
  final options = await showAsyncProgressKDialog(
    context,
    doProcess: getOptions,
  );

  if (options == null || options.isEmpty) return null;
  if (!context.mounted) return null;

  return await showBasicOptionsKDialog(
    context,
    options: options,
    initialSelection: initialSelection,
    allowMultipleSelection: allowMultipleSelection,
    searchInput: searchInput,
    title: title,
    acceptText: acceptText,
    cancelText: cancelText,
    useMaxHeight: useMaxHeight,
  );
}