[DEV] Added Custom Chip Selector
This commit is contained in:
@@ -37,6 +37,7 @@ class AstromicSelectors {
|
||||
void Function(List<T> selectedItems)? onChanged,
|
||||
//
|
||||
AstromicSelectorConfiguration? configuration,
|
||||
bool isCustom = false,
|
||||
//
|
||||
double? itemSpacing = 4,
|
||||
double? runSpacing = 8,
|
||||
@@ -49,18 +50,36 @@ class AstromicSelectors {
|
||||
required List<(T item, bool isEnabled)> items,
|
||||
required Widget Function(T item, {bool isSelected, VoidCallback? onTap, VoidCallback? onClearTapped}) itemBuilder,
|
||||
required Widget Function(T item) disabledItemBuilder,
|
||||
}) =>
|
||||
AstromicChipSelector(
|
||||
initialSelectedValues: initialSelectedValues,
|
||||
onChanged: onChanged,
|
||||
//
|
||||
configuration: configuration,
|
||||
//
|
||||
itemSpacing: itemSpacing,
|
||||
runSpacing: runSpacing,
|
||||
//
|
||||
items: items,
|
||||
itemBuilder: itemBuilder,
|
||||
disabledItemBuilder: disabledItemBuilder,
|
||||
);
|
||||
Widget Function(List<Widget> items)? groupBuilder,
|
||||
}) {
|
||||
assert(
|
||||
(!isCustom || groupBuilder != null),
|
||||
"You have to provide the group builder in a custom constructor.",
|
||||
);
|
||||
return isCustom
|
||||
? AstromicChipSelector.custom(
|
||||
initialSelectedValues: initialSelectedValues,
|
||||
onChanged: onChanged,
|
||||
//
|
||||
configuration: configuration,
|
||||
//
|
||||
items: items,
|
||||
itemBuilder: itemBuilder,
|
||||
disabledItemBuilder: disabledItemBuilder,
|
||||
groupBuilder: groupBuilder!,
|
||||
)
|
||||
: AstromicChipSelector(
|
||||
initialSelectedValues: initialSelectedValues,
|
||||
onChanged: onChanged,
|
||||
//
|
||||
configuration: configuration,
|
||||
//
|
||||
itemSpacing: itemSpacing,
|
||||
runSpacing: runSpacing,
|
||||
//
|
||||
items: items,
|
||||
itemBuilder: itemBuilder,
|
||||
disabledItemBuilder: disabledItemBuilder,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user