Commit 16cd711c authored by Jasa Digital's avatar Jasa Digital

add trigger refresh

parent 400dfcbf
import 'package:flutter_bloc/flutter_bloc.dart';
class TriggerRefreshInConfirmationPage extends Cubit<bool> {
TriggerRefreshInConfirmationPage() : super(false);
void trigger(bool status) {
emit(status);
}
}
...@@ -33,6 +33,7 @@ import 'bloc/outlet_detail.dart'; ...@@ -33,6 +33,7 @@ import 'bloc/outlet_detail.dart';
import 'bloc/search_active.dart'; import 'bloc/search_active.dart';
import 'bloc/search_branch.dart'; import 'bloc/search_branch.dart';
import 'bloc/search_history.dart'; import 'bloc/search_history.dart';
import 'bloc/trigger_refresh_in_confirmation_page.dart';
import 'bloc/view_bill.dart'; import 'bloc/view_bill.dart';
import 'package:flutter/services.dart' as bundle_root; import 'package:flutter/services.dart' as bundle_root;
...@@ -197,6 +198,7 @@ class _MyAppState extends State<MyApp> { ...@@ -197,6 +198,7 @@ class _MyAppState extends State<MyApp> {
BlocProvider(create: (_) => AddressUser()), BlocProvider(create: (_) => AddressUser()),
BlocProvider(create: (_) => ExpandDetailOutlet()), BlocProvider(create: (_) => ExpandDetailOutlet()),
BlocProvider(create: (_) => ChangeDeliveryPickupBloc()), BlocProvider(create: (_) => ChangeDeliveryPickupBloc()),
BlocProvider(create: (_) => TriggerRefreshInConfirmationPage()),
], ],
child: MaterialApp( child: MaterialApp(
title: (widget.title == null) ? defaultTitle : widget.title, title: (widget.title == null) ? defaultTitle : widget.title,
......
...@@ -7,6 +7,7 @@ import 'package:flutter/material.dart'; ...@@ -7,6 +7,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import '../../bloc/order_bloc.dart'; import '../../bloc/order_bloc.dart';
import '../../bloc/trigger_refresh_in_confirmation_page.dart';
import '../../helper/prefs.dart'; import '../../helper/prefs.dart';
import '../../helper/widget/button_modal.dart'; import '../../helper/widget/button_modal.dart';
import '../../helper/widget/modal_input_name.dart'; import '../../helper/widget/modal_input_name.dart';
...@@ -44,6 +45,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -44,6 +45,8 @@ class CoreConfirm extends StatelessWidget {
double widthScreen = responsiveWidthScreen(context); double widthScreen = responsiveWidthScreen(context);
double widthRowForNote = double widthRowForNote =
MediaQuery.of(context).size.width - 20 - 12 - 80 - 20; MediaQuery.of(context).size.width - 20 - 12 - 80 - 20;
return BlocBuilder<TriggerRefreshInConfirmationPage, bool>(
builder: (_, trigger) {
return BlocBuilder<OrdersBloc, List<Orders>>( return BlocBuilder<OrdersBloc, List<Orders>>(
builder: (ctx, listOrders) { builder: (ctx, listOrders) {
int totalHarga = 0; int totalHarga = 0;
...@@ -89,7 +92,9 @@ class CoreConfirm extends StatelessWidget { ...@@ -89,7 +92,9 @@ class CoreConfirm extends StatelessWidget {
(listOrders[i].totalItem * listOrders[i].totalHarga); (listOrders[i].totalItem * listOrders[i].totalHarga);
// totalItemBukanOrderDetail += listOrders[i].totalItem; // totalItemBukanOrderDetail += listOrders[i].totalItem;
} else { } else {
for (int kk = 0; kk < listOrders[i].orderDetail.length; kk++) { for (int kk = 0;
kk < listOrders[i].orderDetail.length;
kk++) {
String indexWithVariant = String indexWithVariant =
'$i|$kk'; // index orderan|index order detail '$i|$kk'; // index orderan|index order detail
indexAdaVariant.add(indexWithVariant); indexAdaVariant.add(indexWithVariant);
...@@ -132,6 +137,7 @@ class CoreConfirm extends StatelessWidget { ...@@ -132,6 +137,7 @@ class CoreConfirm extends StatelessWidget {
indexAdaVariant: indexAdaVariant, indexAdaVariant: indexAdaVariant,
widthRowForNote: widthRowForNote, widthRowForNote: widthRowForNote,
listOrders: listOrders, listOrders: listOrders,
trigger: trigger,
), ),
for (int j in indexTidakAdaVariant) for (int j in indexTidakAdaVariant)
Column( Column(
...@@ -146,7 +152,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -146,7 +152,8 @@ class CoreConfirm extends StatelessWidget {
child: Row( child: Row(
crossAxisAlignment: crossAxisAlignment:
CrossAxisAlignment.center, CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment:
MainAxisAlignment.start,
children: [ children: [
(listOrders[j].imageUrl != '') (listOrders[j].imageUrl != '')
? Image( ? Image(
...@@ -178,7 +185,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -178,7 +185,8 @@ class CoreConfirm extends StatelessWidget {
context, context,
listOrders[j].namaMenu, listOrders[j].namaMenu,
maxLines: 2, maxLines: 2,
overFlow: TextOverflow.ellipsis, overFlow:
TextOverflow.ellipsis,
style: menuNameListViewBill(), style: menuNameListViewBill(),
), ),
), ),
...@@ -236,16 +244,19 @@ class CoreConfirm extends StatelessWidget { ...@@ -236,16 +244,19 @@ class CoreConfirm extends StatelessWidget {
FocusScopeNode currentFocus = FocusScopeNode currentFocus =
FocusScope.of(context); FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) { if (!currentFocus
.hasPrimaryFocus) {
currentFocus.unfocus(); currentFocus.unfocus();
} }
showModalBottomSheet( showModalBottomSheet(
backgroundColor: backgroundColor, backgroundColor:
backgroundColor,
isScrollControlled: true, isScrollControlled: true,
context: context, context: context,
builder: (context) { builder: (context) {
return NoteModalBottomSheet( return NoteModalBottomSheet(
noteController: noteController, noteController:
noteController,
initialValue: initialValue:
listOrders[j].totalItem, listOrders[j].totalItem,
orderVariants: const [], orderVariants: const [],
...@@ -270,8 +281,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -270,8 +281,8 @@ class CoreConfirm extends StatelessWidget {
idMenu: listOrders[j].id, idMenu: listOrders[j].id,
menuName: menuName:
listOrders[j].namaMenu, listOrders[j].namaMenu,
priceMemu: priceMemu: listOrders[j]
listOrders[j].satuanHarga, .satuanHarga,
imageUrl: imageUrl:
listOrders[j].imageUrl, listOrders[j].imageUrl,
); );
...@@ -305,7 +316,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -305,7 +316,8 @@ class CoreConfirm extends StatelessWidget {
child: Center( child: Center(
child: defaultText( child: defaultText(
context, context,
(listOrders[j].note != '') (listOrders[j].note !=
'')
? 'Ubah' ? 'Ubah'
: 'Catatan', : 'Catatan',
style: noteViewBill( style: noteViewBill(
...@@ -335,7 +347,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -335,7 +347,8 @@ class CoreConfirm extends StatelessWidget {
listOrders[j] listOrders[j]
.totalItem .totalItem
.toString(), .toString(),
style: amountViewBillButton(), style:
amountViewBillButton(),
), ),
), ),
), ),
...@@ -343,7 +356,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -343,7 +356,8 @@ class CoreConfirm extends StatelessWidget {
left: 0, left: 0,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
FocusScopeNode currentFocus = FocusScopeNode
currentFocus =
FocusScope.of(context); FocusScope.of(context);
if (!currentFocus if (!currentFocus
...@@ -352,21 +366,25 @@ class CoreConfirm extends StatelessWidget { ...@@ -352,21 +366,25 @@ class CoreConfirm extends StatelessWidget {
} }
Map<String, dynamic> Map<String, dynamic>
insertData = { insertData = {
'menu_id': listOrders[j].id, 'menu_id':
'menu_name': listOrders[j].id,
listOrders[j].namaMenu, 'menu_name': listOrders[j]
'initvalue': .namaMenu,
listOrders[j].totalItem - 'initvalue': listOrders[j]
.totalItem -
1, 1,
'menu_price': 'menu_price':
listOrders[j].satuanHarga, listOrders[j]
.satuanHarga,
'total_price': 'total_price':
listOrders[j].satuanHarga, listOrders[j]
.satuanHarga,
'old_order': listOrders, 'old_order': listOrders,
'image_url': 'image_url': listOrders[j]
listOrders[j].imageUrl, .imageUrl,
'order_variant': [], 'order_variant': [],
'note': listOrders[j].note, 'note':
listOrders[j].note,
}; };
context context
.read<OrdersBloc>() .read<OrdersBloc>()
...@@ -387,7 +405,8 @@ class CoreConfirm extends StatelessWidget { ...@@ -387,7 +405,8 @@ class CoreConfirm extends StatelessWidget {
right: 0, right: 0,
child: GestureDetector( child: GestureDetector(
onTap: () { onTap: () {
FocusScopeNode currentFocus = FocusScopeNode
currentFocus =
FocusScope.of(context); FocusScope.of(context);
if (!currentFocus if (!currentFocus
...@@ -396,21 +415,25 @@ class CoreConfirm extends StatelessWidget { ...@@ -396,21 +415,25 @@ class CoreConfirm extends StatelessWidget {
} }
Map<String, dynamic> Map<String, dynamic>
insertData = { insertData = {
'menu_id': listOrders[j].id, 'menu_id':
'menu_name': listOrders[j].id,
listOrders[j].namaMenu, 'menu_name': listOrders[j]
'initvalue': .namaMenu,
listOrders[j].totalItem + 'initvalue': listOrders[j]
.totalItem +
1, 1,
'menu_price': 'menu_price':
listOrders[j].satuanHarga, listOrders[j]
.satuanHarga,
'total_price': 'total_price':
listOrders[j].satuanHarga, listOrders[j]
.satuanHarga,
'old_order': listOrders, 'old_order': listOrders,
'image_url': 'image_url': listOrders[j]
listOrders[j].imageUrl, .imageUrl,
'order_variant': [], 'order_variant': [],
'note': listOrders[j].note, 'note':
listOrders[j].note,
}; };
context context
.read<OrdersBloc>() .read<OrdersBloc>()
...@@ -687,22 +710,26 @@ class CoreConfirm extends StatelessWidget { ...@@ -687,22 +710,26 @@ class CoreConfirm extends StatelessWidget {
); );
}, },
); );
},
);
} }
} }
class VariantOrder extends StatefulWidget { class VariantOrder extends StatefulWidget {
VariantOrder({ const VariantOrder({
Key? key, Key? key,
required this.i, required this.i,
required this.indexAdaVariant, required this.indexAdaVariant,
required this.widthRowForNote, required this.widthRowForNote,
required this.listOrders, required this.listOrders,
required this.trigger,
}) : super(key: key); }) : super(key: key);
var i; final String i;
final List indexAdaVariant; final List indexAdaVariant;
final double widthRowForNote; final double widthRowForNote;
final List<Orders> listOrders; final List<Orders> listOrders;
final bool trigger;
@override @override
State<VariantOrder> createState() => _VariantOrderState(); State<VariantOrder> createState() => _VariantOrderState();
...@@ -1021,7 +1048,10 @@ class _VariantOrderState extends State<VariantOrder> { ...@@ -1021,7 +1048,10 @@ class _VariantOrderState extends State<VariantOrder> {
'single_order_detail': orderDetailNow, 'single_order_detail': orderDetailNow,
}; };
context.read<OrdersBloc>().insertData(insertData); context.read<OrdersBloc>().insertData(insertData);
setState(() {}); context
.read<TriggerRefreshInConfirmationPage>()
.trigger(!widget.trigger);
// setState(() {});
}, },
child: Container( child: Container(
width: 22, width: 22,
...@@ -1070,7 +1100,10 @@ class _VariantOrderState extends State<VariantOrder> { ...@@ -1070,7 +1100,10 @@ class _VariantOrderState extends State<VariantOrder> {
'single_order_detail': orderDetailNow, 'single_order_detail': orderDetailNow,
}; };
context.read<OrdersBloc>().insertData(insertData); context.read<OrdersBloc>().insertData(insertData);
setState(() {}); context
.read<TriggerRefreshInConfirmationPage>()
.trigger(!widget.trigger);
// setState(() {});
}, },
child: Container( child: Container(
width: 22, width: 22,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment