fix arabic language

merge-update-with-lab-changes
Elham Rababh 4 years ago
parent 8f044a635a
commit f623828d78

@ -287,7 +287,6 @@ class _FooterWidgetState extends State<FooterWidget> {
} }
bool isBuyNowDisable(){ bool isBuyNowDisable(){
// return true;
return (!widget.isAvailable && widget.quantity > 0) || return (!widget.isAvailable && widget.quantity > 0) ||
(widget.quantity > widget.quantityLimit) || (widget.quantity > widget.quantityLimit) ||
widget.item.isRx; widget.item.isRx;
@ -296,7 +295,6 @@ class _FooterWidgetState extends State<FooterWidget> {
} }
bool isAddToCartDisable(){ bool isAddToCartDisable(){
// return true;
return (!widget.isAvailable && widget.quantity > 0) || return (!widget.isAvailable && widget.quantity > 0) ||
widget.quantity > widget.quantityLimit || widget.quantity > widget.quantityLimit ||
widget.item.isRx; widget.item.isRx;

@ -11,12 +11,16 @@ import 'package:diplomaticquarterapp/widgets/input/text_field.dart';
import 'package:diplomaticquarterapp/widgets/others/StarRating.dart'; import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_pharmacy_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_pharmacy_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'base/base_view.dart'; import 'base/base_view.dart';
import 'package:intl/intl.dart' as international;
class SearchProductsPage extends StatefulWidget { class SearchProductsPage extends StatefulWidget {
@override @override
@ -27,6 +31,8 @@ class _SearchProductsPageState extends State<SearchProductsPage> {
final textController = TextEditingController(); final textController = TextEditingController();
final _formKey = GlobalKey<FormState>(); final _formKey = GlobalKey<FormState>();
String msg = ''; String msg = '';
String validText="";
bool isTextValid = true;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -55,29 +61,69 @@ class _SearchProductsPageState extends State<SearchProductsPage> {
width: MediaQuery.of(context).size.width * 0.70, width: MediaQuery.of(context).size.width * 0.70,
child: Form( child: Form(
key: _formKey, key: _formKey,
child: TextFields( child: Column(
children: [
TextFields(
autoFocus: true, autoFocus: true,
hintText: TranslationBase.of(context).search, hintText: TranslationBase.of(context).search,
fontSize: 14.5, fontSize: 14.5,
prefixIcon: Icon(Icons.search), prefixIcon: Icon(Icons.search),
inputAction: TextInputAction.search, inputAction: TextInputAction.search,
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.allow(
RegExp(r'([A-Za-z0-9 a space])'))
],
validator: (value) { validator: (value) {
RegExp regExp = RegExp(r'([A-Za-z0-9 a space])'); RegExp regExp = RegExp(r'([A-Za-z0-9 a space])');
if (value.isEmpty) { if (value.isEmpty) {
TranslationBase.of(context) TranslationBase.of(context)
.pleaseEnterProductName; .pleaseEnterProductName;
} else if (!regExp.hasMatch(value)) { } else if (isRTL(value))) {
AppToast.showErrorToast( AppToast.showErrorToast(
message: TranslationBase.of(context) message: TranslationBase.of(context)
.noArabicLetters); .noArabicLetters);
} }
return null; return null;
}, },
onChanged: (value){
if (value.isEmpty) {
TranslationBase.of(context)
.pleaseEnterProductName;
Future.delayed(const Duration(milliseconds: 10), (){
setState(() {
textController.text = "";
isTextValid = true;
});
})
;
} else if (isRTL(value)) {
Future.delayed(const Duration(milliseconds: 10), (){
setState(() {
textController.text = validText;
isTextValid = false;
});
})
;
}else{
Future.delayed(const Duration(milliseconds: 10), (){
setState(() {
textController.text = value;
validText = value;
isTextValid = true;
});
})
;
}
},
onSaved: (value) { onSaved: (value) {
setState(() {
textController.text = validText;
isTextValid = false;
});
//searchMedicine(model, context); //searchMedicine(model, context);
}, },
onSubmit: (value) { onSubmit: (value) {
@ -86,16 +132,19 @@ class _SearchProductsPageState extends State<SearchProductsPage> {
msg = TranslationBase.of(context).noResultFound; msg = TranslationBase.of(context).noResultFound;
}, },
controller: textController, controller: textController,
// validator: (value) {
// if (value.isEmpty) {
//// return 'please Enter Product Name';
// return TranslationBase.of(context).pleaseEnterProductName;
// }
// return null;
// },
), ),
SizedBox(
width: 10.0,
), ),
if(!isTextValid)
AppText( TranslationBase.of(context)
.noArabicLetters, color: Colors.red,),
],
), ),
),
),
SizedBox( SizedBox(
width: 10.0, width: 10.0,
), ),
@ -337,7 +386,9 @@ class _SearchProductsPageState extends State<SearchProductsPage> {
), ),
); );
} }
bool isRTL(String text) {
return international.Bidi.detectRtlDirectionality(text);
}
searchMedicine(PharmacyCategoriseViewModel model, BuildContext context) { searchMedicine(PharmacyCategoriseViewModel model, BuildContext context) {
Utils.hideKeyboard(context); Utils.hideKeyboard(context);
if (_formKey.currentState.validate()) if (_formKey.currentState.validate())

Loading…
Cancel
Save