From 794cd2b1e819ba755c1a36079819f0eea58d485d Mon Sep 17 00:00:00 2001 From: Sultan Khan Date: Sun, 19 Jun 2022 10:46:47 +0300 Subject: [PATCH] phone number inprogress --- lib/main.dart | 2 +- lib/models/get_employee_phones_model.dart | 18 +-- lib/ui/profile/phone_numbers.dart | 144 ++++++++++++---------- 3 files changed, 84 insertions(+), 80 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 9952762..5e9f705 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -30,7 +30,7 @@ Future main() async { await EasyLocalization.ensureInitialized(); await Firebase.initializeApp(); AppState().setPostParamsModel( - PostParamsModel(channel: 31, versionID: 3.4, mobileType: Platform.isAndroid ? "android" : "ios"), + PostParamsModel(channel: 31, versionID: 3.6, mobileType: Platform.isAndroid ? "android" : "ios"), ); runApp( EasyLocalization( diff --git a/lib/models/get_employee_phones_model.dart b/lib/models/get_employee_phones_model.dart index 1fbba7f..b4038ae 100644 --- a/lib/models/get_employee_phones_model.dart +++ b/lib/models/get_employee_phones_model.dart @@ -1,4 +1,3 @@ - class GetEmployeePhonesList { String? dATEFROM; String? dATETO; @@ -10,20 +9,12 @@ class GetEmployeePhonesList { String? pHONETYPE; String? pHONETYPEMEANING; int? rOWINDEX; - + String? aCTION; GetEmployeePhonesList( - {this.dATEFROM, - this.dATETO, - this.oBJECTVERSIONNUMBER, - this.pARENTID, - this.pARENTTABLE, - this.pHONEID, - this.pHONENUMBER, - this.pHONETYPE, - this.pHONETYPEMEANING, - this.rOWINDEX}); + {this.aCTION, this.dATEFROM, this.dATETO, this.oBJECTVERSIONNUMBER, this.pARENTID, this.pARENTTABLE, this.pHONEID, this.pHONENUMBER, this.pHONETYPE, this.pHONETYPEMEANING, this.rOWINDEX}); GetEmployeePhonesList.fromJson(Map json) { + aCTION = json['ACTION']; dATEFROM = json['DATE_FROM']; dATETO = json['DATE_TO']; oBJECTVERSIONNUMBER = json['OBJECT_VERSION_NUMBER']; @@ -38,6 +29,7 @@ class GetEmployeePhonesList { Map toJson() { final Map data = new Map(); + data['ACTION'] = this.aCTION; data['DATE_FROM'] = this.dATEFROM; data['DATE_TO'] = this.dATETO; data['OBJECT_VERSION_NUMBER'] = this.oBJECTVERSIONNUMBER; @@ -50,4 +42,4 @@ class GetEmployeePhonesList { data['ROW_INDEX'] = this.rOWINDEX; return data; } -} \ No newline at end of file +} diff --git a/lib/ui/profile/phone_numbers.dart b/lib/ui/profile/phone_numbers.dart index 44b9095..cba17d5 100644 --- a/lib/ui/profile/phone_numbers.dart +++ b/lib/ui/profile/phone_numbers.dart @@ -75,72 +75,76 @@ class _PhoneNumbersState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: widget.getEmployeePhonesList - .map((e) => 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), + .map((e) => e.aCTION != 'DELETE_ROW' + ? Container( + width: double.infinity, + margin: EdgeInsets.only( + top: 20, + left: 26, + right: 26, ), - ], - 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, + 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), - 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, + 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, ), - Text( - 'Delete', - style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold), - ) - ]), - onTap: () { - widget.getEmployeePhonesList.removeWhere((item) => item.pHONEID == e.pHONEID); - setState(() {}); - }, - ), - SizedBox( - height: 10, - ), - ]))) + ])) + : Container()) .toList()), SizedBox( height: 80, @@ -158,16 +162,24 @@ class _PhoneNumbersState extends State { ], ), child: DefaultButton(LocaleKeys.update.tr(), () async { + updatePhone(); // context.setLocale(const Locale("en", "US")); // to change Loacle - Profile(); + // Profile(); }).insideContainer, ); } - updatePhone() {} + void updatePhone() { + print(widget.getEmployeePhonesList); + } + void addNewRow() { setState(() { - widget.getEmployeePhonesList.add(GetEmployeePhonesList()); + widget.getEmployeePhonesList.add(GetEmployeePhonesList(aCTION: 'NEW_ROW')); }); } + + void deleteRow(GetEmployeePhonesList row) { + row.aCTION = 'DELETE_ROW'; + } }