attach method

  1. @override
Widget? attach(
  1. BuildContext context,
  2. ChooserViewController<T> controller
)
override

Implementation

@override
Widget? attach(BuildContext context, ChooserViewController<T> controller) {
  return Wrap(
    alignment: controller.itemAlignment,
    clipBehavior: controller.itemClipBehavior,
    crossAxisAlignment: controller.itemCrossAlignment,
    direction: controller.itemDirection,
    runAlignment: controller.itemFlowAlignment,
    runSpacing: controller.itemRunSpace,
    spacing: controller.itemSpace,
    textDirection: controller.itemTextDirection,
    verticalDirection: controller.itemVerticalDirection,
    children: List.generate(controller.size, (index) {
      return GestureDetector(
        onTap: () {
          if (onItemClick != null) {
            controller.onNotifyWithCallback(
              () => onItemClick!(context, controller.currentItem),
              index,
            );
          } else {
            controller.onNotify(index);
          }
        },
        child: AbsorbPointer(
          child: builder(context, index, controller.currentIndex),
        ),
      );
    }),
  );
}