Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
B
Byodv2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dio Maulana
Byodv2
Commits
33466091
Commit
33466091
authored
Oct 20, 2022
by
Jasa Digital
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
trigger refresh pada menu saat pickup time
parent
fd2ad158
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
153 additions
and
142 deletions
+153
-142
trigger_refresh_in_confirmation_page.dart
lib/bloc/trigger_refresh_in_confirmation_page.dart
+2
-2
main.dart
lib/main.dart
+1
-1
confirm_order.dart
lib/ui/confirm_order/confirm_order.dart
+3
-3
view_bill_new.dart
lib/ui/viewbill/view_bill_new.dart
+147
-136
No files found.
lib/bloc/trigger_refresh_in_confirmation_page.dart
View file @
33466091
import
'package:flutter_bloc/flutter_bloc.dart'
;
import
'package:flutter_bloc/flutter_bloc.dart'
;
// bloc ini kepaksa dibuat untuk trigger refres di confirmation page, mungkin dibutuhkan juga untuk trigger di tempat lain nantinya
// bloc ini kepaksa dibuat untuk trigger refres di confirmation page, mungkin dibutuhkan juga untuk trigger di tempat lain nantinya
class
TriggerRefresh
InConfirmationPage
extends
Cubit
<
bool
>
{
class
TriggerRefresh
extends
Cubit
<
bool
>
{
TriggerRefresh
InConfirmationPage
()
:
super
(
false
);
TriggerRefresh
()
:
super
(
false
);
void
trigger
(
bool
status
)
{
void
trigger
(
bool
status
)
{
emit
(
status
);
emit
(
status
);
...
...
lib/main.dart
View file @
33466091
...
@@ -198,7 +198,7 @@ class _MyAppState extends State<MyApp> {
...
@@ -198,7 +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:
(
_
)
=>
TriggerRefresh
InConfirmationPage
()),
BlocProvider
(
create:
(
_
)
=>
TriggerRefresh
()),
],
],
child:
MaterialApp
(
child:
MaterialApp
(
title:
(
widget
.
title
==
null
)
?
defaultTitle
:
widget
.
title
,
title:
(
widget
.
title
==
null
)
?
defaultTitle
:
widget
.
title
,
...
...
lib/ui/confirm_order/confirm_order.dart
View file @
33466091
...
@@ -45,7 +45,7 @@ class CoreConfirm extends StatelessWidget {
...
@@ -45,7 +45,7 @@ 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
<
TriggerRefresh
InConfirmationPage
,
bool
>(
return
BlocBuilder
<
TriggerRefresh
,
bool
>(
builder:
(
_
,
trigger
)
{
builder:
(
_
,
trigger
)
{
return
BlocBuilder
<
OrdersBloc
,
List
<
Orders
>>(
return
BlocBuilder
<
OrdersBloc
,
List
<
Orders
>>(
builder:
(
ctx
,
listOrders
)
{
builder:
(
ctx
,
listOrders
)
{
...
@@ -1050,7 +1050,7 @@ class _VariantOrderState extends State<VariantOrder> {
...
@@ -1050,7 +1050,7 @@ class _VariantOrderState extends State<VariantOrder> {
};
};
context
.
read
<
OrdersBloc
>().
insertData
(
insertData
);
context
.
read
<
OrdersBloc
>().
insertData
(
insertData
);
context
context
.
read
<
TriggerRefresh
InConfirmationPage
>()
.
read
<
TriggerRefresh
>()
.
trigger
(!
widget
.
trigger
);
.
trigger
(!
widget
.
trigger
);
// setState(() {});
// setState(() {});
},
},
...
@@ -1102,7 +1102,7 @@ class _VariantOrderState extends State<VariantOrder> {
...
@@ -1102,7 +1102,7 @@ class _VariantOrderState extends State<VariantOrder> {
};
};
context
.
read
<
OrdersBloc
>().
insertData
(
insertData
);
context
.
read
<
OrdersBloc
>().
insertData
(
insertData
);
context
context
.
read
<
TriggerRefresh
InConfirmationPage
>()
.
read
<
TriggerRefresh
>()
.
trigger
(!
widget
.
trigger
);
.
trigger
(!
widget
.
trigger
);
// setState(() {});
// setState(() {});
},
},
...
...
lib/ui/viewbill/view_bill_new.dart
View file @
33466091
...
@@ -25,6 +25,7 @@ import '../../bloc/branch_exist.dart';
...
@@ -25,6 +25,7 @@ import '../../bloc/branch_exist.dart';
import
'../../bloc/change_delivery_pickup.dart'
;
import
'../../bloc/change_delivery_pickup.dart'
;
import
'../../bloc/feedback_option.dart'
;
import
'../../bloc/feedback_option.dart'
;
import
'../../bloc/outlet_detail.dart'
;
import
'../../bloc/outlet_detail.dart'
;
import
'../../bloc/trigger_refresh_in_confirmation_page.dart'
;
import
'../../bloc/view_bill.dart'
;
import
'../../bloc/view_bill.dart'
;
import
'../../bloc/voucher_list.dart'
;
import
'../../bloc/voucher_list.dart'
;
import
'../../helper/logger.dart'
;
import
'../../helper/logger.dart'
;
...
@@ -1807,21 +1808,25 @@ class DeliveryPickupDetail extends StatelessWidget {
...
@@ -1807,21 +1808,25 @@ class DeliveryPickupDetail extends StatelessWidget {
const
SizedBox
(
const
SizedBox
(
height:
5
,
height:
5
,
),
),
Row
(
BlocBuilder
<
TriggerRefresh
,
bool
>(
children:
[
builder:
(
_
,
trigger
)
{
defaultText
(
return
Row
(
context
,
children:
[
"Pickup: "
,
defaultText
(
maxLines:
1
,
context
,
overFlow:
TextOverflow
.
ellipsis
,
"Pickup: "
,
),
maxLines:
1
,
defaultText
(
overFlow:
TextOverflow
.
ellipsis
,
context
,
),
getPickupTime
(),
defaultText
(
maxLines:
1
,
context
,
overFlow:
TextOverflow
.
ellipsis
,
getPickupTime
(),
),
maxLines:
1
,
],
overFlow:
TextOverflow
.
ellipsis
,
),
],
);
},
),
),
const
SizedBox
(
const
SizedBox
(
height:
5
,
height:
5
,
...
@@ -1832,133 +1837,139 @@ class DeliveryPickupDetail extends StatelessWidget {
...
@@ -1832,133 +1837,139 @@ class DeliveryPickupDetail extends StatelessWidget {
width:
12
,
width:
12
,
),
),
const
Spacer
(),
const
Spacer
(),
Column
(
BlocBuilder
<
TriggerRefresh
,
bool
>(
children:
[
builder:
(
_
,
trigger
)
{
changeOutlet
(
context
),
return
Column
(
const
SizedBox
(
children:
[
height:
5
,
changeOutlet
(
context
),
),
const
SizedBox
(
GestureDetector
(
height:
5
,
onTap:
()
{
),
showTimePicker
(
GestureDetector
(
context:
context
,
onTap:
()
{
initialTime:
timeOfDayPickup
,
showTimePicker
(
).
then
((
value
)
{
context:
context
,
if
(
value
==
null
)
{
initialTime:
timeOfDayPickup
,
return
;
).
then
((
value
)
{
}
else
{
if
(
value
==
null
)
{
void
ontapClose
()
{
return
;
Navigator
.
pop
(
context
);
}
else
{
}
void
ontapClose
()
{
Navigator
.
pop
(
context
);
}
String
closeOutlet
=
getCloseTime
();
String
closeOutlet
=
getCloseTime
();
String
hourClose
=
closeOutlet
.
split
(
':'
)[
0
];
String
hourClose
=
closeOutlet
.
split
(
':'
)[
0
];
String
minuteClose
=
closeOutlet
.
split
(
':'
)[
1
];
String
minuteClose
=
closeOutlet
.
split
(
':'
)[
1
];
String
openOutlet
=
getOpenTime
();
String
openOutlet
=
getOpenTime
();
String
hourOpen
=
openOutlet
.
split
(
':'
)[
0
];
String
hourOpen
=
openOutlet
.
split
(
':'
)[
0
];
String
minuteOpen
=
openOutlet
.
split
(
':'
)[
1
];
String
minuteOpen
=
openOutlet
.
split
(
':'
)[
1
];
// TimeOfDay timeClose = TimeOfDay(
// TimeOfDay timeClose = TimeOfDay(
// hour: int.parse(hourClose),
// hour: int.parse(hourClose),
// minute: int.parse(minuteClose),
// minute: int.parse(minuteClose),
// );
// );
var
now
=
DateTime
.
now
().
toLocal
();
var
now
=
DateTime
.
now
().
toLocal
();
var
dateNow
=
DateFormat
(
'yyyy-MM-dd'
).
format
(
now
);
var
dateNow
=
DateFormat
(
'yyyy-MM-dd'
).
format
(
now
);
String
dateTimeCloseOutletString
=
String
dateTimeCloseOutletString
=
"
$dateNow
$hourClose
:
$minuteClose
:00"
;
"
$dateNow
$hourClose
:
$minuteClose
:00"
;
String
dateTimeOpenOutletString
=
String
dateTimeOpenOutletString
=
"
$dateNow
$hourOpen
:
$minuteOpen
:00"
;
"
$dateNow
$hourOpen
:
$minuteOpen
:00"
;
DateTime
dateTimeCloseOutlet
=
DateTime
dateTimeCloseOutlet
=
DateTime
.
parse
(
dateTimeCloseOutletString
);
DateTime
.
parse
(
dateTimeCloseOutletString
);
DateTime
dateTimeOpenOutlet
=
DateTime
dateTimeOpenOutlet
=
DateTime
.
parse
(
dateTimeOpenOutletString
);
DateTime
.
parse
(
dateTimeOpenOutletString
);
DateTime
dateSelectedPickupTime
=
DateTime
(
DateTime
dateSelectedPickupTime
=
DateTime
(
now
.
year
,
now
.
year
,
now
.
month
,
now
.
day
,
value
.
hour
,
value
.
minute
);
now
.
month
,
now
.
day
,
value
.
hour
,
value
.
minute
);
final
differenceClose
=
final
differenceClose
=
dateTimeCloseOutlet
dateTimeCloseOutlet
.
difference
(
dateSelectedPickupTime
);
.
difference
(
dateSelectedPickupTime
);
final
differenceOpen
=
final
differenceOpen
=
dateSelectedPickupTime
dateSelectedPickupTime
.
difference
(
dateTimeOpenOutlet
);
.
difference
(
dateTimeOpenOutlet
);
final
differenceFromNow
=
final
differenceFromNow
=
dateSelectedPickupTime
.
difference
(
now
);
dateSelectedPickupTime
.
difference
(
now
);
if
(
differenceFromNow
.
inMinutes
<
0
)
{
if
(
differenceFromNow
.
inMinutes
<
0
)
{
buttonDialogGlobal
(
buttonDialogGlobal
(
context
,
context
,
'Informasi'
,
'Informasi'
,
'Pickup time tidak dapat dipilih pada waktu yang sudah berlalu'
,
'Pickup time tidak dapat dipilih pada waktu yang sudah berlalu'
,
'OK'
,
'OK'
,
'Close'
,
'Close'
,
ontapClose
,
ontapClose
,
ontapClose
,
ontapClose
,
isOkeButtonShow:
false
,
isOkeButtonShow:
false
,
);
);
return
;
return
;
}
}
if
(
differenceClose
.
inMinutes
<
59
)
{
if
(
differenceClose
.
inMinutes
<
59
)
{
buttonDialogGlobal
(
buttonDialogGlobal
(
context
,
context
,
'Informasi'
,
'Informasi'
,
'Pickup Hanya Bisa Dilakukan 1 Jam sebelum outlet tutup'
,
'Pickup Hanya Bisa Dilakukan 1 Jam sebelum outlet tutup'
,
'OK'
,
'OK'
,
'Close'
,
'Close'
,
ontapClose
,
ontapClose
,
ontapClose
,
ontapClose
,
isOkeButtonShow:
false
,
isOkeButtonShow:
false
,
);
);
return
;
return
;
}
}
if
(
differenceOpen
.
inMinutes
<
0
)
{
if
(
differenceOpen
.
inMinutes
<
0
)
{
buttonDialogGlobal
(
buttonDialogGlobal
(
context
,
'Informasi'
,
'Pickup Hanya Bisa Dilakukan Setelah Outlet Buka'
,
'OK'
,
'Close'
,
ontapClose
,
ontapClose
,
isOkeButtonShow:
false
,
);
return
;
}
// String timeToset = value.format(context);
final
hourString
=
value
.
hour
.
toString
().
padLeft
(
2
,
'0'
);
final
minuteString
=
value
.
minute
.
toString
().
padLeft
(
2
,
'0'
);
// String amPM = timeToset.split(' ')[1];
String
setPickup
=
"
$hourString
:
$minuteString
"
;
setPickupTime
(
setPickup
);
context
.
read
<
TriggerRefresh
>().
trigger
(!
trigger
);
context
.
read
<
ViewBillBloc
>().
getBill
();
}
});
// ketika user click OK
},
child:
Container
(
width:
98
,
height:
30
,
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
40
),
color:
(
isFromMenu
)
?
backgroundColor
:
backgroundWhite
,
border:
Border
.
all
(
color:
buttonColor
,
),
),
child:
Center
(
child:
defaultText
(
context
,
context
,
'Informasi'
,
'Pickup Time'
,
'Pickup Hanya Bisa Dilakukan Setelah Outlet Buka'
,
style:
addButton
(
'OK'
,
font:
8
,
'Close'
,
color:
buttonColor
,
ontapClose
,
),
ontapClose
,
),
isOkeButtonShow:
false
,
);
return
;
}
// String timeToset = value.format(context);
final
hourString
=
value
.
hour
.
toString
().
padLeft
(
2
,
'0'
);
final
minuteString
=
value
.
minute
.
toString
().
padLeft
(
2
,
'0'
);
// String amPM = timeToset.split(' ')[1];
String
setPickup
=
"
$hourString
:
$minuteString
"
;
setPickupTime
(
setPickup
);
context
.
read
<
ViewBillBloc
>().
getBill
();
}
});
// ketika user click OK
},
child:
Container
(
width:
98
,
height:
30
,
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
40
),
color:
(
isFromMenu
)
?
backgroundColor
:
backgroundWhite
,
border:
Border
.
all
(
color:
buttonColor
,
),
),
child:
Center
(
child:
defaultText
(
context
,
'Pickup Time'
,
style:
addButton
(
font:
8
,
color:
buttonColor
,
),
),
),
),
),
),
),
const
SizedBox
(
)
,
height:
5
,
const
SizedBox
(
),
height:
5
,
detailOutlet
(
context
)
,
)
,
]
,
detailOutlet
(
context
),
);
]
,
}
,
)
)
],
],
);
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment