wrapWidget function
Widget
wrapWidget(
{ - required int? sectionIndex,
- required dynamic data,
- required Widget renderItem(
- dynamic data
),
- dynamic style,
- required bool horizontal,
- required double horizontalSpacing,
- required double verticalSpacing,
- Function? onPressed,
- bool? simple,
- ScrollController? sectionController,
})
Implementation
Widget wrapWidget(
{required int? sectionIndex,
required dynamic data,
required Widget Function(dynamic data) renderItem,
dynamic style,
required bool horizontal,
required double horizontalSpacing,
required double verticalSpacing,
Function? onPressed,
bool? simple,
ScrollController? sectionController}) {
return Padding(
padding: style.gridViewPadding,
child: SingleChildScrollView(
scrollDirection: horizontal ? Axis.horizontal : Axis.vertical,
controller: sectionController,
child: Wrap(
direction: horizontal ? Axis.vertical : Axis.horizontal,
spacing: horizontalSpacing,
runSpacing: verticalSpacing,
children: data.map<Widget>((itemData) {
return simple != null && simple
? renderItem(itemData)
: InkWell(
onTap: () {
if (onPressed != null) {
sectionIndex != null
? onPressed(
sectionIndex,
data.indexOf(itemData),
)
: onPressed(
data.indexOf(itemData),
); // Calls the onPressed callback when the item is tapped.;
}
},
child: renderItem(itemData),
);
}).toList(),
),
),
);
}