diff --git a/analysis_options.yaml b/analysis_options.yaml index 90c25c1..fa4efae 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -9,6 +9,13 @@ # packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml +analyzer: + errors: + always_use_package_imports: error + camel_case_types: error + always_declare_return_types: error + + linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` @@ -25,6 +32,13 @@ linter: always_specify_types: true always_declare_return_types: true always_use_package_imports: true + avoid_unnecessary_containers: true + unnecessary_this: true + unnecessary_new: true + camel_case_types: true + sort_child_properties_last: true + camel_case_extensions : true + require_trailing_commas: true avoid_empty_else: true avoid_annotating_with_dynamic: true # avoid_print: false # Uncomment to disable the `avoid_print` rule diff --git a/lib/api/api_client.dart b/lib/api/api_client.dart index 258b2af..f4d5f30 100644 --- a/lib/api/api_client.dart +++ b/lib/api/api_client.dart @@ -7,8 +7,7 @@ import 'package:http/http.dart'; import 'package:http/io_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/exceptions/api_exception.dart'; - -import '../main.dart'; +import 'package:mohem_flutter_app/main.dart'; typedef FactoryConstructor = U Function(dynamic); diff --git a/lib/api/dashboard_api_client.dart b/lib/api/dashboard_api_client.dart index 444eb21..215af90 100644 --- a/lib/api/dashboard_api_client.dart +++ b/lib/api/dashboard_api_client.dart @@ -1,17 +1,13 @@ import 'dart:async'; +import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/consts.dart'; -import 'package:mohem_flutter_app/models/basic_member_information_model.dart'; -import 'package:mohem_flutter_app/models/check_mobile_app_version_model.dart'; import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart'; import 'package:mohem_flutter_app/models/dashboard/itg_forms_model.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; -import 'package:mohem_flutter_app/models/member_login_list_model.dart'; import 'package:uuid/uuid.dart'; -import 'api_client.dart'; - class DashboardApiClient { static final DashboardApiClient _instance = DashboardApiClient._internal(); diff --git a/lib/api/eit_api_client.dart b/lib/api/eit_api_client.dart index e3f78bf..9e4f292 100644 --- a/lib/api/eit_api_client.dart +++ b/lib/api/eit_api_client.dart @@ -10,7 +10,7 @@ import 'package:mohem_flutter_app/models/eit/get_eit_transaction_model.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; import 'package:mohem_flutter_app/models/member_login_list_model.dart'; -import 'api_client.dart'; +import 'package:mohem_flutter_app/api/api_client.dart'; class EITApiClient { static final EITApiClient _instance = EITApiClient._internal(); @@ -24,7 +24,7 @@ class EITApiClient { Map postParams = {'P_FUNCTION_NAME': functionName, "P_MENU_TYPE": "E", "P_PAGE_LIMIT": 50, "P_PAGE_NUM": 1}; postParams.addAll(AppState().postParamsJson); return await ApiClient().postJsonForObject((json) { - List? responseData = GET_EIT_Transactions_Model.fromJson(json['GetEITTransactionList'][0]).collectionTransaction; + List? responseData = GetEitTransactionsModel.fromJson(json['GetEITTransactionList'][0]).collectionTransaction; return responseData; }, url, postParams); } diff --git a/lib/api/login_api_client.dart b/lib/api/login_api_client.dart index ed7191c..8016ab9 100644 --- a/lib/api/login_api_client.dart +++ b/lib/api/login_api_client.dart @@ -8,7 +8,7 @@ import 'package:mohem_flutter_app/models/generic_response_model.dart'; import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart'; import 'package:mohem_flutter_app/models/member_login_list_model.dart'; -import 'api_client.dart'; +import 'package:mohem_flutter_app/api/api_client.dart'; class LoginApiClient { static final LoginApiClient _instance = LoginApiClient._internal(); diff --git a/lib/api/monthlyAttendance_api_client.dart b/lib/api/monthlyAttendance_api_client.dart index 4de2481..543addb 100644 --- a/lib/api/monthlyAttendance_api_client.dart +++ b/lib/api/monthlyAttendance_api_client.dart @@ -8,7 +8,7 @@ import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.d import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart'; import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model.dart'; import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; -import 'api_client.dart'; +import 'package:mohem_flutter_app/api/api_client.dart'; // todo '@fatima' change file name according to structure class MonthlyAttendanceApiClient { diff --git a/lib/api/mowadhafhi/mowadhafhi_api_client.dart b/lib/api/mowadhafhi/mowadhafhi_api_client.dart index 935a22f..e5ecc4b 100644 --- a/lib/api/mowadhafhi/mowadhafhi_api_client.dart +++ b/lib/api/mowadhafhi/mowadhafhi_api_client.dart @@ -9,8 +9,7 @@ import 'package:mohem_flutter_app/models/mowadhafhi/get_section_topics.dart'; import 'package:mohem_flutter_app/models/mowadhafhi/get_ticket_details.dart'; import 'package:mohem_flutter_app/models/mowadhafhi/get_ticket_transactions.dart'; import 'package:mohem_flutter_app/models/mowadhafhi/get_ticket_types.dart'; - -import '../../models/mowadhafhi/get_tickets_list.dart'; +import 'package:mohem_flutter_app/models/mowadhafhi/get_tickets_list.dart'; class MowadhafhiApiClient { static final MowadhafhiApiClient _instance = MowadhafhiApiClient._internal(); @@ -115,7 +114,7 @@ class MowadhafhiApiClient { String url = "${ApiConsts.cocRest}Mohemm_ITG_CreateTicketMobile"; Map postParams = { "EmployeeNumber": AppState().memberInformationList?.eMPLOYEENUMBER, - "ItgImageCollList" : attachmentList, + "ItgImageCollList": attachmentList, "channelId": 3, "departmentId": departmentID, "description": description, diff --git a/lib/api/my_attendance_api_client.dart b/lib/api/my_attendance_api_client.dart index afae637..b98aed4 100644 --- a/lib/api/my_attendance_api_client.dart +++ b/lib/api/my_attendance_api_client.dart @@ -9,7 +9,7 @@ import 'package:mohem_flutter_app/models/get_eit_transaction_list_model.dart'; import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart'; import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart'; -import 'api_client.dart'; +import 'package:mohem_flutter_app/api/api_client.dart'; class MyAttendanceApiClient { static final MyAttendanceApiClient _instance = MyAttendanceApiClient._internal(); diff --git a/lib/api/profile_api_client.dart b/lib/api/profile_api_client.dart index 3768a64..2d08952 100644 --- a/lib/api/profile_api_client.dart +++ b/lib/api/profile_api_client.dart @@ -9,7 +9,7 @@ import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; -import 'api_client.dart'; +import 'package:mohem_flutter_app/api/api_client.dart'; class ProfileApiClient { static final ProfileApiClient _instance = ProfileApiClient._internal(); diff --git a/lib/api/worklist/worklist_api_client.dart b/lib/api/worklist/worklist_api_client.dart index 2cb4a5c..bc05627 100644 --- a/lib/api/worklist/worklist_api_client.dart +++ b/lib/api/worklist/worklist_api_client.dart @@ -20,17 +20,14 @@ import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_mod import 'package:mohem_flutter_app/models/itg_forms_models/itg_request_model.dart'; 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/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_basic_det_ntf_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_contact_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/worklist/hr/get_phones_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart'; import 'package:mohem_flutter_app/models/worklist_response_model.dart'; -import '../../models/worklist/hr/eit_otification_body_model.dart'; -import '../../models/worklist/get_favorite_replacements_model.dart'; -import '../../models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; -import '../../models/worklist/hr/get_contact_notification_body_list_model.dart'; -import '../../models/worklist/hr/get_phones_notification_body_list_model.dart'; -import '../../models/worklist/hr/get_phones_notification_body_list_model.dart'; - class WorkListApiClient { static final WorkListApiClient _instance = WorkListApiClient._internal(); diff --git a/lib/classes/app_permissions.dart b/lib/classes/app_permissions.dart index a70342c..983b400 100644 --- a/lib/classes/app_permissions.dart +++ b/lib/classes/app_permissions.dart @@ -1,7 +1,7 @@ import 'package:permission_handler/permission_handler.dart'; class AppPermissions{ - static location(Function(bool) completion) { + static void location(Function(bool) completion) { Permission.location.isGranted.then((isGranted){ if(!isGranted){ Permission.location.request().then((granted){ @@ -13,7 +13,7 @@ class AppPermissions{ } - static checkAll(Function(bool) completion){ + static void checkAll(Function(bool) completion){ [ Permission.location ].request().then((value){ diff --git a/lib/classes/date_uitl.dart b/lib/classes/date_uitl.dart index 7fb4b9f..8754fdb 100644 --- a/lib/classes/date_uitl.dart +++ b/lib/classes/date_uitl.dart @@ -133,7 +133,7 @@ class DateUtil { /// get month by /// [month] convert month number in to month name - static getMonth(int month) { + static String getMonth(int month) { switch (month) { case 1: return "January"; @@ -159,12 +159,14 @@ class DateUtil { return "November"; case 12: return "December"; + default: + return ""; } } /// get month by /// [month] convert month number in to month name in Arabic - static getMonthArabic(int month) { + static String getMonthArabic(int month) { switch (month) { case 1: return "يناير"; @@ -190,10 +192,12 @@ class DateUtil { return " نوفمبر"; case 12: return "ديسمبر"; + default: + return ""; } } - static getMonthByName(String month) { + static int getMonthByName(String month) { switch (month.toLowerCase()) { case 'january': return 1; @@ -219,6 +223,8 @@ class DateUtil { return 11; case 'december': return 12; + default: + return 0; } } @@ -234,7 +240,7 @@ class DateUtil { /// get month by /// [weekDay] convert week day in int to week day name - static getWeekDay(int weekDay) { + static String getWeekDay(int weekDay) { switch (weekDay) { case 1: return "Monday"; @@ -250,12 +256,14 @@ class DateUtil { return "Saturday "; case 7: return "Sunday"; + default: + return ""; } } /// get month by /// [weekDay] convert week day in int to week day name arabic - static getWeekDayArabic(int weekDay) { + static String getWeekDayArabic(int weekDay) { switch (weekDay) { case 1: return "الاثنين"; @@ -271,10 +279,12 @@ class DateUtil { return "السبت "; case 7: return "الاحد"; + default: + return ""; } } - static getWeekDayEnglish(int weekDay) { + static String getWeekDayEnglish(int weekDay) { switch (weekDay) { case 1: return "Monday"; @@ -290,6 +300,8 @@ class DateUtil { return "Saturday "; case 7: return "Sunday"; + default: + return ""; } } @@ -415,7 +427,7 @@ class DateUtil { return DateFormat(formattedString).format(dateTime); } - static convertISODateToJsonDate(String isoDate) { + static String convertISODateToJsonDate(String isoDate) { return "/Date(" + DateFormat('mm-dd-yyy').parse(isoDate).millisecondsSinceEpoch.toString() + ")/"; } diff --git a/lib/classes/utils.dart b/lib/classes/utils.dart index 74ab127..424d656 100644 --- a/lib/classes/utils.dart +++ b/lib/classes/utils.dart @@ -136,20 +136,20 @@ class Utils { ).center; } - static getPostBytes(img) { + static Uint8List getPostBytes(img) { try { var b64 = img.replaceFirst('data:image/png;base64,', ''); if (img != null && Utils.isBase64(b64)) return Utils.dataFromBase64String(b64); } catch (e) {} - return null; + return Uint8List.fromList([]); } - static getBase64FromJpeg(img) { + static String getBase64FromJpeg(img) { try { var b64 = img.replaceFirst('data:image/jpeg;base64,', ''); return b64; } catch (e) {} - return null; + return ""; } static bool isBase64(String str) { @@ -180,7 +180,7 @@ class Utils { ); } - static Widget tableColumnValue(String text, { bool isCapitable = true, bool alignCenter = false}) { + static Widget tableColumnValue(String text, {bool isCapitable = true, bool alignCenter = false}) { return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, diff --git a/lib/config/routes.dart b/lib/config/routes.dart index 7733347..0f71ab5 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -24,6 +24,7 @@ import 'package:mohem_flutter_app/ui/screens/announcements/announcements.dart'; // import 'package:mohem_flutter_app/ui/my_attendance/work_from_home_screen.dart'; import 'package:mohem_flutter_app/ui/screens/eit/add_eit.dart'; +import 'package:mohem_flutter_app/ui/screens/mowadhafhi/mowadhafhi_home.dart'; import 'package:mohem_flutter_app/ui/screens/mowadhafhi/mowadhafhi_hr_request.dart'; import 'package:mohem_flutter_app/ui/screens/mowadhafhi/request_details.dart'; import 'package:mohem_flutter_app/ui/screens/pending_transactions/pending_transactions.dart'; @@ -35,8 +36,6 @@ import 'package:mohem_flutter_app/ui/work_list/itg_detail_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/work_list_screen.dart'; import 'package:mohem_flutter_app/ui/work_list/worklist_detail_screen.dart'; -import '../ui/screens/mowadhafhi/mowadhafhi_home.dart'; - class AppRoutes { static const String splash = "/splash"; static const String registerSelection = "/registerSelection"; diff --git a/lib/dialogs/otp_dialog.dart b/lib/dialogs/otp_dialog.dart index 3789980..b761f00 100644 --- a/lib/dialogs/otp_dialog.dart +++ b/lib/dialogs/otp_dialog.dart @@ -218,12 +218,12 @@ class OtpDialog { } } - static getSignature() async { - // if (Platform.isAndroid) { - // return await SmsRetriever.getAppSignature(); - // } else { - // return null; - // } - } + // static getSignature() async { + // // if (Platform.isAndroid) { + // // return await SmsRetriever.getAppSignature(); + // // } else { + // // return null; + // // } + // } } diff --git a/lib/extensions/string_extensions.dart b/lib/extensions/string_extensions.dart index 69aca90..869b61c 100644 --- a/lib/extensions/string_extensions.dart +++ b/lib/extensions/string_extensions.dart @@ -23,11 +23,12 @@ extension EmailValidator on String { Widget toText11({Color? color, bool isUnderLine = false, bool isBold = false}) => Text( this, style: TextStyle( - fontSize: 11, - fontWeight: isBold ? FontWeight.bold : FontWeight.w600, - color: color ?? MyColors.darkTextColor, - letterSpacing: -0.33, - decoration: isUnderLine ? TextDecoration.underline : null), + fontSize: 11, + fontWeight: isBold ? FontWeight.bold : FontWeight.w600, + color: color ?? MyColors.darkTextColor, + letterSpacing: -0.33, + decoration: isUnderLine ? TextDecoration.underline : null, + ), ); Widget toText12({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0}) => Text( @@ -35,11 +36,12 @@ extension EmailValidator on String { textAlign: isCenter ? TextAlign.center : null, maxLines: (maxLine > 0) ? maxLine : null, style: TextStyle( - fontSize: 12, - fontWeight: isBold ? FontWeight.bold : FontWeight.w600, - color: color ?? MyColors.darkTextColor, - letterSpacing: -0.72, - decoration: isUnderLine ? TextDecoration.underline : null), + fontSize: 12, + fontWeight: isBold ? FontWeight.bold : FontWeight.w600, + color: color ?? MyColors.darkTextColor, + letterSpacing: -0.72, + decoration: isUnderLine ? TextDecoration.underline : null, + ), ); Widget toText13({Color? color, bool isUnderLine = false}) => Text( @@ -52,7 +54,7 @@ extension EmailValidator on String { style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 14, letterSpacing: -0.48, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), ); - Widget toText16({Color? color, bool isBold = false,int? maxlines}) => Text( + Widget toText16({Color? color, bool isBold = false, int? maxlines}) => Text( this, maxLines: maxlines, style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 16, letterSpacing: -0.64, fontWeight: isBold ? FontWeight.bold : FontWeight.w600), @@ -131,7 +133,7 @@ extension EmailValidator on String { return "${dates[2]} ${getMonth(int.parse(dates[1]))} ${dates[0]} ${DateFormat('hh:mm a').format(DateFormat('hh:mm:ss').parse(time))}"; } - getMonth(int month) { + String getMonth(int month) { switch (month) { case 1: return "January"; @@ -157,6 +159,8 @@ extension EmailValidator on String { return "November"; case 12: return "December"; + default: + return ""; } } } diff --git a/lib/extensions/widget_extensions.dart b/lib/extensions/widget_extensions.dart index f511422..36d523a 100644 --- a/lib/extensions/widget_extensions.dart +++ b/lib/extensions/widget_extensions.dart @@ -21,8 +21,8 @@ extension WidgetExtensions on Widget { baseColor: Color(0xffe8eff0), highlightColor: Colors.white, child: Container( - child: this, color: Colors.white, + child: this, ), ) : Container( diff --git a/lib/main.dart b/lib/main.dart index 39a5f48..cd00082 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -5,20 +5,16 @@ import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; import 'package:logger/logger.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; +import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/generated/codegen_loader.g.dart'; import 'package:mohem_flutter_app/models/post_params_model.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; import 'package:mohem_flutter_app/provider/eit_provider_model.dart'; import 'package:mohem_flutter_app/theme/app_theme.dart'; -import 'package:mohem_flutter_app/widgets/nfc/nfc_reader_sheet.dart'; import 'package:month_year_picker/month_year_picker.dart'; -import 'package:nfc_manager/nfc_manager.dart'; -import 'package:nfc_manager/platform_tags.dart'; import 'package:provider/provider.dart'; import 'package:sizer/sizer.dart'; -import 'config/routes.dart'; - var logger = Logger( // filter: null, // Use the default LogFilter (-> only log in debug mode) printer: PrettyPrinter(lineLength: 0), // Use the PrettyPrinter to format and print log diff --git a/lib/models/eit/get_eit_transaction_model.dart b/lib/models/eit/get_eit_transaction_model.dart index 186ef9c..309c0a4 100644 --- a/lib/models/eit/get_eit_transaction_model.dart +++ b/lib/models/eit/get_eit_transaction_model.dart @@ -1,9 +1,9 @@ -class GET_EIT_Transactions_Model { +class GetEitTransactionsModel { List? collectionTransaction; - GET_EIT_Transactions_Model({this.collectionTransaction}); + GetEitTransactionsModel({this.collectionTransaction}); - GET_EIT_Transactions_Model.fromJson(Map json) { + GetEitTransactionsModel.fromJson(Map json) { if (json['Collection_Transaction'] != null) { collectionTransaction = []; json['Collection_Transaction'].forEach((v) { diff --git a/lib/models/generic_response_model.dart b/lib/models/generic_response_model.dart index 5302e64..289b92b 100644 --- a/lib/models/generic_response_model.dart +++ b/lib/models/generic_response_model.dart @@ -1,5 +1,12 @@ import 'package:mohem_flutter_app/models/add_att_success_list_model.dart'; import 'package:mohem_flutter_app/models/add_attachment_list_model.dart'; +import 'package:mohem_flutter_app/models/basic_member_information_model.dart'; +import 'package:mohem_flutter_app/models/dashboard/get_accrual_balances_list_model.dart'; +import 'package:mohem_flutter_app/models/dashboard/get_attendance_tracking_list_model.dart'; +import 'package:mohem_flutter_app/models/dashboard/get_open_missing_swipes_list_model.dart'; +import 'package:mohem_flutter_app/models/dashboard/get_open_notifications_list.dart'; +import 'package:mohem_flutter_app/models/dashboard/list_menu.dart'; +import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/get_absence_collection_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_action_history_list_model.dart'; import 'package:mohem_flutter_app/models/get_approves_list_model.dart'; @@ -15,6 +22,7 @@ import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/get_item_creation_ntf_body_list_model.dart'; import 'package:mohem_flutter_app/models/get_mo_Item_history_list_model.dart'; import 'package:mohem_flutter_app/models/get_mo_notification_body_list_model.dart'; +import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart'; import 'package:mohem_flutter_app/models/get_notification_buttons_list_model.dart'; import 'package:mohem_flutter_app/models/get_po_Item_history_list_model.dart'; import 'package:mohem_flutter_app/models/get_po_notification_body_list_model.dart'; @@ -23,6 +31,7 @@ import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model. 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/get_time_card_summary_list_model.dart'; +import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/member_login_list_model.dart'; import 'package:mohem_flutter_app/models/monthly_pay_slip/get_deductions_List_model.dart'; import 'package:mohem_flutter_app/models/monthly_pay_slip/get_earnings_list_model.dart'; @@ -41,6 +50,7 @@ import 'package:mohem_flutter_app/models/notification_action_model.dart'; import 'package:mohem_flutter_app/models/notification_get_respond_attributes_list_model.dart'; import 'package:mohem_flutter_app/models/pending_transactions/get_pending_transactions_details.dart'; import 'package:mohem_flutter_app/models/pending_transactions/get_req_functions.dart'; +import 'package:mohem_flutter_app/models/privilege_list_model.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart'; import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart'; import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; @@ -56,17 +66,6 @@ import 'package:mohem_flutter_app/models/worklist/hr/get_phones_notification_bod import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart'; import 'package:mohem_flutter_app/models/worklist_response_model.dart'; -import 'basic_member_information_model.dart'; -import 'dashboard/get_accrual_balances_list_model.dart'; -import 'dashboard/get_attendance_tracking_list_model.dart'; -import 'dashboard/get_open_missing_swipes_list_model.dart'; -import 'dashboard/get_open_notifications_list.dart'; -import 'dashboard/list_menu.dart'; -import 'dashboard/menu_entries.dart'; -import 'get_mobile_login_info_list_model.dart'; -import 'member_information_list_model.dart'; -import 'privilege_list_model.dart'; - class GenericResponseModel { String? date; int? languageID; diff --git a/lib/models/get_absence_collection_notification_body_list_model.dart b/lib/models/get_absence_collection_notification_body_list_model.dart index 480a81f..057cb64 100644 --- a/lib/models/get_absence_collection_notification_body_list_model.dart +++ b/lib/models/get_absence_collection_notification_body_list_model.dart @@ -1,4 +1,3 @@ - class GetAbsenceCollectionNotificationBodyList { List? collectionNotification; @@ -16,8 +15,7 @@ class GetAbsenceCollectionNotificationBodyList { Map toJson() { final Map data = new Map(); if (this.collectionNotification != null) { - data['Collection_Notification'] = - this.collectionNotification!.map((v) => v.toJson()).toList(); + data['Collection_Notification'] = this.collectionNotification!.map((v) => v.toJson()).toList(); } return data; } @@ -42,20 +40,20 @@ class CollectionNotificationAbsence { CollectionNotificationAbsence( {this.aCTION, - this.aPPLICATIONCOLUMNNAME, - this.dATATYPE, - this.dATEVALUE, - this.dESCFLEXCONTEXTCODE, - this.dESCFLEXNAME, - this.dISPLAYFLAG, - this.nUMBERVALUE, - this.pREVSEGMENTVALUEDSP, - this.sEGMENTNAME, - this.sEGMENTPROMPT, - this.sEGMENTSEQNUM, - this.sEGMENTVALUEDSP, - this.tRANSACTIONNUMBER, - this.vARCHAR2VALUE}); + this.aPPLICATIONCOLUMNNAME, + this.dATATYPE, + this.dATEVALUE, + this.dESCFLEXCONTEXTCODE, + this.dESCFLEXNAME, + this.dISPLAYFLAG, + this.nUMBERVALUE, + this.pREVSEGMENTVALUEDSP, + this.sEGMENTNAME, + this.sEGMENTPROMPT, + this.sEGMENTSEQNUM, + this.sEGMENTVALUEDSP, + this.tRANSACTIONNUMBER, + this.vARCHAR2VALUE}); CollectionNotificationAbsence.fromJson(Map json) { aCTION = json['ACTION']; @@ -94,4 +92,4 @@ class CollectionNotificationAbsence { data['VARCHAR2_VALUE'] = this.vARCHAR2VALUE; return data; } -} \ No newline at end of file +} diff --git a/lib/provider/dashboard_provider_model.dart b/lib/provider/dashboard_provider_model.dart index 9316182..a78fd67 100644 --- a/lib/provider/dashboard_provider_model.dart +++ b/lib/provider/dashboard_provider_model.dart @@ -11,7 +11,6 @@ import 'package:mohem_flutter_app/models/dashboard/itg_forms_model.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/models/dashboard/menus.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; -import 'package:mohem_flutter_app/widgets/Updater.dart'; /// Mix-in [DiagnosticableTreeMixin] to have access to [debugFillProperties] for the devtool // ignore: prefer_mixin @@ -71,7 +70,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin { return ((hour * 60 * 60) + (mints * 60) + seconds); } - update(context) { + void update(context) { fetchAttendanceTracking(context); // isAttendanceTrackingLoading = !isAttendanceTrackingLoading; // isWorkListLoading = !isWorkListLoading; @@ -137,7 +136,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin { } //List Menu API's & Methods - fetchListMenu() async { + void fetchListMenu() async { try { GenericResponseModel? genericResponseModel = await DashboardApiClient().getListMenu(); Map map = {}; @@ -156,7 +155,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin { } //Menu Entries API's & Methods - fetchMenuEntries() async { + void fetchMenuEntries() async { try { GenericResponseModel? genericResponseModel = await DashboardApiClient().getGetMenuEntries(); getMenuEntriesList = genericResponseModel!.getMenuEntriesList; diff --git a/lib/theme/app_theme.dart b/lib/theme/app_theme.dart index 51987cd..586c3aa 100644 --- a/lib/theme/app_theme.dart +++ b/lib/theme/app_theme.dart @@ -3,7 +3,7 @@ import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/theme/colors.dart'; class AppTheme { - static getTheme(isArabic) => ThemeData( + static ThemeData getTheme(isArabic) => ThemeData( fontFamily: isArabic ? 'Cairo' : 'Poppins', primarySwatch: Colors.red, visualDensity: VisualDensity.adaptivePlatformDensity, diff --git a/lib/ui/attendance/monthly_attendance.dart b/lib/ui/attendance/monthly_attendance.dart index 7a28c96..70afd40 100644 --- a/lib/ui/attendance/monthly_attendance.dart +++ b/lib/ui/attendance/monthly_attendance.dart @@ -1,27 +1,23 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/src/public_ext.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/painting.dart'; -import 'package:flutter/scheduler.dart'; +import 'package:intl/intl.dart'; import 'package:mohem_flutter_app/api/monthlyAttendance_api_client.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/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; +import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/get_day_hours_type_details_list_model.dart'; import 'package:mohem_flutter_app/models/get_schedule_shifts_details_list_model.dart'; import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; -import 'package:provider/provider.dart'; -import 'package:syncfusion_flutter_calendar/calendar.dart'; -import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; -import 'package:flutter/cupertino.dart'; -import 'package:pie_chart/pie_chart.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:intl/intl.dart'; -import 'package:month_year_picker/month_year_picker.dart'; import 'package:month_picker_dialog/month_picker_dialog.dart'; +import 'package:pie_chart/pie_chart.dart'; +import 'package:syncfusion_flutter_calendar/calendar.dart'; class MonthlyAttendance extends StatefulWidget { MonthlyAttendance({Key? key}) : super(key: key); @@ -71,7 +67,6 @@ class _MonthlyAttendanceState extends State { } } - Future getScheduleShiftsDetails(index, pRTPID) async { try { Utils.showLoading(context); @@ -432,7 +427,7 @@ class _MonthlyAttendanceState extends State { ); } - calendarTapped(CalendarTapDetails details) async { + void calendarTapped(CalendarTapDetails details) async { dynamic index = details.date?.day; if (index != null) { index = index - 1; @@ -460,8 +455,8 @@ class _MonthlyAttendanceState extends State { maxChildSize: 0.9, expand: false, builder: (_, controller) { - dynamic dmyString = getScheduleShiftsDetailsList!.sCHEDULEDATE; - DateTime dateTime1 = DateFormat("MM/dd/yyyy hh:mm:ss a").parse(dmyString); + dynamic dmyString = getScheduleShiftsDetailsList!.sCHEDULEDATE; + DateTime dateTime1 = DateFormat("MM/dd/yyyy hh:mm:ss a").parse(dmyString); return Column( children: [ Container( @@ -487,11 +482,11 @@ class _MonthlyAttendanceState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container(child: - "${DateFormat("MMMM-dd-yyyy").format(dateTime1).replaceAll('-', " ")}".toText24(isBold: true, color: Colors.white), + Container( + child: "${DateFormat("MMMM-dd-yyyy").format(dateTime1).replaceAll('-', " ")}".toText24(isBold: true, color: Colors.white), ).paddingOnly(top: 26, left: 21, right: 21), Container( - child: LocaleKeys.attendanceDetails.tr().toText16(color: MyColors.greyACColor).paddingOnly(left: 21,bottom: 16), + child: LocaleKeys.attendanceDetails.tr().toText16(color: MyColors.greyACColor).paddingOnly(left: 21, bottom: 16), ), Center( child: CircularStepProgressBar( @@ -542,8 +537,8 @@ class _MonthlyAttendanceState extends State { color: MyColors.grey67Color, ), 8.height, - "${getScheduleShiftsDetailsList!.sHTACTUALSTARTTIME}" !="" - ? "${getScheduleShiftsDetailsList!.sHTACTUALSTARTTIME}".toText22(color: Colors.black, isBold: true) + "${getScheduleShiftsDetailsList!.sHTACTUALSTARTTIME}" != "" + ? "${getScheduleShiftsDetailsList!.sHTACTUALSTARTTIME}".toText22(color: Colors.black, isBold: true) : "__".toText22(color: Colors.black, isBold: true), ], ), @@ -557,7 +552,7 @@ class _MonthlyAttendanceState extends State { ), 8.height, "${getScheduleShiftsDetailsList!.sHTACTUALENDTIME}" != "" - ? "${getScheduleShiftsDetailsList!.sHTACTUALENDTIME}".toText22(color: Colors.black, isBold: true) + ? "${getScheduleShiftsDetailsList!.sHTACTUALENDTIME}".toText22(color: Colors.black, isBold: true) : "__".toText22(color: Colors.black, isBold: true), ], ), @@ -581,9 +576,9 @@ class _MonthlyAttendanceState extends State { color: MyColors.grey67Color, ), 8.height, - "${getScheduleShiftsDetailsList!.aPPROVEDSTARTTIME}" !="" - ? "${getScheduleShiftsDetailsList!.aPPROVEDSTARTTIME}".toText22(color: MyColors.greenColor, isBold: true) - :"__".toText22(color: MyColors.greenColor, isBold: true), + "${getScheduleShiftsDetailsList!.aPPROVEDSTARTTIME}" != "" + ? "${getScheduleShiftsDetailsList!.aPPROVEDSTARTTIME}".toText22(color: MyColors.greenColor, isBold: true) + : "__".toText22(color: MyColors.greenColor, isBold: true), ], ), ), @@ -595,9 +590,9 @@ class _MonthlyAttendanceState extends State { color: MyColors.grey67Color, ), 8.height, - "${getScheduleShiftsDetailsList!.aPPROVEDENDTIME}"!= "" - ? "${getScheduleShiftsDetailsList!.aPPROVEDENDTIME}".toText22(color: MyColors.greenColor, isBold: true) - :"__".toText22(color: MyColors.greenColor, isBold: true), + "${getScheduleShiftsDetailsList!.aPPROVEDENDTIME}" != "" + ? "${getScheduleShiftsDetailsList!.aPPROVEDENDTIME}".toText22(color: MyColors.greenColor, isBold: true) + : "__".toText22(color: MyColors.greenColor, isBold: true), ], ), ], @@ -695,7 +690,7 @@ class _MonthlyAttendanceState extends State { return meetings; } - static getMonth(int month) { + static String getMonth(int month) { switch (month) { case 1: return "January"; @@ -721,36 +716,40 @@ class _MonthlyAttendanceState extends State { return "November"; case 12: return "December"; + default: + return ""; } } - static getMonthAr(int month){ - switch (month) { - case 1: - return 'يناير'; - case 2: - return ' فبراير'; - case 3: - return 'مارس'; - case 4: - return 'أبريل'; - case 5: - return 'مايو'; - case 6: - return 'يونيو'; - case 7: - return 'يوليو'; - case 8: - return 'أغسطس'; - case 9: - return 'سبتمبر'; - case 10: - return ' اكتوبر'; - case 11: - return ' نوفمبر'; - case 12: - return 'ديسمبر'; - } + static String getMonthAr(int month) { + switch (month) { + case 1: + return 'يناير'; + case 2: + return ' فبراير'; + case 3: + return 'مارس'; + case 4: + return 'أبريل'; + case 5: + return 'مايو'; + case 6: + return 'يونيو'; + case 7: + return 'يوليو'; + case 8: + return 'أغسطس'; + case 9: + return 'سبتمبر'; + case 10: + return ' اكتوبر'; + case 11: + return ' نوفمبر'; + case 12: + return 'ديسمبر'; + default: + return ""; + } } } diff --git a/lib/ui/landing/today_attendance_screen.dart b/lib/ui/landing/today_attendance_screen.dart index 821b01c..4b5332e 100644 --- a/lib/ui/landing/today_attendance_screen.dart +++ b/lib/ui/landing/today_attendance_screen.dart @@ -13,15 +13,14 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/generic_response_model.dart'; +import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; import 'package:mohem_flutter_app/widgets/circular_step_progress_bar.dart'; +import 'package:mohem_flutter_app/widgets/location/Location.dart'; import 'package:mohem_flutter_app/widgets/nfc/nfc_reader_sheet.dart'; import 'package:nfc_manager/nfc_manager.dart'; import 'package:provider/provider.dart'; import 'package:wifi_iot/wifi_iot.dart'; -import '../../provider/dashboard_provider_model.dart'; -import '../../widgets/location/Location.dart'; - class TodayAttendanceScreen extends StatefulWidget { TodayAttendanceScreen({Key? key}) : super(key: key); diff --git a/lib/ui/landing/widget/app_drawer.dart b/lib/ui/landing/widget/app_drawer.dart index c19fab7..1c8bf69 100644 --- a/lib/ui/landing/widget/app_drawer.dart +++ b/lib/ui/landing/widget/app_drawer.dart @@ -12,49 +12,58 @@ class _AppDrawerState extends State { @override Widget build(BuildContext context) { return Container( - color: Colors.white, - child: Drawer( - child: Column(children: [ - const SizedBox( - height: 200, - ), - Expanded( - child: ListView(padding: const EdgeInsets.all(21), physics: const BouncingScrollPhysics(), children: [ - const Divider(), - InkWell( - child: const DrawerItem( - 'My Profile', - icon: Icons.person, - color: Colors.grey, - ), - onTap: () { - drawerNavigator(context, AppRoutes.profile); - }), - const Divider(), - InkWell( - child: const DrawerItem( - 'Mowadhafhi', - icon: Icons.person, - color: Colors.grey, - ), - onTap: () { - drawerNavigator(context, AppRoutes.mowadhafhi); - }), - const Divider(), - InkWell( - child: const DrawerItem( - 'Pending Transactions', - icon: Icons.person, - color: Colors.grey, - ), - onTap: () { - drawerNavigator(context, AppRoutes.pendingTransactions); - }) - ])) - ]))); + color: Colors.white, + child: Drawer( + child: Column( + children: [ + const SizedBox( + height: 200, + ), + Expanded( + child: ListView( + padding: const EdgeInsets.all(21), + physics: const BouncingScrollPhysics(), + children: [ + const Divider(), + InkWell( + child: const DrawerItem( + 'My Profile', + icon: Icons.person, + color: Colors.grey, + ), + onTap: () { + drawerNavigator(context, AppRoutes.profile); + }), + const Divider(), + InkWell( + child: const DrawerItem( + 'Mowadhafhi', + icon: Icons.person, + color: Colors.grey, + ), + onTap: () { + drawerNavigator(context, AppRoutes.mowadhafhi); + }), + const Divider(), + InkWell( + child: const DrawerItem( + 'Pending Transactions', + icon: Icons.person, + color: Colors.grey, + ), + onTap: () { + drawerNavigator(context, AppRoutes.pendingTransactions); + }) + ], + ), + ) + ], + ), + ), + ); } - drawerNavigator(context, routeName) { + void drawerNavigator(context, routeName) { Navigator.of(context).pushNamed(routeName); } } diff --git a/lib/ui/landing/widget/services_widget.dart b/lib/ui/landing/widget/services_widget.dart index ebb564c..9500ac4 100644 --- a/lib/ui/landing/widget/services_widget.dart +++ b/lib/ui/landing/widget/services_widget.dart @@ -8,11 +8,10 @@ import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart'; import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart'; +import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart'; import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart'; import 'package:provider/provider.dart'; -import '../../my_attendance/dynamic_screens/dynamic_listview_screen.dart'; - class ServicesWidget extends StatelessWidget { @override Widget build(BuildContext context) { 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 6e020bf..96c1a02 100644 --- a/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart +++ b/lib/ui/my_attendance/dynamic_screens/dynamic_input_screen.dart @@ -175,7 +175,7 @@ class _DynamicInputScreenState extends State { (getEitDffStructureList == null ? const SizedBox() : (getEitDffStructureList!.isEmpty - ? LocaleKeys.noDataAvailable.tr().toText16().center + ? Utils.getNoDataWidget(context) : ListView.separated( physics: const BouncingScrollPhysics(), padding: const EdgeInsets.all(21), @@ -209,9 +209,7 @@ class _DynamicInputScreenState extends State { isReadOnly: model.rEADONLY == "Y", onChange: (text) { model.fieldAnswer = text; - if (model.eSERVICESDV == null) { - model.eSERVICESDV = ESERVICESDV(); - } + model.eSERVICESDV ??= ESERVICESDV(); model.eSERVICESDV!.pIDCOLUMNNAME = text; }, ).paddingOnly(bottom: 12); @@ -223,9 +221,7 @@ class _DynamicInputScreenState extends State { isInputTypeNum: true, onChange: (text) { model.fieldAnswer = text; - if (model.eSERVICESDV == null) { - model.eSERVICESDV = ESERVICESDV(); - } + model.eSERVICESDV ??= ESERVICESDV(); model.eSERVICESDV!.pIDCOLUMNNAME = text; }, ).paddingOnly(bottom: 12); diff --git a/lib/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart b/lib/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart index 129dc5b..54aee5c 100644 --- a/lib/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart +++ b/lib/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart @@ -1,13 +1,10 @@ -import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/my_attendance_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; -import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; -import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/get_eit_transaction_list_model.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart'; @@ -47,6 +44,8 @@ class _DynamicListViewScreenState extends State { getEITTransactionList?.forEach((element) { element.collectionTransaction = element.collectionTransaction?.where((elemen) => elemen.dISPLAYFLAG == "Y").toList() ?? []; }); + + getEITTransactionList = getEITTransactionList?.where((element) => element.collectionTransaction?.isNotEmpty ?? false).toList() ?? []; Utils.hideLoading(context); setState(() {}); } catch (ex) { @@ -69,14 +68,11 @@ class _DynamicListViewScreenState extends State { return Scaffold( backgroundColor: Colors.white, - appBar: AppBarWidget( - context, - title: dynamicParams!.title, - ), + appBar: AppBarWidget(context, title: dynamicParams!.title), body: getEITTransactionList == null ? const SizedBox() : (getEITTransactionList!.isEmpty - ? LocaleKeys.noDataAvailable.tr().toText16().center + ? Utils.getNoDataWidget(context) : ListView.separated( physics: const BouncingScrollPhysics(), padding: const EdgeInsets.all(21), diff --git a/lib/ui/payslip/monthly_pay_slip_screen.dart b/lib/ui/payslip/monthly_pay_slip_screen.dart index 85ccf8d..a277fcd 100644 --- a/lib/ui/payslip/monthly_pay_slip_screen.dart +++ b/lib/ui/payslip/monthly_pay_slip_screen.dart @@ -97,12 +97,12 @@ class _MonthlyPaySlipScreenState extends State { ), body: Column( children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Container(alignment: Alignment.centerLeft, child: LocaleKeys.month.tr().toText17(isBold: true, color: MyColors.darkIconColor)), - if (selectedMonthIndex != null) + if (selectedMonthIndex != null) + Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Container(alignment: Alignment.centerLeft, child: LocaleKeys.month.tr().toText17(isBold: true, color: MyColors.darkIconColor)), Row( children: [ DateFormat("MMMM-yyyy").format(DateFormat("MM/dd/yyyy").parse(paySlipList[selectedMonthIndex!].pAYMENTDATE!)).toText16(color: MyColors.greyACColor), @@ -137,8 +137,8 @@ class _MonthlyPaySlipScreenState extends State { ); }); }) - ], - ).paddingOnly(left: 21, right: 21), + ], + ).paddingOnly(left: 21, right: 21), ListView( padding: const EdgeInsets.all(21), children: [ diff --git a/lib/ui/profile/basic_details.dart b/lib/ui/profile/basic_details.dart index e74d21d..ab00560 100644 --- a/lib/ui/profile/basic_details.dart +++ b/lib/ui/profile/basic_details.dart @@ -41,8 +41,6 @@ class _BasicDetailsState extends State { getEmployeeBasicDetailsList = await ProfileApiClient().getEmployeeBasicDetails(); Utils.hideLoading(context); basicDetails(); - print("getEmployeeBasicDetailsList.length"); - print(getEmployeeBasicDetailsList.length); setState(() {}); } catch (ex) { Utils.hideLoading(context); @@ -50,7 +48,7 @@ class _BasicDetailsState extends State { } } - basicDetails() { + void basicDetails() { for (int i = 0; i < getEmployeeBasicDetailsList.length; i++) { if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'FULL_NAME') { fullName = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP; @@ -96,7 +94,7 @@ class _BasicDetailsState extends State { children: [ Container( width: double.infinity, - margin: EdgeInsets.only(top: 20, left: 21, right: 21,bottom: 20), + margin: EdgeInsets.only(top: 20, left: 21, right: 21, bottom: 20), padding: EdgeInsets.only(left: 14, right: 14, top: 13, bottom: 5), height: 280, decoration: BoxDecoration( @@ -135,7 +133,7 @@ class _BasicDetailsState extends State { )); } - footer() { + Widget footer() { return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), @@ -150,7 +148,7 @@ class _BasicDetailsState extends State { ); } - showAlertDialog(BuildContext context) { + void showAlertDialog(BuildContext context) { dynamic changeOrNew = 1; Widget cancelButton = TextButton( child: Text("Cancel"), diff --git a/lib/ui/profile/contact_details.dart b/lib/ui/profile/contact_details.dart index d4927cf..514d3cc 100644 --- a/lib/ui/profile/contact_details.dart +++ b/lib/ui/profile/contact_details.dart @@ -3,12 +3,9 @@ import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.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/string_extensions.dart'; -import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/get_employee_address_model.dart'; -import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/ui/profile/phone_numbers.dart'; import 'package:mohem_flutter_app/ui/profile/profile.dart'; @@ -212,7 +209,7 @@ class _ContactDetailsState extends State { ]))); } - footer() { + Widget footer() { return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), @@ -228,7 +225,7 @@ class _ContactDetailsState extends State { ); } - updatePhone() { + void updatePhone() { Navigator.push( context, MaterialPageRoute(builder: (context) => PhoneNumbers(getEmployeePhonesList: this.getEmployeePhonesList)), diff --git a/lib/ui/profile/delete_familyMember.dart b/lib/ui/profile/delete_familyMember.dart index 4876ef3..a988881 100644 --- a/lib/ui/profile/delete_familyMember.dart +++ b/lib/ui/profile/delete_familyMember.dart @@ -1,23 +1,6 @@ - - -import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; -import 'package:mohem_flutter_app/api/profile_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; -import 'package:mohem_flutter_app/classes/utils.dart'; -import 'package:mohem_flutter_app/config/routes.dart'; -import 'package:mohem_flutter_app/dialogs/otp_dialog.dart'; -import 'package:mohem_flutter_app/extensions/int_extensions.dart'; -import 'package:mohem_flutter_app/extensions/string_extensions.dart'; -import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; -import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; -import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; -import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; -import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_familyMembers_screen.dart'; -import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart'; -import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; -import 'package:mohem_flutter_app/widgets/button/default_button.dart'; class DeleteFamilyMember extends StatefulWidget { const DeleteFamilyMember({Key? key}) : super(key: key); @@ -30,44 +13,37 @@ class _DeleteFamilyMemberState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBarWidget( - context, - title: "Dependents And Beneficiaries", - ), + appBar: AppBarWidget( + context, + title: "Dependents And Beneficiaries", + ), backgroundColor: MyColors.backgroundColor, bottomSheet: footer(), - body:Column( - children: [ - - ], - ) - - ); + body: Column( + children: [], + )); } - footer() { + + Widget footer() { return Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - color: MyColors.gradiantEndColor, - // margin: EdgeInsets.only(left: 50,right: 20), - padding: EdgeInsets.only(left: 50,right: 50), - child: TextButton( + color: MyColors.gradiantEndColor, + // margin: EdgeInsets.only(left: 50,right: 20), + padding: EdgeInsets.only(left: 50, right: 50), + child: TextButton( style: TextButton.styleFrom( - primary:MyColors.white, + primary: MyColors.white, onSurface: MyColors.white, backgroundColor: MyColors.gradiantEndColor, ), - onPressed: (){}, - child: Text('Next', - style: TextStyle( - fontStyle: FontStyle.normal, - fontSize: 16, - color: Colors.white, - fontWeight: FontWeight.w600 - ),), - ) - ), + onPressed: () {}, + child: Text( + 'Next', + style: TextStyle(fontStyle: FontStyle.normal, fontSize: 16, color: Colors.white, fontWeight: FontWeight.w600), + ), + )), ], ); } diff --git a/lib/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart b/lib/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart index 3e25917..dc84bee 100644 --- a/lib/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart +++ b/lib/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart @@ -125,7 +125,7 @@ class _DynamicInputScreenState extends State { (getBasicDetDffStructureList == null && getBasicDetColsStructureList == null ? const SizedBox() : (getBasicDetDffStructureList!.isEmpty && getBasicDetColsStructureList!.isEmpty - ? LocaleKeys.noDataAvailable.tr().toText16().center + ? Utils.getNoDataWidget(context) : ListView( physics: const BouncingScrollPhysics(), padding: const EdgeInsets.all(21), diff --git a/lib/ui/profile/dynamic_screens/dynamic_listview_screen.dart b/lib/ui/profile/dynamic_screens/dynamic_listview_screen.dart index 5ba4109..ed35527 100644 --- a/lib/ui/profile/dynamic_screens/dynamic_listview_screen.dart +++ b/lib/ui/profile/dynamic_screens/dynamic_listview_screen.dart @@ -70,7 +70,7 @@ class _DynamicListViewScreenState extends State { body: getEITTransactionList == null ? const SizedBox() : (getEITTransactionList!.isEmpty - ? LocaleKeys.noDataAvailable.tr().toText16().center + ? Utils.getNoDataWidget(context) : ListView.separated( physics: const BouncingScrollPhysics(), padding: EdgeInsets.all(21), diff --git a/lib/ui/profile/family_members.dart b/lib/ui/profile/family_members.dart index bcc5b32..bf65fed 100644 --- a/lib/ui/profile/family_members.dart +++ b/lib/ui/profile/family_members.dart @@ -1,23 +1,13 @@ - - - - - import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/config/routes.dart'; -import 'package:mohem_flutter_app/dialogs/otp_dialog.dart'; -import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; -import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; -import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_familyMembers_screen.dart'; -import 'package:mohem_flutter_app/ui/profile/dynamic_screens/dynamic_input_profile_screen.dart'; import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; @@ -30,15 +20,14 @@ class FamilyMembers extends StatefulWidget { } class _FamilyMembersState extends State { - List getEmployeeContactsList = []; int? relationId; + @override void initState() { super.initState(); getEmployeeContacts(); - } void getEmployeeContacts() async { @@ -53,7 +42,6 @@ class _FamilyMembersState extends State { } } - Widget build(BuildContext context) { return Scaffold( appBar: AppBarWidget( @@ -61,154 +49,156 @@ class _FamilyMembersState extends State { title: LocaleKeys.profile_familyDetails.tr(), ), backgroundColor: MyColors.backgroundColor, - bottomSheet:footer(), + bottomSheet: footer(), body: Container( width: MediaQuery.of(context).size.width, - child: getEmployeeContactsList.length != 0 - ? SingleChildScrollView( - scrollDirection: Axis.vertical, - child: Column( - children: [ - ListView.builder( - scrollDirection: Axis.vertical, - shrinkWrap: true, - physics: ScrollPhysics(), - itemCount: getEmployeeContactsList.length, - itemBuilder: (context, index) { - return Container( - child: Column( - children: [ - Container( - width: double.infinity, - margin: EdgeInsets.only(top: 20, left: 21, right: 21,), - padding: EdgeInsets.only(left: 14, right: 14,top: 13, ), - height: 110, - decoration: BoxDecoration( - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.5), - spreadRadius: 5, - blurRadius: 26, - offset: Offset(0, 3), - ), - ], - color: Colors.white, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - "${getEmployeeContactsList[index].cONTACTNAME}".toText16(color: MyColors.blackColor), - "${getEmployeeContactsList[index].rELATIONSHIP}".toText11(isBold: true, color: MyColors.textMixColor), - SizedBox(height: 5,), - Divider( - color: MyColors.lightGreyEFColor, - height: 20, - thickness: 1, - indent: 0, - endIndent: 0, - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container( - child: InkWell( - onTap: () { - showUpdateAlertDialog(context); - }, - child: RichText( - text: TextSpan( - children: [ - WidgetSpan( - child: Icon( - Icons.edit, - size: 15, - color: MyColors.grey67Color, - ), - ), - TextSpan( - text: LocaleKeys.update.tr(), - style: TextStyle( - color: MyColors.grey67Color, - fontSize: 12, - fontWeight: FontWeight.bold, - ), - ), - ], - ), - ), - ) + child: getEmployeeContactsList.length != 0 + ? SingleChildScrollView( + scrollDirection: Axis.vertical, + child: Column( + children: [ + ListView.builder( + scrollDirection: Axis.vertical, + shrinkWrap: true, + physics: ScrollPhysics(), + itemCount: getEmployeeContactsList.length, + itemBuilder: (context, index) { + return Container( + child: Column( + children: [ + Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 20, + left: 21, + right: 21, + ), + padding: EdgeInsets.only( + left: 14, + right: 14, + top: 13, ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: SizedBox( - child: Container( - width: 3, - color: MyColors.lightGreyEFColor, + height: 110, + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 5, + blurRadius: 26, + offset: Offset(0, 3), ), - ), + ], + color: Colors.white, + borderRadius: BorderRadius.circular(10.0), ), - Container( - child: InkWell( - onTap: () { - showRemoveAlertDialog(context, getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt()); - }, - child: RichText( - text: TextSpan( - children: [ - WidgetSpan( - child: Icon( - Icons.delete, - size: 15, - color: Color(0x99FF0000), + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + "${getEmployeeContactsList[index].cONTACTNAME}".toText16(color: MyColors.blackColor), + "${getEmployeeContactsList[index].rELATIONSHIP}".toText11(isBold: true, color: MyColors.textMixColor), + SizedBox( + height: 5, + ), + Divider( + color: MyColors.lightGreyEFColor, + height: 20, + thickness: 1, + indent: 0, + endIndent: 0, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + child: InkWell( + onTap: () { + showUpdateAlertDialog(context); + }, + child: RichText( + text: TextSpan( + children: [ + WidgetSpan( + child: Icon( + Icons.edit, + size: 15, + color: MyColors.grey67Color, + ), ), - ), - TextSpan( - text:LocaleKeys.remove.tr(), - style: TextStyle( - color: MyColors.DarkRedColor, - fontSize: 12, - fontWeight: FontWeight.bold, + TextSpan( + text: LocaleKeys.update.tr(), + style: TextStyle( + color: MyColors.grey67Color, + fontSize: 12, + fontWeight: FontWeight.bold, + ), ), - ), - ], + ], + ), + ), + )), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: SizedBox( + child: Container( + width: 3, + color: MyColors.lightGreyEFColor, + ), ), ), - ) - ), - // ElevatedButton.icon( - // icon: Icon( - // Icons.delete, - // size: 15, - // color: Color(0x99FF0000), - // ), - // style: ElevatedButton.styleFrom( - // shadowColor: Colors.white, - // primary: Colors.white, - // ), - // label: "remove".toText12(color: MyColors.DarkRedColor), - // onPressed: (){}, - // ), - ], - ), - ] - ), - ), + Container( + child: InkWell( + onTap: () { + showRemoveAlertDialog(context, getEmployeeContactsList[index]!.cONTACTRELATIONSHIPID!.toInt()); + }, + child: RichText( + text: TextSpan( + children: [ + WidgetSpan( + child: Icon( + Icons.delete, + size: 15, + color: Color(0x99FF0000), + ), + ), + TextSpan( + text: LocaleKeys.remove.tr(), + style: TextStyle( + color: MyColors.DarkRedColor, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + )), + // ElevatedButton.icon( + // icon: Icon( + // Icons.delete, + // size: 15, + // color: Color(0x99FF0000), + // ), + // style: ElevatedButton.styleFrom( + // shadowColor: Colors.white, + // primary: Colors.white, + // ), + // label: "remove".toText12(color: MyColors.DarkRedColor), + // onPressed: (){}, + // ), + ], + ), + ]), + ), + ], + )); + }) ], - ) - ); - }) - ], - ), - ):Container(), - // SizedBox(height: 20), - ) - - - ); + ), + ) + : Container(), + // SizedBox(height: 20), + )); } - footer(){ + Widget footer() { return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), @@ -224,21 +214,27 @@ class _FamilyMembersState extends State { ); } - showUpdateAlertDialog(BuildContext context) { + void showUpdateAlertDialog(BuildContext context) { Widget cancelButton = TextButton( - child: Text(LocaleKeys.cancel.tr(),), - onPressed: () { + child: Text( + LocaleKeys.cancel.tr(), + ), + onPressed: () { Navigator.pop(context); }, ); Widget continueButton = TextButton( - child: Text(LocaleKeys.ok.tr(),), - onPressed: () { + child: Text( + LocaleKeys.ok.tr(), + ), + onPressed: () { continueDynamicForms(); }, ); AlertDialog alert = AlertDialog( - title: Text(LocaleKeys.confirm.tr(),), + title: Text( + LocaleKeys.confirm.tr(), + ), content: Text("Are You Sure You Want to Update this Member?"), actions: [ cancelButton, @@ -252,22 +248,29 @@ class _FamilyMembersState extends State { }, ); } - showRemoveAlertDialog(BuildContext context,int relationId) { + + void showRemoveAlertDialog(BuildContext context, int relationId) { Widget cancelButton = TextButton( - child: Text(LocaleKeys.cancel.tr(),), - onPressed: () { + child: Text( + LocaleKeys.cancel.tr(), + ), + onPressed: () { Navigator.pop(context); }, ); Widget continueButton = TextButton( - child: Text(LocaleKeys.ok.tr(),), - onPressed: () { + child: Text( + LocaleKeys.ok.tr(), + ), + onPressed: () { Navigator.pushNamed(context, AppRoutes.deleteFamilyMember); - // continueDynamicForms(); + // continueDynamicForms(); }, ); AlertDialog alert = AlertDialog( - title: Text(LocaleKeys.confirm.tr(),), + title: Text( + LocaleKeys.confirm.tr(), + ), content: Text("Are You Sure You Want to Remove this Member?"), actions: [ cancelButton, @@ -282,10 +285,7 @@ class _FamilyMembersState extends State { ); } - void continueDynamicForms() { - Navigator.pushNamed(context, AppRoutes.addDynamicInputProfile, - arguments: DynamicFamilyMembersParams(LocaleKeys.profile_familyDetails.tr(), getEmployeeContactsList: getEmployeeContactsList)); + Navigator.pushNamed(context, AppRoutes.addDynamicInputProfile, arguments: DynamicFamilyMembersParams(LocaleKeys.profile_familyDetails.tr(), getEmployeeContactsList: getEmployeeContactsList)); } - } diff --git a/lib/ui/profile/personal_info.dart b/lib/ui/profile/personal_info.dart index 0ad9e2f..7a44004 100644 --- a/lib/ui/profile/personal_info.dart +++ b/lib/ui/profile/personal_info.dart @@ -6,7 +6,6 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart'; - import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; @@ -98,7 +97,7 @@ class _PesonalInfoState extends State { )); } - footer() { + Widget footer() { return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), diff --git a/lib/ui/profile/phone_numbers.dart b/lib/ui/profile/phone_numbers.dart index cba17d5..0d19d07 100644 --- a/lib/ui/profile/phone_numbers.dart +++ b/lib/ui/profile/phone_numbers.dart @@ -3,15 +3,10 @@ import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.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/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; -import 'package:mohem_flutter_app/models/get_employee_address_model.dart'; -import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; import 'package:mohem_flutter_app/models/get_employee_phones_model.dart'; import 'package:mohem_flutter_app/models/profile/phone_number_types_modek.dart'; -import 'package:mohem_flutter_app/ui/profile/profile.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget.dart'; @@ -27,6 +22,7 @@ class PhoneNumbers extends StatefulWidget { class _PhoneNumbersState extends State { List getPhoneNumberTypesList = []; + @override void initState() { super.initState(); @@ -42,117 +38,121 @@ class _PhoneNumbersState extends State { Widget build(BuildContext context) { return Scaffold( - appBar: AppBarWidget( - context, - title: LocaleKeys.profile_contactDetails.tr(), - ), - backgroundColor: MyColors.backgroundColor, - bottomSheet: footer(), - body: SingleChildScrollView( - child: Column(children: [ - Container( - width: double.infinity, - margin: EdgeInsets.only(left: 25, right: 25, top: 25), - padding: EdgeInsets.all(20), - // height: 400, - decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(10.0), border: Border.all(color: Color.fromARGB(255, 209, 207, 207))), - child: InkWell( - child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ - Icon( - Icons.add, - color: Color(0xff259CB8), - ), - Text( - 'Add new row', - style: TextStyle(color: Color(0xff259CB8), fontWeight: FontWeight.bold), - ) - ]), - onTap: () { - addNewRow(); - }, + appBar: AppBarWidget( + context, + title: LocaleKeys.profile_contactDetails.tr(), + ), + backgroundColor: MyColors.backgroundColor, + bottomSheet: footer(), + body: SingleChildScrollView( + child: Column( + children: [ + Container( + width: double.infinity, + margin: EdgeInsets.only(left: 25, right: 25, top: 25), + padding: EdgeInsets.all(20), + // height: 400, + decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(10.0), border: Border.all(color: Color.fromARGB(255, 209, 207, 207))), + child: InkWell( + child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Icon( + Icons.add, + color: Color(0xff259CB8), + ), + Text( + 'Add new row', + style: TextStyle(color: Color(0xff259CB8), fontWeight: FontWeight.bold), + ) + ]), + onTap: () { + addNewRow(); + }, + ), ), - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: widget.getEmployeePhonesList - .map((e) => e.aCTION != 'DELETE_ROW' - ? Container( - width: double.infinity, - margin: EdgeInsets.only( - top: 20, - left: 26, - right: 26, - ), - padding: EdgeInsets.only(left: 14, right: 14, top: 15, bottom: 15), - // height: 400, - decoration: BoxDecoration( - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.5), - spreadRadius: 5, - blurRadius: 26, - offset: Offset(0, 3), - ), - ], - color: Colors.white, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ - PopupMenuButton( - child: DynamicTextFieldWidget( - "Please Select *", - e.pHONETYPEMEANING ?? "", - isEnable: false, - isPopup: true, - ).paddingOnly(bottom: 12), - itemBuilder: (_) => >[ - for (int i = 0; i < getPhoneNumberTypesList.length; i++) PopupMenuItem(child: Text(getPhoneNumberTypesList![i].mEANING!), value: i), - ], - onSelected: (int index) { - e.pHONETYPEMEANING = getPhoneNumberTypesList[index].mEANING; - e.pHONETYPE = getPhoneNumberTypesList[index].cODE; - setState(() {}); - }), - DynamicTextFieldWidget( - "", - e.pHONENUMBER ?? "", - isReadOnly: false, - onChange: (text) { - e.pHONENUMBER = text; - }, - ).paddingOnly(bottom: 12), - InkWell( - child: Row(mainAxisAlignment: MainAxisAlignment.end, children: [ - Icon( - Icons.delete, - color: Colors.red, - size: 18, - ), - Text( - 'Delete', - style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold), - ) - ]), - onTap: () { - // widget.getEmployeePhonesList.removeWhere((item) => item.pHONEID == e.pHONEID); - setState(() { - deleteRow(e); - }); - }, + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: widget.getEmployeePhonesList + .map((e) => e.aCTION != 'DELETE_ROW' + ? Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 20, + left: 26, + right: 26, ), - SizedBox( - height: 10, + padding: EdgeInsets.only(left: 14, right: 14, top: 15, bottom: 15), + // height: 400, + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 5, + blurRadius: 26, + offset: Offset(0, 3), + ), + ], + color: Colors.white, + borderRadius: BorderRadius.circular(10.0), ), - ])) - : Container()) - .toList()), - SizedBox( - height: 80, - ) - ]))); + child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + PopupMenuButton( + child: DynamicTextFieldWidget( + "Please Select *", + e.pHONETYPEMEANING ?? "", + isEnable: false, + isPopup: true, + ).paddingOnly(bottom: 12), + itemBuilder: (_) => >[ + for (int i = 0; i < getPhoneNumberTypesList.length; i++) PopupMenuItem(child: Text(getPhoneNumberTypesList![i].mEANING!), value: i), + ], + onSelected: (int index) { + e.pHONETYPEMEANING = getPhoneNumberTypesList[index].mEANING; + e.pHONETYPE = getPhoneNumberTypesList[index].cODE; + setState(() {}); + }), + DynamicTextFieldWidget( + "", + e.pHONENUMBER ?? "", + isReadOnly: false, + onChange: (text) { + e.pHONENUMBER = text; + }, + ).paddingOnly(bottom: 12), + InkWell( + child: Row(mainAxisAlignment: MainAxisAlignment.end, children: [ + Icon( + Icons.delete, + color: Colors.red, + size: 18, + ), + Text( + 'Delete', + style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold), + ) + ]), + onTap: () { + // widget.getEmployeePhonesList.removeWhere((item) => item.pHONEID == e.pHONEID); + setState(() { + deleteRow(e); + }); + }, + ), + SizedBox( + height: 10, + ), + ])) + : Container()) + .toList()), + SizedBox( + height: 80, + ) + ], + ), + ), + ); } - footer() { + Widget footer() { return Container( decoration: BoxDecoration( // borderRadius: BorderRadius.circular(10), diff --git a/lib/ui/profile/profile.dart b/lib/ui/profile/profile.dart index 6cbf953..46fe7ea 100644 --- a/lib/ui/profile/profile.dart +++ b/lib/ui/profile/profile.dart @@ -1,13 +1,10 @@ -import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/profile_api_client.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/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart'; -import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart'; class Profile extends StatefulWidget { const Profile({Key? key}) : super(key: key); @@ -16,6 +13,7 @@ class Profile extends StatefulWidget { _ProfileState createState() => _ProfileState(); } +// todo '@fatima' use extension methods for widgets,7 dont use hard code strings, make it localize class _ProfileState extends State { String? fullName = ""; String? maritalStatus = ""; @@ -39,8 +37,6 @@ class _ProfileState extends State { getEmployeeBasicDetailsList = await ProfileApiClient().getEmployeeBasicDetails(); Utils.hideLoading(context); basicDetails(); - print("getEmployeeBasicDetailsList.length"); - print(getEmployeeBasicDetailsList.length); setState(() {}); } catch (ex) { Utils.hideLoading(context); @@ -48,7 +44,7 @@ class _ProfileState extends State { } } - basicDetails() { + void basicDetails() { for (int i = 0; i < getEmployeeBasicDetailsList.length; i++) { if (getEmployeeBasicDetailsList[i].aPPLICATIONCOLUMNNAME == 'FULL_NAME') { fullName = getEmployeeBasicDetailsList[i].sEGMENTVALUEDSP; @@ -116,8 +112,7 @@ class _ProfileState extends State { ], ), ), - ) - ), + )), ), Container( width: double.infinity, @@ -142,19 +137,15 @@ class _ProfileState extends State { indent: 0, endIndent: 0, ), - Container( padding: EdgeInsets.only(left: 10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ InkWell( - onTap: () { - - }, + onTap: () {}, child: Row( children: [ - SizedBox( width: 15, ), @@ -166,12 +157,9 @@ class _ProfileState extends State { height: 5, ), InkWell( - onTap: () { - - }, + onTap: () {}, child: Row( children: [ - SizedBox( width: 15, ), @@ -183,12 +171,9 @@ class _ProfileState extends State { height: 5, ), InkWell( - onTap: () { - - }, + onTap: () {}, child: Row( children: [ - SizedBox( width: 20, ), @@ -200,12 +185,9 @@ class _ProfileState extends State { height: 5, ), InkWell( - onTap: () { - - }, + onTap: () {}, child: Row( children: [ - SizedBox( width: 20, ), @@ -220,7 +202,7 @@ class _ProfileState extends State { ), ), ], - ).paddingOnly( top: 35, bottom: 36), + ).paddingOnly(top: 35, bottom: 36), ), Align( alignment: Alignment.topCenter, diff --git a/lib/ui/screens/announcements/announcement_details.dart b/lib/ui/screens/announcements/announcement_details.dart index 9ff6c36..6909be5 100644 --- a/lib/ui/screens/announcements/announcement_details.dart +++ b/lib/ui/screens/announcements/announcement_details.dart @@ -79,7 +79,7 @@ class _AnnouncementDetailsState extends State { ); } - getRequestID() { + void getRequestID() { if (currentPageNo == 0) { final arguments = (ModalRoute.of(context)?.settings.arguments ?? {}) as Map; currentPageNo = arguments["currentPageNo"]; diff --git a/lib/ui/screens/mowadhafhi/mowadhafhi_home.dart b/lib/ui/screens/mowadhafhi/mowadhafhi_home.dart index 6dd0f0d..f3ae4f8 100644 --- a/lib/ui/screens/mowadhafhi/mowadhafhi_home.dart +++ b/lib/ui/screens/mowadhafhi/mowadhafhi_home.dart @@ -9,10 +9,9 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/mowadhafhi/get_tickets_list.dart'; +import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; -import '../../../widgets/app_bar_widget.dart'; - class MowadhafhiHome extends StatefulWidget { const MowadhafhiHome({Key? key}) : super(key: key); @@ -32,93 +31,92 @@ class _MowadhafhiHomeState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: Colors.white, - appBar: AppBarWidget( - context, - title: "Mowadhafhi Request", - ), - body: Container( - margin: const EdgeInsets.only(top: 10.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - Expanded( - child: ListView.separated( - physics: const BouncingScrollPhysics(), - shrinkWrap: true, - itemBuilder: (BuildContext context, int index) { - return InkWell( - onTap: () { - openRequestDetails(getTicketsByEmployeeList[index].ticketId!); - }, - child: Container( - width: double.infinity, - // height: 100.0, - padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 10), - margin: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 10), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(10), - boxShadow: [ - BoxShadow( - color: const Color(0xff000000).withOpacity(.05), - blurRadius: 26, - offset: const Offset(0, -3), - ), - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - getTicketsByEmployeeList[index].ticketTypeName!.toText14(color: MyColors.grey57Color), - getTicketsByEmployeeList[index].created!.split(" ")[0].toText12(color: MyColors.grey70Color), - ], - ), - Container( - padding: const EdgeInsets.only(top: 10.0), - child: getTicketsByEmployeeList[index].description!.toText12(color: MyColors.grey57Color), - ), - Container( - padding: const EdgeInsets.only(top: 10.0), - child: Row( + backgroundColor: Colors.white, + appBar: AppBarWidget( + context, + title: "Mowadhafhi Request", + ), + body: Container( + margin: const EdgeInsets.only(top: 10.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Expanded( + child: ListView.separated( + physics: const BouncingScrollPhysics(), + shrinkWrap: true, + itemBuilder: (BuildContext context, int index) { + return InkWell( + onTap: () { + openRequestDetails(getTicketsByEmployeeList[index].ticketId!); + }, + child: Container( + width: double.infinity, + // height: 100.0, + padding: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 10), + margin: const EdgeInsets.only(left: 12, right: 12, top: 10, bottom: 10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: const Color(0xff000000).withOpacity(.05), + blurRadius: 26, + offset: const Offset(0, -3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - getTicketsByEmployeeList[index].ticketStatusInternalName!.toText14(color: MyColors.gradiantEndColor), - SvgPicture.asset( - "assets/images/arrow_next.svg", - color: MyColors.darkIconColor, - ) + getTicketsByEmployeeList[index].ticketTypeName!.toText14(color: MyColors.grey57Color), + getTicketsByEmployeeList[index].created!.split(" ")[0].toText12(color: MyColors.grey70Color), ], ), - ), - ], + Container( + padding: const EdgeInsets.only(top: 10.0), + child: getTicketsByEmployeeList[index].description!.toText12(color: MyColors.grey57Color), + ), + Container( + padding: const EdgeInsets.only(top: 10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + getTicketsByEmployeeList[index].ticketStatusInternalName!.toText14(color: MyColors.gradiantEndColor), + SvgPicture.asset( + "assets/images/arrow_next.svg", + color: MyColors.darkIconColor, + ) + ], + ), + ), + ], + ), ), - ), - ); - }, - separatorBuilder: (BuildContext context, int index) => 12.height, - itemCount: getTicketsByEmployeeList.length ?? 0)), - 80.height - ], - ), - ), - bottomSheet: Container( - decoration: const BoxDecoration( - color: MyColors.white, - boxShadow: [ - BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3), - ], + ); + }, + separatorBuilder: (BuildContext context, int index) => 12.height, + itemCount: getTicketsByEmployeeList.length ?? 0)), + 80.height + ], + ), ), - child: DefaultButton(LocaleKeys.createRequest.tr(), () async { - openHRRequest(); - }).insideContainer, - ) - ); + bottomSheet: Container( + decoration: const BoxDecoration( + color: MyColors.white, + boxShadow: [ + BoxShadow(color: MyColors.lightGreyEFColor, spreadRadius: 3), + ], + ), + child: DefaultButton(LocaleKeys.createRequest.tr(), () async { + openHRRequest(); + }).insideContainer, + )); } void openRequestDetails(String itgTicketID) async { diff --git a/lib/ui/screens/mowadhafhi/request_details.dart b/lib/ui/screens/mowadhafhi/request_details.dart index ec7db4b..9426929 100644 --- a/lib/ui/screens/mowadhafhi/request_details.dart +++ b/lib/ui/screens/mowadhafhi/request_details.dart @@ -26,7 +26,7 @@ class _RequestDetailsState extends State { super.initState(); } - getRequestID() { + void getRequestID() { if (itgTicketID == null) { itgTicketID = ModalRoute.of(context)?.settings.arguments as String; debugPrint(itgTicketID); diff --git a/lib/ui/screens/pending_transactions/pending_transactions_details.dart b/lib/ui/screens/pending_transactions/pending_transactions_details.dart index 931ba50..1877c5b 100644 --- a/lib/ui/screens/pending_transactions/pending_transactions_details.dart +++ b/lib/ui/screens/pending_transactions/pending_transactions_details.dart @@ -26,7 +26,7 @@ class _PendingTransactionsDetailsState extends State super.initState(); } - getFunctionID() { + void getFunctionID() { if (functionID == "") { final arguments = (ModalRoute.of(context)?.settings.arguments ?? {}) as Map; functionID = arguments["selectedFunctionID"].toString(); diff --git a/lib/ui/screens/profile/profile_screen.dart b/lib/ui/screens/profile/profile_screen.dart index 89d4ba6..73638aa 100644 --- a/lib/ui/screens/profile/profile_screen.dart +++ b/lib/ui/screens/profile/profile_screen.dart @@ -1,5 +1,6 @@ -import 'dart:ui'; import 'dart:convert'; +import 'dart:ui'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; @@ -90,7 +91,7 @@ class _ProfileScreenState extends State { ])); } - startImageSheet() { + void startImageSheet() { showMyBottomSheet(context, child: Column( children: [ diff --git a/lib/ui/work_list/itg_fragments/approval_level_fragment.dart b/lib/ui/work_list/itg_fragments/approval_level_fragment.dart index c09b62e..027d8ca 100644 --- a/lib/ui/work_list/itg_fragments/approval_level_fragment.dart +++ b/lib/ui/work_list/itg_fragments/approval_level_fragment.dart @@ -6,7 +6,6 @@ import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/models/itg_forms_models/wf_history_model.dart'; -import 'package:mohem_flutter_app/ui/work_list/sheets/delegate_sheet.dart'; import 'package:mohem_flutter_app/ui/work_list/sheets/request_more_info_sheet.dart'; import 'package:mohem_flutter_app/widgets/bottom_sheet.dart'; import 'package:mohem_flutter_app/widgets/circular_avatar.dart'; diff --git a/lib/ui/work_list/sheets/delegate_sheet.dart b/lib/ui/work_list/sheets/delegate_sheet.dart index 4ce032c..1923c27 100644 --- a/lib/ui/work_list/sheets/delegate_sheet.dart +++ b/lib/ui/work_list/sheets/delegate_sheet.dart @@ -5,8 +5,12 @@ import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; -import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; +import 'package:mohem_flutter_app/extensions/string_extensions.dart'; +import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; +import 'package:mohem_flutter_app/models/generic_response_model.dart'; +import 'package:mohem_flutter_app/models/get_action_history_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart'; import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart'; import 'package:mohem_flutter_app/ui/work_list/sheets/search_options_sheet.dart'; import 'package:mohem_flutter_app/ui/work_list/sheets/selected_item_sheet.dart'; @@ -14,19 +18,13 @@ import 'package:mohem_flutter_app/widgets/bottom_sheet.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/circular_avatar.dart'; import 'package:mohem_flutter_app/widgets/input_widget.dart'; -import 'package:mohem_flutter_app/widgets/radio/show_radio.dart'; -import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; - -import '../../../models/generic_response_model.dart'; -import '../../../models/get_action_history_list_model.dart'; -import '../../../models/worklist/get_favorite_replacements_model.dart'; class DelegateSheet extends StatefulWidget { int? notificationID; - String title,apiMode; + String title, apiMode; List? actionHistoryList; - DelegateSheet({required this.title,required this.apiMode,this.notificationID, this.actionHistoryList}); + DelegateSheet({required this.title, required this.apiMode, this.notificationID, this.actionHistoryList}); @override State createState() => _DelegateSheetState(); @@ -69,7 +67,7 @@ class _DelegateSheetState extends State { return null; } - fetchChangeFav({required String email, required String employeName, required String image, required String userName, bool isFav = false, bool isNeedToRefresh = false}) async { + void fetchChangeFav({required String email, required String employeName, required String image, required String userName, bool isFav = false, bool isNeedToRefresh = false}) async { Utils.showLoading(context); favLetters = null; selectedFavLetter = null; diff --git a/lib/ui/work_list/sheets/search_options_sheet.dart b/lib/ui/work_list/sheets/search_options_sheet.dart index d773d62..9b794bb 100644 --- a/lib/ui/work_list/sheets/search_options_sheet.dart +++ b/lib/ui/work_list/sheets/search_options_sheet.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; +import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; - -import '../../../classes/colors.dart'; -import '../../../widgets/radio/show_radio.dart'; +import 'package:mohem_flutter_app/widgets/radio/show_radio.dart'; class SearchOptionsSheet extends StatelessWidget { String selectedType; diff --git a/lib/ui/work_list/sheets/selected_item_sheet.dart b/lib/ui/work_list/sheets/selected_item_sheet.dart index 3c9af9b..aadec34 100644 --- a/lib/ui/work_list/sheets/selected_item_sheet.dart +++ b/lib/ui/work_list/sheets/selected_item_sheet.dart @@ -1,19 +1,15 @@ import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart'; import 'package:mohem_flutter_app/classes/colors.dart'; -import 'package:mohem_flutter_app/extensions/string_extensions.dart'; +import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; +import 'package:mohem_flutter_app/extensions/string_extensions.dart'; +import 'package:mohem_flutter_app/models/get_action_history_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart'; +import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/circular_avatar.dart'; import 'package:mohem_flutter_app/widgets/input_widget.dart'; -import 'package:mohem_flutter_app/widgets/radio/show_radio.dart'; -import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; - -import '../../../app_state/app_state.dart'; -import '../../../classes/utils.dart'; -import '../../../models/get_action_history_list_model.dart'; -import '../../../models/worklist/get_favorite_replacements_model.dart'; -import '../../../models/worklist/replacement_list_model.dart'; class SelectedItemSheet extends StatelessWidget { String title, apiMode; @@ -115,13 +111,13 @@ class SelectedItemSheet extends StatelessWidget { Future performNetworkCall(BuildContext context, {String? email, String? userId}) async { Utils.showLoading(context); - try{ + try { await WorkListApiClient().submitComment(comment: comment, email: email, userId: userId, notificationId: notificationID, apiMode: apiMode); Utils.hideLoading(context); Navigator.pop(context); Navigator.pop(context); Navigator.pop(context, "delegate_reload"); - }catch (ex) { + } catch (ex) { Utils.hideLoading(context); Utils.handleException(ex, context, null); } diff --git a/lib/ui/work_list/worklist_detail_screen.dart b/lib/ui/work_list/worklist_detail_screen.dart index 176cb41..1166d83 100644 --- a/lib/ui/work_list/worklist_detail_screen.dart +++ b/lib/ui/work_list/worklist_detail_screen.dart @@ -23,6 +23,10 @@ import 'package:mohem_flutter_app/models/get_stamp_ms_notification_body_list_mod import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_model.dart'; 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/hr/eit_otification_body_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_contact_notification_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_phones_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/worklist_response_model.dart'; import 'package:mohem_flutter_app/ui/work_list/sheets/delegate_sheet.dart'; import 'package:mohem_flutter_app/ui/work_list/worklist_fragments/actions_fragment.dart'; @@ -31,15 +35,10 @@ import 'package:mohem_flutter_app/ui/work_list/worklist_fragments/detail_fragmen import 'package:mohem_flutter_app/ui/work_list/worklist_fragments/info_fragments.dart'; import 'package:mohem_flutter_app/ui/work_list/worklist_fragments/request_fragment.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; +import 'package:mohem_flutter_app/widgets/bottom_sheet.dart'; import 'package:mohem_flutter_app/widgets/button/default_button.dart'; import 'package:mohem_flutter_app/widgets/dialogs/accept_reject_input_dialog.dart'; - -import '../../models/worklist/hr/eit_otification_body_model.dart'; -import '../../models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; -import '../../models/worklist/hr/get_contact_notification_body_list_model.dart'; -import '../../models/worklist/hr/get_phones_notification_body_list_model.dart'; -import '../../widgets/bottom_sheet.dart'; -import '../../widgets/dialogs/confirm_dialog.dart'; +import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; class WorkListDetailScreen extends StatefulWidget { WorkListDetailScreen({Key? key}) : super(key: key); diff --git a/lib/ui/work_list/worklist_fragments/info_fragments.dart b/lib/ui/work_list/worklist_fragments/info_fragments.dart index 5156a33..bc47989 100644 --- a/lib/ui/work_list/worklist_fragments/info_fragments.dart +++ b/lib/ui/work_list/worklist_fragments/info_fragments.dart @@ -1,6 +1,5 @@ import 'package:easy_localization/src/public_ext.dart'; import 'package:flutter/material.dart'; -import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/date_uitl.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart'; @@ -11,14 +10,13 @@ import 'package:mohem_flutter_app/models/get_item_creation_ntf_body_list_model.d import 'package:mohem_flutter_app/models/get_po_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/hr/eit_otification_body_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_contact_notification_body_list_model.dart'; +import 'package:mohem_flutter_app/models/worklist/hr/get_phones_notification_body_list_model.dart'; import 'package:mohem_flutter_app/models/worklist_response_model.dart'; import 'package:mohem_flutter_app/widgets/item_detail_view_widget.dart'; -import '../../../models/worklist/hr/eit_otification_body_model.dart'; -import '../../../models/worklist/hr/get_basic_det_ntf_body_list_model.dart'; -import '../../../models/worklist/hr/get_contact_notification_body_list_model.dart'; -import '../../../models/worklist/hr/get_phones_notification_body_list_model.dart'; - class InfoFragment extends StatelessWidget { WorkListResponseModel? workListData; List poHeaderList; diff --git a/lib/widgets/Updater.dart b/lib/widgets/Updater.dart index 154173d..82cc172 100644 --- a/lib/widgets/Updater.dart +++ b/lib/widgets/Updater.dart @@ -28,7 +28,7 @@ class Updater extends StatelessWidget{ }); } - pushData(T? data) { + void pushData(T? data) { _history.add(data); sink?.sink.add(data); } diff --git a/lib/widgets/bottom_sheet.dart b/lib/widgets/bottom_sheet.dart index f0bf3f8..d151afc 100644 --- a/lib/widgets/bottom_sheet.dart +++ b/lib/widgets/bottom_sheet.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:mohem_flutter_app/extensions/int_extensions.dart'; -showMyBottomSheet(BuildContext context, {required Widget child}) { +void showMyBottomSheet(BuildContext context, {required Widget child}) { showModalBottomSheet( context: context, isScrollControlled: true, diff --git a/lib/widgets/circular_step_progress_bar.dart b/lib/widgets/circular_step_progress_bar.dart index 75724c8..6789aed 100644 --- a/lib/widgets/circular_step_progress_bar.dart +++ b/lib/widgets/circular_step_progress_bar.dart @@ -502,7 +502,7 @@ class _CircularIndicatorPainter implements CustomPainter { void removeListener(listener) {} @override - get semanticsBuilder => null; + Null get semanticsBuilder => null; @override bool shouldRebuildSemantics(CustomPainter oldDelegate) => false; diff --git a/lib/widgets/location/Location.dart b/lib/widgets/location/Location.dart index bd39e2e..8456fd2 100644 --- a/lib/widgets/location/Location.dart +++ b/lib/widgets/location/Location.dart @@ -1,23 +1,22 @@ import 'dart:async'; import 'dart:math'; import 'dart:ui'; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:geolocator/geolocator.dart'; import 'package:google_directions_api/google_directions_api.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'package:mohem_flutter_app/classes/app_permissions.dart'; import 'package:mohem_flutter_app/classes/utils.dart'; +import 'package:mohem_flutter_app/theme/colors.dart'; // import 'package:geodesy/geodesy.dart' as geodesy; -import '../../classes/app_permissions.dart'; -import '../../theme/colors.dart'; - - //Created By Mr.Zohaib class Location { static _Map map = _Map(); - static havePermission(Function(bool) callback) { + static void havePermission(Function(bool) callback) { Geolocator.checkPermission().then((value) async { if (value == LocationPermission.denied) { value = await Geolocator.requestPermission(); @@ -28,13 +27,13 @@ class Location { }); } - static isEnabled(Function(bool) callback) { + static void isEnabled(Function(bool) callback) { Geolocator.isLocationServiceEnabled().then((value) => callback(value)); } static bool _listeningSettingChange = true; - static listenGPS({bool change = true, Function(bool)? onChange}) async { + static void listenGPS({bool change = true, Function(bool)? onChange}) async { _listeningSettingChange = change; if (change == false) return; @@ -46,8 +45,8 @@ class Location { }); } - static getCurrentLocation(Function(LatLng?) callback) { - done(Position position) { + static void getCurrentLocation(Function(LatLng?) callback) { + void done(Position position) { //AppStorage.sp.saveLocation(position); LatLng? myCurrentLocation = LatLng(position.latitude, position.longitude); @@ -55,8 +54,7 @@ class Location { } AppPermissions.location((granted) { - - if (granted) + if (granted) { Geolocator.getLastKnownPosition(forceAndroidLocationManager: true).then((value) { if (value == null) { Geolocator.getCurrentPosition().then((value) { @@ -66,6 +64,7 @@ class Location { done(value); } }); + } }); } @@ -125,20 +124,20 @@ class _Map { return camera; } - moveCamera(CameraPosition camera, @required Completer mapController, bool animation) { + void moveCamera(CameraPosition camera, @required Completer mapController, bool animation) { mapController.future.then((controller) { animation ? controller.animateCamera(CameraUpdate.newCameraPosition(camera)) : controller.moveCamera(CameraUpdate.newCameraPosition(camera)); }); } - scrollBy({double x = 0, double y = 0, required Completer mapController, bool animation = true}) { + void scrollBy({double x = 0, double y = 0, required Completer mapController, bool animation = true}) { var camera = CameraUpdate.scrollBy(x, y); mapController.future.then((controller) { animation ? controller.animateCamera(camera) : controller.moveCamera(camera); }); } - goToCurrentLocation({Completer? mapController, double? direction = 0.0, bool? animation}) { + void goToCurrentLocation({Completer? mapController, double? direction = 0.0, bool? animation}) { Location.getCurrentLocation((location) { moveTo(location!, zoom: 17, mapController: mapController!, animation: animation, direction: direction!); }); @@ -146,7 +145,7 @@ class _Map { var routes = Map(); - setRoutePolylines(LatLng? source, LatLng? destination, Set polylines, Completer mapController, Function(DirectionsRoute?) completion) { + void setRoutePolylines(LatLng? source, LatLng? destination, Set polylines, Completer mapController, Function(DirectionsRoute?) completion) { if (source == null || destination == null) { completion(null); return; @@ -156,7 +155,7 @@ class _Map { var destin = '${destination.latitude},${destination.longitude}'; var routeId = '$origin->$destination'; - createPolyline(DirectionsRoute results) { + void createPolyline(DirectionsRoute results) { List polylineCoordinates = results.overviewPath!.map((e) => LatLng(e.latitude, e.longitude)).toList(); PolylineId id = PolylineId("route"); Polyline polyline = Polyline( @@ -221,7 +220,7 @@ class _Map { return LatLngBounds(northeast: LatLng(x1!, y1!), southwest: LatLng(x0!, y0!)); } - focusCameraToLatLngBounds({LatLngBounds? bound, Completer? mapController, double? padding}) async { + void focusCameraToLatLngBounds({LatLngBounds? bound, Completer? mapController, double? padding}) async { if (bound == null) return; CameraUpdate camera = CameraUpdate.newLatLngBounds(bound, padding!); @@ -229,7 +228,7 @@ class _Map { controller.animateCamera(camera); } - focusCameraTo2Points({LatLng? point1, LatLng? point2, Completer? mapController, double? padding}) async { + void focusCameraTo2Points({LatLng? point1, LatLng? point2, Completer? mapController, double? padding}) async { var source = point1; var destination = point2; if (source != null && destination != null) { diff --git a/lib/widgets/otp_widget.dart b/lib/widgets/otp_widget.dart index a489e61..e90308d 100644 --- a/lib/widgets/otp_widget.dart +++ b/lib/widgets/otp_widget.dart @@ -108,7 +108,7 @@ class OTPWidgetState extends State with SingleTickerProviderStateMixi } } - _calculateStrList() { + void calculateStrList() { if (strList.length > widget.maxLength) { strList.length = widget.maxLength; } @@ -123,7 +123,7 @@ class OTPWidgetState extends State with SingleTickerProviderStateMixi focusNode = widget.focusNode ?? FocusNode(); _initTextController(); - _calculateStrList(); + calculateStrList(); widget.controller?.addListener(_controllerListener); focusNode?.addListener(_focusListener); } @@ -291,7 +291,7 @@ class OTPWidgetState extends State with SingleTickerProviderStateMixi } Widget _pinBoxRow(BuildContext context) { - _calculateStrList(); + calculateStrList(); List pinCodes = List.generate(widget.maxLength, (int i) { return _buildPinCode(i, context); });