Commit 722d6c9c authored by Sai Srinivas's avatar Sai Srinivas
Browse files

27-06-2025 By Sai Srinivas

Common Module Test cases.
parent 2c0d16b2
...@@ -50,6 +50,7 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -50,6 +50,7 @@ class Accountslistprovider extends ChangeNotifier {
String? altMobError; String? altMobError;
String? teleError; String? teleError;
String? mailError; String? mailError;
String? addMoreDetailsError;
List<States> _states = []; List<States> _states = [];
List<Districts> _districts = []; List<Districts> _districts = [];
...@@ -86,6 +87,9 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -86,6 +87,9 @@ class Accountslistprovider extends ChangeNotifier {
set isVisible(bool value) { set isVisible(bool value) {
_isVisible = value; _isVisible = value;
if(value==true){
addMoreDetailsError = null;
}
notifyListeners(); notifyListeners();
} }
...@@ -270,6 +274,7 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -270,6 +274,7 @@ class Accountslistprovider extends ChangeNotifier {
} }
} catch (e, s) {} } catch (e, s) {}
} }
bool hasFilledAdditionalDetails = false;
bool _submitClicked = false; bool _submitClicked = false;
bool get submitClickced => _submitClicked; bool get submitClickced => _submitClicked;
...@@ -333,6 +338,21 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -333,6 +338,21 @@ class Accountslistprovider extends ChangeNotifier {
} }
} }
void checkAdditionalDetailsFilled() {
hasFilledAdditionalDetails = bankNameController.text.trim().isNotEmpty &&
branchNameController.text.trim().isNotEmpty &&
bankIfscCotroller.text.trim().isNotEmpty &&
bankHolderNameController.text.trim().isNotEmpty &&
bankAcNumberController.text.trim().isNotEmpty &&
bankUpiController.text.trim().isNotEmpty &&
contactPersonController.text.trim().isNotEmpty &&
contectPersonDesignationController.text.trim().isNotEmpty &&
contectPersonAltMobController.text.trim().isNotEmpty;
// && contectPersonTeleController.text.trim().isNotEmpty
// && contectPersonMailController.text.trim().isNotEmpty;
notifyListeners();
}
bool validatereceiptForm(BuildContext context) { bool validatereceiptForm(BuildContext context) {
accountError = null; accountError = null;
nameError = null; nameError = null;
...@@ -352,6 +372,7 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -352,6 +372,7 @@ class Accountslistprovider extends ChangeNotifier {
altMobError = null; altMobError = null;
teleError = null; teleError = null;
mailError = null; mailError = null;
addMoreDetailsError = null;
bool isValid = true; bool isValid = true;
if (_selectedAccountType == null || _selectedAccountType!.isEmpty) { if (_selectedAccountType == null || _selectedAccountType!.isEmpty) {
accountError = "Please select an Account"; accountError = "Please select an Account";
...@@ -382,37 +403,71 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -382,37 +403,71 @@ class Accountslistprovider extends ChangeNotifier {
addressError = "Please Enter an Address"; addressError = "Please Enter an Address";
isValid = false; isValid = false;
} }
checkAdditionalDetailsFilled();
if (bankNameController.text.trim().isEmpty) { if (!_isVisible && !hasFilledAdditionalDetails) {
banknameError = "Please Enter a Bank Name"; addMoreDetailsError = "Please Add More Details to Continue";
isValid = false; isValid = false;
} }
if(_isVisible) {
if (bankNameController.text
.trim()
.isEmpty) {
banknameError = "Please Enter a Bank Name";
isValid = false;
}
if (branchNameController.text
.trim()
.isEmpty) {
bankBranchError = "Please Enter Branch Name";
isValid = false;
}
if (bankIfscCotroller.text
.trim()
.isEmpty) {
bankIFSCError = "Please Enter Bank IFSC";
isValid = false;
}
if (bankHolderNameController.text
.trim()
.isEmpty) {
bankHolderNameError = "Please Enter Account Holder Name";
isValid = false;
}
if (bankAcNumberController.text
.trim()
.isEmpty) {
bankAcNumberError = "Please Enter Bank Account Number";
isValid = false;
}
if (bankUpiController.text
.trim()
.isEmpty) {
upiError = "Please Enter UPI ID";
isValid = false;
}
if (contactPersonController.text
.trim()
.isEmpty) {
contactPersonError = "Please Enter Contact Person Name";
isValid = false;
}
if (contectPersonDesignationController.text
.trim()
.isEmpty) {
desigantionError = "Please Enter Designation";
isValid = false;
}
if (contectPersonAltMobController.text
.trim()
.isEmpty) {
altMobError = "Please Enter Mobile Number";
isValid = false;
}
if (branchNameController.text.trim().isEmpty) {
bankBranchError = "Please Enter Branch Name";
isValid = false;
}
if (bankIfscCotroller.text.trim().isEmpty) {
bankIFSCError = "Please Enter Bank IFSC";isValid = false;
}
if (bankHolderNameController.text.trim().isEmpty) {
bankHolderNameError = "Please Enter Account Holder Name";isValid = false;
}
if (bankAcNumberController.text.trim().isEmpty) {
bankAcNumberError= "Please Enter Bank Account Number"; isValid = false;
}
if (bankUpiController.text.trim().isEmpty) {
upiError= "Please Enter UPI ID"; isValid = false;
}
if (contactPersonController.text.trim().isEmpty) {
contactPersonError= "Please Enter Contact Person Name"; isValid = false;
}
if (contectPersonDesignationController.text.trim().isEmpty) {
desigantionError= "Please Enter Designation"; isValid = false;
}
if (contectPersonAltMobController.text.trim().isEmpty) {
altMobError= "Please Enter Mobile Number"; isValid = false;
} }
// if (contectPersonTeleController.text.trim().isEmpty) { // if (contectPersonTeleController.text.trim().isEmpty) {
// teleError= "Please Enter Telephone"; isValid = false; // teleError= "Please Enter Telephone"; isValid = false;
// } // }
...@@ -440,54 +495,65 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -440,54 +495,65 @@ class Accountslistprovider extends ChangeNotifier {
void updateBankName(String value) { void updateBankName(String value) {
banknameError = null; banknameError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateBankBranch(String value) { void updateBankBranch(String value) {
bankBranchError = null; bankBranchError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateIFSC(String value) { void updateIFSC(String value) {
bankIFSCError = null; bankIFSCError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateHolder(String value) { void updateHolder(String value) {
bankHolderNameError = null; bankHolderNameError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateNumber(String value) { void updateNumber(String value) {
bankAcNumberError = null; bankAcNumberError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateUPI(String value) { void updateUPI(String value) {
upiError = null; upiError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateContactPerson(String value){ void updateContactPerson(String value){
contactPersonError = null; contactPersonError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateDesignation(String value){ void updateDesignation(String value){
desigantionError = null; desigantionError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateAltMobile(String value){ void updateAltMobile(String value){
altMobError = null; altMobError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateTeleMobile(String value){ void updateTeleMobile(String value){
teleError = null; teleError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
void updateMail(String value){ void updateMail(String value){
mailError = null; mailError = null;
checkAdditionalDetailsFilled();
notifyListeners(); notifyListeners();
} }
...@@ -575,6 +641,7 @@ class Accountslistprovider extends ChangeNotifier { ...@@ -575,6 +641,7 @@ class Accountslistprovider extends ChangeNotifier {
altMobError = null; altMobError = null;
teleError = null; teleError = null;
mailError = null; mailError = null;
addMoreDetailsError = null;
ChechkDropdownValues(); ChechkDropdownValues();
notifyListeners(); notifyListeners();
......
import 'package:flutter/material.dart';
@immutable
class ShakeWidget extends StatelessWidget {
final Duration duration;
final double deltaX;
final Widget child;
final Curve curve;
const ShakeWidget({
required Key key,
this.duration = const Duration(milliseconds: 100),
this.deltaX = 20,
this.curve = Curves.bounceOut,
required this.child,
}) : super(key: key);
/// convert 0-1 to 0-1-0
double shake(double animation) =>
2 * (0.5 - (0.5 - curve.transform(animation)).abs());
@override
Widget build(BuildContext context) {
return TweenAnimationBuilder<double>(
key: key,
tween: Tween(begin: 0.0, end: 1.0),
duration: duration,
builder: (context, animation, child) => Transform.translate(
offset: Offset(deltaX * shake(animation), 0),
child: child,
),
child: child,
);
}
}
...@@ -123,7 +123,10 @@ Widget textControllerWidget( ...@@ -123,7 +123,10 @@ Widget textControllerWidget(
inputtype, inputtype,
readonly, readonly,
inputFormatters, inputFormatters,
[maxLength] [focusNode,
focusNode2,
textInputAction,
maxLength]
) { ) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
...@@ -148,7 +151,21 @@ Widget textControllerWidget( ...@@ -148,7 +151,21 @@ Widget textControllerWidget(
keyboardType: inputtype, keyboardType: inputtype,
maxLines: hintText == "Enter Description" ? 60 : 1, maxLines: hintText == "Enter Description" ? 60 : 1,
onChanged: onChanged, onChanged: onChanged,
focusNode: focusNode,
onTapUpOutside: (event) {
if(focusNode.hasFocus){
focusNode.unfocus();
}
},
textInputAction: textInputAction,
onEditingComplete: () {
focusNode.unfocus();
if(focusNode2!=null){
focusNode2.requestFocus();
}
},
inputFormatters: inputFormatters:
inputFormatters != null inputFormatters != null
? [FilteringTextInputFormatter.digitsOnly] ? [FilteringTextInputFormatter.digitsOnly]
......
This diff is collapsed.
This diff is collapsed.
...@@ -8,6 +8,7 @@ import 'package:provider/provider.dart'; ...@@ -8,6 +8,7 @@ import 'package:provider/provider.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
import '../../Utils/commonWidgets.dart'; import '../../Utils/commonWidgets.dart';
import '../finance/FileViewer.dart'; import '../finance/FileViewer.dart';
import 'editOrderAccountDetails.dart';
class Ordersdetailsbymodes extends StatefulWidget { class Ordersdetailsbymodes extends StatefulWidget {
final pageTitleName; final pageTitleName;
...@@ -380,7 +381,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -380,7 +381,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
...List.generate(3, (index) { ...List.generate(3, (index) {
final assetnames = [ final assetnames = [
"order_list_svg_1", "crm_contact_edit",
"order_list_svg_2", "order_list_svg_2",
"order_list_svg_3", "order_list_svg_3",
"order_list_svg_3", "order_list_svg_3",
...@@ -396,14 +397,18 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> { ...@@ -396,14 +397,18 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
switch (index) { switch (index) {
case 0: case 0:
Navigator.pop(context); Navigator.pop(context);
// Navigator.push( Navigator.push(
// context, context,
// MaterialPageRoute( MaterialPageRoute(
// builder: builder:
// (context) => (context) =>
// Orderdetailspaymenthistory(), Editorderaccountdetails(
// ), mode: widget.mode,
// ); pageTitleName: "Edit Order (${widget.mode})",
orderID: provider.orderDetails.id,
),
),
);
break; break;
case 1: case 1:
Navigator.pop(context); Navigator.pop(context);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment