From 258e107e1b3d97c976cc2357fa8dac9bb0fc2fb6 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Sun, 14 Nov 2021 10:40:44 +0200 Subject: [PATCH] fix cart order page --- .../screens/cart-page/cart-order-page.dart | 81 ++++++++++--------- .../pharmacies/widgets/ProductOrderItem.dart | 11 +-- 2 files changed, 47 insertions(+), 45 deletions(-) diff --git a/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart b/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart index 593a8660..c50399f8 100644 --- a/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart +++ b/lib/pages/pharmacies/screens/cart-page/cart-order-page.dart @@ -91,46 +91,47 @@ class _CartOrderPageState extends State { endIndent: 0, ), Container( - child: Column( - children: [ - ...List.generate( - model.cartResponse.shoppingCarts != null - ? model.cartResponse.shoppingCarts.length - : 0, - (index) => ProductOrderItem( - model.cartResponse - .shoppingCarts[index], () async { - GifLoaderDialogUtils.showMyDialog( - context); - await model.changeProductQuantity(model - .cartResponse.shoppingCarts[index]); - if (model.state != ViewState.Error) { - // appScaffold.appBar.badgeUpdater( - // '${value.quantityCount ?? 0}'); - } - if (model.state == - ViewState.ErrorLocal) { - Utils.showErrorToast(model.error); - } - GifLoaderDialogUtils.hideDialog( - context); - }, () async { - GifLoaderDialogUtils.showMyDialog( - context); - await model - .deleteProduct(model.cartResponse - .shoppingCarts[index]) - .then((value) { - if (model.state == - ViewState.ErrorLocal) { - Utils.showErrorToast(model.error); - } - GifLoaderDialogUtils.hideDialog( - context); - }); - },model: model,),) - ], - ), + child: ListView.builder( + itemCount: + model.cartResponse.shoppingCarts.length, + scrollDirection: Axis.vertical, + shrinkWrap: true, + physics: const AlwaysScrollableScrollPhysics (), + itemBuilder: (context, index) { + return ProductOrderItem( + item:model.cartResponse + .shoppingCarts[index], + changeCartItems:() async { + GifLoaderDialogUtils.showMyDialog( + context); + await model.changeProductQuantity(model + .cartResponse.shoppingCarts[index]); + if (model.state != ViewState.Error) { + } + if (model.state == + ViewState.ErrorLocal) { + Utils.showErrorToast(model.error); + } + GifLoaderDialogUtils.hideDialog( + context); + }, + + deleteCartItems:() async { + GifLoaderDialogUtils.showMyDialog( + context); + await model + .deleteProduct(model.cartResponse + .shoppingCarts[index]) + .then((value) { + if (model.state == + ViewState.ErrorLocal) { + Utils.showErrorToast(model.error); + } + GifLoaderDialogUtils.hideDialog( + context); + }); + },model: model,); + }), ), const Divider( color: Color(0xFFD6D6D6), diff --git a/lib/pages/pharmacies/widgets/ProductOrderItem.dart b/lib/pages/pharmacies/widgets/ProductOrderItem.dart index 4301f3cf..a49c1273 100644 --- a/lib/pages/pharmacies/widgets/ProductOrderItem.dart +++ b/lib/pages/pharmacies/widgets/ProductOrderItem.dart @@ -15,8 +15,8 @@ class ProductOrderItem extends StatefulWidget { final VoidCallback deleteCartItems; final OrderPreviewViewModel model; - ProductOrderItem(this.item, this.changeCartItems, this.deleteCartItems, - {this.model}); + ProductOrderItem({this.item, this.changeCartItems, this.deleteCartItems, + this.model}); @override _ProductOrderItemState createState() => _ProductOrderItemState(); @@ -28,14 +28,15 @@ class _ProductOrderItemState extends State { @override void initState() { - _quantityController.text = "${widget.item.quantity}"; - _totalPrice = - "${(widget.item.product.price * widget.item.quantity).toStringAsFixed(2)}"; + super.initState(); } @override Widget build(BuildContext context) { + _quantityController.text = "${widget.item.quantity}"; + _totalPrice = + "${(widget.item.product.price * widget.item.quantity).toStringAsFixed(2)}"; ProjectViewModel projectProvider = Provider.of(context); return Column(