This commit is contained in:
Phaung Phaung
2021-09-10 12:02:08 +06:30
parent a144c945b6
commit c06ae00b68
35 changed files with 190 additions and 223 deletions

View File

@@ -1,6 +1,5 @@
import 'package:fcs/domain/vo/contact.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/contact/model/contact_model.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/input_text.dart';
@@ -14,7 +13,7 @@ import 'package:provider/provider.dart';
import 'widgets.dart';
class ContactEditor extends StatefulWidget {
final Contact contact;
final Contact? contact;
const ContactEditor({this.contact});
@override
_ContactEditorState createState() => _ContactEditorState();
@@ -29,22 +28,23 @@ class _ContactEditorState extends State<ContactEditor> {
TextEditingController _facebook = new TextEditingController();
bool _isLoading = false;
bool isNew;
bool isNew = false;
Contact? _contact;
@override
void initState() {
if (widget.contact != null) _contact = widget.contact!;
super.initState();
if (widget.contact != null) {
isNew = false;
_usaPhone.text = widget.contact.usaContactNumber;
_mmPhone.text = widget.contact.mmContactNumber;
_usaAddress.text = widget.contact.usaAddress;
_mmAddress.text = widget.contact.mmAddress;
_email.text = widget.contact.emailAddress;
_facebook.text = widget.contact.facebookLink;
} else {
isNew = true;
}
isNew = widget.contact == null;
}
initContact() {
_usaPhone.text = _contact?.usaContactNumber ?? '';
_mmPhone.text = _contact?.mmContactNumber ?? '';
_usaAddress.text = _contact?.usaAddress ?? '';
_mmAddress.text = _contact?.mmAddress ?? '';
_email.text = _contact?.emailAddress ?? '';
_facebook.text = _contact?.facebookLink ?? '';
}
@override
@@ -136,14 +136,17 @@ class _ContactEditorState extends State<ContactEditor> {
_isLoading = true;
});
try {
widget.contact.usaContactNumber = _usaPhone.text;
widget.contact.mmContactNumber = _mmPhone.text;
widget.contact.usaAddress = _usaAddress.text;
widget.contact.mmAddress = _mmAddress.text;
widget.contact.emailAddress = _email.text;
widget.contact.facebookLink = _facebook.text;
var contactModel = Provider.of<ContactModel>(context, listen: false);
await contactModel.saveContact(widget.contact);
_contact?.usaContactNumber = _usaPhone.text;
_contact?.mmContactNumber = _mmPhone.text;
_contact?.usaAddress = _usaAddress.text;
_contact?.mmAddress = _mmAddress.text;
_contact?.emailAddress = _email.text;
_contact?.facebookLink = _facebook.text;
if (this._contact != null) {
var contactModel = Provider.of<ContactModel>(context, listen: false);
await contactModel.saveContact(_contact!);
}
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());

View File

@@ -1,7 +1,6 @@
import 'package:fcs/domain/entities/setting.dart';
import 'package:fcs/domain/vo/contact.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/contact/contact_editor.dart';
import 'package:fcs/pages/main/model/main_model.dart';
import 'package:fcs/pages/widgets/local_text.dart';

View File

@@ -7,25 +7,25 @@ Widget itemTitle(BuildContext context, String textKey) {
return Padding(
padding: const EdgeInsets.only(left: 18.0, top: 25, bottom: 5),
child: Text(
AppTranslations.of(context).text(textKey),
AppTranslations.of(context)!.text(textKey),
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 18, color: Colors.black),
),
);
}
Widget subItemTitle(BuildContext context, String textKey, {IconData iconData}) {
Widget subItemTitle(BuildContext context, String textKey, {IconData? iconData}) {
return Padding(
padding: const EdgeInsets.only(left: 0, top: 0, bottom: 0),
child: Row(
children: [
Icon(
iconData,
iconData,
color: primaryColor,
),
SizedBox(width: 10),
Text(
AppTranslations.of(context).text(textKey),
AppTranslations.of(context)!.text(textKey),
style: TextStyle(
fontWeight: FontWeight.w700, fontSize: 15, color: primaryColor),
),
@@ -34,8 +34,8 @@ Widget subItemTitle(BuildContext context, String textKey, {IconData iconData}) {
);
}
Widget contactItem(BuildContext context, String text, IconData iconData,
{Function() onTap, String labelKey}) {
Widget contactItem(BuildContext context, String? text, IconData iconData,
{Function()? onTap, String? labelKey}) {
return Material(
child: Padding(
padding: const EdgeInsets.only(left: 18.0, bottom: 10, right: 18),