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,47 +61,90 @@ 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(
autoFocus: true, children: [
hintText: TranslationBase.of(context).search, TextFields(
fontSize: 14.5, autoFocus: true,
prefixIcon: Icon(Icons.search), hintText: TranslationBase.of(context).search,
inputAction: TextInputAction.search, fontSize: 14.5,
inputFormatters: <TextInputFormatter>[ prefixIcon: Icon(Icons.search),
FilteringTextInputFormatter.allow( inputAction: TextInputAction.search,
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 (isRTL(value))) {
} else if (!regExp.hasMatch(value)) { AppToast.showErrorToast(
AppToast.showErrorToast( message: TranslationBase.of(context)
message: TranslationBase.of(context) .noArabicLetters);
.noArabicLetters); }
} return null;
return null; },
}, onChanged: (value){
onSaved: (value) { if (value.isEmpty) {
//searchMedicine(model, context); TranslationBase.of(context)
}, .pleaseEnterProductName;
onSubmit: (value) {
searchMedicine(model, context); 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) {
setState(() {
textController.text = validText;
isTextValid = false;
});
//searchMedicine(model, context);
},
onSubmit: (value) {
searchMedicine(model, context);
// msg = 'No Result Found'; // msg = 'No Result Found';
msg = TranslationBase.of(context).noResultFound; msg = TranslationBase.of(context).noResultFound;
}, },
controller: textController, controller: textController,
// validator: (value) { ),
// if (value.isEmpty) { SizedBox(
//// return 'please Enter Product Name'; width: 10.0,
// return TranslationBase.of(context).pleaseEnterProductName; ),
// } if(!isTextValid)
// return null; 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