fix wish list issue

merge-update-with-lab-changes
Mohammad Aljammal 4 years ago
parent 1c1fcb00cb
commit 9e31d497ed

@ -12,20 +12,9 @@ class WishListViewModel extends BaseViewModel{
bool hasError = false; bool hasError = false;
// Future getWishlistData() async { Future getWishlistData({isLocalLoader = false}) async {
// setState(ViewState.Busy);
// await _wishlistService.getWishlist();
// if (_wishlistService.hasError) {
// error = _wishlistService.error;
// setState(ViewState.Error);
// } else {
// setState(ViewState.Idle);
// }
// }
Future getWishlistData() async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(isLocalLoader ? ViewState.BusyLocal:ViewState.Busy);
await _wishlistService.getWishlist(); await _wishlistService.getWishlist();
if (_wishlistService.hasError) { if (_wishlistService.hasError) {
error = _wishlistService.error; error = _wishlistService.error;

@ -31,8 +31,6 @@ class OfferAndPackagesDetailState extends State<OfferAndPackagesDetail>{
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
getLanguageID();
return BaseView<PackagesViewModel>( return BaseView<PackagesViewModel>(
onModelReady: (model){ onModelReady: (model){
viewModel = model; viewModel = model;

@ -1,65 +1,39 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/wishlist_view_model.dart';
import 'package:diplomaticquarterapp/pages/pharmacies/wishlist.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/widgets/pharmacy/product_tile.dart'; import 'package:diplomaticquarterapp/widgets/pharmacy/product_tile.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/product_detail_view_model.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/wishlist_view_model.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
AppSharedPreferences sharedPref = AppSharedPreferences();
var languageID;
class ProductCheckTypeWidget extends StatefulWidget { class ProductCheckTypeWidget extends StatefulWidget {
final List<dynamic> wishlist; final WishListViewModel model;
final bool isTrue;
ProductCheckTypeWidget(this.isTrue, this.wishlist); ProductCheckTypeWidget({this.model});
@override @override
_ProductCheckTypeWidgetState createState() => _ProductCheckTypeWidgetState(); _ProductCheckTypeWidgetState createState() => _ProductCheckTypeWidgetState();
} }
class _ProductCheckTypeWidgetState extends State<ProductCheckTypeWidget> { class _ProductCheckTypeWidgetState extends State<ProductCheckTypeWidget> {
void initState() {
getLanguageID();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return widget.isTrue ProjectViewModel projectViewModel = Provider.of(context);
? ListView.builder( return ListView.builder(
itemCount: widget.wishlist.length, itemCount: widget.model.wishListList.length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return Column( return Column(
children: [ children: [
Container( Container(
child: widget.isTrue child: productTile(
? productTile( productName: projectViewModel.isArabic
productName: languageID == 'ar' ? widget.model.wishListList[index].product.namen
? widget.wishlist[index].product.namen : widget.model.wishListList[index].product.name,
: widget.wishlist[index].product.name, productPrice: widget.model.wishListList[index].subtotal,
productPrice: widget.wishlist[index].subtotal, productRate: double.parse(widget.model.wishListList[index].subtotalVatRate),
productRate: double.parse( productImage: widget.model.wishListList[index].product.images[0].src,
widget.wishlist[index].subtotalVatRate), productID: widget.model.wishListList[index].product.id,
productImage:
widget.wishlist[index].product.images[0].src,
showLine: widget.isTrue,
productID: widget.wishlist[index].product.id,
onDelete: deleteWishListItem,
)
: productTile(
productName: languageID == 'ar'
? widget.wishlist[index].product.namen
: widget.wishlist[index].product.name,
productPrice: widget.wishlist[index].subtotal,
productRate: double.parse(
widget.wishlist[index].subtotalVatRate),
productImage:
widget.wishlist[index].product.images[0].src,
showLine: widget.isTrue,
onDelete: deleteWishListItem, onDelete: deleteWishListItem,
), ),
@ -67,47 +41,18 @@ class _ProductCheckTypeWidgetState extends State<ProductCheckTypeWidget> {
Divider(height: 1, color: Colors.grey) Divider(height: 1, color: Colors.grey)
], ],
); );
}) });
: GridView.count(
crossAxisCount: 2,
children: List.generate(
widget.wishlist.length,
(index) => productTile(
productName: widget.wishlist[index].product.name,
productPrice: widget.wishlist[index].subtotal,
productRate:
double.parse(widget.wishlist[index].subtotalVatRate),
productImage:
widget.wishlist[index].product.images[0].src,
showLine: widget.isTrue,
)),
);
} }
deleteWishListItem(itemID) async { deleteWishListItem(itemID) async {
ProductDetailViewModel x = new ProductDetailViewModel(); ProductDetailViewModel x = new ProductDetailViewModel();
GifLoaderDialogUtils.showMyDialog(context); GifLoaderDialogUtils.showMyDialog(context);
await x.deletWishlistData(itemID); await x.deletWishlistData(itemID);
setState(() await widget.model.getWishlistData(isLocalLoader: true);
async{
await
//getWishlistData();
Navigator.push(context,
FadePage(page: WishlistPage(false)),
);
});
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
print("Delete");
} }
getWishlistData() async {
WishListViewModel x = new WishListViewModel();
await x.getWishlistData();
}
} }
getLanguageID() async {
languageID = await sharedPref.getString(APP_LANGUAGE);
}

@ -5,22 +5,16 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
class WishlistPage extends StatefulWidget { class WishlistPage extends StatelessWidget {
bool showBar; const WishlistPage({Key key}) : super(key: key);
WishlistPage(this.showBar);
@override
_WishlistPageState createState() => _WishlistPageState();
}
class _WishlistPageState extends State<WishlistPage> {
bool isTrue = true;
@override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<WishListViewModel>( return BaseView<WishListViewModel>(
onModelReady: (model) => model.getWishlistData(), onModelReady: (model) => model.getWishlistData(),
builder: (_, model, wi) => AppScaffold( builder: (_, model, wi) => AppScaffold(
appBarTitle: TranslationBase.of(context).wishlist, appBarTitle: TranslationBase.of(context).wishlist,
isShowAppBar: widget.showBar, isShowAppBar: true,
isShowDecPage: false, isShowDecPage: false,
isPharmacy: true, isPharmacy: true,
baseViewModel: model, baseViewModel: model,
@ -57,10 +51,8 @@ class _WishlistPageState extends State<WishlistPage> {
flex: 20, flex: 20,
child: Container( child: Container(
width: double.infinity, width: double.infinity,
height: height: MediaQuery.of(context).size.height * 0.85, //250,
MediaQuery.of(context).size.height * 0.85, //250, child: ProductCheckTypeWidget(model: model,),
child:
ProductCheckTypeWidget(isTrue, model.wishListList),
), ),
), ),
], ],
@ -70,3 +62,4 @@ class _WishlistPageState extends State<WishlistPage> {
); );
} }
} }

@ -235,9 +235,7 @@ class _ProfilePageState extends State<PharmacyProfilePage> {
onTap: () { onTap: () {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( FadePage(page: WishlistPage()));
builder: (context) =>
WishlistPage(true)));
}, },
child: Column( child: Column(
children: <Widget>[ children: <Widget>[

Loading…
Cancel
Save