popupFields method
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)),
);
}