popupFields method

PopupProps<T> popupFields(
  1. BuildContext context,
  2. string? title, {
  3. DropdownSearchPopupItemBuilder<T>? itemBuilder,
  4. IconData? icon,
  5. void onIconTap()?,
  6. Color? color,
  7. IconData? suffixIcon,
  8. void onSuffixIconTap()?,
})

Implementation

PopupProps<T> popupFields(
  BuildContext context,
  string? title, {
  DropdownSearchPopupItemBuilder<T>? itemBuilder,
  IconData? icon,
  void Function()? onIconTap,
  Color? color,
  IconData? suffixIcon,
  void Function()? onSuffixIconTap,
}) {
  var tt = "${context.translations.search} $title:".trim();
  return context.screenTier < ScreenTier.sm
      ? PopupProps.modalBottomSheet(
          constraints: const BoxConstraints.expand(),
          searchFieldProps: TextFieldProps(decoration: outlineInputStyle(context, tt, icon, onIconTap, color, suffixIcon, onSuffixIconTap, widget.decoration)),
          title: InkWell(
            onTap: () => context.pop(),
            child: Padding(
              padding: 6.allAround,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.start,
                children: [
                  const Icon(Icons.arrow_back),
                  const Gap(10),
                  context.translations.back.asText().fontSize(10),
                ],
              ).toCenter().paddingAll(8),
            ),
          ),
          modalBottomSheetProps: ModalBottomSheetProps(backgroundColor: context.colorScheme.surfaceBright),
          showSearchBox: true,
          emptyBuilder: (context, search) => emptySearch(context, search, title ?? ""),
          itemBuilder: itemBuilder,
        )
      : PopupProps.menu(
          fit: FlexFit.tight,
          showSearchBox: true,
          emptyBuilder: (context, search) => emptySearch(context, search, title ?? ""),
          itemBuilder: itemBuilder,
          searchFieldProps: TextFieldProps(decoration: outlineInputStyle(context, tt, icon, onIconTap, color, suffixIcon, onSuffixIconTap, widget.decoration)),
        );
}