Add custom vendor contact fields
This commit is contained in:
parent
eb7b2a9d26
commit
74440f34e6
|
|
@ -6,6 +6,7 @@ import 'package:invoiceninja_flutter/constants.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||||
|
import 'package:invoiceninja_flutter/ui/app/forms/custom_field.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
|
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/vendor/edit/vendor_edit_contacts_vm.dart';
|
import 'package:invoiceninja_flutter/ui/vendor/edit/vendor_edit_contacts_vm.dart';
|
||||||
|
|
@ -185,6 +186,10 @@ class VendorContactEditDetailsState extends State<VendorContactEditDetails> {
|
||||||
final _lastNameController = TextEditingController();
|
final _lastNameController = TextEditingController();
|
||||||
final _emailController = TextEditingController();
|
final _emailController = TextEditingController();
|
||||||
final _phoneController = TextEditingController();
|
final _phoneController = TextEditingController();
|
||||||
|
final _custom1Controller = TextEditingController();
|
||||||
|
final _custom2Controller = TextEditingController();
|
||||||
|
final _custom3Controller = TextEditingController();
|
||||||
|
final _custom4Controller = TextEditingController();
|
||||||
|
|
||||||
final _debouncer = Debouncer();
|
final _debouncer = Debouncer();
|
||||||
List<TextEditingController> _controllers = [];
|
List<TextEditingController> _controllers = [];
|
||||||
|
|
@ -210,6 +215,10 @@ class VendorContactEditDetailsState extends State<VendorContactEditDetails> {
|
||||||
_lastNameController,
|
_lastNameController,
|
||||||
_emailController,
|
_emailController,
|
||||||
_phoneController,
|
_phoneController,
|
||||||
|
_custom1Controller,
|
||||||
|
_custom2Controller,
|
||||||
|
_custom3Controller,
|
||||||
|
_custom4Controller,
|
||||||
];
|
];
|
||||||
|
|
||||||
_controllers
|
_controllers
|
||||||
|
|
@ -220,6 +229,10 @@ class VendorContactEditDetailsState extends State<VendorContactEditDetails> {
|
||||||
_lastNameController.text = contact.lastName;
|
_lastNameController.text = contact.lastName;
|
||||||
_emailController.text = contact.email;
|
_emailController.text = contact.email;
|
||||||
_phoneController.text = contact.phone;
|
_phoneController.text = contact.phone;
|
||||||
|
_custom1Controller.text = contact.customValue1;
|
||||||
|
_custom2Controller.text = contact.customValue2;
|
||||||
|
_custom3Controller.text = contact.customValue3;
|
||||||
|
_custom4Controller.text = contact.customValue4;
|
||||||
|
|
||||||
_controllers
|
_controllers
|
||||||
.forEach((dynamic controller) => controller.addListener(_onChanged));
|
.forEach((dynamic controller) => controller.addListener(_onChanged));
|
||||||
|
|
@ -242,7 +255,11 @@ class VendorContactEditDetailsState extends State<VendorContactEditDetails> {
|
||||||
..firstName = _firstNameController.text.trim()
|
..firstName = _firstNameController.text.trim()
|
||||||
..lastName = _lastNameController.text.trim()
|
..lastName = _lastNameController.text.trim()
|
||||||
..email = _emailController.text.trim()
|
..email = _emailController.text.trim()
|
||||||
..phone = _phoneController.text.trim());
|
..phone = _phoneController.text.trim()
|
||||||
|
..customValue1 = _custom1Controller.text.trim()
|
||||||
|
..customValue2 = _custom2Controller.text.trim()
|
||||||
|
..customValue3 = _custom3Controller.text.trim()
|
||||||
|
..customValue4 = _custom4Controller.text.trim());
|
||||||
if (contact != widget.contact) {
|
if (contact != widget.contact) {
|
||||||
_debouncer.run(() {
|
_debouncer.run(() {
|
||||||
widget.viewModel.onChangedContact(contact, widget.index);
|
widget.viewModel.onChangedContact(contact, widget.index);
|
||||||
|
|
@ -286,6 +303,30 @@ class VendorContactEditDetailsState extends State<VendorContactEditDetails> {
|
||||||
label: localization.phone,
|
label: localization.phone,
|
||||||
keyboardType: TextInputType.phone,
|
keyboardType: TextInputType.phone,
|
||||||
),
|
),
|
||||||
|
CustomField(
|
||||||
|
controller: _custom1Controller,
|
||||||
|
field: CustomFieldType.vendorContact1,
|
||||||
|
value: widget.contact.customValue1,
|
||||||
|
onSavePressed: (_) => _onDoneContactPressed(),
|
||||||
|
),
|
||||||
|
CustomField(
|
||||||
|
controller: _custom2Controller,
|
||||||
|
field: CustomFieldType.vendorContact2,
|
||||||
|
value: widget.contact.customValue2,
|
||||||
|
onSavePressed: (_) => _onDoneContactPressed(),
|
||||||
|
),
|
||||||
|
CustomField(
|
||||||
|
controller: _custom3Controller,
|
||||||
|
field: CustomFieldType.vendorContact3,
|
||||||
|
value: widget.contact.customValue3,
|
||||||
|
onSavePressed: (_) => _onDoneContactPressed(),
|
||||||
|
),
|
||||||
|
CustomField(
|
||||||
|
controller: _custom4Controller,
|
||||||
|
field: CustomFieldType.vendorContact4,
|
||||||
|
value: widget.contact.customValue4,
|
||||||
|
onSavePressed: (_) => _onDoneContactPressed(),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue