multiSelectChipfieldFormEntry method
Implementation
Widget multiSelectChipfieldFormEntry({
String title = 'Chipfield',
String subTitle = '',
required void Function(List<String>) onChanged,
required List<String> items,
String? Function(List<String>?)? validator,
List<String>? defaultValues,
}) => formEntry(
title: title,
subTitle: subTitle,
inputWidget: MultiSelectDialogField<String>(
validator: validator,
items: items.map((item) => MultiSelectItem<String>(item, item)).toList(),
// title: Text("Animals"),
selectedColor: primaryCardColor,
separateSelectedItems: true,
selectedItemsTextStyle: subHeadingDark,
itemsTextStyle: subHeadingDark,
searchTextStyle: subHeadingDark,
decoration: BoxDecoration(
borderRadius: primaryBorderRadius,
border: Border.all(color: primaryGray, width: 0.6),
),
searchable: true,
confirmText: Text('Select', style: Theme.of(context).textTheme.bodyLarge),
cancelText: Text('Cancel', style: Theme.of(context).textTheme.bodyLarge),
dialogWidth: 800 * scalingFactor,
chipDisplay: MultiSelectChipDisplay(
items: items
.map((item) => MultiSelectItem<String>(item, item))
.toList(),
chipColor: primaryCardColor,
textStyle: subHeadingDark,
shape: RoundedRectangleBorder(
borderRadius: primaryBorderRadius,
side: const BorderSide(color: primaryGray, width: 0.6),
),
),
listType: MultiSelectListType.CHIP,
buttonIcon: const Icon(Icons.list),
buttonText: Text("Select", style: Theme.of(context).textTheme.bodyLarge),
onConfirm: onChanged,
initialValue: defaultValues ?? [],
),
);