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