getMainView method

  1. @override
Widget getMainView(
  1. BuildContext context,
  2. Map<String, List<Map<String, Object?>?>?> data,
  3. SearchController controller
)
override

Implementation

@override
Widget getMainView(
  BuildContext context,
  Map<String, List<Map<String, Object?>?>?> data,
  SearchController controller,
) {
  return controller.dataList.isNotEmpty
      ? Padding(
          padding: searchedListPadding ?? const EdgeInsets.all(0.0),
          child: ListView.builder(
            controller: scrollController,
            keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
            itemCount: controller.dataList.length + 1,
            itemBuilder: (BuildContext context, index) {
              if (index < controller.dataList.length &&
                  controller.dataList[index] != null) {
                return searchedListModel
                    .getLineView(controller.dataList[index]!);
              }
              if (controller.isLoadMoreRunning == true) {
                return getLoadingView();
              }
              if (controller.hasNextPage == false && index > 20) {
                return getEndOfPageView();
              }
              return const SizedBox();
            },
          ),
        )
      : getEmptyView(controller);
}