filterItem method

void filterItem(
  1. BuildContext context
)

Implementation

void filterItem(BuildContext context) {
  showModalBottomSheet(
      context: context,
      elevation: 4,
      backgroundColor: AppColors.white,
      shape: const RoundedRectangleBorder(
        borderRadius: BorderRadius.vertical(
          top: Radius.circular(20),
        ),
      ),
      clipBehavior: Clip.antiAliasWithSaveLayer,
      enableDrag: true,
      builder: (context) {
        return StatefulBuilder(
            builder: (BuildContext context, StateSetter setState) {
          return Form(
              key: controller.formKey,
              // autovalidate: controller.autovalidate.value,
              child: Container(
                  padding: const EdgeInsets.only(
                      left: 30, right: 30, top: 15, bottom: 15),
                  child: Column(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Row(
                        crossAxisAlignment: CrossAxisAlignment.center,
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: [
                          Container(),
                          const CustomText(
                            text: Strings.filterBy,
                            font: Dimens.fontSize16,
                            fntweight: FontWeight.w700,
                          ),
                          CustomInkwellWidget(
                              onTap: () {
                                Navigator.pop(context);
                                // controller.autovalidate(false);
                              },
                              child: const Icon(
                                Icons.close,
                                color: AppColors.borderColor,
                              ))
                        ],
                      ),
                      verticalSpaceMedium,
                      DropdownWidget(
                        currentItem: controller.availability,
                        items: controller.availabilityList,
                        title: Strings.itemAvailability,
                        itemCallBack: (value) => setState(() {
                          controller.availability = value;
                        }),
                        validator: (value) =>
                            value == null ? Strings.fieldCantBeEmpty : null,
                      ),
                      verticalSpaceSmall,
                      DropdownWidget(
                        currentItem: controller.price,
                        items: controller.priceList,
                        title: Strings.storeCategory,
                        itemCallBack: (value) => setState(() {
                          controller.price = value;
                        }),
                        validator: (value) =>
                            value == null ? Strings.fieldCantBeEmpty : null,
                      ),
                      verticalSpaceSmall,
                      verticalSpaceSmall,
                      Obx(() => Container(
                          margin: const EdgeInsets.symmetric(vertical: (20)),
                          child: CustomElevatedButton(
                            onPressed: () => controller.filterShopItems(
                                context, controller.availability),
                            minWidth: Get.width,
                            title: Strings.filter,
                            isBusy: controller.isLoading.value,
                            textStyle: TextStyle(color: AppColors.black),
                            buttonColor: AppColors.activButtonColor,
                          )))
                    ],
                  )));
        });
      });
  // .whenComplete(() => controller.autovalidate(true));
}