diff --git a/assets/images/monthly_attendance.svg b/assets/images/monthly_attendance.svg
index c84a9a1..b77ccc3 100644
--- a/assets/images/monthly_attendance.svg
+++ b/assets/images/monthly_attendance.svg
@@ -7,9 +7,9 @@
-
-
-
+
+
+
diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json
index 896a365..e0b9019 100644
--- a/assets/langs/en-US.json
+++ b/assets/langs/en-US.json
@@ -284,7 +284,7 @@
"add": "Add",
"edit": "Edit",
"myProfile": "My Profile",
- "mowadhafhi": "Mowadhafhi",
+ "mowadhafhi": "Mowadhafi",
"searchAnnouncements": "Search Announcements",
"announcements": "Announcements",
"swipeRequest": "Swipe Request",
@@ -296,7 +296,7 @@
"relatedTopic": "Related Topic",
"selectTopic": "Select Topic",
"supportingDocument": "Supporting Document",
- "mowadhafhiRequest": "Mowadhafhi Request",
+ "mowadhafhiRequest": "Mowadhafi Request",
"ticketReference": "Ticket Reference",
"section": "Section",
"topic": "Topic",
diff --git a/assets/lottie/loading.json b/assets/lottie/loading.json
index 8190459..ea7bff3 100644
--- a/assets/lottie/loading.json
+++ b/assets/lottie/loading.json
@@ -1 +1 @@
-{"v":"5.8.1","fr":30,"ip":0,"op":60,"w":300,"h":300,"nm":"loading_6","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[360]}],"ix":10},"p":{"a":0,"k":[150.00000000000003,150.00000000000003,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[30.000000000000004,30.000000000000004,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[300,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.12941176470588237,0.7411764705882353,0.7764705882352941,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[0]},{"t":60,"s":[99]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[1]},{"t":50,"s":[100]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[3]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":30,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[150.00000000000003,150.00000000000003,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[30.000000000000004,30.000000000000004,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[300,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.7450980392156863,0.9254901960784314,0.9372549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
+{"v":"5.8.1","fr":30,"ip":0,"op":60,"w":100,"h":100,"nm":"loading_6","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[360]}],"ix":10},"p":{"a":0,"k":[50.00000000000002,50.00000000000002,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[10.000000000000004,10.000000000000004,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[300,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.12941176470588237,0.7411764705882353,0.7764705882352941,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[0]},{"t":60,"s":[99]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[1]},{"t":50,"s":[100]}],"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":60,"s":[3]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":30,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.00000000000002,50.00000000000002,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[10.000000000000004,10.000000000000004,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[300,300],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.7450980392156863,0.9254901960784314,0.9372549019607843,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":50,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Ellipse 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/lib/classes/consts.dart b/lib/classes/consts.dart
index e82c30a..eea2481 100644
--- a/lib/classes/consts.dart
+++ b/lib/classes/consts.dart
@@ -1,7 +1,7 @@
class ApiConsts {
//static String baseUrl = "http://10.200.204.20:2801/"; // Local server
- static String baseUrl = "https://uat.hmgwebservices.com"; // UAT server
- // static String baseUrl = "https://hmgwebservices.com"; // Live server
+ // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT server
+ static String baseUrl = "https://hmgwebservices.com"; // Live server
static String baseUrlServices = baseUrl + "/Services/"; // server
// static String baseUrlServices = "https://api.cssynapses.com/tangheem/"; // Live server
static String utilitiesRest = baseUrlServices + "Utilities.svc/REST/";
diff --git a/lib/generated/codegen_loader.g.dart b/lib/generated/codegen_loader.g.dart
index 83910f7..e9dd08c 100644
--- a/lib/generated/codegen_loader.g.dart
+++ b/lib/generated/codegen_loader.g.dart
@@ -802,7 +802,7 @@ static const Map en_US = {
"add": "Add",
"edit": "Edit",
"myProfile": "My Profile",
- "mowadhafhi": "Mowadhafhi",
+ "mowadhafhi": "Mowadhafi",
"searchAnnouncements": "Search Announcements",
"announcements": "Announcements",
"swipeRequest": "Swipe Request",
@@ -814,7 +814,7 @@ static const Map en_US = {
"relatedTopic": "Related Topic",
"selectTopic": "Select Topic",
"supportingDocument": "Supporting Document",
- "mowadhafhiRequest": "Mowadhafhi Request",
+ "mowadhafhiRequest": "Mowadhafi Request",
"ticketReference": "Ticket Reference",
"section": "Section",
"topic": "Topic",
diff --git a/lib/ui/attendance/monthly_attendance_screen.dart b/lib/ui/attendance/monthly_attendance_screen.dart
index 439a5f4..de35da0 100644
--- a/lib/ui/attendance/monthly_attendance_screen.dart
+++ b/lib/ui/attendance/monthly_attendance_screen.dart
@@ -287,7 +287,6 @@ class _MonthlyAttendanceScreenState extends State {
cellBorderColor: Colors.white,
selectionDecoration: BoxDecoration(
border: Border.all(color: MyColors.white, width: 10),
- borderRadius: const BorderRadius.all(Radius.circular(100)),
shape: BoxShape.circle,
),
dataSource: MeetingDataSource(_getDataSource()),
diff --git a/lib/ui/landing/widget/services_widget.dart b/lib/ui/landing/widget/services_widget.dart
index d822920..0b257c5 100644
--- a/lib/ui/landing/widget/services_widget.dart
+++ b/lib/ui/landing/widget/services_widget.dart
@@ -22,8 +22,8 @@ class ServicesWidget extends StatelessWidget {
"assets/images/monthly_attendance.svg",
"assets/images/monthly_attendance.svg",
"assets/images/ticket_request.svg",
- "assets/images/ticket_request.svg",
- "assets/images/ticket_request.svg",
+ "assets/images/ticket_bal.svg",
+ "assets/images/vacation_rule.svg",
"assets/images/ticket_request.svg",
"assets/images/ticket_request.svg",
"assets/images/ticket_request.svg"
diff --git a/lib/ui/leave_balance/add_leave_balance_screen.dart b/lib/ui/leave_balance/add_leave_balance_screen.dart
index 864a507..85337aa 100644
--- a/lib/ui/leave_balance/add_leave_balance_screen.dart
+++ b/lib/ui/leave_balance/add_leave_balance_screen.dart
@@ -92,7 +92,7 @@ class _AddLeaveBalanceScreenState extends State {
}
void validateAbsenceTransaction() async {
- // try {
+ try {
Utils.showLoading(context);
Map dffDataMap = {};
for (int i = 1; i <= 20; i++) {
@@ -100,7 +100,8 @@ class _AddLeaveBalanceScreenState extends State {
for (int dffIndex = 0; dffIndex < getabsenceDffStructureList.length; dffIndex++) {
if ("ATTRIBUTE$i" == getabsenceDffStructureList[dffIndex].aPPLICATIONCOLUMNNAME) {
if (getabsenceDffStructureList[dffIndex].fORMATTYPE == "X") {
- dffDataMap["P_ATTRIBUTE$i"] = getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME != null ? Utils.formatDate(getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME!) : "";
+ dffDataMap["P_ATTRIBUTE$i"] =
+ getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME != null ? Utils.formatDate(getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME!) : "";
} else {
dffDataMap["P_ATTRIBUTE$i"] = getabsenceDffStructureList[dffIndex].eSERVICESDV?.pIDCOLUMNNAME;
}
@@ -108,9 +109,17 @@ class _AddLeaveBalanceScreenState extends State {
}
}
}
- await LeaveBalanceApiClient().validateAbsenceTransaction(selectedAbsenceType!.dESCFLEXCONTEXTCODE!, "HR_LOA_SS", selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
- selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "", DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"), DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"), -999, dffDataMap,
- comments: comment);
+ await LeaveBalanceApiClient()
+ .validateAbsenceTransaction(
+ selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
+ "HR_LOA_SS",
+ selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
+ selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "",
+ DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"),
+ DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"),
+ -999,
+ dffDataMap,
+ comments: comment);
SumbitAbsenceTransactionList submit = await LeaveBalanceApiClient().submitAbsenceTransaction(
selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
@@ -126,13 +135,13 @@ class _AddLeaveBalanceScreenState extends State {
Utils.hideLoading(context);
await Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams(LocaleKeys.submit.tr(), submit.pTRANSACTIONID!, "", "add_leave_balance"));
- // Utils.showLoading(context);
+ Utils.showLoading(context);
await LeaveBalanceApiClient().cancelHrTransaction(submit.pTRANSACTIONID!);
- // Utils.hideLoading(context);
- // } catch (ex) {
- // Utils.hideLoading(context);
- // Utils.handleException(ex, context, null);
- // }
+ Utils.hideLoading(context);
+ } catch (ex) {
+ Utils.hideLoading(context);
+ Utils.handleException(ex, context, null);
+ }
}
@override
@@ -221,7 +230,7 @@ class _AddLeaveBalanceScreenState extends State {
onTap: () {
showMyBottomSheet(
context,
- callBackFunc: (){},
+ callBackFunc: () {},
child: SearchEmployeeBottomSheet(
title: LocaleKeys.searchForEmployee.tr(),
apiMode: LocaleKeys.delegate.tr(),
diff --git a/lib/ui/login/login_screen.dart b/lib/ui/login/login_screen.dart
index 0c4e268..20fa8bc 100644
--- a/lib/ui/login/login_screen.dart
+++ b/lib/ui/login/login_screen.dart
@@ -145,8 +145,8 @@ class _LoginScreenState extends State {
// username.text = "15153"; // Tamer User
// password.text = "Abcd@12345";
- username.text = "210038"; // Hashim User
- password.text = "123";
+ // username.text = "206535"; // Hashim User
+ // password.text = "Namira786";
}
if (isAppOpenBySystem!) checkFirebaseToken();
}
diff --git a/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart b/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart
index 0a6c9d4..519bb6c 100644
--- a/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart
+++ b/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart
@@ -448,7 +448,7 @@ class _DynamicInputScreenState extends State {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
- isReadOnly: model.rEADONLY == "Y",
+ // isReadOnly: model.rEADONLY == "Y",
isInputTypeNum: true,
onChange: (text) {
model.fieldAnswer = text;
diff --git a/lib/ui/my_team/view_attendance.dart b/lib/ui/my_team/view_attendance.dart
index c77b1b4..90414d1 100644
--- a/lib/ui/my_team/view_attendance.dart
+++ b/lib/ui/my_team/view_attendance.dart
@@ -283,7 +283,6 @@ class _ViewAttendanceState extends State {
cellBorderColor: Colors.white,
selectionDecoration: BoxDecoration(
border: Border.all(color: MyColors.white, width: 10),
- borderRadius: const BorderRadius.all(Radius.circular(100)),
shape: BoxShape.circle,
),
dataSource: MeetingDataSource(_getDataSource()),
diff --git a/lib/ui/profile/dynamic_screens/dynamic_input_address_screen.dart b/lib/ui/profile/dynamic_screens/dynamic_input_address_screen.dart
index cc8e861..6933a28 100644
--- a/lib/ui/profile/dynamic_screens/dynamic_input_address_screen.dart
+++ b/lib/ui/profile/dynamic_screens/dynamic_input_address_screen.dart
@@ -269,13 +269,13 @@ class _DynamicInputScreenState extends State {
if (tempVar.isNotEmpty) {
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
- tempVar = DateFormat('dd/MMM/yyy').format(date);
+ tempVar = DateFormat('dd-MMM-yyy').format(date);
if (e.aPPLICATIONCOLUMNNAME == null) {
effectiveDate = tempVar;
}
}
} else if (e.eSERVICESVS?.isNotEmpty ?? false) {
- tempVar = e.getEmployeeAddressList!.vARCHAR2VALUE!;
+ e.getEmployeeAddressList!.vARCHAR2VALUE != null ? tempVar = e.getEmployeeAddressList!.vARCHAR2VALUE! : tempVar = "";
if (e.aPPLICATIONCOLUMNNAME == null) {
countryCode = tempVar;
}
diff --git a/lib/ui/profile/widgets/profile_panel.dart b/lib/ui/profile/widgets/profile_panel.dart
index 5018171..440fbb3 100644
--- a/lib/ui/profile/widgets/profile_panel.dart
+++ b/lib/ui/profile/widgets/profile_panel.dart
@@ -44,12 +44,16 @@ class ProfilePanel extends StatelessWidget {
Widget profileImage() => memberInformationList.eMPLOYEEIMAGE == null
? SvgPicture.asset(
- "assets/images/user.svg",
- height: 68,
- width: 68,)
- : CircleAvatar(
- radius: 68,
- backgroundImage: MemoryImage(Utils.dataFromBase64String(memberInformationList.eMPLOYEEIMAGE!)),
- backgroundColor: Colors.black,
- );
+ "assets/images/user.svg",
+ height: 68,
+ width: 68,
+ )
+ : ClipOval(
+ child: Image.memory(
+ Utils.dataFromBase64String(memberInformationList.eMPLOYEEIMAGE!),
+ width: 75,
+ height: 75,
+ fit: BoxFit.fill,
+ ),
+ );
}
diff --git a/lib/ui/work_list/itg_detail_screen.dart b/lib/ui/work_list/itg_detail_screen.dart
index 0f45648..84bd9bd 100644
--- a/lib/ui/work_list/itg_detail_screen.dart
+++ b/lib/ui/work_list/itg_detail_screen.dart
@@ -66,7 +66,9 @@ class _ItgDetailScreenState extends State {
isRejectAvailable = itgRequest!.allowedActions!.any((element) => element.action == "Reject");
}
Utils.hideLoading(context);
- setState(() {});
+ setState(() {
+ controller.jumpToPage(0);
+ });
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
@@ -264,12 +266,12 @@ class _ItgDetailScreenState extends State {
switch (action.action) {
case "Delegate":
showMyBottomSheet(context, callBackFunc: reloadITG,
- child: DelegateSheet(title: LocaleKeys.delegate.tr(), apiMode: action.action!, notificationID: null, actionHistoryList: null, wFHistory: itgRequest?.wFHistory ?? []));
+ child: DelegateSheet(title: LocaleKeys.delegate.tr(), apiMode: action.action!, notificationID: null, actionHistoryList: null, wFHistory: itgRequest?.wFHistory ?? [], callBackFunc: reloadITG,));
break;
case "RequestInformation":
showMyBottomSheet(context, callBackFunc: reloadITG,
- child: DelegateSheet(title: LocaleKeys.request_info.tr(), apiMode: action.action!, notificationID: null, actionHistoryList: null, wFHistory: itgRequest?.wFHistory ?? []));
+ child: DelegateSheet(title: LocaleKeys.request_info.tr(), apiMode: action.action!, notificationID: null, actionHistoryList: null, wFHistory: itgRequest?.wFHistory ?? [], callBackFunc: reloadITG,));
break;
case "RFC":
@@ -279,6 +281,9 @@ class _ItgDetailScreenState extends State {
// do something else
break;
}
+ setState(() {
+ showFabOptions = false;
+ });
}
Widget myTab(String title, int index) {
diff --git a/lib/ui/work_list/sheets/delegate_sheet.dart b/lib/ui/work_list/sheets/delegate_sheet.dart
index 28a90e6..bd3b010 100644
--- a/lib/ui/work_list/sheets/delegate_sheet.dart
+++ b/lib/ui/work_list/sheets/delegate_sheet.dart
@@ -28,8 +28,9 @@ class DelegateSheet extends StatefulWidget {
String title, apiMode;
List? actionHistoryList;
List? wFHistory;
+ VoidCallback callBackFunc;
- DelegateSheet({required this.title, required this.apiMode, this.notificationID, this.actionHistoryList, this.wFHistory});
+ DelegateSheet({required this.title, required this.apiMode, this.notificationID, this.actionHistoryList, this.wFHistory, required this.callBackFunc});
@override
State createState() => _DelegateSheetState();
@@ -392,8 +393,9 @@ class _DelegateSheetState extends State {
Widget showItem(GetActionHistoryList actionHistory) {
return InkWell(
onTap: () {
+ Navigator.pop(context);
showMyBottomSheet(context,
- callBackFunc: (){},
+ callBackFunc: widget.callBackFunc,
child: SelectedItemSheet(
"Comment",
apiMode: widget.apiMode,
@@ -438,8 +440,9 @@ class _DelegateSheetState extends State {
Widget showItgItem(WFHistory wfHistory) {
return InkWell(
onTap: () {
+ Navigator.pop(context);
showMyBottomSheet(context,
- callBackFunc: (){},
+ callBackFunc: widget.callBackFunc,
child: SelectedItgItemSheet(
"Comment",
apiMode: widget.apiMode,
@@ -463,8 +466,9 @@ class _DelegateSheetState extends State {
Widget showFavUserItem(GetFavoriteReplacements actionHistory) {
return InkWell(
onTap: () {
+ Navigator.pop(context);
showMyBottomSheet(context,
- callBackFunc: (){},
+ callBackFunc: widget.callBackFunc,
child: SelectedItemSheet(
"Comment",
apiMode: widget.apiMode,
@@ -509,8 +513,9 @@ class _DelegateSheetState extends State {
Widget showInputUserItem(ReplacementList actionHistory) {
return InkWell(
onTap: () {
+ Navigator.pop(context);
showMyBottomSheet(context,
- callBackFunc: (){},
+ callBackFunc: widget.callBackFunc,
child: SelectedItemSheet(
LocaleKeys.comments.tr(),
apiMode: widget.apiMode,
diff --git a/lib/ui/work_list/sheets/selected_itg_item_sheet.dart b/lib/ui/work_list/sheets/selected_itg_item_sheet.dart
index 7381d59..f44ca04 100644
--- a/lib/ui/work_list/sheets/selected_itg_item_sheet.dart
+++ b/lib/ui/work_list/sheets/selected_itg_item_sheet.dart
@@ -128,8 +128,8 @@ class SelectedItgItemSheet extends StatelessWidget {
.informationITGRequest(requestDetails.requestType!, requestDetails.iD!, requestDetails.itemID!, AppState().memberInformationList?.eMPLOYEENUMBER ?? "", wfHistory.employeeID!, comment);
}
Utils.hideLoading(context);
- Navigator.pop(context);
- Navigator.pop(context);
+ // Navigator.pop(context);
+ // Navigator.pop(context);
Navigator.pop(context, "delegate_reload");
} catch (ex) {
Utils.hideLoading(context);
diff --git a/lib/ui/work_list/worklist_detail_screen.dart b/lib/ui/work_list/worklist_detail_screen.dart
index ec02631..de7c152 100644
--- a/lib/ui/work_list/worklist_detail_screen.dart
+++ b/lib/ui/work_list/worklist_detail_screen.dart
@@ -388,20 +388,20 @@ class _WorkListDetailScreenState extends State {
case "DELEGATE":
showMyBottomSheet(context,
callBackFunc: reloadWorkList,
- child: DelegateSheet(title: LocaleKeys.delegate.tr(), apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList));
+ child: DelegateSheet(title: LocaleKeys.delegate.tr(), apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList, callBackFunc: reloadWorkList,));
break;
case "REQUEST_INFO":
// do something else
showMyBottomSheet(context,
callBackFunc: reloadWorkList,
- child: DelegateSheet(title: LocaleKeys.request_info.tr(), apiMode: "REQUEST_INFO", notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList));
+ child: DelegateSheet(title: LocaleKeys.request_info.tr(), apiMode: "REQUEST_INFO", notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList, callBackFunc: reloadWorkList,));
break;
case "TRANSFER_INFO":
// do something else
showMyBottomSheet(context,
callBackFunc: reloadWorkList,
child:
- DelegateSheet(title: notificationButton.bUTTONLABEL!, apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList));
+ DelegateSheet(title: notificationButton.bUTTONLABEL!, apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList, callBackFunc: reloadWorkList,));
break;
case "ANSWER_INFO":
performAction(notificationButton.bUTTONACTION!, title: notificationButton.bUTTONLABEL);
@@ -417,12 +417,12 @@ class _WorkListDetailScreenState extends State {
case "APPROVE_AND_FORWARD":
showMyBottomSheet(context,
callBackFunc: reloadWorkList,
- child: DelegateSheet(title: "Approve and Forward", apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList));
+ child: DelegateSheet(title: "Approve and Forward", apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList, callBackFunc: reloadWorkList,));
break;
case "FORWARD":
showMyBottomSheet(context,
callBackFunc: reloadWorkList,
- child: DelegateSheet(title: "Forward", apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList));
+ child: DelegateSheet(title: "Forward", apiMode: notificationButton.bUTTONACTION!, notificationID: workListData!.nOTIFICATIONID, actionHistoryList: actionHistoryList, callBackFunc: reloadWorkList,));
break;
case "REJECT":
performNetworkCall(context, email: "", userId: "");
@@ -431,6 +431,9 @@ class _WorkListDetailScreenState extends State {
Navigator.pop(context);
break;
}
+ setState(() {
+ showFabOptions = false;
+ });
}
Future performNetworkCall(BuildContext context, {String? email, String? userId}) async {
@@ -516,7 +519,6 @@ class _WorkListDetailScreenState extends State {
}
void performAction(String actionMode, {String? title}) {
- TextEditingController textEditingController = TextEditingController();
showDialog(
context: context,
builder: (cxt) => AcceptRejectInputDialog(
@@ -823,6 +825,8 @@ class _WorkListDetailScreenState extends State {
void getActionHistory() async {
try {
+ isActionHistoryLoaded = false;
+ actionHistoryList.clear();
// if (apiCallCount == 0) Utils.showLoading(context);
// apiCallCount++;
actionHistoryList = await WorkListApiClient().getActionHistory(workListData!.nOTIFICATIONID!);
@@ -842,6 +846,8 @@ class _WorkListDetailScreenState extends State {
void getAttachments() async {
try {
+ isAttachmentLoaded = false;
+ getAttachmentList.clear();
// if (apiCallCount == 0) Utils.showLoading(context);
// apiCallCount++;
getAttachmentList = await WorkListApiClient().getAttachments(workListData!.nOTIFICATIONID!);
@@ -864,7 +870,6 @@ class _WorkListDetailScreenState extends State {
'assets/lottie/loading.json',
repeat: true,
reverse: false,
- fit: BoxFit.contain,
);
}
}
diff --git a/lib/widgets/dialogs/accept_reject_input_dialog.dart b/lib/widgets/dialogs/accept_reject_input_dialog.dart
index a0faf2c..db9c5d6 100644
--- a/lib/widgets/dialogs/accept_reject_input_dialog.dart
+++ b/lib/widgets/dialogs/accept_reject_input_dialog.dart
@@ -2,6 +2,7 @@ import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
+import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
@@ -89,8 +90,12 @@ class AcceptRejectInputDialog extends StatelessWidget {
DefaultButton(
actionMode == "REJECTED" ? LocaleKeys.reject.tr() : LocaleKeys.ok.tr(),
() {
- Navigator.pop(context);
- onTap(note);
+ if(note.isNotEmpty) {
+ Navigator.pop(context);
+ onTap(note);
+ } else {
+ Utils.showToast(LocaleKeys.pleaseEnterComments.tr());
+ }
},
colors: actionMode == "REJECTED"
? const [
diff --git a/lib/widgets/item_detail_view_widget.dart b/lib/widgets/item_detail_view_widget.dart
index 05495e9..5148389 100644
--- a/lib/widgets/item_detail_view_widget.dart
+++ b/lib/widgets/item_detail_view_widget.dart
@@ -80,9 +80,13 @@ class ItemDetailViewGridItem extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
- Flexible(child: "$title:".toText12Auto(isBold: true, color: const Color(0xff2BB8A6))),
+ title != null ? Flexible(child: "$title:".toText12Auto(isBold: true, color: const Color(0xff2BB8A6))) : Container(),
4.width,
- type!.toLowerCase() == "table" ? getStringFromJSON(value!) : Flexible(child: (value!.isEmpty ? "--" : value).toString().toText12Auto(color: MyColors.normalTextColor)),
+ type != null
+ ? type!.toLowerCase() == "table"
+ ? getStringFromJSON(value!)
+ : Flexible(child: (value!.isEmpty ? "--" : value).toString().toText12Auto(color: MyColors.normalTextColor))
+ : Container(),
],
),
);