wrapWidget function

Widget wrapWidget({
  1. required int? sectionIndex,
  2. required dynamic data,
  3. required Widget renderItem(
    1. dynamic data
    ),
  4. dynamic style,
  5. required bool horizontal,
  6. required double horizontalSpacing,
  7. required double verticalSpacing,
  8. Function? onPressed,
  9. bool? simple,
  10. 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(),
      ),
    ),
  );
}