From 6dc62a676e4b13beef8b900c49fbe5d8bf44bc64 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 29 Nov 2021 16:18:53 +0200 Subject: [PATCH] Specify keyboard types --- lib/ui/invoice/edit/invoice_edit_items.dart | 1 + lib/ui/payment/edit/payment_edit.dart | 5 +++++ lib/ui/product/edit/product_edit.dart | 1 + lib/ui/subscription/edit/subscription_edit.dart | 4 ++++ lib/ui/task/edit/task_edit_desktop.dart | 2 +- lib/ui/task/edit/task_edit_details.dart | 1 + lib/ui/task/kanban/kanban_card.dart | 1 + lib/ui/task/kanban/kanban_status.dart | 1 + lib/ui/task_status/edit/task_status_edit.dart | 1 + lib/ui/tax_rate/edit/tax_rate_edit.dart | 2 ++ lib/ui/token/edit/token_edit.dart | 1 + lib/ui/user/edit/user_edit.dart | 4 ++++ lib/ui/vendor/edit/vendor_edit_address.dart | 5 +++++ lib/ui/vendor/edit/vendor_edit_contacts.dart | 2 ++ lib/ui/vendor/edit/vendor_edit_details.dart | 4 ++++ lib/ui/webhook/edit/webhook_edit.dart | 2 ++ lib/utils/dialogs.dart | 2 ++ 17 files changed, 38 insertions(+), 1 deletion(-) diff --git a/lib/ui/invoice/edit/invoice_edit_items.dart b/lib/ui/invoice/edit/invoice_edit_items.dart index 708e88c6e..3b5a13d6a 100644 --- a/lib/ui/invoice/edit/invoice_edit_items.dart +++ b/lib/ui/invoice/edit/invoice_edit_items.dart @@ -242,6 +242,7 @@ class ItemEditDetailsState extends State { label: localization.product, controller: _productKeyController, onSavePressed: widget.entityViewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( keyboardType: TextInputType.multiline, diff --git a/lib/ui/payment/edit/payment_edit.dart b/lib/ui/payment/edit/payment_edit.dart index 851c5ca52..aaed04f33 100644 --- a/lib/ui/payment/edit/payment_edit.dart +++ b/lib/ui/payment/edit/payment_edit.dart @@ -241,6 +241,7 @@ class _PaymentEditState extends State { onSavePressed: viewModel.onSavePressed, validator: (value) => value.isEmpty ? localization.pleaseEnterAValue : null, + keyboardType: TextInputType.text, ), if (payment.isNew || payment.isApplying == true) for (var index = 0; index < invoicePaymentables.length; index++) @@ -297,6 +298,7 @@ class _PaymentEditState extends State { controller: _transactionReferenceController, label: localization.transactionReference, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), CustomField( controller: _custom1Controller, @@ -382,6 +384,7 @@ class _PaymentEditState extends State { controller: _exchangeRateController, label: localization.exchangeRate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), Focus( onFocusChange: (hasFocus) { @@ -421,6 +424,8 @@ class _PaymentEditState extends State { _convertedAmount = parseDouble(value); }, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.numberWithOptions( + decimal: true, signed: false), ), ), ], diff --git a/lib/ui/product/edit/product_edit.dart b/lib/ui/product/edit/product_edit.dart index 83bb41e0d..acc0c9d62 100644 --- a/lib/ui/product/edit/product_edit.dart +++ b/lib/ui/product/edit/product_edit.dart @@ -158,6 +158,7 @@ class _ProductEditState extends State { : null, autovalidate: _autoValidate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( keyboardType: TextInputType.multiline, diff --git a/lib/ui/subscription/edit/subscription_edit.dart b/lib/ui/subscription/edit/subscription_edit.dart index d8c173e24..14abd3db5 100644 --- a/lib/ui/subscription/edit/subscription_edit.dart +++ b/lib/ui/subscription/edit/subscription_edit.dart @@ -233,6 +233,7 @@ class _SubscriptionEditState extends State controller: _nameController, label: localization.name, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.name, ), DynamicSelector( entityType: EntityType.group, @@ -372,6 +373,7 @@ class _SubscriptionEditState extends State label: localization.promoCode, controller: _promoCodeController, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DiscountField( label: localization.promoDiscount, @@ -488,6 +490,7 @@ class _SubscriptionEditState extends State controller: _postPurchaseHeaderKeyController, onSavePressed: viewModel.onSavePressed, onChanged: (value) => setState(() {}), + keyboardType: TextInputType.text, ), ), SizedBox( @@ -499,6 +502,7 @@ class _SubscriptionEditState extends State controller: _postPurchaseHeaderValueController, onSavePressed: viewModel.onSavePressed, onChanged: (value) => setState(() {}), + keyboardType: TextInputType.text, ), ), SizedBox( diff --git a/lib/ui/task/edit/task_edit_desktop.dart b/lib/ui/task/edit/task_edit_desktop.dart index 4cddebd6f..b5037b619 100644 --- a/lib/ui/task/edit/task_edit_desktop.dart +++ b/lib/ui/task/edit/task_edit_desktop.dart @@ -229,7 +229,7 @@ class _TaskEditDesktopState extends State { DecoratedFormField( controller: _numberController, label: localization.taskNumber, - isMoney: false, + keyboardType: TextInputType.text, ), DecoratedFormField( key: ValueKey('__rate__'), diff --git a/lib/ui/task/edit/task_edit_details.dart b/lib/ui/task/edit/task_edit_details.dart index 9041f5b30..3cbce66db 100644 --- a/lib/ui/task/edit/task_edit_details.dart +++ b/lib/ui/task/edit/task_edit_details.dart @@ -173,6 +173,7 @@ class _TaskEditDetailsState extends State { controller: _numberController, label: localization.taskNumber, autocorrect: false, + keyboardType: TextInputType.text, ), DecoratedFormField( key: ValueKey('__rate__'), diff --git a/lib/ui/task/kanban/kanban_card.dart b/lib/ui/task/kanban/kanban_card.dart index f80458941..6e559182d 100644 --- a/lib/ui/task/kanban/kanban_card.dart +++ b/lib/ui/task/kanban/kanban_card.dart @@ -90,6 +90,7 @@ class _KanbanTaskCardState extends State { minLines: 2, maxLines: 10, onChanged: (value) => _description = value, + keyboardType: TextInputType.multiline, ), SizedBox(height: 12), Row( diff --git a/lib/ui/task/kanban/kanban_status.dart b/lib/ui/task/kanban/kanban_status.dart index 7ce8551c2..76258f074 100644 --- a/lib/ui/task/kanban/kanban_status.dart +++ b/lib/ui/task/kanban/kanban_status.dart @@ -70,6 +70,7 @@ class _KanbanStatusCardState extends State { maxLines: 1, onChanged: (value) => _name = value, onSavePressed: (context) => _onSavePressed(), + keyboardType: TextInputType.text, ), SizedBox(height: 8), Row( diff --git a/lib/ui/task_status/edit/task_status_edit.dart b/lib/ui/task_status/edit/task_status_edit.dart index 1e27703c3..830efda91 100644 --- a/lib/ui/task_status/edit/task_status_edit.dart +++ b/lib/ui/task_status/edit/task_status_edit.dart @@ -107,6 +107,7 @@ class _TaskStatusEditState extends State { controller: _nameController, autovalidate: _autoValidate, label: localization.name, + keyboardType: TextInputType.name, validator: (val) => val.isEmpty || val.trim().isEmpty ? localization.pleaseEnterAName : null, diff --git a/lib/ui/tax_rate/edit/tax_rate_edit.dart b/lib/ui/tax_rate/edit/tax_rate_edit.dart index 39fe567d6..345549ec4 100644 --- a/lib/ui/tax_rate/edit/tax_rate_edit.dart +++ b/lib/ui/tax_rate/edit/tax_rate_edit.dart @@ -104,12 +104,14 @@ class _TaxRateEditState extends State { : null, autovalidate: autoValidate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( label: localization.rate, controller: _rateController, isPercent: true, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.numberWithOptions(decimal: true), ), ], ) diff --git a/lib/ui/token/edit/token_edit.dart b/lib/ui/token/edit/token_edit.dart index 5ff582aeb..dac7b502a 100644 --- a/lib/ui/token/edit/token_edit.dart +++ b/lib/ui/token/edit/token_edit.dart @@ -109,6 +109,7 @@ class _TokenEditState extends State { ? localization.pleaseEnterAName : null, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), ], ), diff --git a/lib/ui/user/edit/user_edit.dart b/lib/ui/user/edit/user_edit.dart index f829f0c46..9c7de37c9 100644 --- a/lib/ui/user/edit/user_edit.dart +++ b/lib/ui/user/edit/user_edit.dart @@ -199,6 +199,7 @@ class _UserEditState extends State : null, autovalidate: autoValidate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.name, ), DecoratedFormField( label: localization.lastName, @@ -208,6 +209,7 @@ class _UserEditState extends State : null, autovalidate: autoValidate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.name, ), DecoratedFormField( label: localization.email, @@ -217,11 +219,13 @@ class _UserEditState extends State : null, autovalidate: autoValidate, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.emailAddress, ), DecoratedFormField( label: localization.phone, controller: _phoneController, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.phone, ), /* PasswordFormField( diff --git a/lib/ui/vendor/edit/vendor_edit_address.dart b/lib/ui/vendor/edit/vendor_edit_address.dart index 77f32fc63..20d351a51 100644 --- a/lib/ui/vendor/edit/vendor_edit_address.dart +++ b/lib/ui/vendor/edit/vendor_edit_address.dart @@ -106,26 +106,31 @@ class VendorEditAddressState extends State { controller: _address1Controller, label: localization.address1, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.streetAddress, ), DecoratedFormField( controller: _address2Controller, label: localization.address2, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( controller: _cityController, label: localization.city, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( controller: _stateController, label: localization.state, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( controller: _postalCodeController, label: localization.postalCode, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), EntityDropdown( entityType: EntityType.country, diff --git a/lib/ui/vendor/edit/vendor_edit_contacts.dart b/lib/ui/vendor/edit/vendor_edit_contacts.dart index bb60fac53..8e8d29ddc 100644 --- a/lib/ui/vendor/edit/vendor_edit_contacts.dart +++ b/lib/ui/vendor/edit/vendor_edit_contacts.dart @@ -264,11 +264,13 @@ class VendorContactEditDetailsState extends State { controller: _firstNameController, onSavePressed: (_) => _onDoneContactPressed(), label: localization.firstName, + keyboardType: TextInputType.name, ), DecoratedFormField( controller: _lastNameController, onSavePressed: (_) => _onDoneContactPressed(), label: localization.lastName, + keyboardType: TextInputType.name, ), DecoratedFormField( controller: _emailController, diff --git a/lib/ui/vendor/edit/vendor_edit_details.dart b/lib/ui/vendor/edit/vendor_edit_details.dart index 35e31bfb9..165c6bcb1 100644 --- a/lib/ui/vendor/edit/vendor_edit_details.dart +++ b/lib/ui/vendor/edit/vendor_edit_details.dart @@ -177,6 +177,7 @@ class VendorEditDetailsState extends State { : null, onSavePressed: viewModel.onSavePressed, label: localization.name, + keyboardType: TextInputType.name, decoration: !kIsWeb && (Platform.isIOS || Platform.isAndroid) ? InputDecoration( labelText: localization.name, @@ -203,6 +204,7 @@ class VendorEditDetailsState extends State { label: localization.number, controller: _numberController, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), UserPicker( userId: vendor.assignedUserId, @@ -213,11 +215,13 @@ class VendorEditDetailsState extends State { controller: _idNumberController, label: localization.idNumber, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( controller: _vatNumberController, label: localization.vatNumber, onSavePressed: viewModel.onSavePressed, + keyboardType: TextInputType.text, ), DecoratedFormField( controller: _websiteController, diff --git a/lib/ui/webhook/edit/webhook_edit.dart b/lib/ui/webhook/edit/webhook_edit.dart index 606ea1105..abbf5569c 100644 --- a/lib/ui/webhook/edit/webhook_edit.dart +++ b/lib/ui/webhook/edit/webhook_edit.dart @@ -159,6 +159,7 @@ class _WebhookEditState extends State { controller: _headerKeyController, onSavePressed: viewModel.onSavePressed, onChanged: (value) => setState(() {}), + keyboardType: TextInputType.text, ), ), SizedBox( @@ -170,6 +171,7 @@ class _WebhookEditState extends State { controller: _headerValueController, onSavePressed: viewModel.onSavePressed, onChanged: (value) => setState(() {}), + keyboardType: TextInputType.text, ), ), SizedBox( diff --git a/lib/utils/dialogs.dart b/lib/utils/dialogs.dart index 851335d3c..97f6a652c 100644 --- a/lib/utils/dialogs.dart +++ b/lib/utils/dialogs.dart @@ -130,6 +130,7 @@ void confirmCallback({ onChanged: (value) => _typed = value, hint: typeToConfirm, onSavePressed: (context) => _onPressed(), + keyboardType: TextInputType.text, ), if (askForReason) ...[ SizedBox(height: 30), @@ -138,6 +139,7 @@ void confirmCallback({ onChanged: (value) => _reason = value, minLines: 4, maxLines: 4, + keyboardType: TextInputType.multiline, ), ], SizedBox(height: 30),