diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index a750713..aefae9f 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -400,6 +400,7 @@ "purchaseRequisition": "طلب شراء", "moveOrder": "طلب تغيير", "humanResource": "الموارد البشريه", + "humanResource": "الموارد البشريه C", "purchaseOrder": "امر شراء", "ITGForms": "ITG نماذج", "itemCreation": "أنشاء عنصر", diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index fcd3f08..69b04d2 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -400,6 +400,7 @@ "purchaseRequisition": "Purchase Requisition", "moveOrder": "Move Order", "humanResource": "Human Resource", + "humanResource": "Human Resource -C", "purchaseOrder": "Purchase Order", "ITGForms": "ITG Forms", "itemCreation": "Item Creation", diff --git a/lib/api/worklist/worklist_api_client.dart b/lib/api/worklist/worklist_api_client.dart index a5f44c1..ae78b9b 100644 --- a/lib/api/worklist/worklist_api_client.dart +++ b/lib/api/worklist/worklist_api_client.dart @@ -24,6 +24,7 @@ import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/notification_get_respond_attributes_list_model.dart'; import 'package:mohem_flutter_app/models/update_user_item_type_list.dart'; import 'package:mohem_flutter_app/models/worklist/GetRFCEmployeeList.dart'; +import 'package:mohem_flutter_app/models/worklist/get_checklist_notification.dart'; import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/eit_otification_body_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_address_notification_body_list.dart'; @@ -114,6 +115,21 @@ class WorkListApiClient { }, url, postParams); } + Future getCheckListNotificationBody(int pNotificationID) async { + String url = "${ApiConsts.erpRest}GET_CHECKLIST_NTF_BODY"; + Map postParams = { + "P_NOTIFICATION_ID": pNotificationID, + "P_PAGE_LIMIT": 100, + "P_PAGE_NUM": 1, + }; + postParams.addAll(AppState().postParamsJson); + return await ApiClient().postJsonForObject((json) { + GenericResponseModel responseData = GenericResponseModel.fromJson(json); + return responseData.getCheckListNotifications!; + }, url, postParams); + } + + Future> getNotificationButtons(int pNotificationID) async { String url = "${ApiConsts.erpRest}GET_NOTIFICATION_BUTTONS"; Map postParams = {"P_NOTIFICATION_ID": pNotificationID}; diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index 86e2a8c..117821d 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -401,6 +401,7 @@ abstract class LocaleKeys { static const purchaseRequisition = 'purchaseRequisition'; static const moveOrder = 'moveOrder'; static const humanResource = 'humanResource'; + static const humanResourcec = 'humanResourcec'; static const purchaseOrder = 'purchaseOrder'; static const ITGForms = 'ITGForms'; static const itemCreation = 'itemCreation'; diff --git a/lib/models/generic_response_model.dart b/lib/models/generic_response_model.dart index c367d86..d2853c3 100644 --- a/lib/models/generic_response_model.dart +++ b/lib/models/generic_response_model.dart @@ -103,6 +103,7 @@ import 'package:mohem_flutter_app/models/vacation_rule/vr_item_types_list_model. import 'package:mohem_flutter_app/models/vacation_rule/wf_look_up_list_model.dart'; import 'package:mohem_flutter_app/models/validate_eit_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/worklist/GetRFCEmployeeList.dart'; +import 'package:mohem_flutter_app/models/worklist/get_checklist_notification.dart'; import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/eit_otification_body_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_address_notification_body_list.dart'; @@ -175,6 +176,7 @@ class GenericResponseModel { List? getAddressDffStructureList; List? getApprovesList; List? getAttachementList; + CheckListNotification? getCheckListNotifications; GetAttendanceTracking? getAttendanceTrackingList; List? getBasicDetColsStructureList; List? getBasicDetDffStructureList; @@ -650,6 +652,7 @@ class GenericResponseModel { this.isActiveCode, this.isSMSSent, this.supervisorHierarchyLists, + this.getCheckListNotifications }); GenericResponseModel.fromJson(Map json) { @@ -679,6 +682,9 @@ class GenericResponseModel { successMsg = json['SuccessMsg']; successMsgN = json['SuccessMsgN']; vidaUpdatedResponse = json['VidaUpdatedResponse']; + if (json['CheckList_NTF_Body_Obj'] != null) { + getCheckListNotifications = new CheckListNotification.fromJson(json['CheckList_NTF_Body_Obj']); + } if (json['AddAttSuccessList'] != null) { addAttSuccessList = []; json['AddAttSuccessList'].forEach((v) { @@ -1431,7 +1437,9 @@ class GenericResponseModel { data['SuccessMsg'] = this.successMsg; data['SuccessMsgN'] = this.successMsgN; data['VidaUpdatedResponse'] = this.vidaUpdatedResponse; - + if (this.getCheckListNotifications != null) { + data["CheckList_NTF_Body_Obj"] = this.getCheckListNotifications!.toJson(); + } if (this.addAttSuccessList != null) { data['AddAttSuccessList'] = this.addAttSuccessList!.map((v) => v.toJson()).toList(); } diff --git a/lib/models/worklist/get_checklist_notification.dart b/lib/models/worklist/get_checklist_notification.dart new file mode 100644 index 0000000..9698fa0 --- /dev/null +++ b/lib/models/worklist/get_checklist_notification.dart @@ -0,0 +1,22 @@ +class CheckListNotification { + String? pGETCHECKLISTNTFBODY; + dynamic? pINFORMATION; + dynamic? pQUESTION; + + CheckListNotification( + {this.pGETCHECKLISTNTFBODY, this.pINFORMATION, this.pQUESTION}); + + CheckListNotification.fromJson(Map json) { + pGETCHECKLISTNTFBODY = json['P_GET_CHECKLIST_NTF_BODY']; + pINFORMATION = json['P_INFORMATION']; + pQUESTION = json['P_QUESTION']; + } + + Map toJson() { + Map data = new Map(); + data['P_GET_CHECKLIST_NTF_BODY'] = this.pGETCHECKLISTNTFBODY; + data['P_INFORMATION'] = this.pINFORMATION; + data['P_QUESTION'] = this.pQUESTION; + return data; + } +} \ No newline at end of file diff --git a/lib/theme/app_theme.dart b/lib/theme/app_theme.dart index 586c3aa..12fd384 100644 --- a/lib/theme/app_theme.dart +++ b/lib/theme/app_theme.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/theme/colors.dart'; class AppTheme { static ThemeData getTheme(isArabic) => ThemeData( fontFamily: isArabic ? 'Cairo' : 'Poppins', - primarySwatch: Colors.red, visualDensity: VisualDensity.adaptivePlatformDensity, brightness: Brightness.light, pageTransitionsTheme: const PageTransitionsTheme( @@ -15,19 +15,14 @@ class AppTheme { }, ), hintColor: Colors.grey[400], - colorScheme: ColorScheme.fromSwatch(accentColor: MyColors.backgroundColor), disabledColor: Colors.grey[300], - errorColor: const Color.fromRGBO(235, 80, 60, 1.0), scaffoldBackgroundColor: MyColors.backgroundColor, textSelectionTheme: const TextSelectionThemeData(cursorColor: Colors.grey, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey), canvasColor: Colors.white, - backgroundColor: const Color.fromRGBO(255, 255, 255, 1), highlightColor: Colors.grey[100]!.withOpacity(0.4), splashColor: Colors.transparent, primaryColor: primaryColor, primaryColorDark: primaryColor, - buttonColor: Colors.black, - toggleableActiveColor: secondaryColor, indicatorColor: secondaryColor, bottomSheetTheme: const BottomSheetThemeData( backgroundColor: Color(0xFFE0E0E0), @@ -44,12 +39,34 @@ class AppTheme { floatingActionButtonTheme: const FloatingActionButtonThemeData(highlightElevation: 2, disabledElevation: 0, elevation: 2), appBarTheme: AppBarTheme( color: const Color(0xff515A5D), - brightness: Brightness.light, elevation: 0.0, actionsIconTheme: IconThemeData( color: Colors.grey[800], - ), - ), + ), systemOverlayStyle: SystemUiOverlayStyle.dark, + ), checkboxTheme: CheckboxThemeData( + fillColor: MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { return null; } + if (states.contains(MaterialState.selected)) { return secondaryColor; } + return null; + }), + ), radioTheme: RadioThemeData( + fillColor: MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { return null; } + if (states.contains(MaterialState.selected)) { return secondaryColor; } + return null; + }), + ), switchTheme: SwitchThemeData( + thumbColor: MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { return null; } + if (states.contains(MaterialState.selected)) { return secondaryColor; } + return null; + }), + trackColor: MaterialStateProperty.resolveWith((Set states) { + if (states.contains(MaterialState.disabled)) { return null; } + if (states.contains(MaterialState.selected)) { return secondaryColor; } + return null; + }), + ), colorScheme: ColorScheme.fromSwatch(accentColor: MyColors.backgroundColor).copyWith( background: const Color.fromRGBO(255, 255, 255, 1)).copyWith(error: const Color.fromRGBO(235, 80, 60, 1.0)), ); } diff --git a/lib/ui/attendance/moe_monthly_attendance_screen.dart b/lib/ui/attendance/moe_monthly_attendance_screen.dart index 57c1614..64ef430 100644 --- a/lib/ui/attendance/moe_monthly_attendance_screen.dart +++ b/lib/ui/attendance/moe_monthly_attendance_screen.dart @@ -19,7 +19,7 @@ import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model. import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; -import 'package:month_picker_dialog_2/month_picker_dialog_2.dart'; +import 'package:month_picker_dialog/month_picker_dialog.dart'; import 'package:pie_chart/pie_chart.dart'; import 'package:sizer/sizer.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; @@ -92,8 +92,8 @@ class _MoeMonthlyAttendanceScreenState extends State initialDate: currentDate, firstDate: DateTime(searchYear - 2), lastDate: DateTime.now(), - confirmText: Text(LocaleKeys.confirm.tr()), - cancelText: Text(LocaleKeys.cancel.tr()), + confirmWidget: Text(LocaleKeys.confirm.tr()), + cancelWidget: Text(LocaleKeys.cancel.tr()), ).then((selectedDate) { if (selectedDate != null) { getLeavesData(selectedDate); diff --git a/lib/ui/attendance/monthly_attendance_screen.dart b/lib/ui/attendance/monthly_attendance_screen.dart index 1753c29..a4f1827 100644 --- a/lib/ui/attendance/monthly_attendance_screen.dart +++ b/lib/ui/attendance/monthly_attendance_screen.dart @@ -16,7 +16,7 @@ import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model. import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; -import 'package:month_picker_dialog_2/month_picker_dialog_2.dart'; +import 'package:month_picker_dialog/month_picker_dialog.dart'; import 'package:pie_chart/pie_chart.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; @@ -117,8 +117,8 @@ class _MonthlyAttendanceScreenState extends State { initialDate: formattedDate, firstDate: DateTime(searchYear - 2), lastDate: DateTime.now(), - confirmText: Text(LocaleKeys.confirm.tr()), - cancelText: Text(LocaleKeys.cancel.tr()), + confirmWidget: Text(LocaleKeys.confirm.tr()), + cancelWidget: Text(LocaleKeys.cancel.tr()), ).then((selectedDate) { if (selectedDate != null) { searchMonth = getMonth(selectedDate.month); diff --git a/lib/ui/login/verify_last_login_screen.dart b/lib/ui/login/verify_last_login_screen.dart index e7caaff..ba08573 100644 --- a/lib/ui/login/verify_last_login_screen.dart +++ b/lib/ui/login/verify_last_login_screen.dart @@ -4,7 +4,6 @@ import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:local_auth/auth_strings.dart'; import 'package:local_auth/local_auth.dart'; import 'package:mohem_flutter_app/api/login_api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; @@ -241,12 +240,13 @@ class _VerifyLastLoginScreenState extends State { return ""; } + Future loginWithFaceIDAndBiometrics() async { - IOSAuthMessages iosStrings = - const IOSAuthMessages(cancelButton: 'cancel', goToSettingsButton: 'settings', goToSettingsDescription: 'Please set up your Touch ID.', lockOut: 'Please reenable your Touch ID'); + // IOSAuthMessages iosStrings = + // const IOSAuthMessages(cancelButton: 'cancel', goToSettingsButton: 'settings', goToSettingsDescription: 'Please set up your Touch ID.', lockOut: 'Please reenable your Touch ID'); bool authenticated = false; try { - authenticated = await auth.authenticate(localizedReason: 'Scan your fingerprint to authenticate', useErrorDialogs: true, stickyAuth: true, biometricOnly: true, iOSAuthStrings: iosStrings); + authenticated = await auth.authenticate(localizedReason: 'Scan your fingerprint to authenticate',); } on PlatformException catch (e) { print(e); Utils.hideLoading(context); @@ -254,7 +254,6 @@ class _VerifyLastLoginScreenState extends State { } return authenticated; } - Widget _loginOptionButton(String _title, String _icon, int _flag, int? _loginIndex) { bool isDisable = ((_flag == 3 && !checkBiometricIsAvailable(BiometricType.face)) || (_flag == 4 && !checkBiometricIsAvailable(BiometricType.fingerprint))); return InkWell( diff --git a/lib/ui/login/verify_login_screen.dart b/lib/ui/login/verify_login_screen.dart index 9e6dba1..c7d9333 100644 --- a/lib/ui/login/verify_login_screen.dart +++ b/lib/ui/login/verify_login_screen.dart @@ -4,7 +4,6 @@ import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/svg.dart'; -import 'package:local_auth/auth_strings.dart'; import 'package:local_auth/local_auth.dart'; import 'package:mohem_flutter_app/api/login_api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; @@ -512,11 +511,11 @@ class _VerifyLoginScreenState extends State { // Future loginWithFaceIDAndBiometrics() async { - IOSAuthMessages iosStrings = - const IOSAuthMessages(cancelButton: 'cancel', goToSettingsButton: 'settings', goToSettingsDescription: 'Please set up your Touch ID.', lockOut: 'Please reenable your Touch ID'); + // IOSAuthMessages iosStrings = + // const IOSAuthMessages(cancelButton: 'cancel', goToSettingsButton: 'settings', goToSettingsDescription: 'Please set up your Touch ID.', lockOut: 'Please reenable your Touch ID'); bool authenticated = false; try { - authenticated = await auth.authenticate(localizedReason: 'Scan your fingerprint to authenticate', useErrorDialogs: true, stickyAuth: true, biometricOnly: true, iOSAuthStrings: iosStrings); + authenticated = await auth.authenticate(localizedReason: 'Scan your fingerprint to authenticate'); } on PlatformException catch (e) { print(e); Utils.hideLoading(context); diff --git a/lib/ui/my_team/view_attendance.dart b/lib/ui/my_team/view_attendance.dart index a45f35c..15c4325 100644 --- a/lib/ui/my_team/view_attendance.dart +++ b/lib/ui/my_team/view_attendance.dart @@ -15,7 +15,7 @@ import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; import 'package:mohem_flutter_app/models/my_team/get_employee_subordinates_list.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; -import 'package:month_picker_dialog_2/month_picker_dialog_2.dart'; +import 'package:month_picker_dialog/month_picker_dialog.dart'; import 'package:pie_chart/pie_chart.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; @@ -169,8 +169,8 @@ class _ViewAttendanceState extends State { initialDate: formattedDate, firstDate: DateTime(searchYear - 2), lastDate: DateTime.now(), - confirmText: Text(LocaleKeys.confirm.tr()), - cancelText: Text(LocaleKeys.cancel.tr()), + confirmWidget: Text(LocaleKeys.confirm.tr()), + cancelWidget: Text(LocaleKeys.cancel.tr()), ).then( (selectedDate) { if (selectedDate != null) { diff --git a/lib/ui/work_list/work_list_screen.dart b/lib/ui/work_list/work_list_screen.dart index 485921d..4ccabfc 100644 --- a/lib/ui/work_list/work_list_screen.dart +++ b/lib/ui/work_list/work_list_screen.dart @@ -44,6 +44,15 @@ class _WorkListScreenState extends State { icon: "assets/images/miss_swipe.svg", key: 'HRSSA', disable: false), + WorkListItemTypeModelData( + value: 0, + name: 'HR-C', + fullName: LocaleKeys.humanResourcec.tr(), + active: false, + color: [Color(0xff32D892), Color(0xff3cb9d5)], + icon: "assets/images/miss_swipe.svg", + key: 'HRCKLTSK', + disable: false), WorkListItemTypeModelData( value: 0, name: 'MR', fullName: LocaleKeys.moveOrder.tr(), active: false, color: [Color(0xff58DCFA), Color(0xff3CB9D5)], icon: "assets/images/miss_swipe.svg", key: 'INVMOA', disable: false), WorkListItemTypeModelData( diff --git a/lib/ui/work_list/worklist_detail_screen.dart b/lib/ui/work_list/worklist_detail_screen.dart index 0e13140..2e5639a 100644 --- a/lib/ui/work_list/worklist_detail_screen.dart +++ b/lib/ui/work_list/worklist_detail_screen.dart @@ -24,6 +24,7 @@ import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_mod import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/notification_get_respond_attributes_list_model.dart'; import 'package:mohem_flutter_app/models/worklist/GetRFCEmployeeList.dart'; +import 'package:mohem_flutter_app/models/worklist/get_checklist_notification.dart'; import 'package:mohem_flutter_app/models/worklist/hr/eit_otification_body_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_address_notification_body_list.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; @@ -64,6 +65,8 @@ class _WorkListDetailScreenState extends State { MemberInformationListModel? memberInformationListModel; List notificationButtonsList = []; List actionHistoryList = []; + + CheckListNotification? getCheckListNotification; List getAttachmentList = []; List getStampMsNotifications = []; List getStampNsNotifications = []; @@ -167,6 +170,9 @@ class _WorkListDetailScreenState extends State { if (workListData!.iTEMTYPE == "REQAPPRV") { getPRNotification(); } + if(workListData!.iTEMTYPE =='HRCKLTSK'){ + getCheckListNotificationBody(); + } if (controller.hasClients) { controller.jumpToPage(0); @@ -260,8 +266,9 @@ class _WorkListDetailScreenState extends State { getAbsenceCollectionNotificationBodyList: getAbsenceCollectionNotificationBodyList, getContactNotificationBodyList: getContactNotificationBodyList, getPrNotificationBodyList: getPrNotificationBody, + getCheckListNotification: getCheckListNotification ), - (workListData!.iTEMTYPE == "HRSSA" || workListData!.iTEMTYPE == "STAMP") + (workListData!.iTEMTYPE == "HRSSA" || workListData!.iTEMTYPE == "STAMP" || workListData!.iTEMTYPE == "HRCKLTSK") ? DetailFragment(workListData, memberInformationListModel) : RequestFragment( moNotificationBodyList: getMoNotificationBodyList, @@ -1020,6 +1027,28 @@ class _WorkListDetailScreenState extends State { } } + + void getCheckListNotificationBody() async { + try { + isActionHistoryLoaded = false; + getCheckListNotification =null; + // if (apiCallCount == 0) Utils.showLoading(context); + // apiCallCount++; + getCheckListNotification = await WorkListApiClient().getCheckListNotificationBody(workListData!.nOTIFICATIONID!); + // apiCallCount--; + // if (apiCallCount == 0) { + // Utils.hideLoading(context); + setState(() { + isActionHistoryLoaded = true; + }); + // } + } catch (ex) { + // apiCallCount--; + // Utils.hideLoading(context); + Utils.handleException(ex, context, null); + } + } + void getAttachments() async { try { isAttachmentLoaded = false; diff --git a/lib/ui/work_list/worklist_fragments/info_fragments.dart b/lib/ui/work_list/worklist_fragments/info_fragments.dart index d2c64f3..3d23897 100644 --- a/lib/ui/work_list/worklist_fragments/info_fragments.dart +++ b/lib/ui/work_list/worklist_fragments/info_fragments.dart @@ -12,6 +12,7 @@ import 'package:mohem_flutter_app/models/get_po_notification_body_list_model.dar import 'package:mohem_flutter_app/models/get_pr_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_stamp_ms_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/get_checklist_notification.dart'; import 'package:mohem_flutter_app/models/worklist/hr/eit_otification_body_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_address_notification_body_list.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; @@ -33,7 +34,7 @@ class InfoFragment extends StatelessWidget { GetContactNotificationBodyList? getContactNotificationBodyList; GetPrNotificationBodyList? getPrNotificationBodyList; List? getAddressNotificationBodyList = []; - + CheckListNotification? getCheckListNotification; InfoFragment( {this.workListData, this.poHeaderList = const [], @@ -46,7 +47,9 @@ class InfoFragment extends StatelessWidget { this.getAbsenceCollectionNotificationBodyList, this.getContactNotificationBodyList, this.getPrNotificationBodyList, - this.getAddressNotificationBodyList}); + this.getAddressNotificationBodyList, + this.getCheckListNotification + }); double itemHeight = 0; double itemWidth = 0; @@ -93,6 +96,7 @@ class InfoFragment extends StatelessWidget { if (getAbsenceCollectionNotificationBodyList?.isNotEmpty ?? false) getAbsenceCollectionNotificationBodyListWidget(getAbsenceCollectionNotificationBodyList ?? []), if (getContactNotificationBodyList != null) getContactNotificationBodyListWidget(getContactNotificationBodyList ?? GetContactNotificationBodyList()).objectContainerView(), if (getAddressNotificationBodyList?.isNotEmpty ?? false) getAddressNotificationBodyListWidget(getAddressNotificationBodyList!), + if (getCheckListNotification !=null ?? false) getCheckListNotificationListWidget(getCheckListNotification), ]; return Container( width: double.infinity, @@ -545,4 +549,14 @@ class InfoFragment extends StatelessWidget { itemCount: data.contactNotificationBody!.length), ); } + + Widget getCheckListNotificationListWidget(CheckListNotification? getCheckListNotification){ + return Column( + children: [ + getCheckListNotification!.pGETCHECKLISTNTFBODY != null ? getCheckListNotification!.pGETCHECKLISTNTFBODY.toString().toText14(color: MyColors.textMixColor).objectContainerView() : Container(), + 12.height, + + ], + ); + } } diff --git a/lib/widgets/dialogs/confirm_dialog.dart b/lib/widgets/dialogs/confirm_dialog.dart index 560bd26..922e5a3 100644 --- a/lib/widgets/dialogs/confirm_dialog.dart +++ b/lib/widgets/dialogs/confirm_dialog.dart @@ -47,7 +47,7 @@ class ConfirmDialog extends StatelessWidget { ) ], ), - message.toText16(color: MyColors.lightGrayColor), + message.toText16(color: MyColors.lightGrayColor, maxlines: 2), 28.height, DefaultButton( okTitle ?? LocaleKeys.ok.tr(), diff --git a/pubspec.yaml b/pubspec.yaml index 0ff3e5f..8c66d14 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -43,9 +43,9 @@ dependencies: permission_handler: ^10.2.0 flutter_svg: any sizer: ^2.0.15 - local_auth: ^1.1.9 + local_auth: ^2.1.8 fluttertoast: ^8.0.8 - syncfusion_flutter_calendar: ^19.4.48 + syncfusion_flutter_calendar: any # flutter_calendar_carousel: ^2.1.0 pie_chart: ^5.1.0 shared_preferences: ^2.0.12 @@ -58,8 +58,8 @@ dependencies: image_picker: ^0.8.5+3 file_picker: ^4.6.1 geolocator: ^9.0.2 - month_year_picker: ^0.2.0+1 - month_picker_dialog_2: 0.5.5 + month_year_picker: ^0.3.0+1 + month_picker_dialog: ^2.0.0 open_file: ^3.2.1 wifi_iot: ^0.3.18 flutter_html: ^3.0.0-alpha.6 @@ -100,7 +100,7 @@ dependencies: video_player: ^2.5.1 just_audio: ^0.9.30 safe_device: ^1.1.2 - flutter_layout_grid: ^2.0.1 + flutter_layout_grid: ^2.0.5 #Huawei Dependencies huawei_hmsavailability: ^6.6.0+300